diff --git a/aws/sdk/aws-models/dynamodb.json b/aws/sdk/aws-models/dynamodb.json index 6145b5bd3d0..5231277ce22 100644 --- a/aws/sdk/aws-models/dynamodb.json +++ b/aws/sdk/aws-models/dynamodb.json @@ -37,1302 +37,1847 @@ ] }, "shapes": { - "com.amazonaws.dynamodb#ApproximateCreationDateTimePrecision": { + "aws.api#ArnNamespace": { + "type": "string", + "traits": { + "smithy.api#documentation": "A string representing a service's ARN namespace.", + "smithy.api#pattern": "^[a-z0-9.\\-]{1,63}$", + "smithy.api#private": {} + } + }, + "aws.api#CloudFormationName": { + "type": "string", + "traits": { + "smithy.api#documentation": "A string representing a CloudFormation service name.", + "smithy.api#pattern": "^[A-Z][A-Za-z0-9]+$", + "smithy.api#private": {} + } + }, + "aws.api#CloudWatchMetricNamespace": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[^:].*$", + "smithy.api#private": {} + } + }, + "aws.api#ResourceDelimiter": { "type": "enum", "members": { - "MILLISECOND": { + "FORWARD_SLASH": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "MILLISECOND" + "smithy.api#documentation": "The `/` character.", + "smithy.api#enumValue": "/" } }, - "MICROSECOND": { + "COLON": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "MICROSECOND" + "smithy.api#documentation": "The `:` character.", + "smithy.api#enumValue": ":" } } + }, + "traits": { + "smithy.api#documentation": "The possible delimiters for an ARN resource segment.", + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#ArchivalReason": { - "type": "string" + "aws.api#TagOperationReference": { + "type": "string", + "traits": { + "smithy.api#documentation": "Points to an operation designated for a tagging APi", + "smithy.api#idRef": { + "failWhenMissing": true, + "selector": "resource > operation" + } + } }, - "com.amazonaws.dynamodb#ArchivalSummary": { + "aws.api#TaggableApiConfig": { "type": "structure", "members": { - "ArchivalDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "tagApi": { + "target": "aws.api#TagOperationReference", "traits": { - "smithy.api#documentation": "
The date and time when table archival was initiated by DynamoDB, in UNIX epoch time\n format.
" + "smithy.api#documentation": "The `tagApi` property is a string value that references a non-instance\nor create operation that creates or updates tags on the resource.", + "smithy.api#required": {} } }, - "ArchivalReason": { - "target": "com.amazonaws.dynamodb#ArchivalReason", + "untagApi": { + "target": "aws.api#TagOperationReference", "traits": { - "smithy.api#documentation": "The reason DynamoDB archived the table. Currently, the only possible value is:
\n\n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due\n to the table's KMS key being inaccessible for more than seven\n days. An On-Demand backup was created at the archival time.
The Amazon Resource Name (ARN) of the backup the table was archived to, when\n applicable in the archival reason. If you wish to restore this backup to the same table\n name, you will need to delete the original table.
" + "smithy.api#documentation": "The `listTagsApi` property is a string value that references a non-\ninstance operation which gets the current tags on the resource.", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Contains details of a table archival operation.
" + "smithy.api#documentation": "Structure representing the configuration of resource specific tagging APIs" } }, - "com.amazonaws.dynamodb#AttributeAction": { - "type": "enum", + "aws.api#arn": { + "type": "structure", "members": { - "ADD": { - "target": "smithy.api#Unit", + "template": { + "target": "smithy.api#String", "traits": { - "smithy.api#enumValue": "ADD" + "smithy.api#documentation": "Defines the ARN template. The provided string contains URI-template\nstyle label placeholders that contain the name of one of the identifiers\ndefined in the `identifiers` property of the resource. These labels can\nbe substituted at runtime with the actual identifiers of the resource.\nEvery identifier name of the resource MUST have corresponding label of\nthe same name. Note that percent-encoding **is not** performed on these\nplaceholder values; they are to be replaced literally. For relative ARN\ntemplates that have not set `absolute` to `true`, the template string\ncontains only the resource part of the ARN (for example,\n`foo/{MyResourceId}`). Relative ARNs MUST NOT start with \"/\".", + "smithy.api#required": {} } }, - "PUT": { - "target": "smithy.api#Unit", + "absolute": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#enumValue": "PUT" + "smithy.api#documentation": "Set to true to indicate that the ARN template contains a fully-formed\nARN that does not need to be merged with the service. This type of ARN\nMUST be used when the identifier of a resource is an ARN or is based on\nthe ARN identifier of a parent resource." } }, - "DELETE": { - "target": "smithy.api#Unit", + "noRegion": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#enumValue": "DELETE" + "smithy.api#documentation": "Set to true to specify that the ARN does not contain a region. If not\nset, or if set to false, the resolved ARN will contain a placeholder\nfor the region. This can only be set to true if `absolute` is not set\nor is false." + } + }, + "noAccount": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Set to true to specify that the ARN does not contain an account ID. If\nnot set, or if set to false, the resolved ARN will contain a placeholder\nfor the customer account ID. This can only be set to true if absolute\nis not set or is false." + } + }, + "resourceDelimiter": { + "target": "aws.api#ResourceDelimiter", + "traits": { + "smithy.api#documentation": "Defines which character is used to delimit sections of the resource\nsegment of an ARN. This can only be set if absolute is set to true." + } + }, + "reusable": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Set to true to indicate that an ARN may be reused for different\ninstances of a resource." } } + }, + "traits": { + "smithy.api#documentation": "Specifies an ARN template for the resource.", + "smithy.api#externalDocumentation": { + "Reference": "https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html" + }, + "smithy.api#trait": { + "selector": "resource" + } } }, - "com.amazonaws.dynamodb#AttributeDefinition": { + "aws.api#arnReference": { "type": "structure", "members": { - "AttributeName": { - "target": "com.amazonaws.dynamodb#KeySchemaAttributeName", + "type": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "A name for the attribute.
", - "smithy.api#required": {} + "smithy.api#documentation": "The AWS CloudFormation resource type contained in the ARN." } }, - "AttributeType": { - "target": "com.amazonaws.dynamodb#ScalarAttributeType", + "resource": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The data type for the attribute, where:
\n\n S - the attribute is of type String
\n N - the attribute is of type Number
\n B - the attribute is of type Binary
Represents an attribute for describing the schema for the table and indexes.
" - } - }, - "com.amazonaws.dynamodb#AttributeDefinitions": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#AttributeDefinition" + "smithy.api#documentation": "Marks a string as containing an ARN.", + "smithy.api#trait": { + "selector": "string" + } } }, - "com.amazonaws.dynamodb#AttributeMap": { - "type": "map", - "key": { - "target": "com.amazonaws.dynamodb#AttributeName" + "aws.api#clientDiscoveredEndpoint": { + "type": "structure", + "members": { + "required": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "This field denotes whether or not this operation requires the use of a\nspecific endpoint. If this field is false, the standard regional\nendpoint for a service can handle this request. The client will start\nsending requests to the standard regional endpoint while working to\ndiscover a more specific endpoint.", + "smithy.api#required": {} + } + } }, - "value": { - "target": "com.amazonaws.dynamodb#AttributeValue" + "traits": { + "smithy.api#documentation": "Indicates that the target operation should use the client's endpoint\ndiscovery logic.", + "smithy.api#trait": { + "selector": "operation" + } } }, - "com.amazonaws.dynamodb#AttributeName": { - "type": "string", + "aws.api#clientEndpointDiscovery": { + "type": "structure", + "members": { + "operation": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Indicates the operation that clients should use to discover endpoints\nfor the service.", + "smithy.api#idRef": { + "failWhenMissing": true, + "selector": "operation" + }, + "smithy.api#required": {} + } + }, + "error": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Indicates the error that tells clients that the endpoint they are using\nis no longer valid. This error MUST be bound to any operation bound to\nthe service which is marked with the aws.api#clientDiscoveredEndpoint\ntrait.", + "smithy.api#idRef": { + "failWhenMissing": true, + "selector": "structure[trait|error]" + }, + "smithy.api#recommended": {} + } + } + }, "traits": { - "smithy.api#length": { - "min": 0, - "max": 65535 + "smithy.api#documentation": "Configures endpoint discovery for the service.", + "smithy.api#trait": { + "selector": "service" } } }, - "com.amazonaws.dynamodb#AttributeNameList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#AttributeName" - }, + "aws.api#clientEndpointDiscoveryId": { + "type": "structure", + "members": {}, "traits": { - "smithy.api#length": { - "min": 1 + "smithy.api#documentation": "Indicates members of the operation input which should be use to discover\nendpoints.", + "smithy.api#trait": { + "selector": "operation[trait|aws.api#clientDiscoveredEndpoint] -[input]->\nstructure > :test(member[trait|required] > string)" } } }, - "com.amazonaws.dynamodb#AttributeUpdates": { - "type": "map", - "key": { - "target": "com.amazonaws.dynamodb#AttributeName" - }, - "value": { - "target": "com.amazonaws.dynamodb#AttributeValueUpdate" + "aws.api#controlPlane": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Defines a service, resource, or operation as operating on the control plane.", + "smithy.api#trait": { + "selector": ":test(service, resource, operation)", + "conflicts": [ + "aws.api#dataPlane" + ] + } } }, - "com.amazonaws.dynamodb#AttributeValue": { - "type": "union", + "aws.api#data": { + "type": "enum", "members": { - "S": { - "target": "com.amazonaws.dynamodb#StringAttributeValue", + "CUSTOMER_CONTENT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "An attribute of type String. For example:
\n\n \"S\": \"Hello\"\n
An attribute of type Number. For example:
\n\n \"N\": \"123.45\"\n
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility\n across languages and libraries. However, DynamoDB treats them as number type attributes\n for mathematical operations.
" + "smithy.api#documentation": "Account information means information about customers that customers\nprovide to AWS in connection with the creation or administration of\ncustomers’ accounts.", + "smithy.api#enumValue": "account" } }, - "B": { - "target": "com.amazonaws.dynamodb#BinaryAttributeValue", + "SERVICE_ATTRIBUTES": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "An attribute of type Binary. For example:
\n\n \"B\": \"dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk\"\n
An attribute of type String Set. For example:
\n\n \"SS\": [\"Giraffe\", \"Hippo\" ,\"Zebra\"]\n
An attribute of type Number Set. For example:
\n\n \"NS\": [\"42.2\", \"-19\", \"7.5\", \"3.14\"]\n
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility\n across languages and libraries. However, DynamoDB treats them as number type attributes\n for mathematical operations.
" + "smithy.api#documentation": "Designates security and access roles, rules, usage policies, and\npermissions.", + "smithy.api#enumValue": "permissions" + } + } + }, + "traits": { + "smithy.api#documentation": "Designates the target as containing data of a known classification level.", + "smithy.api#trait": { + "selector": ":test(simpleType, list, structure, union, member)" + } + } + }, + "aws.api#dataPlane": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Defines a service, resource, or operation as operating on the data plane.", + "smithy.api#trait": { + "selector": ":test(service, resource, operation)", + "conflicts": [ + "aws.api#controlPlane" + ] + } + } + }, + "aws.api#service": { + "type": "structure", + "members": { + "sdkId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The `sdkId` property is a required string value that specifies the AWS\nSDK service ID (e.g., \"API Gateway\"). This value is used for generating\nclient names in SDKs and for linking between services.", + "smithy.api#required": {} } }, - "BS": { - "target": "com.amazonaws.dynamodb#BinarySetAttributeValue", + "arnNamespace": { + "target": "aws.api#ArnNamespace", "traits": { - "smithy.api#documentation": "An attribute of type Binary Set. For example:
\n\n \"BS\": [\"U3Vubnk=\", \"UmFpbnk=\", \"U25vd3k=\"]\n
An attribute of type Map. For example:
\n\n \"M\": {\"Name\": {\"S\": \"Joe\"}, \"Age\": {\"N\": \"35\"}}\n
An attribute of type List. For example:
\n\n \"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\": \"3.14159\"}]\n
An attribute of type Null. For example:
\n\n \"NULL\": true\n
An attribute of type Boolean. For example:
\n\n \"BOOL\": true\n
Represents the data for an attribute.
\nEach attribute value is described as a name-value pair. The name is the data type, and\n the value is the data itself.
\nFor more information, see Data Types in the Amazon DynamoDB Developer\n Guide.
" - } - }, - "com.amazonaws.dynamodb#AttributeValueList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#AttributeValue" + "smithy.api#documentation": "An AWS service is defined using the `aws.api#service` trait. This trait\nprovides information about the service like the name used to generate AWS\nSDK client classes and the namespace used in ARNs.", + "smithy.api#trait": { + "selector": "service" + } } }, - "com.amazonaws.dynamodb#AttributeValueUpdate": { + "aws.api#tagEnabled": { "type": "structure", "members": { - "Value": { - "target": "com.amazonaws.dynamodb#AttributeValue", - "traits": { - "smithy.api#documentation": "Represents the data for an attribute.
\nEach attribute value is described as a name-value pair. The name is the data type, and\n the value is the data itself.
\nFor more information, see Data Types in the Amazon DynamoDB Developer Guide.\n
" - } - }, - "Action": { - "target": "com.amazonaws.dynamodb#AttributeAction", + "disableDefaultOperations": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "Specifies how to perform the update. Valid values are PUT (default),\n DELETE, and ADD. The behavior depends on whether the\n specified primary key already exists in the table.
\n If an item with the specified Key is found in\n the table:\n
\n\n PUT - Adds the specified attribute to the item. If the attribute\n already exists, it is replaced by the new value.
\n DELETE - If no value is specified, the attribute and its value are\n removed from the item. The data type of the specified value must match the\n existing value's data type.
If a set of values is specified, then those values are\n subtracted from the old set. For example, if the attribute value was the set\n [a,b,c] and the DELETE action specified\n [a,c], then the final attribute value would be\n [b]. Specifying an empty set is an error.
\n ADD - If the attribute does not already exist, then the attribute\n and its values are added to the item. If the attribute does exist, then the\n behavior of ADD depends on the data type of the attribute:
If the existing attribute is a number, and if Value is\n also a number, then the Value is mathematically added to\n the existing attribute. If Value is a negative number, then\n it is subtracted from the existing attribute.
If you use ADD to increment or decrement a number\n value for an item that doesn't exist before the update, DynamoDB\n uses 0 as the initial value.
In addition, if you use ADD to update an existing\n item, and intend to increment or decrement an attribute value which\n does not yet exist, DynamoDB uses 0 as the initial\n value. For example, suppose that the item you want to update does\n not yet have an attribute named itemcount, but\n you decide to ADD the number 3 to this\n attribute anyway, even though it currently does not exist. DynamoDB\n will create the itemcount attribute, set its\n initial value to 0, and finally add 3 to\n it. The result will be a new itemcount\n attribute in the item, with a value of 3.
If the existing data type is a set, and if the Value is\n also a set, then the Value is added to the existing set.\n (This is a set operation, not mathematical\n addition.) For example, if the attribute value was the set\n [1,2], and the ADD action specified\n [3], then the final attribute value would be\n [1,2,3]. An error occurs if an Add action is specified\n for a set attribute and the attribute type specified does not match the\n existing set type.
Both sets must have the same primitive data type. For example, if the\n existing data type is a set of strings, the Value must also\n be a set of strings. The same holds true for number sets and binary\n sets.
This action is only valid for an existing attribute whose data type is number\n or is a set. Do not use ADD for any other data types.
\n If no item with the specified Key is\n found:\n
\n\n PUT - DynamoDB creates a new item with the specified primary key,\n and then adds the attribute.
\n DELETE - Nothing happens; there is no attribute to delete.
\n ADD - DynamoDB creates a new item with the supplied primary key and\n number (or set) for the attribute value. The only data types allowed are number,\n number set, string set or binary set.
For the UpdateItem operation, represents the attributes to be modified,\n the action to perform on each, and the new value for each.
You cannot use UpdateItem to update any primary key attributes.\n Instead, you will need to delete the item, and then use PutItem to\n create a new item with new attributes.
Attribute values cannot be null; string and binary type attributes must have lengths\n greater than zero; and set type attributes must not be empty. Requests with empty values\n will be rejected with a ValidationException exception.
The name of the scaling policy.
" + "smithy.api#documentation": "The `property` property is a string value that identifies which\nresource property represents tags for the resource." } }, - "TargetTrackingScalingPolicyConfiguration": { - "target": "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationDescription", + "apiConfig": { + "target": "aws.api#TaggableApiConfig", "traits": { - "smithy.api#documentation": "Represents a target tracking scaling policy configuration.
" + "smithy.api#documentation": "Specifies configuration for resource specific tagging APIs if the\nresource has them." + } + }, + "disableSystemTags": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Flag indicating if the resource is not able to carry AWS system level.\nUsed by service principals. Default value is `false`" } } }, "traits": { - "smithy.api#documentation": "Represents the properties of the scaling policy.
" + "smithy.api#documentation": "Indicates a resource supports CRUD operations for tags. Either through\nresource lifecycle or instance operations or tagging operations on the\nservice.", + "smithy.api#trait": { + "selector": "resource" + }, + "smithy.api#unstable": {} } }, - "com.amazonaws.dynamodb#AutoScalingPolicyDescriptionList": { + "aws.auth#StringList": { "type": "list", "member": { - "target": "com.amazonaws.dynamodb#AutoScalingPolicyDescription" - } - }, - "com.amazonaws.dynamodb#AutoScalingPolicyName": { - "type": "string", + "target": "smithy.api#String" + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "^\\p{Print}+$" + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#AutoScalingPolicyUpdate": { + "aws.auth#cognitoUserPools": { "type": "structure", "members": { - "PolicyName": { - "target": "com.amazonaws.dynamodb#AutoScalingPolicyName", + "providerArns": { + "target": "aws.auth#StringList", "traits": { - "smithy.api#documentation": "The name of the scaling policy.
" - } - }, - "TargetTrackingScalingPolicyConfiguration": { - "target": "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationUpdate", - "traits": { - "smithy.api#documentation": "Represents a target tracking scaling policy configuration.
", + "smithy.api#documentation": "A list of the Amazon Cognito user pool ARNs. Each element is of this\nformat: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}`.", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling policy to be modified.
" + "smithy.api#authDefinition": {}, + "smithy.api#documentation": "Configures an Amazon Cognito User Pools auth scheme.", + "smithy.api#internal": {}, + "smithy.api#tags": [ + "internal" + ], + "smithy.api#trait": { + "selector": "service" + } } }, - "com.amazonaws.dynamodb#AutoScalingRoleArn": { - "type": "string", + "aws.auth#sigv4": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The signature version 4 service signing name to use in the credential\nscope when signing requests. This value SHOULD match the `arnNamespace`\nproperty of the `aws.api#service` trait if present and the `name`\nproperty of the `aws.api#sigv4a` trait if present.", + "smithy.api#externalDocumentation": { + "Reference": "https://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html" + }, + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + } + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 1600 + "smithy.api#authDefinition": { + "traits": [ + "aws.auth#unsignedPayload" + ] }, - "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" + "smithy.api#documentation": "[Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)\nis the process to add authentication information to AWS requests sent by HTTP. For\nsecurity, most requests to AWS must be signed with an access key, which consists\nof an access key ID and secret access key. These two keys are commonly referred to\nas your security credentials.", + "smithy.api#externalDocumentation": { + "Reference": "https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html" + }, + "smithy.api#trait": { + "selector": "service", + "breakingChanges": [ + { + "change": "remove", + "message": "Removing the existing authentication scheme is not backward compatible and can break existing clients' authentication." + } + ] + } } }, - "com.amazonaws.dynamodb#AutoScalingSettingsDescription": { + "aws.auth#sigv4a": { "type": "structure", "members": { - "MinimumUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "name": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The minimum capacity units that a global table or global secondary index should be\n scaled down to.
" + "smithy.api#documentation": "The signature version 4a service signing name to use in the credential\nscope when signing requests. This value SHOULD match the `arnNamespace`\nproperty of the `aws.api#service` trait if present and the `name`\nproperty of the `aws.api#sigv4` trait.", + "smithy.api#externalDocumentation": { + "Reference": "https://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html" + }, + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#authDefinition": { + "traits": [ + "aws.auth#unsignedPayload" + ] }, - "MaximumUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", - "traits": { - "smithy.api#documentation": "The maximum capacity units that a global table or global secondary index should be\n scaled up to.
" - } + "smithy.api#documentation": "Signature Version 4 Asymmetric (SigV4A), an extension of Signature Version 4 (SigV4), is the\nprocess to add authentication information to AWS requests sent by HTTP. SigV4A is nearly\nidentical to SigV4, but also uses public-private keys and asymmetric cryptographic signatures\nfor every request. Most notably, SigV4A supports signatures for multi-region API requests.", + "smithy.api#externalDocumentation": { + "Reference": "https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html", + "Examples": "https://github.com/aws-samples/sigv4a-signing-examples" }, - "AutoScalingDisabled": { - "target": "com.amazonaws.dynamodb#BooleanObject", + "smithy.api#trait": { + "selector": "service[trait|aws.auth#sigv4]", + "breakingChanges": [ + { + "change": "remove", + "message": "Removing the existing authentication scheme is not backward compatible and can break existing clients' authentication." + } + ] + } + } + }, + "aws.auth#unsignedPayload": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Indicates that the request payload of a signed request is not to be used\nas part of the signature.", + "smithy.api#trait": { + "selector": "operation" + } + } + }, + "aws.customizations#s3UnwrappedXmlOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Indicates the response body from S3 is not wrapped in the\naws-restxml-protocol operation-level XML node. Intended to only be used by\nAWS S3.", + "smithy.api#trait": { + "selector": "operation" + } + } + }, + "aws.endpoints#PartitionEndpointPattern": { + "type": "enum", + "members": { + "SERVICE_DNSSUFFIX": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Disabled auto scaling for this global table or global secondary index.
" + "smithy.api#deprecated": { + "since": "2025-04-01", + "message": "Not recommended to use. Use AWS_RECOMMENDED instead" + }, + "smithy.api#enumValue": "service_dnsSuffix" } }, - "AutoScalingRoleArn": { - "target": "com.amazonaws.dynamodb#String", + "SERVICE_REGION_DNSSUFFIX": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Role ARN used for configuring the auto scaling policy.
" + "smithy.api#deprecated": { + "since": "2025-04-01", + "message": "Not recommended to use. Use AWS_RECOMMENDED instead" + }, + "smithy.api#enumValue": "service_region_dnsSuffix" } }, - "ScalingPolicies": { - "target": "com.amazonaws.dynamodb#AutoScalingPolicyDescriptionList", + "AWS_RECOMMENDED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Information about the scaling policies.
" + "smithy.api#enumValue": "aws_recommended" } } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling settings for a global table or global secondary\n index.
" + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#AutoScalingSettingsUpdate": { + "aws.endpoints#PartitionEndpointSpecialCase": { "type": "structure", "members": { - "MinimumUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", - "traits": { - "smithy.api#documentation": "The minimum capacity units that a global table or global secondary index should be\n scaled down to.
" - } - }, - "MaximumUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "endpoint": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The maximum capacity units that a global table or global secondary index should be\n scaled up to.
" + "smithy.api#documentation": "The special-cased endpoint pattern." } }, - "AutoScalingDisabled": { - "target": "com.amazonaws.dynamodb#BooleanObject", + "region": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Disabled auto scaling for this global table or global secondary index.
" + "smithy.api#documentation": "The region to override the defaultGlobalRegion used in this partition." } }, - "AutoScalingRoleArn": { - "target": "com.amazonaws.dynamodb#AutoScalingRoleArn", + "dualStack": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "Role ARN used for configuring auto scaling policy.
" + "smithy.api#documentation": "When true, the special case will apply to dualstack endpoint variants." } }, - "ScalingPolicyUpdate": { - "target": "com.amazonaws.dynamodb#AutoScalingPolicyUpdate", + "fips": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "The scaling policy to apply for scaling target global table or global secondary index\n capacity units.
" + "smithy.api#documentation": "When true, the special case will apply to fips endpoint variants." } } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling settings to be modified for a global table or global\n secondary index.
" + "smithy.api#documentation": "Defines the endpoint pattern to apply for a partitional endpoint.", + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationDescription": { + "aws.endpoints#PartitionEndpointSpecialCaseList": { + "type": "list", + "member": { + "target": "aws.endpoints#PartitionEndpointSpecialCase" + }, + "traits": { + "smithy.api#private": {} + } + }, + "aws.endpoints#PartitionEndpointSpecialCaseMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "aws.endpoints#PartitionEndpointSpecialCaseList" + }, + "traits": { + "smithy.api#private": {} + } + }, + "aws.endpoints#PartitionSpecialCase": { "type": "structure", "members": { - "DisableScaleIn": { - "target": "com.amazonaws.dynamodb#BooleanObject", - "traits": { - "smithy.api#documentation": "Indicates whether scale in by the target tracking policy is disabled. If the value is\n true, scale in is disabled and the target tracking policy won't remove capacity from the\n scalable resource. Otherwise, scale in is enabled and the target tracking policy can\n remove capacity from the scalable resource. The default value is false.
" - } - }, - "ScaleInCooldown": { - "target": "com.amazonaws.dynamodb#IntegerObject", + "endpoint": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The amount of time, in seconds, after a scale in activity completes before another\n scale in activity can start. The cooldown period is used to block subsequent scale in\n requests until it has expired. You should scale in conservatively to protect your\n application's availability. However, if another alarm triggers a scale out policy during\n the cooldown period after a scale-in, application auto scaling scales out your scalable\n target immediately.
" + "smithy.api#documentation": "The special-cased endpoint pattern.", + "smithy.api#required": {} } }, - "ScaleOutCooldown": { - "target": "com.amazonaws.dynamodb#IntegerObject", + "dualStack": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "The amount of time, in seconds, after a scale out activity completes before another\n scale out activity can start. While the cooldown period is in effect, the capacity that\n has been added by the previous scale out event that initiated the cooldown is calculated\n as part of the desired capacity for the next scale out. You should continuously (but not\n excessively) scale out.
" + "smithy.api#documentation": "When true, the special case will apply to dualstack endpoint variants." } }, - "TargetValue": { - "target": "com.amazonaws.dynamodb#DoubleObject", + "fips": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10)\n or 2e-360 to 2e360 (Base 2).
", - "smithy.api#required": {} + "smithy.api#documentation": "When true, the special case will apply to fips endpoint variants." } } }, "traits": { - "smithy.api#documentation": "Represents the properties of a target tracking scaling policy.
" + "smithy.api#documentation": "Defines the endpoint pattern to apply for all regional endpoints in the given partition.", + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationUpdate": { + "aws.endpoints#PartitionSpecialCaseList": { + "type": "list", + "member": { + "target": "aws.endpoints#PartitionSpecialCase" + }, + "traits": { + "smithy.api#private": {} + } + }, + "aws.endpoints#PartitionSpecialCaseMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "aws.endpoints#PartitionSpecialCaseList" + }, + "traits": { + "smithy.api#private": {} + } + }, + "aws.endpoints#RegionSpecialCase": { "type": "structure", "members": { - "DisableScaleIn": { - "target": "com.amazonaws.dynamodb#BooleanObject", + "endpoint": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Indicates whether scale in by the target tracking policy is disabled. If the value is\n true, scale in is disabled and the target tracking policy won't remove capacity from the\n scalable resource. Otherwise, scale in is enabled and the target tracking policy can\n remove capacity from the scalable resource. The default value is false.
" + "smithy.api#documentation": "The special-cased endpoint pattern.", + "smithy.api#required": {} } }, - "ScaleInCooldown": { - "target": "com.amazonaws.dynamodb#IntegerObject", + "dualStack": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "The amount of time, in seconds, after a scale in activity completes before another\n scale in activity can start. The cooldown period is used to block subsequent scale in\n requests until it has expired. You should scale in conservatively to protect your\n application's availability. However, if another alarm triggers a scale out policy during\n the cooldown period after a scale-in, application auto scaling scales out your scalable\n target immediately.
" + "smithy.api#documentation": "When true, the special case will apply to dualstack endpoint variants." } }, - "ScaleOutCooldown": { - "target": "com.amazonaws.dynamodb#IntegerObject", + "fips": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "The amount of time, in seconds, after a scale out activity completes before another\n scale out activity can start. While the cooldown period is in effect, the capacity that\n has been added by the previous scale out event that initiated the cooldown is calculated\n as part of the desired capacity for the next scale out. You should continuously (but not\n excessively) scale out.
" + "smithy.api#documentation": "When true, the special case will apply to fips endpoint variants." } }, - "TargetValue": { - "target": "com.amazonaws.dynamodb#DoubleObject", + "signingRegion": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10)\n or 2e-360 to 2e360 (Base 2).
", - "smithy.api#required": {} + "smithy.api#documentation": "Overrides the signingRegion used for this region." } } }, "traits": { - "smithy.api#documentation": "Represents the settings of a target tracking scaling policy that will be\n modified.
" + "smithy.api#documentation": "Defines the endpoint pattern to apply for a region.", + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#AvailabilityErrorMessage": { - "type": "string" + "aws.endpoints#RegionSpecialCaseList": { + "type": "list", + "member": { + "target": "aws.endpoints#RegionSpecialCase" + }, + "traits": { + "smithy.api#private": {} + } }, - "com.amazonaws.dynamodb#Backfilling": { - "type": "boolean" + "aws.endpoints#RegionSpecialCaseMap": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "aws.endpoints#RegionSpecialCaseList" + }, + "traits": { + "smithy.api#private": {} + } }, - "com.amazonaws.dynamodb#BackupArn": { - "type": "string", + "aws.endpoints#dualStackOnlyEndpoints": { + "type": "structure", + "members": {}, "traits": { - "smithy.api#length": { - "min": 37, - "max": 1024 + "aws.endpoints#endpointsModifier": {}, + "smithy.api#documentation": "Marks that a services has only dualStack endpoints.", + "smithy.api#trait": { + "selector": "service", + "breakingChanges": [ + { + "change": "any" + } + ] } } }, - "com.amazonaws.dynamodb#BackupCreationDateTime": { - "type": "timestamp" + "aws.endpoints#endpointsModifier": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Marks a trait as an endpoints modifier defining trait.\n\nThe targeted trait must only be applied to service shapes,\nmust be a structure, and must have the `trait` trait.", + "smithy.api#trait": { + "selector": "structure[trait|trait]", + "breakingChanges": [ + { + "change": "presence" + } + ] + } + } }, - "com.amazonaws.dynamodb#BackupDescription": { + "aws.endpoints#rulesBasedEndpoints": { + "type": "structure", + "members": {}, + "traits": { + "aws.endpoints#endpointsModifier": {}, + "smithy.api#documentation": "Marks that a services has hand written endpoint rules.", + "smithy.api#trait": { + "selector": "service", + "breakingChanges": [ + { + "change": "any" + } + ] + }, + "smithy.api#unstable": {} + } + }, + "aws.endpoints#standardPartitionalEndpoints": { "type": "structure", "members": { - "BackupDetails": { - "target": "com.amazonaws.dynamodb#BackupDetails", + "endpointPatternType": { + "target": "aws.endpoints#PartitionEndpointPattern", "traits": { - "smithy.api#documentation": "Contains the details of the backup created for the table.
" + "smithy.api#documentation": "The pattern type to use for the partition endpoint.", + "smithy.api#required": {} } }, - "SourceTableDetails": { - "target": "com.amazonaws.dynamodb#SourceTableDetails", + "partitionEndpointSpecialCases": { + "target": "aws.endpoints#PartitionEndpointSpecialCaseMap", "traits": { - "smithy.api#documentation": "Contains the details of the table when the backup was created.
" + "smithy.api#documentation": "A map of partition to a list of partition endpoint special cases -\npartitions that do not follow the services standard patterns or are\nlocated in a region other than the partition's defaultGlobalRegion." + } + } + }, + "traits": { + "aws.endpoints#endpointsModifier": {}, + "smithy.api#documentation": "Marks that a services is non-regionalized and has\na single endpoint in each partition.", + "smithy.api#trait": { + "selector": "service", + "conflicts": [ + "aws.endpoints#standardRegionalEndpoints" + ], + "breakingChanges": [ + { + "change": "any" + } + ] + } + } + }, + "aws.endpoints#standardRegionalEndpoints": { + "type": "structure", + "members": { + "partitionSpecialCases": { + "target": "aws.endpoints#PartitionSpecialCaseMap", + "traits": { + "smithy.api#documentation": "A map of partition to partition special cases -\nendpoints for a partition that do not follow the standard patterns." } }, - "SourceTableFeatureDetails": { - "target": "com.amazonaws.dynamodb#SourceTableFeatureDetails", + "regionSpecialCases": { + "target": "aws.endpoints#RegionSpecialCaseMap", "traits": { - "smithy.api#documentation": "Contains the details of the features enabled on the table when the backup was created.\n For example, LSIs, GSIs, streams, TTL.
" + "smithy.api#documentation": "A map of region to regional special cases -\nendpoints for a region that do not follow the standard patterns." } } }, "traits": { - "smithy.api#documentation": "Contains the description of the backup created for the table.
" + "aws.endpoints#endpointsModifier": {}, + "smithy.api#documentation": "Marks that a services endpoints should be resolved using\nstandard regional endpoint patterns.", + "smithy.api#trait": { + "selector": "service", + "conflicts": [ + "aws.endpoints#standardPartitionalEndpoints" + ], + "breakingChanges": [ + { + "change": "remove" + } + ] + } } }, - "com.amazonaws.dynamodb#BackupDetails": { - "type": "structure", + "aws.protocols#ChecksumAlgorithm": { + "type": "enum", "members": { - "BackupArn": { - "target": "com.amazonaws.dynamodb#BackupArn", + "CRC32": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "ARN associated with the backup.
", - "smithy.api#required": {} + "smithy.api#documentation": "CRC32", + "smithy.api#enumValue": "CRC32" } }, - "BackupName": { - "target": "com.amazonaws.dynamodb#BackupName", + "CRC32C": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Name of the requested backup.
", - "smithy.api#required": {} + "smithy.api#documentation": "CRC32C", + "smithy.api#enumValue": "CRC32C" } }, - "BackupSizeBytes": { - "target": "com.amazonaws.dynamodb#BackupSizeBytes", + "CRC64NVME": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Size of the backup in bytes. DynamoDB updates this value approximately every six\n hours. Recent changes might not be reflected in this value.
" + "smithy.api#documentation": "CRC64NVME", + "smithy.api#enumValue": "CRC64NVME" } }, - "BackupStatus": { - "target": "com.amazonaws.dynamodb#BackupStatus", + "MD5": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
", - "smithy.api#required": {} + "smithy.api#documentation": "MD5", + "smithy.api#enumValue": "MD5" } }, - "BackupType": { - "target": "com.amazonaws.dynamodb#BackupType", + "SHA1": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "BackupType:
\n\n USER - You create and manage these using the on-demand backup\n feature.
\n SYSTEM - If you delete a table with point-in-time recovery enabled,\n a SYSTEM backup is automatically created and is retained for 35\n days (at no additional cost). System backups allow you to restore the deleted\n table to the state it was in just before the point of deletion.
\n AWS_BACKUP - On-demand backup created by you from Backup service.
Time at which the backup was created. This is the request time of the backup.
", - "smithy.api#required": {} + "smithy.api#documentation": "SHA256", + "smithy.api#enumValue": "SHA256" } }, - "BackupExpiryDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "SHA512": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Time at which the automatic on-demand backup created by DynamoDB will\n expire. This SYSTEM on-demand backup expires automatically 35 days after\n its creation.
Contains the details of the backup created for the table.
" + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#BackupInUseException": { + "aws.protocols#ChecksumAlgorithmSet": { + "type": "list", + "member": { + "target": "aws.protocols#ChecksumAlgorithm" + }, + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#private": {}, + "smithy.api#uniqueItems": {} + } + }, + "aws.protocols#HttpConfiguration": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" + "http": { + "target": "aws.protocols#StringList", + "traits": { + "smithy.api#documentation": "The priority ordered list of supported HTTP protocol versions." + } + }, + "eventStreamHttp": { + "target": "aws.protocols#StringList", + "traits": { + "smithy.api#documentation": "The priority ordered list of supported HTTP protocol versions that\nare required when using event streams with the service. If not set,\nthis value defaults to the value of the `http` member. Any entry in\n`eventStreamHttp` MUST also appear in `http`." + } } }, "traits": { - "smithy.api#documentation": "There is another ongoing conflicting backup control plane operation on the table.\n The backup is either being created, deleted or restored to a table.
", - "smithy.api#error": "client" + "smithy.api#documentation": "Contains HTTP protocol configuration for HTTP-based protocols.", + "smithy.api#mixin": { + "localTraits": [ + "smithy.api#private" + ] + }, + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#BackupName": { - "type": "string", + "aws.protocols#StringList": { + "type": "list", + "member": { + "target": "smithy.api#String" + }, "traits": { - "smithy.api#length": { - "min": 3, - "max": 255 + "smithy.api#private": {} + } + }, + "aws.protocols#awsJson1_0": { + "type": "structure", + "mixins": [ + { + "target": "aws.protocols#HttpConfiguration" + } + ], + "members": {}, + "traits": { + "smithy.api#documentation": "An RPC-based protocol that sends JSON payloads. This protocol does not use\nHTTP binding traits.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#timestampFormat", + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel" + ] }, - "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + "smithy.api#trait": { + "selector": "service" + } } }, - "com.amazonaws.dynamodb#BackupNotFoundException": { + "aws.protocols#awsJson1_1": { "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" + "mixins": [ + { + "target": "aws.protocols#HttpConfiguration" } - }, + ], + "members": {}, "traits": { - "smithy.api#documentation": "Backup not found for the given BackupARN.
", - "smithy.api#error": "client" + "smithy.api#documentation": "An RPC-based protocol that sends JSON payloads. This protocol does not use\nHTTP binding traits.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#timestampFormat", + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel" + ] + }, + "smithy.api#trait": { + "selector": "service" + } } }, - "com.amazonaws.dynamodb#BackupSizeBytes": { - "type": "long", + "aws.protocols#awsQuery": { + "type": "structure", + "members": {}, "traits": { - "smithy.api#range": { - "min": 0 + "smithy.api#deprecated": {}, + "smithy.api#documentation": "An RPC-based protocol that sends 'POST' requests in the body as\n`x-www-form-urlencoded` strings and responses in XML documents. This\nprotocol does not use HTTP binding traits.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#timestampFormat", + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel", + "aws.protocols#awsQueryError", + "smithy.api#xmlAttribute", + "smithy.api#xmlFlattened", + "smithy.api#xmlName", + "smithy.api#xmlNamespace" + ] + }, + "smithy.api#trait": { + "selector": "service [trait|xmlNamespace]" + }, + "smithy.api#traitValidators": { + "UnsupportedProtocolDocument": { + "selector": "~> member :test(> document)", + "message": "Document types are not supported with awsQuery" + } } } }, - "com.amazonaws.dynamodb#BackupStatus": { - "type": "enum", + "aws.protocols#awsQueryCompatible": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Enable backward compatibility when migrating from awsQuery to the awsJson\nprotocol or Smithy RPC v2 CBOR.", + "smithy.api#trait": { + "selector": "service :test([trait|aws.protocols#awsJson1_0], [trait|smithy.protocols#rpcv2Cbor])" + } + } + }, + "aws.protocols#awsQueryError": { + "type": "structure", "members": { - "CREATING": { - "target": "smithy.api#Unit", + "code": { + "target": "smithy.api#String", "traits": { - "smithy.api#enumValue": "CREATING" + "smithy.api#documentation": "The value used to distinguish this error shape during serialization.", + "smithy.api#required": {} } }, - "DELETED": { - "target": "smithy.api#Unit", + "httpResponseCode": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#enumValue": "DELETED" + "smithy.api#documentation": "The HTTP response code used on a response containing this error shape.", + "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#documentation": "Provides the value in the 'Code' distinguishing field and HTTP response\ncode for an operation error.", + "smithy.api#trait": { + "selector": "structure [trait|error]", + "breakingChanges": [ + { + "change": "any" + } + ] + } + } + }, + "aws.protocols#ec2Query": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#deprecated": {}, + "smithy.api#documentation": "An RPC-based protocol that sends 'POST' requests in the body as Amazon EC2\nformatted `x-www-form-urlencoded` strings and responses in XML documents.\nThis protocol does not use HTTP binding traits.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#timestampFormat", + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel", + "aws.protocols#ec2QueryName", + "smithy.api#xmlAttribute", + "smithy.api#xmlFlattened", + "smithy.api#xmlName", + "smithy.api#xmlNamespace" + ] }, - "AVAILABLE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "AVAILABLE" + "smithy.api#trait": { + "selector": "service [trait|xmlNamespace]" + }, + "smithy.api#traitValidators": { + "UnsupportedProtocolDocument": { + "selector": "~> member :test(> document)", + "message": "Document types are not supported with ec2Query" } } } }, - "com.amazonaws.dynamodb#BackupSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#BackupSummary" + "aws.protocols#ec2QueryName": { + "type": "string", + "traits": { + "smithy.api#documentation": "Indicates the serialized name of a structure member when that structure is\nserialized for the input of an EC2 operation.", + "smithy.api#pattern": "^[a-zA-Z_][a-zA-Z_0-9-]*$", + "smithy.api#trait": { + "selector": "structure > member" + } } }, - "com.amazonaws.dynamodb#BackupSummary": { + "aws.protocols#httpChecksum": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableName", + "requestAlgorithmMember": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Name of the table.
" + "smithy.api#documentation": "Defines a top-level operation input member that is used to configure\nrequest checksum behavior." } }, - "TableId": { - "target": "com.amazonaws.dynamodb#TableId", + "requestChecksumRequired": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "Unique identifier for the table.
" + "smithy.api#documentation": "Indicates an operation requires a checksum in its HTTP request." } }, - "TableArn": { - "target": "com.amazonaws.dynamodb#TableArn", + "requestValidationModeMember": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "ARN associated with the table.
" + "smithy.api#documentation": "Defines a top-level operation input member used to opt-in to response\nchecksum validation." } }, - "BackupArn": { - "target": "com.amazonaws.dynamodb#BackupArn", + "responseAlgorithms": { + "target": "aws.protocols#ChecksumAlgorithmSet", "traits": { - "smithy.api#documentation": "ARN associated with the backup.
" + "smithy.api#documentation": "Defines the checksum algorithms clients should look for when performing\nHTTP response checksum validation." } + } + }, + "traits": { + "smithy.api#documentation": "Indicates that an operation supports checksum validation.", + "smithy.api#trait": { + "selector": "operation", + "breakingChanges": [ + { + "change": "remove", + "severity": "DANGER", + "message": "Removing the trait removes the ability for clients to do request or response checksums. The service MUST continue to support old clients by supporting the `httpChecksum` trait." + }, + { + "change": "remove", + "path": "/requestAlgorithmMember", + "severity": "DANGER", + "message": "`requestAlgorithmMember` was removed, so newly generated clients will no longer be able to pick the request checksum algorithms The service MUST continue to support old clients by supporting `requestAlgorithmMember`." + }, + { + "change": "remove", + "path": "/requestValidationModeMember", + "severity": "DANGER", + "message": "`requestValidationModeMember` was removed, so newly generated clients will no longer validate response checksums. The service MUST continue to support old clients by supporting `requestValidationModeMember`." + }, + { + "change": "remove", + "path": "/responseAlgorithms/member", + "severity": "DANGER", + "message": "Members of `responseAlgorithms` were removed, so newly generated clients will no longer validate response checksums for the removed algorithms. The service MUST continue to support old clients by supporting removed compression algorithms." + } + ] }, - "BackupName": { - "target": "com.amazonaws.dynamodb#BackupName", - "traits": { - "smithy.api#documentation": "Name of the specified backup.
" - } + "smithy.api#unstable": {} + } + }, + "aws.protocols#restJson1": { + "type": "structure", + "mixins": [ + { + "target": "aws.protocols#HttpConfiguration" + } + ], + "members": {}, + "traits": { + "smithy.api#documentation": "A RESTful protocol that sends JSON in structured payloads.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#timestampFormat", + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel", + "smithy.api#http", + "smithy.api#httpError", + "smithy.api#httpHeader", + "smithy.api#httpLabel", + "smithy.api#httpPayload", + "smithy.api#httpPrefixHeaders", + "smithy.api#httpQuery", + "smithy.api#httpQueryParams", + "smithy.api#httpResponseCode", + "aws.protocols#httpChecksum", + "smithy.api#httpChecksumRequired", + "smithy.api#jsonName" + ] }, - "BackupCreationDateTime": { - "target": "com.amazonaws.dynamodb#BackupCreationDateTime", + "smithy.api#trait": { + "selector": "service" + } + } + }, + "aws.protocols#restXml": { + "type": "structure", + "mixins": [ + { + "target": "aws.protocols#HttpConfiguration" + } + ], + "members": { + "noErrorWrapping": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#deprecated": {}, + "smithy.api#documentation": "Disables the serialization wrapping of error properties in an 'Error'\nXML element." + } + } + }, + "traits": { + "smithy.api#deprecated": {}, + "smithy.api#documentation": "A RESTful protocol that sends XML in structured payloads.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#timestampFormat", + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel", + "smithy.api#http", + "smithy.api#httpError", + "smithy.api#httpHeader", + "smithy.api#httpLabel", + "smithy.api#httpPayload", + "smithy.api#httpPrefixHeaders", + "smithy.api#httpQuery", + "smithy.api#httpQueryParams", + "smithy.api#httpResponseCode", + "aws.protocols#httpChecksum", + "smithy.api#httpChecksumRequired", + "smithy.api#xmlAttribute", + "smithy.api#xmlFlattened", + "smithy.api#xmlName", + "smithy.api#xmlNamespace" + ] + }, + "smithy.api#trait": { + "selector": "service" + }, + "smithy.api#traitValidators": { + "UnsupportedProtocolDocument": { + "selector": "~> member :test(> document)", + "message": "Document types are not supported with restXml" + } + } + } + }, + "com.amazonaws.dynamodb#ApproximateCreationDateTimePrecision": { + "type": "enum", + "members": { + "MILLISECOND": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Time at which the backup was created.
" + "smithy.api#enumValue": "MILLISECOND" } }, - "BackupExpiryDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "MICROSECOND": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Time at which the automatic on-demand backup created by DynamoDB will\n expire. This SYSTEM on-demand backup expires automatically 35 days after\n its creation.
Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
" + "smithy.api#documentation": "The date and time when table archival was initiated by DynamoDB, in UNIX epoch time\n format.
" } }, - "BackupType": { - "target": "com.amazonaws.dynamodb#BackupType", + "ArchivalReason": { + "target": "com.amazonaws.dynamodb#ArchivalReason", "traits": { - "smithy.api#documentation": "BackupType:
\n\n USER - You create and manage these using the on-demand backup\n feature.
\n SYSTEM - If you delete a table with point-in-time recovery enabled,\n a SYSTEM backup is automatically created and is retained for 35\n days (at no additional cost). System backups allow you to restore the deleted\n table to the state it was in just before the point of deletion.
\n AWS_BACKUP - On-demand backup created by you from Backup service.
The reason DynamoDB archived the table. Currently, the only possible value is:
\n\n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due\n to the table's KMS key being inaccessible for more than seven\n days. An On-Demand backup was created at the archival time.
Size of the backup in bytes.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the backup the table was archived to, when\n applicable in the archival reason. If you wish to restore this backup to the same table\n name, you will need to delete the original table.
" } } }, "traits": { - "smithy.api#documentation": "Contains details for the backup.
" + "smithy.api#documentation": "Contains details of a table archival operation.
" } }, - "com.amazonaws.dynamodb#BackupType": { + "com.amazonaws.dynamodb#AttributeAction": { "type": "enum", "members": { - "USER": { + "ADD": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "USER" + "smithy.api#enumValue": "ADD" } }, - "SYSTEM": { + "PUT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "SYSTEM" + "smithy.api#enumValue": "PUT" } }, - "AWS_BACKUP": { + "DELETE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "AWS_BACKUP" + "smithy.api#enumValue": "DELETE" } } } }, - "com.amazonaws.dynamodb#BackupTypeFilter": { - "type": "enum", + "com.amazonaws.dynamodb#AttributeDefinition": { + "type": "structure", "members": { - "USER": { - "target": "smithy.api#Unit", + "AttributeName": { + "target": "com.amazonaws.dynamodb#KeySchemaAttributeName", "traits": { - "smithy.api#enumValue": "USER" + "smithy.api#documentation": "A name for the attribute.
", + "smithy.api#required": {} } }, - "SYSTEM": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SYSTEM" - } - }, - "AWS_BACKUP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "AWS_BACKUP" - } - }, - "ALL": { - "target": "smithy.api#Unit", + "AttributeType": { + "target": "com.amazonaws.dynamodb#ScalarAttributeType", "traits": { - "smithy.api#enumValue": "ALL" + "smithy.api#documentation": "The data type for the attribute, where:
\n\n S - the attribute is of type String
\n N - the attribute is of type Number
\n B - the attribute is of type Binary
Represents an attribute for describing the schema for the table and indexes.
" } }, - "com.amazonaws.dynamodb#BackupsInputLimit": { - "type": "integer", + "com.amazonaws.dynamodb#AttributeDefinitions": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#AttributeDefinition" + } + }, + "com.amazonaws.dynamodb#AttributeMap": { + "type": "map", + "key": { + "target": "com.amazonaws.dynamodb#AttributeName" + }, + "value": { + "target": "com.amazonaws.dynamodb#AttributeValue" + } + }, + "com.amazonaws.dynamodb#AttributeName": { + "type": "string", "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 + "smithy.api#length": { + "min": 0, + "max": 65535 } } }, - "com.amazonaws.dynamodb#BatchExecuteStatement": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#BatchExecuteStatementInput" + "com.amazonaws.dynamodb#AttributeNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#AttributeName" }, - "output": { - "target": "com.amazonaws.dynamodb#BatchExecuteStatementOutput" + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.dynamodb#AttributeUpdates": { + "type": "map", + "key": { + "target": "com.amazonaws.dynamodb#AttributeName" }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" + "value": { + "target": "com.amazonaws.dynamodb#AttributeValueUpdate" + } + }, + "com.amazonaws.dynamodb#AttributeValue": { + "type": "union", + "members": { + "S": { + "target": "com.amazonaws.dynamodb#StringAttributeValue", + "traits": { + "smithy.api#documentation": "An attribute of type String. For example:
\n\n \"S\": \"Hello\"\n
An attribute of type Number. For example:
\n\n \"N\": \"123.45\"\n
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility\n across languages and libraries. However, DynamoDB treats them as number type attributes\n for mathematical operations.
" + } }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" + "B": { + "target": "com.amazonaws.dynamodb#BinaryAttributeValue", + "traits": { + "smithy.api#documentation": "An attribute of type Binary. For example:
\n\n \"B\": \"dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk\"\n
An attribute of type String Set. For example:
\n\n \"SS\": [\"Giraffe\", \"Hippo\" ,\"Zebra\"]\n
An attribute of type Number Set. For example:
\n\n \"NS\": [\"42.2\", \"-19\", \"7.5\", \"3.14\"]\n
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility\n across languages and libraries. However, DynamoDB treats them as number type attributes\n for mathematical operations.
" + } + }, + "BS": { + "target": "com.amazonaws.dynamodb#BinarySetAttributeValue", + "traits": { + "smithy.api#documentation": "An attribute of type Binary Set. For example:
\n\n \"BS\": [\"U3Vubnk=\", \"UmFpbnk=\", \"U25vd3k=\"]\n
An attribute of type Map. For example:
\n\n \"M\": {\"Name\": {\"S\": \"Joe\"}, \"Age\": {\"N\": \"35\"}}\n
An attribute of type List. For example:
\n\n \"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\": \"3.14159\"}]\n
An attribute of type Null. For example:
\n\n \"NULL\": true\n
An attribute of type Boolean. For example:
\n\n \"BOOL\": true\n
This operation allows you to perform batch reads or writes on data stored in DynamoDB,\n using PartiQL. Each read statement in a BatchExecuteStatement must specify\n an equality condition on all key attributes. This enforces that each SELECT\n statement in a batch returns at most a single item. For more information, see Running batch operations with PartiQL for DynamoDB .
The entire batch must consist of either read statements or write statements, you\n cannot mix both in one batch.
\nA HTTP 200 response does not mean that all statements in the BatchExecuteStatement\n succeeded. Error details for individual statements can be found under the Error field of the BatchStatementResponse for each\n statement.
Represents the data for an attribute.
\nEach attribute value is described as a name-value pair. The name is the data type, and\n the value is the data itself.
\nFor more information, see Data Types in the Amazon DynamoDB Developer\n Guide.
" } }, - "com.amazonaws.dynamodb#BatchExecuteStatementInput": { + "com.amazonaws.dynamodb#AttributeValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#AttributeValue" + } + }, + "com.amazonaws.dynamodb#AttributeValueUpdate": { "type": "structure", "members": { - "Statements": { - "target": "com.amazonaws.dynamodb#PartiQLBatchRequest", + "Value": { + "target": "com.amazonaws.dynamodb#AttributeValue", "traits": { - "smithy.api#documentation": "The list of PartiQL statements representing the batch to run.
", - "smithy.api#required": {} + "smithy.api#documentation": "Represents the data for an attribute.
\nEach attribute value is described as a name-value pair. The name is the data type, and\n the value is the data itself.
\nFor more information, see Data Types in the Amazon DynamoDB Developer Guide.\n
" } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" + "Action": { + "target": "com.amazonaws.dynamodb#AttributeAction", + "traits": { + "smithy.api#documentation": "Specifies how to perform the update. Valid values are PUT (default),\n DELETE, and ADD. The behavior depends on whether the\n specified primary key already exists in the table.
\n If an item with the specified Key is found in\n the table:\n
\n\n PUT - Adds the specified attribute to the item. If the attribute\n already exists, it is replaced by the new value.
\n DELETE - If no value is specified, the attribute and its value are\n removed from the item. The data type of the specified value must match the\n existing value's data type.
If a set of values is specified, then those values are\n subtracted from the old set. For example, if the attribute value was the set\n [a,b,c] and the DELETE action specified\n [a,c], then the final attribute value would be\n [b]. Specifying an empty set is an error.
\n ADD - If the attribute does not already exist, then the attribute\n and its values are added to the item. If the attribute does exist, then the\n behavior of ADD depends on the data type of the attribute:
If the existing attribute is a number, and if Value is\n also a number, then the Value is mathematically added to\n the existing attribute. If Value is a negative number, then\n it is subtracted from the existing attribute.
If you use ADD to increment or decrement a number\n value for an item that doesn't exist before the update, DynamoDB\n uses 0 as the initial value.
In addition, if you use ADD to update an existing\n item, and intend to increment or decrement an attribute value which\n does not yet exist, DynamoDB uses 0 as the initial\n value. For example, suppose that the item you want to update does\n not yet have an attribute named itemcount, but\n you decide to ADD the number 3 to this\n attribute anyway, even though it currently does not exist. DynamoDB\n will create the itemcount attribute, set its\n initial value to 0, and finally add 3 to\n it. The result will be a new itemcount\n attribute in the item, with a value of 3.
If the existing data type is a set, and if the Value is\n also a set, then the Value is added to the existing set.\n (This is a set operation, not mathematical\n addition.) For example, if the attribute value was the set\n [1,2], and the ADD action specified\n [3], then the final attribute value would be\n [1,2,3]. An error occurs if an Add action is specified\n for a set attribute and the attribute type specified does not match the\n existing set type.
Both sets must have the same primitive data type. For example, if the\n existing data type is a set of strings, the Value must also\n be a set of strings. The same holds true for number sets and binary\n sets.
This action is only valid for an existing attribute whose data type is number\n or is a set. Do not use ADD for any other data types.
\n If no item with the specified Key is\n found:\n
\n\n PUT - DynamoDB creates a new item with the specified primary key,\n and then adds the attribute.
\n DELETE - Nothing happens; there is no attribute to delete.
\n ADD - DynamoDB creates a new item with the supplied primary key and\n number (or set) for the attribute value. The only data types allowed are number,\n number set, string set or binary set.
For the UpdateItem operation, represents the attributes to be modified,\n the action to perform on each, and the new value for each.
You cannot use UpdateItem to update any primary key attributes.\n Instead, you will need to delete the item, and then use PutItem to\n create a new item with new attributes.
Attribute values cannot be null; string and binary type attributes must have lengths\n greater than zero; and set type attributes must not be empty. Requests with empty values\n will be rejected with a ValidationException exception.
The response to each PartiQL statement in the batch. The values of the list are\n ordered according to the ordering of the request statements.
" + "smithy.api#documentation": "The name of the scaling policy.
" } }, - "ConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityMultiple", + "TargetTrackingScalingPolicyConfiguration": { + "target": "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationDescription", "traits": { - "smithy.api#documentation": "The capacity units consumed by the entire operation. The values of the list are\n ordered according to the ordering of the statements.
" + "smithy.api#documentation": "Represents a target tracking scaling policy configuration.
" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Represents the properties of the scaling policy.
" } }, - "com.amazonaws.dynamodb#BatchGetItem": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#BatchGetItemInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#BatchGetItemOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" - }, - { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + "com.amazonaws.dynamodb#AutoScalingPolicyDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#AutoScalingPolicyDescription" + } + }, + "com.amazonaws.dynamodb#AutoScalingPolicyName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "smithy.api#pattern": "^\\p{Print}+$" + } + }, + "com.amazonaws.dynamodb#AutoScalingPolicyUpdate": { + "type": "structure", + "members": { + "PolicyName": { + "target": "com.amazonaws.dynamodb#AutoScalingPolicyName", + "traits": { + "smithy.api#documentation": "The name of the scaling policy.
" + } }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" + "TargetTrackingScalingPolicyConfiguration": { + "target": "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationUpdate", + "traits": { + "smithy.api#documentation": "Represents a target tracking scaling policy configuration.
", + "smithy.api#required": {} + } } - ], + }, "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false + "smithy.api#documentation": "Represents the auto scaling policy to be modified.
" + } + }, + "com.amazonaws.dynamodb#AutoScalingRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 }, - "smithy.api#documentation": "The BatchGetItem operation returns the attributes of one or more items\n from one or more tables. You identify requested items by primary key.
A single operation can retrieve up to 16 MB of data, which can contain as many as 100\n items. BatchGetItem returns a partial result if the response size limit is\n exceeded, the table's provisioned throughput is exceeded, more than 1MB per partition is\n requested, or an internal processing failure occurs. If a partial result is returned,\n the operation returns a value for UnprocessedKeys. You can use this value\n to retry the operation starting with the next item to get.
If you request more than 100 items, BatchGetItem returns a\n ValidationException with the message \"Too many items requested for\n the BatchGetItem call.\"
For example, if you ask to retrieve 100 items, but each individual item is 300 KB in\n size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns\n an appropriate UnprocessedKeys value so you can get the next page of\n results. If desired, your application can include its own logic to assemble the pages of\n results into one dataset.
If none of the items can be processed due to insufficient\n provisioned throughput on all of the tables in the request, then\n BatchGetItem returns a\n ProvisionedThroughputExceededException. If at least\n one of the items is successfully processed, then\n BatchGetItem completes successfully, while returning the keys of the\n unread items in UnprocessedKeys.
If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.
\nFor more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.
\nBy default, BatchGetItem performs eventually consistent reads on every\n table in the request. If you want strongly consistent reads instead, you can set\n ConsistentRead to true for any or all tables.
In order to minimize response latency, BatchGetItem may retrieve items in\n parallel.
When designing your application, keep in mind that DynamoDB does not return items in\n any particular order. To help parse the response by item, include the primary key values\n for the items in your request in the ProjectionExpression parameter.
If a requested item does not exist, it is not returned in the result. Requests for\n nonexistent items consume the minimum read capacity units according to the type of read.\n For more information, see Working with Tables in the Amazon DynamoDB Developer\n Guide.
\n\n BatchGetItem will result in a ValidationException if the\n same key is specified multiple times.
A map of one or more table names or table ARNs and, for each table, a map that\n describes one or more items to retrieve from that table. Each table name or ARN can be\n used only once per BatchGetItem request.
Each element in the map of items to retrieve consists of the following:
\n\n ConsistentRead - If true, a strongly consistent read\n is used; if false (the default), an eventually consistent read is\n used.
\n ExpressionAttributeNames - One or more substitution tokens for\n attribute names in the ProjectionExpression parameter. The\n following are some use cases for using\n ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name\n in an expression.
\nTo prevent special characters in an attribute name from being\n misinterpreted in an expression.
\nUse the # character in an expression to\n dereference an attribute name. For example, consider the following attribute\n name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be\n used directly in an expression. (For the complete list of reserved words, see\n Reserved\n Words in the Amazon DynamoDB Developer Guide).\n To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this\n example:
\n\n #P = :val\n
Tokens that begin with the : character\n are expression attribute values, which are placeholders\n for the actual value at runtime.
\nFor more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB\n Developer Guide.
\n\n Keys - An array of primary key attribute values that define\n specific items in the table. For each primary key, you must provide\n all of the key attributes. For example, with a simple\n primary key, you only need to provide the partition key value. For a composite\n key, you must provide both the partition key value and the\n sort key value.
\n ProjectionExpression - A string that identifies one or more\n attributes to retrieve from the table. These attributes can include scalars,\n sets, or elements of a JSON document. The attributes in the expression must be\n separated by commas.
If no attribute names are specified, then all attributes are returned. If any\n of the requested attributes are not found, they do not appear in the\n result.
\nFor more information, see Accessing Item Attributes in the Amazon DynamoDB\n Developer Guide.
\n\n AttributesToGet - This is a legacy parameter. Use\n ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer\n Guide.
Represents the input of a BatchGetItem operation.
A map of table name or table ARN to a list of items. Each object in\n Responses consists of a table name or ARN, along with a map of\n attribute data consisting of the data type and attribute value.
The minimum capacity units that a global table or global secondary index should be\n scaled down to.
" } }, - "UnprocessedKeys": { - "target": "com.amazonaws.dynamodb#BatchGetRequestMap", + "MaximumUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#documentation": "A map of tables and their respective keys that were not processed with the current\n response. The UnprocessedKeys value is in the same form as\n RequestItems, so the value can be provided directly to a subsequent\n BatchGetItem operation. For more information, see\n RequestItems in the Request Parameters section.
Each element consists of:
\n\n Keys - An array of primary key attribute values that define\n specific items in the table.
\n ProjectionExpression - One or more attributes to be retrieved from\n the table or index. By default, all attributes are returned. If a requested\n attribute is not found, it does not appear in the result.
\n ConsistentRead - The consistency of a read operation. If set to\n true, then a strongly consistent read is used; otherwise, an\n eventually consistent read is used.
If there are no unprocessed keys remaining, the response contains an empty\n UnprocessedKeys map.
The maximum capacity units that a global table or global secondary index should be\n scaled up to.
" } }, - "ConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityMultiple", - "traits": { - "smithy.api#documentation": "The read capacity units consumed by the entire BatchGetItem\n operation.
Each element consists of:
\n\n TableName - The table that consumed the provisioned\n throughput.
\n CapacityUnits - The total number of capacity units consumed.
Represents the output of a BatchGetItem operation.
The error code associated with the failed PartiQL batch statement.
" + "smithy.api#documentation": "Disabled auto scaling for this global table or global secondary index.
" } }, - "Message": { + "AutoScalingRoleArn": { "target": "com.amazonaws.dynamodb#String", "traits": { - "smithy.api#documentation": "The error message associated with the PartiQL batch response.
" + "smithy.api#documentation": "Role ARN used for configuring the auto scaling policy.
" } }, - "Item": { - "target": "com.amazonaws.dynamodb#AttributeMap", + "ScalingPolicies": { + "target": "com.amazonaws.dynamodb#AutoScalingPolicyDescriptionList", "traits": { - "smithy.api#documentation": "The item which caused the condition check to fail. This will be set if\n ReturnValuesOnConditionCheckFailure is specified as ALL_OLD.
Information about the scaling policies.
" } } }, "traits": { - "smithy.api#documentation": "An error associated with a statement in a PartiQL batch that was run.
" + "smithy.api#documentation": "Represents the auto scaling settings for a global table or global secondary\n index.
" } }, - "com.amazonaws.dynamodb#BatchStatementErrorCodeEnum": { - "type": "enum", + "com.amazonaws.dynamodb#AutoScalingSettingsUpdate": { + "type": "structure", "members": { - "ConditionalCheckFailed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ConditionalCheckFailed" - } - }, - "ItemCollectionSizeLimitExceeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ItemCollectionSizeLimitExceeded" - } - }, - "RequestLimitExceeded": { - "target": "smithy.api#Unit", + "MinimumUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#enumValue": "RequestLimitExceeded" + "smithy.api#documentation": "The minimum capacity units that a global table or global secondary index should be\n scaled down to.
" } }, - "ValidationError": { - "target": "smithy.api#Unit", + "MaximumUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#enumValue": "ValidationError" + "smithy.api#documentation": "The maximum capacity units that a global table or global secondary index should be\n scaled up to.
" } }, - "ProvisionedThroughputExceeded": { - "target": "smithy.api#Unit", + "AutoScalingDisabled": { + "target": "com.amazonaws.dynamodb#BooleanObject", "traits": { - "smithy.api#enumValue": "ProvisionedThroughputExceeded" + "smithy.api#documentation": "Disabled auto scaling for this global table or global secondary index.
" } }, - "TransactionConflict": { - "target": "smithy.api#Unit", + "AutoScalingRoleArn": { + "target": "com.amazonaws.dynamodb#AutoScalingRoleArn", "traits": { - "smithy.api#enumValue": "TransactionConflict" + "smithy.api#documentation": "Role ARN used for configuring auto scaling policy.
" } }, - "ThrottlingError": { - "target": "smithy.api#Unit", + "ScalingPolicyUpdate": { + "target": "com.amazonaws.dynamodb#AutoScalingPolicyUpdate", "traits": { - "smithy.api#enumValue": "ThrottlingError" + "smithy.api#documentation": "The scaling policy to apply for scaling target global table or global secondary index\n capacity units.
" } - }, - "InternalServerError": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "Represents the auto scaling settings to be modified for a global table or global\n secondary index.
" + } + }, + "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationDescription": { + "type": "structure", + "members": { + "DisableScaleIn": { + "target": "com.amazonaws.dynamodb#BooleanObject", "traits": { - "smithy.api#enumValue": "InternalServerError" + "smithy.api#documentation": "Indicates whether scale in by the target tracking policy is disabled. If the value is\n true, scale in is disabled and the target tracking policy won't remove capacity from the\n scalable resource. Otherwise, scale in is enabled and the target tracking policy can\n remove capacity from the scalable resource. The default value is false.
" } }, - "ResourceNotFound": { - "target": "smithy.api#Unit", + "ScaleInCooldown": { + "target": "com.amazonaws.dynamodb#IntegerObject", "traits": { - "smithy.api#enumValue": "ResourceNotFound" + "smithy.api#documentation": "The amount of time, in seconds, after a scale in activity completes before another\n scale in activity can start. The cooldown period is used to block subsequent scale in\n requests until it has expired. You should scale in conservatively to protect your\n application's availability. However, if another alarm triggers a scale out policy during\n the cooldown period after a scale-in, application auto scaling scales out your scalable\n target immediately.
" } }, - "AccessDenied": { - "target": "smithy.api#Unit", + "ScaleOutCooldown": { + "target": "com.amazonaws.dynamodb#IntegerObject", "traits": { - "smithy.api#enumValue": "AccessDenied" + "smithy.api#documentation": "The amount of time, in seconds, after a scale out activity completes before another\n scale out activity can start. While the cooldown period is in effect, the capacity that\n has been added by the previous scale out event that initiated the cooldown is calculated\n as part of the desired capacity for the next scale out. You should continuously (but not\n excessively) scale out.
" } }, - "DuplicateItem": { - "target": "smithy.api#Unit", + "TargetValue": { + "target": "com.amazonaws.dynamodb#DoubleObject", "traits": { - "smithy.api#enumValue": "DuplicateItem" + "smithy.api#documentation": "The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10)\n or 2e-360 to 2e360 (Base 2).
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "Represents the properties of a target tracking scaling policy.
" } }, - "com.amazonaws.dynamodb#BatchStatementRequest": { + "com.amazonaws.dynamodb#AutoScalingTargetTrackingScalingPolicyConfigurationUpdate": { "type": "structure", "members": { - "Statement": { - "target": "com.amazonaws.dynamodb#PartiQLStatement", + "DisableScaleIn": { + "target": "com.amazonaws.dynamodb#BooleanObject", "traits": { - "smithy.api#documentation": "A valid PartiQL statement.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates whether scale in by the target tracking policy is disabled. If the value is\n true, scale in is disabled and the target tracking policy won't remove capacity from the\n scalable resource. Otherwise, scale in is enabled and the target tracking policy can\n remove capacity from the scalable resource. The default value is false.
" } }, - "Parameters": { - "target": "com.amazonaws.dynamodb#PreparedStatementParameters", + "ScaleInCooldown": { + "target": "com.amazonaws.dynamodb#IntegerObject", "traits": { - "smithy.api#documentation": "The parameters associated with a PartiQL statement in the batch request.
" + "smithy.api#documentation": "The amount of time, in seconds, after a scale in activity completes before another\n scale in activity can start. The cooldown period is used to block subsequent scale in\n requests until it has expired. You should scale in conservatively to protect your\n application's availability. However, if another alarm triggers a scale out policy during\n the cooldown period after a scale-in, application auto scaling scales out your scalable\n target immediately.
" } }, - "ConsistentRead": { - "target": "com.amazonaws.dynamodb#ConsistentRead", + "ScaleOutCooldown": { + "target": "com.amazonaws.dynamodb#IntegerObject", "traits": { - "smithy.api#documentation": "The read consistency of the PartiQL batch request.
" + "smithy.api#documentation": "The amount of time, in seconds, after a scale out activity completes before another\n scale out activity can start. While the cooldown period is in effect, the capacity that\n has been added by the previous scale out event that initiated the cooldown is calculated\n as part of the desired capacity for the next scale out. You should continuously (but not\n excessively) scale out.
" } }, - "ReturnValuesOnConditionCheckFailure": { - "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", - "traits": { - "smithy.api#documentation": "An optional parameter that returns the item attributes for a PartiQL batch request\n operation that failed a condition check.
\nThere is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" + "TargetValue": { + "target": "com.amazonaws.dynamodb#DoubleObject", + "traits": { + "smithy.api#documentation": "The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10)\n or 2e-360 to 2e360 (Base 2).
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A PartiQL batch statement request.
" + "smithy.api#documentation": "Represents the settings of a target tracking scaling policy that will be\n modified.
" } }, - "com.amazonaws.dynamodb#BatchStatementResponse": { + "com.amazonaws.dynamodb#AvailabilityErrorMessage": { + "type": "string" + }, + "com.amazonaws.dynamodb#Backfilling": { + "type": "boolean" + }, + "com.amazonaws.dynamodb#BackupArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 37, + "max": 1024 + } + } + }, + "com.amazonaws.dynamodb#BackupCreationDateTime": { + "type": "timestamp" + }, + "com.amazonaws.dynamodb#BackupDescription": { "type": "structure", "members": { - "Error": { - "target": "com.amazonaws.dynamodb#BatchStatementError", + "BackupDetails": { + "target": "com.amazonaws.dynamodb#BackupDetails", "traits": { - "smithy.api#documentation": "The error associated with a failed PartiQL batch statement.
" + "smithy.api#documentation": "Contains the details of the backup created for the table.
" } }, - "TableName": { - "target": "com.amazonaws.dynamodb#TableName", + "SourceTableDetails": { + "target": "com.amazonaws.dynamodb#SourceTableDetails", "traits": { - "smithy.api#documentation": "The table name associated with a failed PartiQL batch statement.
" + "smithy.api#documentation": "Contains the details of the table when the backup was created.
" } }, - "Item": { - "target": "com.amazonaws.dynamodb#AttributeMap", + "SourceTableFeatureDetails": { + "target": "com.amazonaws.dynamodb#SourceTableFeatureDetails", "traits": { - "smithy.api#documentation": "A DynamoDB item associated with a BatchStatementResponse
" + "smithy.api#documentation": "Contains the details of the features enabled on the table when the backup was created.\n For example, LSIs, GSIs, streams, TTL.
" } } }, "traits": { - "smithy.api#documentation": "A PartiQL batch statement response..
" - } - }, - "com.amazonaws.dynamodb#BatchWriteItem": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#BatchWriteItemInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#BatchWriteItemOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ReplicatedWriteConflictException" - }, - { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" - } - ], - "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "The BatchWriteItem operation puts or deletes multiple items in one or\n more tables. A single call to BatchWriteItem can transmit up to 16MB of\n data over the network, consisting of up to 25 item put or delete operations. While\n individual items can be up to 400 KB once stored, it's important to note that an item's\n representation might be greater than 400KB while being sent in DynamoDB's JSON format\n for the API call. For more details on this distinction, see Naming Rules and Data Types.
\n BatchWriteItem cannot update items. If you perform a\n BatchWriteItem operation on an existing item, that item's values\n will be overwritten by the operation and it will appear like it was updated. To\n update items, we recommend you use the UpdateItem action.
The individual PutItem and DeleteItem operations specified\n in BatchWriteItem are atomic; however BatchWriteItem as a\n whole is not. If any requested operations fail because the table's provisioned\n throughput is exceeded or an internal processing failure occurs, the failed operations\n are returned in the UnprocessedItems response parameter. You can\n investigate and optionally resend the requests. Typically, you would call\n BatchWriteItem in a loop. Each iteration would check for unprocessed\n items and submit a new BatchWriteItem request with those unprocessed items\n until all items have been processed.
For tables and indexes with provisioned capacity, if none of the items can be\n processed due to insufficient provisioned throughput on all of the tables in the\n request, then BatchWriteItem returns a\n ProvisionedThroughputExceededException. For all tables and indexes, if\n none of the items can be processed due to other throttling scenarios (such as exceeding\n partition level limits), then BatchWriteItem returns a\n ThrottlingException.
If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.
\nFor more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.
\nWith BatchWriteItem, you can efficiently write or delete large amounts of\n data, such as from Amazon EMR, or copy data from another database into DynamoDB. In\n order to improve performance with these large-scale operations,\n BatchWriteItem does not behave in the same way as individual\n PutItem and DeleteItem calls would. For example, you\n cannot specify conditions on individual put and delete requests, and\n BatchWriteItem does not return deleted items in the response.
If you use a programming language that supports concurrency, you can use threads to\n write items in parallel. Your application must include the necessary logic to manage the\n threads. With languages that don't support threading, you must update or delete the\n specified items one at a time. In both situations, BatchWriteItem performs\n the specified put and delete operations in parallel, giving you the power of the thread\n pool approach without having to introduce complexity into your application.
Parallel processing reduces latency, but each specified put and delete request\n consumes the same number of write capacity units whether it is processed in parallel or\n not. Delete operations on nonexistent items consume one write capacity unit.
\nIf one or more of the following is true, DynamoDB rejects the entire batch write\n operation:
\nOne or more tables specified in the BatchWriteItem request does\n not exist.
Primary key attributes specified on an item in the request do not match those\n in the corresponding table's primary key schema.
\nYou try to perform multiple operations on the same item in the same\n BatchWriteItem request. For example, you cannot put and delete\n the same item in the same BatchWriteItem request.
Your request contains at least two items with identical hash and range keys\n (which essentially is two put operations).
\nThere are more than 25 requests in the batch.
\nAny individual item in a batch exceeds 400 KB.
\nThe total request size exceeds 16 MB.
\nAny individual items with keys exceeding the key length limits. For a\n partition key, the limit is 2048 bytes and for a sort key, the limit is 1024\n bytes.
\nContains the description of the backup created for the table.
" } }, - "com.amazonaws.dynamodb#BatchWriteItemInput": { + "com.amazonaws.dynamodb#BackupDetails": { "type": "structure", "members": { - "RequestItems": { - "target": "com.amazonaws.dynamodb#BatchWriteItemRequestMap", + "BackupArn": { + "target": "com.amazonaws.dynamodb#BackupArn", "traits": { - "smithy.api#documentation": "A map of one or more table names or table ARNs and, for each table, a list of\n operations to be performed (DeleteRequest or PutRequest). Each\n element in the map consists of the following:
\n DeleteRequest - Perform a DeleteItem operation on the\n specified item. The item to be deleted is identified by a Key\n subelement:
\n Key - A map of primary key attribute values that uniquely\n identify the item. Each entry in this map consists of an attribute name\n and an attribute value. For each primary key, you must provide\n all of the key attributes. For example, with a\n simple primary key, you only need to provide a value for the partition\n key. For a composite primary key, you must provide values for\n both the partition key and the sort key.
\n PutRequest - Perform a PutItem operation on the\n specified item. The item to be put is identified by an Item\n subelement:
\n Item - A map of attributes and their values. Each entry in\n this map consists of an attribute name and an attribute value. Attribute\n values must not be null; string and binary type attributes must have\n lengths greater than zero; and set type attributes must not be empty.\n Requests that contain empty values are rejected with a\n ValidationException exception.
If you specify any attributes that are part of an index key, then the\n data types for those attributes must match those of the schema in the\n table's attribute definition.
\nARN associated with the backup.
", "smithy.api#required": {} } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" + "BackupName": { + "target": "com.amazonaws.dynamodb#BackupName", + "traits": { + "smithy.api#documentation": "Name of the requested backup.
", + "smithy.api#required": {} + } }, - "ReturnItemCollectionMetrics": { - "target": "com.amazonaws.dynamodb#ReturnItemCollectionMetrics", + "BackupSizeBytes": { + "target": "com.amazonaws.dynamodb#BackupSizeBytes", "traits": { - "smithy.api#documentation": "Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
Size of the backup in bytes. DynamoDB updates this value approximately every six\n hours. Recent changes might not be reflected in this value.
" } - } - }, - "traits": { - "smithy.api#documentation": "Represents the input of a BatchWriteItem operation.
A map of tables and requests against those tables that were not processed. The\n UnprocessedItems value is in the same form as\n RequestItems, so you can provide this value directly to a subsequent\n BatchWriteItem operation. For more information, see\n RequestItems in the Request Parameters section.
Each UnprocessedItems entry consists of a table name or table ARN\n and, for that table, a list of operations to perform (DeleteRequest or\n PutRequest).
\n DeleteRequest - Perform a DeleteItem operation on the\n specified item. The item to be deleted is identified by a Key\n subelement:
\n Key - A map of primary key attribute values that uniquely\n identify the item. Each entry in this map consists of an attribute name\n and an attribute value.
\n PutRequest - Perform a PutItem operation on the\n specified item. The item to be put is identified by an Item\n subelement:
\n Item - A map of attributes and their values. Each entry in\n this map consists of an attribute name and an attribute value. Attribute\n values must not be null; string and binary type attributes must have\n lengths greater than zero; and set type attributes must not be empty.\n Requests that contain empty values will be rejected with a\n ValidationException exception.
If you specify any attributes that are part of an index key, then the\n data types for those attributes must match those of the schema in the\n table's attribute definition.
\nIf there are no unprocessed items remaining, the response contains an empty\n UnprocessedItems map.
Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
", + "smithy.api#required": {} } }, - "ItemCollectionMetrics": { - "target": "com.amazonaws.dynamodb#ItemCollectionMetricsPerTable", + "BackupType": { + "target": "com.amazonaws.dynamodb#BackupType", "traits": { - "smithy.api#documentation": "A list of tables that were processed by BatchWriteItem and, for each\n table, information about any item collections that were affected by individual\n DeleteItem or PutItem operations.
Each entry consists of the following subelements:
\n\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item.
\n SizeEstimateRangeGB - An estimate of item collection size,\n expressed in GB. This is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on the table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nBackupType:
\n\n USER - You create and manage these using the on-demand backup\n feature.
\n SYSTEM - If you delete a table with point-in-time recovery enabled,\n a SYSTEM backup is automatically created and is retained for 35\n days (at no additional cost). System backups allow you to restore the deleted\n table to the state it was in just before the point of deletion.
\n AWS_BACKUP - On-demand backup created by you from Backup service.
The capacity units consumed by the entire BatchWriteItem\n operation.
Each element consists of:
\n\n TableName - The table that consumed the provisioned\n throughput.
\n CapacityUnits - The total number of capacity units consumed.
Time at which the backup was created. This is the request time of the backup.
", + "smithy.api#required": {} + } + }, + "BackupExpiryDateTime": { + "target": "com.amazonaws.dynamodb#Date", + "traits": { + "smithy.api#documentation": "Time at which the automatic on-demand backup created by DynamoDB will\n expire. This SYSTEM on-demand backup expires automatically 35 days after\n its creation.
Represents the output of a BatchWriteItem operation.
Contains the details of the backup created for the table.
" } }, - "com.amazonaws.dynamodb#BatchWriteItemRequestMap": { - "type": "map", - "key": { - "target": "com.amazonaws.dynamodb#TableArn" - }, - "value": { - "target": "com.amazonaws.dynamodb#WriteRequests" + "com.amazonaws.dynamodb#BackupInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" + } }, + "traits": { + "smithy.api#documentation": "There is another ongoing conflicting backup control plane operation on the table.\n The backup is either being created, deleted or restored to a table.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.dynamodb#BackupName": { + "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 25 + "min": 3, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + } + }, + "com.amazonaws.dynamodb#BackupNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" } + }, + "traits": { + "smithy.api#documentation": "Backup not found for the given BackupARN.
", + "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#BilledSizeBytes": { + "com.amazonaws.dynamodb#BackupSizeBytes": { "type": "long", "traits": { "smithy.api#range": { @@ -1340,1420 +1885,1317 @@ } } }, - "com.amazonaws.dynamodb#BillingMode": { + "com.amazonaws.dynamodb#BackupStatus": { "type": "enum", "members": { - "PROVISIONED": { + "CREATING": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PROVISIONED" + "smithy.api#enumValue": "CREATING" } }, - "PAY_PER_REQUEST": { + "DELETED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PAY_PER_REQUEST" - } - } - } - }, - "com.amazonaws.dynamodb#BillingModeSummary": { - "type": "structure", - "members": { - "BillingMode": { - "target": "com.amazonaws.dynamodb#BillingMode", - "traits": { - "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. This setting can be changed later.
\n\n PROVISIONED - Sets the read/write capacity mode to\n PROVISIONED. We recommend using PROVISIONED for\n predictable workloads.
\n PAY_PER_REQUEST - Sets the read/write capacity mode to\n PAY_PER_REQUEST. We recommend using\n PAY_PER_REQUEST for unpredictable workloads.
Represents the time when PAY_PER_REQUEST was last set as the read/write\n capacity mode.
Contains the details for the read/write capacity mode. This page talks about\n PROVISIONED and PAY_PER_REQUEST billing modes. For more\n information about these modes, see Read/write capacity mode.
You may need to switch to on-demand mode at least once in order to return a\n BillingModeSummary response.
Item in the request which caused the transaction to get cancelled.
" + "smithy.api#documentation": "Name of the table.
" } }, - "Code": { - "target": "com.amazonaws.dynamodb#Code", + "TableId": { + "target": "com.amazonaws.dynamodb#TableId", "traits": { - "smithy.api#documentation": "Status code for the result of the cancelled transaction.
" + "smithy.api#documentation": "Unique identifier for the table.
" } }, - "Message": { - "target": "com.amazonaws.dynamodb#ErrorMessage", - "traits": { - "smithy.api#documentation": "Cancellation reason message description.
" - } - } - }, - "traits": { - "smithy.api#documentation": "An ordered list of errors for each item in the request which caused the transaction to\n get cancelled. The values of the list are ordered according to the ordering of the\n TransactWriteItems request parameter. If no error occurred for the\n associated item an error with a Null code and Null message will be present.
The total number of read capacity units consumed on a table or an index.
" + "smithy.api#documentation": "ARN associated with the table.
" } }, - "WriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", + "BackupArn": { + "target": "com.amazonaws.dynamodb#BackupArn", "traits": { - "smithy.api#documentation": "The total number of write capacity units consumed on a table or an index.
" + "smithy.api#documentation": "ARN associated with the backup.
" } }, - "CapacityUnits": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", - "traits": { - "smithy.api#documentation": "The total number of capacity units consumed on a table or an index.
" - } - } - }, - "traits": { - "smithy.api#documentation": "Represents the amount of provisioned throughput capacity consumed on a table or an\n index.
" - } - }, - "com.amazonaws.dynamodb#ClientRequestToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 36 - } - } - }, - "com.amazonaws.dynamodb#ClientToken": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[^\\$]+$" - } - }, - "com.amazonaws.dynamodb#CloudWatchLogGroupArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - } - } - }, - "com.amazonaws.dynamodb#Code": { - "type": "string" - }, - "com.amazonaws.dynamodb#ComparisonOperator": { - "type": "enum", - "members": { - "EQ": { - "target": "smithy.api#Unit", + "BackupName": { + "target": "com.amazonaws.dynamodb#BackupName", "traits": { - "smithy.api#enumValue": "EQ" + "smithy.api#documentation": "Name of the specified backup.
" } }, - "NE": { - "target": "smithy.api#Unit", + "BackupCreationDateTime": { + "target": "com.amazonaws.dynamodb#BackupCreationDateTime", "traits": { - "smithy.api#enumValue": "NE" + "smithy.api#documentation": "Time at which the backup was created.
" } }, - "IN": { - "target": "smithy.api#Unit", + "BackupExpiryDateTime": { + "target": "com.amazonaws.dynamodb#Date", "traits": { - "smithy.api#enumValue": "IN" + "smithy.api#documentation": "Time at which the automatic on-demand backup created by DynamoDB will\n expire. This SYSTEM on-demand backup expires automatically 35 days after\n its creation.
Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
" } }, - "LT": { - "target": "smithy.api#Unit", + "BackupType": { + "target": "com.amazonaws.dynamodb#BackupType", "traits": { - "smithy.api#enumValue": "LT" + "smithy.api#documentation": "BackupType:
\n\n USER - You create and manage these using the on-demand backup\n feature.
\n SYSTEM - If you delete a table with point-in-time recovery enabled,\n a SYSTEM backup is automatically created and is retained for 35\n days (at no additional cost). System backups allow you to restore the deleted\n table to the state it was in just before the point of deletion.
\n AWS_BACKUP - On-demand backup created by you from Backup service.
Size of the backup in bytes.
" } - }, - "GT": { + } + }, + "traits": { + "smithy.api#documentation": "Contains details for the backup.
" + } + }, + "com.amazonaws.dynamodb#BackupType": { + "type": "enum", + "members": { + "USER": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "GT" + "smithy.api#enumValue": "USER" } }, - "BETWEEN": { + "SYSTEM": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "BETWEEN" + "smithy.api#enumValue": "SYSTEM" } }, - "NOT_NULL": { + "AWS_BACKUP": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "NOT_NULL" + "smithy.api#enumValue": "AWS_BACKUP" } - }, - "NULL": { + } + } + }, + "com.amazonaws.dynamodb#BackupTypeFilter": { + "type": "enum", + "members": { + "USER": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "NULL" + "smithy.api#enumValue": "USER" } }, - "CONTAINS": { + "SYSTEM": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "CONTAINS" + "smithy.api#enumValue": "SYSTEM" } }, - "NOT_CONTAINS": { + "AWS_BACKUP": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "NOT_CONTAINS" + "smithy.api#enumValue": "AWS_BACKUP" } }, - "BEGINS_WITH": { + "ALL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "BEGINS_WITH" + "smithy.api#enumValue": "ALL" } } } }, - "com.amazonaws.dynamodb#Condition": { + "com.amazonaws.dynamodb#BackupsInputLimit": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.dynamodb#BatchExecuteStatement": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#BatchExecuteStatementInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#BatchExecuteStatementOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + }, + { + "target": "com.amazonaws.dynamodb#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "This operation allows you to perform batch reads or writes on data stored in DynamoDB,\n using PartiQL. Each read statement in a BatchExecuteStatement must specify\n an equality condition on all key attributes. This enforces that each SELECT\n statement in a batch returns at most a single item. For more information, see Running batch operations with PartiQL for DynamoDB .
The entire batch must consist of either read statements or write statements, you\n cannot mix both in one batch.
\nA HTTP 200 response does not mean that all statements in the BatchExecuteStatement\n succeeded. Error details for individual statements can be found under the Error field of the BatchStatementResponse for each\n statement.
One or more values to evaluate against the supplied attribute. The number of values in\n the list depends on the ComparisonOperator being used.
For type Number, value comparisons are numeric.
\nString value comparisons for greater than, equals, or less than are based on ASCII\n character code values. For example, a is greater than A, and\n a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it\n compares binary values.
" + "smithy.api#documentation": "The list of PartiQL statements representing the batch to run.
", + "smithy.api#required": {} } }, - "ComparisonOperator": { - "target": "com.amazonaws.dynamodb#ComparisonOperator", - "traits": { - "smithy.api#documentation": "A comparator for evaluating attributes. For example, equals, greater than, less than,\n etc.
\nThe following comparison operators are available:
\n\n EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |\n BEGINS_WITH | IN | BETWEEN\n
The following are descriptions of each comparison operator.
\n\n EQ : Equal. EQ is supported for all data types,\n including lists and maps.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, Binary, String Set, Number Set, or Binary Set.\n If an item contains an AttributeValue element of a different type\n than the one provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\",\n \"1\"]}.
\n NE : Not equal. NE is supported for all data types,\n including lists and maps.
\n AttributeValueList can contain only one AttributeValue\n of type String, Number, Binary, String Set, Number Set, or Binary Set. If an\n item contains an AttributeValue of a different type than the one\n provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\",\n \"1\"]}.
\n LE : Less than or equal.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If an item contains\n an AttributeValue element of a different type than the one provided\n in the request, the value does not match. For example, {\"S\":\"6\"}\n does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not\n compare to {\"NS\":[\"6\", \"2\", \"1\"]}.
\n LT : Less than.
\n AttributeValueList can contain only one AttributeValue\n of type String, Number, or Binary (not a set type). If an item contains an\n AttributeValue element of a different type than the one\n provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\",\n \"1\"]}.
\n GE : Greater than or equal.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If an item contains\n an AttributeValue element of a different type than the one provided\n in the request, the value does not match. For example, {\"S\":\"6\"}\n does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not\n compare to {\"NS\":[\"6\", \"2\", \"1\"]}.
\n GT : Greater than.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If an item contains\n an AttributeValue element of a different type than the one provided\n in the request, the value does not match. For example, {\"S\":\"6\"}\n does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not\n compare to {\"NS\":[\"6\", \"2\", \"1\"]}.
\n NOT_NULL : The attribute exists. NOT_NULL is supported\n for all data types, including lists and maps.
This operator tests for the existence of an attribute, not its data type.\n If the data type of attribute \"a\" is null, and you evaluate it\n using NOT_NULL, the result is a Boolean true. This\n result is because the attribute \"a\" exists; its data type is\n not relevant to the NOT_NULL comparison operator.
\n NULL : The attribute does not exist. NULL is supported\n for all data types, including lists and maps.
This operator tests for the nonexistence of an attribute, not its data\n type. If the data type of attribute \"a\" is null, and you\n evaluate it using NULL, the result is a Boolean\n false. This is because the attribute \"a\"\n exists; its data type is not relevant to the NULL comparison\n operator.
\n CONTAINS : Checks for a subsequence, or value in a set.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If the target\n attribute of the comparison is of type String, then the operator checks for a\n substring match. If the target attribute of the comparison is of type Binary,\n then the operator looks for a subsequence of the target that matches the input.\n If the target attribute of the comparison is a set (\"SS\",\n \"NS\", or \"BS\"), then the operator evaluates to\n true if it finds an exact match with any member of the set.
CONTAINS is supported for lists: When evaluating \"a CONTAINS b\",\n \"a\" can be a list; however, \"b\" cannot be a set, a\n map, or a list.
\n NOT_CONTAINS : Checks for absence of a subsequence, or absence of a\n value in a set.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If the target\n attribute of the comparison is a String, then the operator checks for the\n absence of a substring match. If the target attribute of the comparison is\n Binary, then the operator checks for the absence of a subsequence of the target\n that matches the input. If the target attribute of the comparison is a set\n (\"SS\", \"NS\", or \"BS\"), then the\n operator evaluates to true if it does not find an exact\n match with any member of the set.
NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS\n b\", \"a\" can be a list; however, \"b\" cannot\n be a set, a map, or a list.
\n BEGINS_WITH : Checks for a prefix.
\n AttributeValueList can contain only one AttributeValue\n of type String or Binary (not a Number or a set type). The target attribute of\n the comparison must be of type String or Binary (not a Number or a set\n type).
\n IN : Checks for matching elements in a list.
\n AttributeValueList can contain one or more\n AttributeValue elements of type String, Number, or Binary.\n These attributes are compared against an existing attribute of an item. If any\n elements of the input are equal to the item attribute, the expression evaluates\n to true.
\n BETWEEN : Greater than or equal to the first value, and less than\n or equal to the second value.
\n AttributeValueList must contain two AttributeValue\n elements of the same type, either String, Number, or Binary (not a set type). A\n target attribute matches if the target value is greater than, or equal to, the\n first element and less than, or equal to, the second element. If an item\n contains an AttributeValue element of a different type than the one\n provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\",\n \"1\"]}\n
For usage examples of AttributeValueList and\n ComparisonOperator, see Legacy\n Conditional Parameters in the Amazon DynamoDB Developer\n Guide.
Represents the selection criteria for a Query or Scan\n operation:
For a Query operation, Condition is used for\n specifying the KeyConditions to use when querying a table or an\n index. For KeyConditions, only the following comparison operators\n are supported:
\n EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN\n
\n Condition is also used in a QueryFilter, which\n evaluates the query results and returns only the desired values.
For a Scan operation, Condition is used in a\n ScanFilter, which evaluates the scan results and returns only\n the desired values.
The primary key of the item to be checked. Each element consists of an attribute name\n and a value for that attribute.
", - "smithy.api#required": {} + "smithy.api#documentation": "The response to each PartiQL statement in the batch. The values of the list are\n ordered according to the ordering of the request statements.
" } }, - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "ConsumedCapacity": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityMultiple", "traits": { - "smithy.api#documentation": "Name of the table for the check item request. You can also provide the Amazon Resource Name (ARN) of\n the table in this parameter.
", - "smithy.api#required": {} + "smithy.api#documentation": "The capacity units consumed by the entire operation. The values of the list are\n ordered according to the ordering of the statements.
" } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#BatchGetItem": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#BatchGetItemInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#BatchGetItemOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" }, - "ConditionExpression": { - "target": "com.amazonaws.dynamodb#ConditionExpression", + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#ThrottlingException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "The BatchGetItem operation returns the attributes of one or more items\n from one or more tables. You identify requested items by primary key.
A single operation can retrieve up to 16 MB of data, which can contain as many as 100\n items. BatchGetItem returns a partial result if the response size limit is\n exceeded, the table's provisioned throughput is exceeded, more than 1MB per partition is\n requested, or an internal processing failure occurs. If a partial result is returned,\n the operation returns a value for UnprocessedKeys. You can use this value\n to retry the operation starting with the next item to get.
If you request more than 100 items, BatchGetItem returns a\n ValidationException with the message \"Too many items requested for\n the BatchGetItem call.\"
For example, if you ask to retrieve 100 items, but each individual item is 300 KB in\n size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns\n an appropriate UnprocessedKeys value so you can get the next page of\n results. If desired, your application can include its own logic to assemble the pages of\n results into one dataset.
If none of the items can be processed due to insufficient\n provisioned throughput on all of the tables in the request, then\n BatchGetItem returns a\n ProvisionedThroughputExceededException. If at least\n one of the items is successfully processed, then\n BatchGetItem completes successfully, while returning the keys of the\n unread items in UnprocessedKeys.
If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.
\nFor more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.
\nBy default, BatchGetItem performs eventually consistent reads on every\n table in the request. If you want strongly consistent reads instead, you can set\n ConsistentRead to true for any or all tables.
In order to minimize response latency, BatchGetItem may retrieve items in\n parallel.
When designing your application, keep in mind that DynamoDB does not return items in\n any particular order. To help parse the response by item, include the primary key values\n for the items in your request in the ProjectionExpression parameter.
If a requested item does not exist, it is not returned in the result. Requests for\n nonexistent items consume the minimum read capacity units according to the type of read.\n For more information, see Working with Tables in the Amazon DynamoDB Developer\n Guide.
\n\n BatchGetItem will result in a ValidationException if the\n same key is specified multiple times.
A condition that must be satisfied in order for a conditional update to succeed. For\n more information, see Condition expressions in the Amazon DynamoDB Developer\n Guide.
", + "smithy.api#documentation": "A map of one or more table names or table ARNs and, for each table, a map that\n describes one or more items to retrieve from that table. Each table name or ARN can be\n used only once per BatchGetItem request.
Each element in the map of items to retrieve consists of the following:
\n\n ConsistentRead - If true, a strongly consistent read\n is used; if false (the default), an eventually consistent read is\n used.
\n ExpressionAttributeNames - One or more substitution tokens for\n attribute names in the ProjectionExpression parameter. The\n following are some use cases for using\n ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name\n in an expression.
\nTo prevent special characters in an attribute name from being\n misinterpreted in an expression.
\nUse the # character in an expression to\n dereference an attribute name. For example, consider the following attribute\n name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be\n used directly in an expression. (For the complete list of reserved words, see\n Reserved\n Words in the Amazon DynamoDB Developer Guide).\n To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this\n example:
\n\n #P = :val\n
Tokens that begin with the : character\n are expression attribute values, which are placeholders\n for the actual value at runtime.
\nFor more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB\n Developer Guide.
\n\n Keys - An array of primary key attribute values that define\n specific items in the table. For each primary key, you must provide\n all of the key attributes. For example, with a simple\n primary key, you only need to provide the partition key value. For a composite\n key, you must provide both the partition key value and the\n sort key value.
\n ProjectionExpression - A string that identifies one or more\n attributes to retrieve from the table. These attributes can include scalars,\n sets, or elements of a JSON document. The attributes in the expression must be\n separated by commas.
If no attribute names are specified, then all attributes are returned. If any\n of the requested attributes are not found, they do not appear in the\n result.
\nFor more information, see Accessing Item Attributes in the Amazon DynamoDB\n Developer Guide.
\n\n AttributesToGet - This is a legacy parameter. Use\n ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer\n Guide.
Represents the input of a BatchGetItem operation.
One or more substitution tokens for attribute names in an expression. For more\n information, see Expression attribute names in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "A map of table name or table ARN to a list of items. Each object in\n Responses consists of a table name or ARN, along with a map of\n attribute data consisting of the data type and attribute value.
One or more values that can be substituted in an expression. For more information, see\n Condition expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "A map of tables and their respective keys that were not processed with the current\n response. The UnprocessedKeys value is in the same form as\n RequestItems, so the value can be provided directly to a subsequent\n BatchGetItem operation. For more information, see\n RequestItems in the Request Parameters section.
Each element consists of:
\n\n Keys - An array of primary key attribute values that define\n specific items in the table.
\n ProjectionExpression - One or more attributes to be retrieved from\n the table or index. By default, all attributes are returned. If a requested\n attribute is not found, it does not appear in the result.
\n ConsistentRead - The consistency of a read operation. If set to\n true, then a strongly consistent read is used; otherwise, an\n eventually consistent read is used.
If there are no unprocessed keys remaining, the response contains an empty\n UnprocessedKeys map.
Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n ConditionCheck condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
The read capacity units consumed by the entire BatchGetItem\n operation.
Each element consists of:
\n\n TableName - The table that consumed the provisioned\n throughput.
\n CapacityUnits - The total number of capacity units consumed.
Represents a request to perform a check that an item exists or to check the condition\n of specific attributes of the item.
" + "smithy.api#documentation": "Represents the output of a BatchGetItem operation.
The conditional request failed.
" + "smithy.api#documentation": "The error code associated with the failed PartiQL batch statement.
" + } + }, + "Message": { + "target": "com.amazonaws.dynamodb#String", + "traits": { + "smithy.api#documentation": "The error message associated with the PartiQL batch response.
" } }, "Item": { "target": "com.amazonaws.dynamodb#AttributeMap", "traits": { - "smithy.api#documentation": "Item which caused the ConditionalCheckFailedException.
The item which caused the condition check to fail. This will be set if\n ReturnValuesOnConditionCheckFailure is specified as ALL_OLD.
A condition specified in the operation failed to be evaluated.
", - "smithy.api#error": "client" + "smithy.api#documentation": "An error associated with a statement in a PartiQL batch that was run.
" } }, - "com.amazonaws.dynamodb#ConditionalOperator": { + "com.amazonaws.dynamodb#BatchStatementErrorCodeEnum": { "type": "enum", "members": { - "AND": { + "ConditionalCheckFailed": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "AND" + "smithy.api#enumValue": "ConditionalCheckFailed" } }, - "OR": { + "ItemCollectionSizeLimitExceeded": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "OR" + "smithy.api#enumValue": "ItemCollectionSizeLimitExceeded" } - } - } - }, - "com.amazonaws.dynamodb#ConfirmRemoveSelfResourceAccess": { - "type": "boolean", - "traits": { - "smithy.api#default": false - } - }, - "com.amazonaws.dynamodb#ConsistentRead": { - "type": "boolean" - }, - "com.amazonaws.dynamodb#ConsumedCapacity": { - "type": "structure", - "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + }, + "RequestLimitExceeded": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The name of the table that was affected by the operation. If you had specified the\n Amazon Resource Name (ARN) of a table in the input, you'll see the table ARN in the response.
" + "smithy.api#enumValue": "RequestLimitExceeded" } }, - "CapacityUnits": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", + "ValidationError": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The total number of capacity units consumed by the operation.
" + "smithy.api#enumValue": "ValidationError" } }, - "ReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", - "traits": { - "smithy.api#documentation": "The total number of read capacity units consumed by the operation.
" - } - }, - "WriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", - "traits": { - "smithy.api#documentation": "The total number of write capacity units consumed by the operation.
" - } - }, - "Table": { - "target": "com.amazonaws.dynamodb#Capacity", - "traits": { - "smithy.api#documentation": "The amount of throughput consumed on the table affected by the operation.
" - } - }, - "LocalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#SecondaryIndexesCapacityMap", - "traits": { - "smithy.api#documentation": "The amount of throughput consumed on each local index affected by the\n operation.
" - } - }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#SecondaryIndexesCapacityMap", - "traits": { - "smithy.api#documentation": "The amount of throughput consumed on each global index affected by the\n operation.
" - } - } - }, - "traits": { - "smithy.api#documentation": "The capacity units consumed by an operation. The data returned includes the total\n provisioned throughput consumed, along with statistics for the table and any indexes\n involved in the operation. ConsumedCapacity is only returned if the request\n asked for it. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer\n Guide.
\n ContinuousBackupsStatus can be one of the following states: ENABLED,\n DISABLED
The description of the point in time recovery settings applied to the table.
" - } - } - }, - "traits": { - "smithy.api#documentation": "Represents the continuous backups and point in time recovery settings on the\n table.
" - } - }, - "com.amazonaws.dynamodb#ContinuousBackupsStatus": { - "type": "enum", - "members": { - "ENABLED": { + "TransactionConflict": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#enumValue": "TransactionConflict" } }, - "DISABLED": { + "ThrottlingError": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#enumValue": "ThrottlingError" } - } - } - }, - "com.amazonaws.dynamodb#ContinuousBackupsUnavailableException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "Backups have not yet been enabled for this table.
", - "smithy.api#error": "client" - } - }, - "com.amazonaws.dynamodb#ContributorInsightsAction": { - "type": "enum", - "members": { - "ENABLE": { + }, + "InternalServerError": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ENABLE" + "smithy.api#enumValue": "InternalServerError" } }, - "DISABLE": { + "ResourceNotFound": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DISABLE" + "smithy.api#enumValue": "ResourceNotFound" } - } - } - }, - "com.amazonaws.dynamodb#ContributorInsightsMode": { - "type": "enum", - "members": { - "ACCESSED_AND_THROTTLED_KEYS": { + }, + "AccessDenied": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ACCESSED_AND_THROTTLED_KEYS" + "smithy.api#enumValue": "AccessDenied" } }, - "THROTTLED_KEYS": { + "DuplicateItem": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "THROTTLED_KEYS" + "smithy.api#enumValue": "DuplicateItem" } } } }, - "com.amazonaws.dynamodb#ContributorInsightsRule": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9\\-\\_\\.]{0,126}[A-Za-z0-9]$" - } - }, - "com.amazonaws.dynamodb#ContributorInsightsRuleList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ContributorInsightsRule" - } - }, - "com.amazonaws.dynamodb#ContributorInsightsStatus": { - "type": "enum", + "com.amazonaws.dynamodb#BatchStatementRequest": { + "type": "structure", "members": { - "ENABLING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ENABLING" - } - }, - "ENABLED": { - "target": "smithy.api#Unit", + "Statement": { + "target": "com.amazonaws.dynamodb#PartiQLStatement", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#documentation": "A valid PartiQL statement.
", + "smithy.api#required": {} } }, - "DISABLING": { - "target": "smithy.api#Unit", + "Parameters": { + "target": "com.amazonaws.dynamodb#PreparedStatementParameters", "traits": { - "smithy.api#enumValue": "DISABLING" + "smithy.api#documentation": "The parameters associated with a PartiQL statement in the batch request.
" } }, - "DISABLED": { - "target": "smithy.api#Unit", + "ConsistentRead": { + "target": "com.amazonaws.dynamodb#ConsistentRead", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#documentation": "The read consistency of the PartiQL batch request.
" } }, - "FAILED": { - "target": "smithy.api#Unit", + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", "traits": { - "smithy.api#enumValue": "FAILED" + "smithy.api#documentation": "An optional parameter that returns the item attributes for a PartiQL batch request\n operation that failed a condition check.
\nThere is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" } } + }, + "traits": { + "smithy.api#documentation": "A PartiQL batch statement request.
" } }, - "com.amazonaws.dynamodb#ContributorInsightsSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ContributorInsightsSummary" - } - }, - "com.amazonaws.dynamodb#ContributorInsightsSummary": { + "com.amazonaws.dynamodb#BatchStatementResponse": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableName", - "traits": { - "smithy.api#documentation": "Name of the table associated with the summary.
" - } - }, - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", + "Error": { + "target": "com.amazonaws.dynamodb#BatchStatementError", "traits": { - "smithy.api#documentation": "Name of the index associated with the summary, if any.
" + "smithy.api#documentation": "The error associated with a failed PartiQL batch statement.
" } }, - "ContributorInsightsStatus": { - "target": "com.amazonaws.dynamodb#ContributorInsightsStatus", + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "Describes the current status for contributor insights for the given table and index,\n if applicable.
" + "smithy.api#documentation": "The table name associated with a failed PartiQL batch statement.
" } }, - "ContributorInsightsMode": { - "target": "com.amazonaws.dynamodb#ContributorInsightsMode", + "Item": { + "target": "com.amazonaws.dynamodb#AttributeMap", "traits": { - "smithy.api#documentation": "Indicates the current mode of CloudWatch Contributor Insights, specifying whether it\n tracks all access and throttled events or throttled events only for the DynamoDB\n table or index.
" + "smithy.api#documentation": "A DynamoDB item associated with a BatchStatementResponse
" } } }, "traits": { - "smithy.api#documentation": "Represents a Contributor Insights summary entry.
" + "smithy.api#documentation": "A PartiQL batch statement response..
" } }, - "com.amazonaws.dynamodb#CreateBackup": { + "com.amazonaws.dynamodb#BatchWriteItem": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#CreateBackupInput" + "target": "com.amazonaws.dynamodb#BatchWriteItemInput" }, "output": { - "target": "com.amazonaws.dynamodb#CreateBackupOutput" + "target": "com.amazonaws.dynamodb#BatchWriteItemOutput" }, "errors": [ { - "target": "com.amazonaws.dynamodb#BackupInUseException" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#ContinuousBackupsUnavailableException" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#InternalServerError" + "target": "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException" }, { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" }, { - "target": "com.amazonaws.dynamodb#LimitExceededException" + "target": "com.amazonaws.dynamodb#ReplicatedWriteConflictException" }, { - "target": "com.amazonaws.dynamodb#TableInUseException" + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" }, { - "target": "com.amazonaws.dynamodb#TableNotFoundException" + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#ThrottlingException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Creates a backup for an existing table.
\nEach time you create an on-demand backup, the entire table data is backed up. There\n is no limit to the number of on-demand backups that can be taken.
\nWhen you create an on-demand backup, a time marker of the request is cataloged, and\n the backup is created asynchronously, by applying all changes until the time of the\n request to the last full table snapshot. Backup requests are processed instantaneously\n and become available for restore within minutes.
\nYou can call CreateBackup at a maximum rate of 50 times per\n second.
All backups in DynamoDB work without consuming any provisioned throughput on the\n table.
\nIf you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to\n contain all data committed to the table up to 14:24:00, and data committed after\n 14:26:00 will not be. The backup might contain data modifications made between 14:24:00\n and 14:26:00. On-demand backup does not support causal consistency.
\nAlong with data, the following are also included on the backups:
\nGlobal secondary indexes (GSIs)
\nLocal secondary indexes (LSIs)
\nStreams
\nProvisioned read and write capacity
\nThe name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } - } - }, - "BackupName": { - "target": "com.amazonaws.dynamodb#BackupName", - "traits": { - "smithy.api#documentation": "Specified name for the backup.
", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.dynamodb#CreateBackupOutput": { - "type": "structure", - "members": { - "BackupDetails": { - "target": "com.amazonaws.dynamodb#BackupDetails", - "traits": { - "smithy.api#documentation": "Contains the details of the backup created for the table.
" + "smithy.api#documentation": "The BatchWriteItem operation puts or deletes multiple items in one or\n more tables. A single call to BatchWriteItem can transmit up to 16MB of\n data over the network, consisting of up to 25 item put or delete operations. While\n individual items can be up to 400 KB once stored, it's important to note that an item's\n representation might be greater than 400KB while being sent in DynamoDB's JSON format\n for the API call. For more details on this distinction, see Naming Rules and Data Types.
\n BatchWriteItem cannot update items. If you perform a\n BatchWriteItem operation on an existing item, that item's values\n will be overwritten by the operation and it will appear like it was updated. To\n update items, we recommend you use the UpdateItem action.
The individual PutItem and DeleteItem operations specified\n in BatchWriteItem are atomic; however BatchWriteItem as a\n whole is not. If any requested operations fail because the table's provisioned\n throughput is exceeded or an internal processing failure occurs, the failed operations\n are returned in the UnprocessedItems response parameter. You can\n investigate and optionally resend the requests. Typically, you would call\n BatchWriteItem in a loop. Each iteration would check for unprocessed\n items and submit a new BatchWriteItem request with those unprocessed items\n until all items have been processed.
For tables and indexes with provisioned capacity, if none of the items can be\n processed due to insufficient provisioned throughput on all of the tables in the\n request, then BatchWriteItem returns a\n ProvisionedThroughputExceededException. For all tables and indexes, if\n none of the items can be processed due to other throttling scenarios (such as exceeding\n partition level limits), then BatchWriteItem returns a\n ThrottlingException.
If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.
\nFor more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.
\nWith BatchWriteItem, you can efficiently write or delete large amounts of\n data, such as from Amazon EMR, or copy data from another database into DynamoDB. In\n order to improve performance with these large-scale operations,\n BatchWriteItem does not behave in the same way as individual\n PutItem and DeleteItem calls would. For example, you\n cannot specify conditions on individual put and delete requests, and\n BatchWriteItem does not return deleted items in the response.
If you use a programming language that supports concurrency, you can use threads to\n write items in parallel. Your application must include the necessary logic to manage the\n threads. With languages that don't support threading, you must update or delete the\n specified items one at a time. In both situations, BatchWriteItem performs\n the specified put and delete operations in parallel, giving you the power of the thread\n pool approach without having to introduce complexity into your application.
Parallel processing reduces latency, but each specified put and delete request\n consumes the same number of write capacity units whether it is processed in parallel or\n not. Delete operations on nonexistent items consume one write capacity unit.
\nIf one or more of the following is true, DynamoDB rejects the entire batch write\n operation:
\nOne or more tables specified in the BatchWriteItem request does\n not exist.
Primary key attributes specified on an item in the request do not match those\n in the corresponding table's primary key schema.
\nYou try to perform multiple operations on the same item in the same\n BatchWriteItem request. For example, you cannot put and delete\n the same item in the same BatchWriteItem request.
Your request contains at least two items with identical hash and range keys\n (which essentially is two put operations).
\nThere are more than 25 requests in the batch.
\nAny individual item in a batch exceeds 400 KB.
\nThe total request size exceeds 16 MB.
\nAny individual items with keys exceeding the key length limits. For a\n partition key, the limit is 2048 bytes and for a sort key, the limit is 1024\n bytes.
\nThe name of the global secondary index to be created.
", + "smithy.api#documentation": "A map of one or more table names or table ARNs and, for each table, a list of\n operations to be performed (DeleteRequest or PutRequest). Each\n element in the map consists of the following:
\n DeleteRequest - Perform a DeleteItem operation on the\n specified item. The item to be deleted is identified by a Key\n subelement:
\n Key - A map of primary key attribute values that uniquely\n identify the item. Each entry in this map consists of an attribute name\n and an attribute value. For each primary key, you must provide\n all of the key attributes. For example, with a\n simple primary key, you only need to provide a value for the partition\n key. For a composite primary key, you must provide values for\n both the partition key and the sort key.
\n PutRequest - Perform a PutItem operation on the\n specified item. The item to be put is identified by an Item\n subelement:
\n Item - A map of attributes and their values. Each entry in\n this map consists of an attribute name and an attribute value. Attribute\n values must not be null; string and binary type attributes must have\n lengths greater than zero; and set type attributes must not be empty.\n Requests that contain empty values are rejected with a\n ValidationException exception.
If you specify any attributes that are part of an index key, then the\n data types for those attributes must match those of the schema in the\n table's attribute definition.
\nThe key schema for the global secondary index.
", - "smithy.api#required": {} - } + "ReturnConsumedCapacity": { + "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" }, - "Projection": { - "target": "com.amazonaws.dynamodb#Projection", + "ReturnItemCollectionMetrics": { + "target": "com.amazonaws.dynamodb#ReturnItemCollectionMetrics", "traits": { - "smithy.api#documentation": "Represents attributes that are copied (projected) from the table into an index. These\n are in addition to the primary key attributes and index key attributes, which are\n automatically projected.
", - "smithy.api#required": {} + "smithy.api#documentation": "Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
Represents the input of a BatchWriteItem operation.
Represents the provisioned throughput settings for the specified global secondary\n index.
\nFor current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "A map of tables and requests against those tables that were not processed. The\n UnprocessedItems value is in the same form as\n RequestItems, so you can provide this value directly to a subsequent\n BatchWriteItem operation. For more information, see\n RequestItems in the Request Parameters section.
Each UnprocessedItems entry consists of a table name or table ARN\n and, for that table, a list of operations to perform (DeleteRequest or\n PutRequest).
\n DeleteRequest - Perform a DeleteItem operation on the\n specified item. The item to be deleted is identified by a Key\n subelement:
\n Key - A map of primary key attribute values that uniquely\n identify the item. Each entry in this map consists of an attribute name\n and an attribute value.
\n PutRequest - Perform a PutItem operation on the\n specified item. The item to be put is identified by an Item\n subelement:
\n Item - A map of attributes and their values. Each entry in\n this map consists of an attribute name and an attribute value. Attribute\n values must not be null; string and binary type attributes must have\n lengths greater than zero; and set type attributes must not be empty.\n Requests that contain empty values will be rejected with a\n ValidationException exception.
If you specify any attributes that are part of an index key, then the\n data types for those attributes must match those of the schema in the\n table's attribute definition.
\nIf there are no unprocessed items remaining, the response contains an empty\n UnprocessedItems map.
The maximum number of read and write units for the global secondary index being\n created. If you use this parameter, you must specify MaxReadRequestUnits,\n MaxWriteRequestUnits, or both. You must use either OnDemand\n Throughput or ProvisionedThroughput based on your table's\n capacity mode.
A list of tables that were processed by BatchWriteItem and, for each\n table, information about any item collections that were affected by individual\n DeleteItem or PutItem operations.
Each entry consists of the following subelements:
\n\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item.
\n SizeEstimateRangeGB - An estimate of item collection size,\n expressed in GB. This is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on the table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nRepresents the warm throughput value (in read units per second and write units per\n second) when creating a secondary index.
" + "smithy.api#documentation": "The capacity units consumed by the entire BatchWriteItem\n operation.
Each element consists of:
\n\n TableName - The table that consumed the provisioned\n throughput.
\n CapacityUnits - The total number of capacity units consumed.
Represents a new global secondary index to be added to an existing table.
" + "smithy.api#documentation": "Represents the output of a BatchWriteItem operation.
Creates a global table from an existing table. A global table creates a replication\n relationship between two or more DynamoDB tables with the same table name in the\n provided Regions.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nIf you want to add a new replica table to a global table, each of the following\n conditions must be true:
\nThe table must have the same primary key as all of the other replicas.
\nThe table must have the same name as all of the other replicas.
\nThe table must have DynamoDB Streams enabled, with the stream containing both\n the new and the old images of the item.
\nNone of the replica tables in the global table can contain any data.
\nIf global secondary indexes are specified, then the following conditions must also be\n met:
\nThe global secondary indexes must have the same name.
\nThe global secondary indexes must have the same hash key and sort key (if\n present).
\nIf local secondary indexes are specified, then the following conditions must also be\n met:
\nThe local secondary indexes must have the same name.
\nThe local secondary indexes must have the same hash key and sort key (if\n present).
\nWrite capacity settings should be set consistently across your replica tables and\n secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the\n write capacity settings for all of your global tables replicas and indexes.
\nIf you prefer to manage write capacity settings manually, you should provision\n equal replicated write capacity units to your replica tables. You should also\n provision equal replicated write capacity units to matching secondary indexes across\n your global table.
\nThe global table name.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#enumValue": "PROVISIONED" } }, - "ReplicationGroup": { - "target": "com.amazonaws.dynamodb#ReplicaList", + "PAY_PER_REQUEST": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The Regions where the global table needs to be created.
", - "smithy.api#required": {} + "smithy.api#enumValue": "PAY_PER_REQUEST" } } - }, - "traits": { - "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#CreateGlobalTableOutput": { + "com.amazonaws.dynamodb#BillingModeSummary": { "type": "structure", "members": { - "GlobalTableDescription": { - "target": "com.amazonaws.dynamodb#GlobalTableDescription", + "BillingMode": { + "target": "com.amazonaws.dynamodb#BillingMode", "traits": { - "smithy.api#documentation": "Contains the details of the global table.
" + "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. This setting can be changed later.
\n\n PROVISIONED - Sets the read/write capacity mode to\n PROVISIONED. We recommend using PROVISIONED for\n predictable workloads.
\n PAY_PER_REQUEST - Sets the read/write capacity mode to\n PAY_PER_REQUEST. We recommend using\n PAY_PER_REQUEST for unpredictable workloads.
The Amazon Web Services Region name to be added as a witness Region for the MRSC global\n table. The witness must be in a different Region than the replicas and within the same\n Region set:
\nUS Region set: US East (N. Virginia), US East (Ohio), US West (Oregon)
\nEU Region set: Europe (Ireland), Europe (London), Europe (Paris), Europe\n (Frankfurt)
\nAP Region set: Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific\n (Osaka)
\nRepresents the time when PAY_PER_REQUEST was last set as the read/write\n capacity mode.
Specifies the action to add a new witness Region to a MRSC global table. A MRSC global\n table can be configured with either three replicas, or with two replicas and one\n witness.
" + "smithy.api#documentation": "Contains the details for the read/write capacity mode. This page talks about\n PROVISIONED and PAY_PER_REQUEST billing modes. For more\n information about these modes, see Read/write capacity mode.
You may need to switch to on-demand mode at least once in order to return a\n BillingModeSummary response.
The Region of the replica to be added.
", - "smithy.api#required": {} + "smithy.api#documentation": "Item in the request which caused the transaction to get cancelled.
" + } + }, + "Code": { + "target": "com.amazonaws.dynamodb#Code", + "traits": { + "smithy.api#documentation": "Status code for the result of the cancelled transaction.
" + } + }, + "Message": { + "target": "com.amazonaws.dynamodb#ErrorMessage", + "traits": { + "smithy.api#documentation": "Cancellation reason message description.
" } } }, "traits": { - "smithy.api#documentation": "Represents a replica to be added.
" + "smithy.api#documentation": "An ordered list of errors for each item in the request which caused the transaction to\n get cancelled. The values of the list are ordered according to the ordering of the\n TransactWriteItems request parameter. If no error occurred for the\n associated item an error with a Null code and Null message will be present.
The Region where the new replica will be created.
", - "smithy.api#required": {} - } - }, - "KMSMasterKeyId": { - "target": "com.amazonaws.dynamodb#KMSMasterKeyId", - "traits": { - "smithy.api#documentation": "The KMS key that should be used for KMS encryption in\n the new replica. To specify a key, use its key ID, Amazon Resource Name (ARN), alias\n name, or alias ARN. Note that you should only provide this parameter if the key is\n different from the default DynamoDB KMS key\n alias/aws/dynamodb.
Replica-specific provisioned throughput. If not specified, uses the source table's\n provisioned throughput settings.
" - } - }, - "OnDemandThroughputOverride": { - "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "ReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", "traits": { - "smithy.api#documentation": "The maximum on-demand throughput settings for the specified replica table being\n created. You can only modify MaxReadRequestUnits, because you can't modify\n MaxWriteRequestUnits for individual replica tables.
The total number of read capacity units consumed on a table or an index.
" } }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexList", + "WriteCapacityUnits": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", "traits": { - "smithy.api#documentation": "Replica-specific global secondary index settings.
" + "smithy.api#documentation": "The total number of write capacity units consumed on a table or an index.
" } }, - "TableClassOverride": { - "target": "com.amazonaws.dynamodb#TableClass", + "CapacityUnits": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", "traits": { - "smithy.api#documentation": "Replica-specific table class. If not specified, uses the source table's table\n class.
" + "smithy.api#documentation": "The total number of capacity units consumed on a table or an index.
" } } }, "traits": { - "smithy.api#documentation": "Represents a replica to be created.
" + "smithy.api#documentation": "Represents the amount of provisioned throughput capacity consumed on a table or an\n index.
" } }, - "com.amazonaws.dynamodb#CreateTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#CreateTableInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#CreateTableOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#LimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceInUseException" + "com.amazonaws.dynamodb#ClientRequestToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 36 } - ], + } + }, + "com.amazonaws.dynamodb#ClientToken": { + "type": "string", "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "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\n have two tables with same name if you create the tables in different Regions.
\n CreateTable is an asynchronous operation. Upon receiving a\n CreateTable request, DynamoDB immediately returns a response with a\n TableStatus of CREATING. After the table is created,\n DynamoDB sets the TableStatus to ACTIVE. You can perform read\n and write operations only on an ACTIVE table.
You can optionally define secondary indexes on the new table, as part of the\n CreateTable operation. If you want to create multiple tables with\n secondary indexes on them, you must create the tables sequentially. Only one table with\n secondary indexes can be in the CREATING state at any given time.
You can use the DescribeTable action to check the table status.
An array of attributes that describe the key schema for the table and indexes.
", - "smithy.api#required": {} + "smithy.api#enumValue": "EQ" } }, - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "NE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The name of the table to create. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#enumValue": "NE" } }, - "KeySchema": { - "target": "com.amazonaws.dynamodb#KeySchema", + "IN": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Specifies the attributes that make up the primary key for a table or an index. The\n attributes in KeySchema must also be defined in the\n AttributeDefinitions array. For more information, see Data\n Model in the Amazon DynamoDB Developer Guide.
Each KeySchemaElement in the array is composed of:
\n AttributeName - The name of this key attribute.
\n KeyType - The role that the key attribute will assume:
\n HASH - partition key
\n RANGE - sort key
The partition key of an item is also known as its hash\n attribute. The term \"hash attribute\" derives from the DynamoDB usage\n of an internal hash function to evenly distribute data items across partitions,\n based on their partition key values.
\nThe sort key of an item is also known as its range attribute.\n The term \"range attribute\" derives from the way DynamoDB stores items with the same\n partition key physically close together, in sorted order by the sort key\n value.
\nFor a simple primary key (partition key), you must provide exactly one element with a\n KeyType of HASH.
For a composite primary key (partition key and sort key), you must provide exactly two\n elements, in this order: The first element must have a KeyType of\n HASH, and the second element must have a KeyType of\n RANGE.
For more information, see Working with Tables in the Amazon DynamoDB Developer\n Guide.
", - "smithy.api#required": {} + "smithy.api#enumValue": "IN" } }, - "LocalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#LocalSecondaryIndexList", + "LE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "One or more local secondary indexes (the maximum is 5) to be created on the table.\n Each index is scoped to a given partition key value. There is a 10 GB size limit per\n partition key value; otherwise, the size of a local secondary index is\n unconstrained.
\nEach local secondary index in the array includes the following:
\n\n IndexName - The name of the local secondary index. Must be unique\n only for this table.
\n KeySchema - Specifies the key schema for the local secondary index.\n The key schema must begin with the same partition key as the table.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - Only the specified table attributes are\n projected into the index. The list of projected attributes is in\n NonKeyAttributes.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
One or more global secondary indexes (the maximum is 20) to be created on the table.\n Each global secondary index in the array includes the following:
\n\n IndexName - The name of the global secondary index. Must be unique\n only for this table.
\n KeySchema - Specifies the key schema for the global secondary\n index.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - Only the specified table attributes are\n projected into the index. The list of projected attributes is in\n NonKeyAttributes.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
\n ProvisionedThroughput - The provisioned throughput settings for the\n global secondary index, consisting of read and write capacity units.
Controls how you are charged for read and write throughput and how you manage\n capacity. This setting can be changed later.
\n\n PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST\n for most DynamoDB workloads. PAY_PER_REQUEST sets the billing mode\n to On-demand capacity mode.
\n PROVISIONED - We recommend using PROVISIONED for\n steady workloads with predictable growth where capacity requirements can be\n reliably forecasted. PROVISIONED sets the billing mode to Provisioned capacity mode.
Represents the provisioned throughput settings for a specified table or index. The\n settings can be modified using the UpdateTable operation.
If you set BillingMode as PROVISIONED, you must specify this property.\n If you set BillingMode as PAY_PER_REQUEST, you cannot specify this\n property.
For current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#enumValue": "GT" } }, - "StreamSpecification": { - "target": "com.amazonaws.dynamodb#StreamSpecification", + "BETWEEN": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The settings for DynamoDB Streams on the table. These settings consist of:
\n\n StreamEnabled - Indicates whether DynamoDB Streams is to be enabled\n (true) or disabled (false).
\n StreamViewType - When an item in the table is modified,\n StreamViewType determines what information is written to the\n table's stream. Valid values for StreamViewType are:
\n KEYS_ONLY - Only the key attributes of the modified item\n are written to the stream.
\n NEW_IMAGE - The entire item, as it appears after it was\n modified, is written to the stream.
\n OLD_IMAGE - The entire item, as it appeared before it was\n modified, is written to the stream.
\n NEW_AND_OLD_IMAGES - Both the new and the old item images\n of the item are written to the stream.
Represents the settings used to enable server-side encryption.
" + "smithy.api#enumValue": "NOT_NULL" } }, - "Tags": { - "target": "com.amazonaws.dynamodb#TagList", + "NULL": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "A list of key-value pairs to label the table. For more information, see Tagging\n for DynamoDB.
" + "smithy.api#enumValue": "NULL" } }, - "TableClass": { - "target": "com.amazonaws.dynamodb#TableClass", + "CONTAINS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The table class of the new table. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.
Indicates whether deletion protection is to be enabled (true) or disabled (false) on\n the table.
" + "smithy.api#enumValue": "NOT_CONTAINS" } }, - "WarmThroughput": { - "target": "com.amazonaws.dynamodb#WarmThroughput", + "BEGINS_WITH": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Represents the warm throughput (in read units per second and write units per second)\n for creating a table.
" + "smithy.api#enumValue": "BEGINS_WITH" } - }, - "ResourcePolicy": { - "target": "com.amazonaws.dynamodb#ResourcePolicy", + } + } + }, + "com.amazonaws.dynamodb#Condition": { + "type": "structure", + "members": { + "AttributeValueList": { + "target": "com.amazonaws.dynamodb#AttributeValueList", "traits": { - "smithy.api#documentation": "An Amazon Web Services resource-based policy document in JSON format that will be\n attached to the table.
\nWhen you attach a resource-based policy while creating a table, the policy application\n is strongly consistent.
\nThe maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this\n limit. For a full list of all considerations that apply for resource-based policies, see\n Resource-based\n policy considerations.
\nYou need to specify the CreateTable and\n PutResourcePolicy\n IAM actions for authorizing a user to create a table with a\n resource-based policy.
One or more values to evaluate against the supplied attribute. The number of values in\n the list depends on the ComparisonOperator being used.
For type Number, value comparisons are numeric.
\nString value comparisons for greater than, equals, or less than are based on ASCII\n character code values. For example, a is greater than A, and\n a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it\n compares binary values.
" } }, - "OnDemandThroughput": { - "target": "com.amazonaws.dynamodb#OnDemandThroughput", + "ComparisonOperator": { + "target": "com.amazonaws.dynamodb#ComparisonOperator", "traits": { - "smithy.api#documentation": "Sets the maximum number of read and write units for the specified table in on-demand\n capacity mode. If you use this parameter, you must specify\n MaxReadRequestUnits, MaxWriteRequestUnits, or both.
A comparator for evaluating attributes. For example, equals, greater than, less than,\n etc.
\nThe following comparison operators are available:
\n\n EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |\n BEGINS_WITH | IN | BETWEEN\n
The following are descriptions of each comparison operator.
\n\n EQ : Equal. EQ is supported for all data types,\n including lists and maps.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, Binary, String Set, Number Set, or Binary Set.\n If an item contains an AttributeValue element of a different type\n than the one provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\",\n \"1\"]}.
\n NE : Not equal. NE is supported for all data types,\n including lists and maps.
\n AttributeValueList can contain only one AttributeValue\n of type String, Number, Binary, String Set, Number Set, or Binary Set. If an\n item contains an AttributeValue of a different type than the one\n provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\",\n \"1\"]}.
\n LE : Less than or equal.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If an item contains\n an AttributeValue element of a different type than the one provided\n in the request, the value does not match. For example, {\"S\":\"6\"}\n does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not\n compare to {\"NS\":[\"6\", \"2\", \"1\"]}.
\n LT : Less than.
\n AttributeValueList can contain only one AttributeValue\n of type String, Number, or Binary (not a set type). If an item contains an\n AttributeValue element of a different type than the one\n provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\",\n \"1\"]}.
\n GE : Greater than or equal.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If an item contains\n an AttributeValue element of a different type than the one provided\n in the request, the value does not match. For example, {\"S\":\"6\"}\n does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not\n compare to {\"NS\":[\"6\", \"2\", \"1\"]}.
\n GT : Greater than.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If an item contains\n an AttributeValue element of a different type than the one provided\n in the request, the value does not match. For example, {\"S\":\"6\"}\n does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not\n compare to {\"NS\":[\"6\", \"2\", \"1\"]}.
\n NOT_NULL : The attribute exists. NOT_NULL is supported\n for all data types, including lists and maps.
This operator tests for the existence of an attribute, not its data type.\n If the data type of attribute \"a\" is null, and you evaluate it\n using NOT_NULL, the result is a Boolean true. This\n result is because the attribute \"a\" exists; its data type is\n not relevant to the NOT_NULL comparison operator.
\n NULL : The attribute does not exist. NULL is supported\n for all data types, including lists and maps.
This operator tests for the nonexistence of an attribute, not its data\n type. If the data type of attribute \"a\" is null, and you\n evaluate it using NULL, the result is a Boolean\n false. This is because the attribute \"a\"\n exists; its data type is not relevant to the NULL comparison\n operator.
\n CONTAINS : Checks for a subsequence, or value in a set.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If the target\n attribute of the comparison is of type String, then the operator checks for a\n substring match. If the target attribute of the comparison is of type Binary,\n then the operator looks for a subsequence of the target that matches the input.\n If the target attribute of the comparison is a set (\"SS\",\n \"NS\", or \"BS\"), then the operator evaluates to\n true if it finds an exact match with any member of the set.
CONTAINS is supported for lists: When evaluating \"a CONTAINS b\",\n \"a\" can be a list; however, \"b\" cannot be a set, a\n map, or a list.
\n NOT_CONTAINS : Checks for absence of a subsequence, or absence of a\n value in a set.
\n AttributeValueList can contain only one AttributeValue\n element of type String, Number, or Binary (not a set type). If the target\n attribute of the comparison is a String, then the operator checks for the\n absence of a substring match. If the target attribute of the comparison is\n Binary, then the operator checks for the absence of a subsequence of the target\n that matches the input. If the target attribute of the comparison is a set\n (\"SS\", \"NS\", or \"BS\"), then the\n operator evaluates to true if it does not find an exact\n match with any member of the set.
NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS\n b\", \"a\" can be a list; however, \"b\" cannot\n be a set, a map, or a list.
\n BEGINS_WITH : Checks for a prefix.
\n AttributeValueList can contain only one AttributeValue\n of type String or Binary (not a Number or a set type). The target attribute of\n the comparison must be of type String or Binary (not a Number or a set\n type).
\n IN : Checks for matching elements in a list.
\n AttributeValueList can contain one or more\n AttributeValue elements of type String, Number, or Binary.\n These attributes are compared against an existing attribute of an item. If any\n elements of the input are equal to the item attribute, the expression evaluates\n to true.
\n BETWEEN : Greater than or equal to the first value, and less than\n or equal to the second value.
\n AttributeValueList must contain two AttributeValue\n elements of the same type, either String, Number, or Binary (not a set type). A\n target attribute matches if the target value is greater than, or equal to, the\n first element and less than, or equal to, the second element. If an item\n contains an AttributeValue element of a different type than the one\n provided in the request, the value does not match. For example,\n {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also,\n {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\",\n \"1\"]}\n
For usage examples of AttributeValueList and\n ComparisonOperator, see Legacy\n Conditional Parameters in the Amazon DynamoDB Developer\n Guide.
Represents the input of a CreateTable operation.
Represents the selection criteria for a Query or Scan\n operation:
For a Query operation, Condition is used for\n specifying the KeyConditions to use when querying a table or an\n index. For KeyConditions, only the following comparison operators\n are supported:
\n EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN\n
\n Condition is also used in a QueryFilter, which\n evaluates the query results and returns only the desired values.
For a Scan operation, Condition is used in a\n ScanFilter, which evaluates the scan results and returns only\n the desired values.
Represents the properties of the table.
" + "smithy.api#documentation": "The primary key of the item to be checked. Each element consists of an attribute name\n and a value for that attribute.
", + "smithy.api#required": {} + } + }, + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", + "traits": { + "smithy.api#documentation": "Name of the table for the check item request. You can also provide the Amazon Resource Name (ARN) of\n the table in this parameter.
", + "smithy.api#required": {} + } + }, + "ConditionExpression": { + "target": "com.amazonaws.dynamodb#ConditionExpression", + "traits": { + "smithy.api#documentation": "A condition that must be satisfied in order for a conditional update to succeed. For\n more information, see Condition expressions in the Amazon DynamoDB Developer\n Guide.
", + "smithy.api#required": {} + } + }, + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "traits": { + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. For more\n information, see Expression attribute names in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "traits": { + "smithy.api#documentation": "One or more values that can be substituted in an expression. For more information, see\n Condition expressions in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "traits": { + "smithy.api#documentation": "Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n ConditionCheck condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
Represents the output of a CreateTable operation.
Represents a request to perform a check that an item exists or to check the condition\n of specific attributes of the item.
" } }, - "com.amazonaws.dynamodb#CsvDelimiter": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - }, - "smithy.api#pattern": "^[,;:|\\t ]$" - } + "com.amazonaws.dynamodb#ConditionExpression": { + "type": "string" }, - "com.amazonaws.dynamodb#CsvHeader": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 65536 + "com.amazonaws.dynamodb#ConditionalCheckFailedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage", + "traits": { + "smithy.api#documentation": "The conditional request failed.
" + } }, - "smithy.api#pattern": "^[\\x20-\\x21\\x23-\\x2B\\x2D-\\x7E]*$" - } - }, - "com.amazonaws.dynamodb#CsvHeaderList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#CsvHeader" + "Item": { + "target": "com.amazonaws.dynamodb#AttributeMap", + "traits": { + "smithy.api#documentation": "Item which caused the ConditionalCheckFailedException.
A condition specified in the operation failed to be evaluated.
", + "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#CsvOptions": { - "type": "structure", + "com.amazonaws.dynamodb#ConditionalOperator": { + "type": "enum", "members": { - "Delimiter": { - "target": "com.amazonaws.dynamodb#CsvDelimiter", + "AND": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The delimiter used for separating items in the CSV file being imported.
" + "smithy.api#enumValue": "AND" } }, - "HeaderList": { - "target": "com.amazonaws.dynamodb#CsvHeaderList", + "OR": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "List of the headers used to specify a common header for all source CSV files being\n imported. If this field is specified then the first line of each CSV file is treated as\n data instead of the header. If this field is not specified the the first line of each\n CSV file is treated as the header.
" + "smithy.api#enumValue": "OR" } } - }, + } + }, + "com.amazonaws.dynamodb#ConfirmRemoveSelfResourceAccess": { + "type": "boolean", "traits": { - "smithy.api#documentation": "Processing options for the CSV file being imported.
" + "smithy.api#default": false } }, - "com.amazonaws.dynamodb#Date": { - "type": "timestamp" + "com.amazonaws.dynamodb#ConsistentRead": { + "type": "boolean" }, - "com.amazonaws.dynamodb#Delete": { + "com.amazonaws.dynamodb#ConsumedCapacity": { "type": "structure", "members": { - "Key": { - "target": "com.amazonaws.dynamodb#Key", + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "The primary key of the item to be deleted. Each element consists of an attribute name\n and a value for that attribute.
", - "smithy.api#required": {} + "smithy.api#documentation": "The name of the table that was affected by the operation. If you had specified the\n Amazon Resource Name (ARN) of a table in the input, you'll see the table ARN in the response.
" } }, - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "CapacityUnits": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", "traits": { - "smithy.api#documentation": "Name of the table in which the item to be deleted resides. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", - "smithy.api#required": {} + "smithy.api#documentation": "The total number of capacity units consumed by the operation.
" } }, - "ConditionExpression": { - "target": "com.amazonaws.dynamodb#ConditionExpression", + "ReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", "traits": { - "smithy.api#documentation": "A condition that must be satisfied in order for a conditional delete to\n succeed.
" + "smithy.api#documentation": "The total number of read capacity units consumed by the operation.
" } }, - "ExpressionAttributeNames": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "WriteCapacityUnits": { + "target": "com.amazonaws.dynamodb#ConsumedCapacityUnits", "traits": { - "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression.
" + "smithy.api#documentation": "The total number of write capacity units consumed by the operation.
" } }, - "ExpressionAttributeValues": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "Table": { + "target": "com.amazonaws.dynamodb#Capacity", "traits": { - "smithy.api#documentation": "One or more values that can be substituted in an expression.
" + "smithy.api#documentation": "The amount of throughput consumed on the table affected by the operation.
" } }, - "ReturnValuesOnConditionCheckFailure": { - "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "LocalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#SecondaryIndexesCapacityMap", "traits": { - "smithy.api#documentation": "Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n Delete condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
The amount of throughput consumed on each local index affected by the\n operation.
" + } + }, + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#SecondaryIndexesCapacityMap", + "traits": { + "smithy.api#documentation": "The amount of throughput consumed on each global index affected by the\n operation.
" } } }, "traits": { - "smithy.api#documentation": "Represents a request to perform a DeleteItem operation.
The capacity units consumed by an operation. The data returned includes the total\n provisioned throughput consumed, along with statistics for the table and any indexes\n involved in the operation. ConsumedCapacity is only returned if the request\n asked for it. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer\n Guide.
Deletes an existing backup of a table.
\nYou can call DeleteBackup at a maximum rate of 10 times per\n second.
The ARN associated with the backup.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "\n ContinuousBackupsStatus can be one of the following states: ENABLED,\n DISABLED
The description of the point in time recovery settings applied to the table.
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "Represents the continuous backups and point in time recovery settings on the\n table.
" } }, - "com.amazonaws.dynamodb#DeleteBackupOutput": { - "type": "structure", + "com.amazonaws.dynamodb#ContinuousBackupsStatus": { + "type": "enum", "members": { - "BackupDescription": { - "target": "com.amazonaws.dynamodb#BackupDescription", + "ENABLED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Contains the description of the backup created for the table.
" + "smithy.api#enumValue": "ENABLED" } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.dynamodb#ContinuousBackupsUnavailableException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Backups have not yet been enabled for this table.
", + "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#DeleteGlobalSecondaryIndexAction": { - "type": "structure", + "com.amazonaws.dynamodb#ContributorInsightsAction": { + "type": "enum", "members": { - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", + "ENABLE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The name of the global secondary index to be deleted.
", - "smithy.api#required": {} + "smithy.api#enumValue": "ENABLE" + } + }, + "DISABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLE" } } - }, - "traits": { - "smithy.api#documentation": "Represents a global secondary index to be deleted from an existing table.
" } }, - "com.amazonaws.dynamodb#DeleteGlobalTableWitnessGroupMemberAction": { - "type": "structure", + "com.amazonaws.dynamodb#ContributorInsightsMode": { + "type": "enum", "members": { - "RegionName": { - "target": "com.amazonaws.dynamodb#RegionName", + "ACCESSED_AND_THROTTLED_KEYS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The witness Region name to be removed from the MRSC global table.
", - "smithy.api#required": {} + "smithy.api#enumValue": "ACCESSED_AND_THROTTLED_KEYS" + } + }, + "THROTTLED_KEYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "THROTTLED_KEYS" } } - }, + } + }, + "com.amazonaws.dynamodb#ContributorInsightsRule": { + "type": "string", "traits": { - "smithy.api#documentation": "Specifies the action to remove a witness Region from a MRSC global table. You cannot\n delete a single witness from a MRSC global table - you must delete both a replica and\n the witness together. The deletion of both a witness and replica converts the remaining\n replica to a single-Region DynamoDB table.
" + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9\\-\\_\\.]{0,126}[A-Za-z0-9]$" } }, - "com.amazonaws.dynamodb#DeleteItem": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#DeleteItemInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#DeleteItemOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#ConditionalCheckFailedException" - }, - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ReplicatedWriteConflictException" - }, - { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" - }, - { - "target": "com.amazonaws.dynamodb#TransactionConflictException" - } - ], - "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "Deletes a single item in a table by primary key. You can perform a conditional delete\n operation that deletes the item if it exists, or if it has an expected attribute\n value.
\nIn addition to deleting an item, you can also return the item's attribute values in\n the same operation, using the ReturnValues parameter.
Unless you specify conditions, the DeleteItem is an idempotent operation;\n running it multiple times on the same item or attribute does not\n result in an error response.
Conditional deletes are useful for deleting items only if specific conditions are met.\n If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not\n deleted.
", - "smithy.api#examples": [ - { - "title": "To delete an item", - "documentation": "This example deletes an item from the Music table.", - "input": { - "TableName": "Music", - "Key": { - "Artist": { - "S": "No One You Know" - }, - "SongTitle": { - "S": "Scared of My Shadow" - } - } - }, - "output": { - "ConsumedCapacity": { - "CapacityUnits": 1, - "TableName": "Music" - } - } - } - ] + "com.amazonaws.dynamodb#ContributorInsightsRuleList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ContributorInsightsRule" } }, - "com.amazonaws.dynamodb#DeleteItemInput": { - "type": "structure", + "com.amazonaws.dynamodb#ContributorInsightsStatus": { + "type": "enum", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", - "traits": { - "smithy.api#documentation": "The name of the table from which to delete the item. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } - } - }, - "Key": { - "target": "com.amazonaws.dynamodb#Key", - "traits": { - "smithy.api#documentation": "A map of attribute names to AttributeValue objects, representing the\n primary key of the item to delete.
For the primary key, you must provide all of the key attributes. For example, with a\n simple primary key, you only need to provide a value for the partition key. For a\n composite primary key, you must provide values for both the partition key and the sort\n key.
", - "smithy.api#required": {} - } - }, - "Expected": { - "target": "com.amazonaws.dynamodb#ExpectedAttributeMap", - "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use ConditionExpression instead. For more\n information, see Expected in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
Use ReturnValues if you want to get the item attributes as they appeared\n before they were deleted. For DeleteItem, the valid values are:
\n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)
\n ALL_OLD - The content of the old item is returned.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
\nThe ReturnValues parameter is used by several DynamoDB operations;\n however, DeleteItem does not recognize any values other than\n NONE or ALL_OLD.
Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
A condition that must be satisfied in order for a conditional DeleteItem\n to succeed.
An expression can contain any of the following:
\nFunctions: attribute_exists | attribute_not_exists | attribute_type |\n contains | begins_with | size\n
These function names are case-sensitive.
\nComparison operators: = | <> |\n < | > | <= | >= |\n BETWEEN | IN \n
Logical operators: AND | OR | NOT\n
For more information about condition expressions, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#enumValue": "ENABLED" } }, - "ExpressionAttributeNames": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "DISABLING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide). To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#enumValue": "DISABLING" } }, - "ExpressionAttributeValues": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "DISABLED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#enumValue": "DISABLED" } }, - "ReturnValuesOnConditionCheckFailure": { - "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "FAILED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "An optional parameter that returns the item attributes for a DeleteItem\n operation that failed a condition check.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" + "smithy.api#enumValue": "FAILED" } } - }, - "traits": { - "smithy.api#documentation": "Represents the input of a DeleteItem operation.
A map of attribute names to AttributeValue objects, representing the item\n as it appeared before the DeleteItem operation. This map appears in the\n response only if ReturnValues was specified as ALL_OLD in the\n request.
Name of the table associated with the summary.
" } }, - "ConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ConsumedCapacity", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The capacity units consumed by the DeleteItem operation. The data\n returned includes the total provisioned throughput consumed, along with statistics for\n the table and any indexes involved in the operation. ConsumedCapacity is\n only returned if the ReturnConsumedCapacity parameter was specified. For\n more information, see Provisioned capacity mode in the Amazon DynamoDB Developer\n Guide.
Name of the index associated with the summary, if any.
" } }, - "ItemCollectionMetrics": { - "target": "com.amazonaws.dynamodb#ItemCollectionMetrics", - "traits": { - "smithy.api#documentation": "Information about item collections, if any, that were affected by the\n DeleteItem operation. ItemCollectionMetrics is only\n returned if the ReturnItemCollectionMetrics parameter was specified. If the\n table does not have any local secondary indexes, this information is not returned in the\n response.
Each ItemCollectionMetrics element consists of:
\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item itself.
\n SizeEstimateRangeGB - An estimate of item collection size, in\n gigabytes. This value is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on that table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nRepresents the output of a DeleteItem operation.
The Region of the replica to be removed.
", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "Represents a replica to be removed.
" - } - }, - "com.amazonaws.dynamodb#DeleteReplicationGroupMemberAction": { - "type": "structure", - "members": { - "RegionName": { - "target": "com.amazonaws.dynamodb#RegionName", + "ContributorInsightsStatus": { + "target": "com.amazonaws.dynamodb#ContributorInsightsStatus", "traits": { - "smithy.api#documentation": "The Region where the replica exists.
", - "smithy.api#required": {} + "smithy.api#documentation": "Describes the current status for contributor insights for the given table and index,\n if applicable.
" } - } - }, - "traits": { - "smithy.api#documentation": "Represents a replica to be deleted.
" - } - }, - "com.amazonaws.dynamodb#DeleteRequest": { - "type": "structure", - "members": { - "Key": { - "target": "com.amazonaws.dynamodb#Key", + }, + "ContributorInsightsMode": { + "target": "com.amazonaws.dynamodb#ContributorInsightsMode", "traits": { - "smithy.api#documentation": "A map of attribute name to attribute values, representing the primary key of the item\n to delete. All of the table's primary key attributes must be specified, and their data\n types must match those of the table's key schema.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates the current mode of CloudWatch Contributor Insights, specifying whether it\n tracks all access and throttled events or throttled events only for the DynamoDB\n table or index.
" } } }, "traits": { - "smithy.api#documentation": "Represents a request to perform a DeleteItem operation on an item.
Represents a Contributor Insights summary entry.
" } }, - "com.amazonaws.dynamodb#DeleteResourcePolicy": { + "com.amazonaws.dynamodb#CreateBackup": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#DeleteResourcePolicyInput" + "target": "com.amazonaws.dynamodb#CreateBackupInput" }, "output": { - "target": "com.amazonaws.dynamodb#DeleteResourcePolicyOutput" + "target": "com.amazonaws.dynamodb#CreateBackupOutput" }, "errors": [ + { + "target": "com.amazonaws.dynamodb#BackupInUseException" + }, + { + "target": "com.amazonaws.dynamodb#ContinuousBackupsUnavailableException" + }, { "target": "com.amazonaws.dynamodb#InternalServerError" }, @@ -2764,39 +3206,37 @@ "target": "com.amazonaws.dynamodb#LimitExceededException" }, { - "target": "com.amazonaws.dynamodb#PolicyNotFoundException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceInUseException" + "target": "com.amazonaws.dynamodb#TableInUseException" }, { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "target": "com.amazonaws.dynamodb#TableNotFoundException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Deletes the resource-based policy attached to the resource, which can be a table or\n stream.
\n\n DeleteResourcePolicy is an idempotent operation; running it multiple\n times on the same resource doesn't result in an error response,\n unless you specify an ExpectedRevisionId, which will then return a\n PolicyNotFoundException.
To make sure that you don't inadvertently lock yourself out of your own resources,\n the root principal in your Amazon Web Services account can perform\n DeleteResourcePolicy requests, even if your resource-based policy\n explicitly denies the root principal's access.
\n DeleteResourcePolicy is an asynchronous operation. If you issue a\n GetResourcePolicy request immediately after running the\n DeleteResourcePolicy request, DynamoDB might still return\n the deleted policy. This is because the policy for your resource might not have been\n deleted yet. Wait for a few seconds, and then try the GetResourcePolicy\n request again.
Creates a backup for an existing table.
\nEach time you create an on-demand backup, the entire table data is backed up. There\n is no limit to the number of on-demand backups that can be taken.
\nWhen you create an on-demand backup, a time marker of the request is cataloged, and\n the backup is created asynchronously, by applying all changes until the time of the\n request to the last full table snapshot. Backup requests are processed instantaneously\n and become available for restore within minutes.
\nYou can call CreateBackup at a maximum rate of 50 times per\n second.
All backups in DynamoDB work without consuming any provisioned throughput on the\n table.
\nIf you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to\n contain all data committed to the table up to 14:24:00, and data committed after\n 14:26:00 will not be. The backup might contain data modifications made between 14:24:00\n and 14:26:00. On-demand backup does not support causal consistency.
\nAlong with data, the following are also included on the backups:
\nGlobal secondary indexes (GSIs)
\nLocal secondary indexes (LSIs)
\nStreams
\nProvisioned read and write capacity
\nThe Amazon Resource Name (ARN) of the DynamoDB resource from which the policy will be\n removed. The resources you can specify include tables and streams. If you remove the\n policy of a table, it will also remove the permissions for the table's indexes defined\n in that policy document. This is because index permissions are defined in the table's\n policy.
", + "smithy.api#documentation": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "ExpectedRevisionId": { - "target": "com.amazonaws.dynamodb#PolicyRevisionId", + "BackupName": { + "target": "com.amazonaws.dynamodb#BackupName", "traits": { - "smithy.api#documentation": "A string value that you can use to conditionally delete your policy. When you provide\n an expected revision ID, if the revision ID of the existing policy on the resource\n doesn't match or if there's no policy attached to the resource, the request will fail\n and return a PolicyNotFoundException.
Specified name for the backup.
", + "smithy.api#required": {} } } }, @@ -2804,13 +3244,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#DeleteResourcePolicyOutput": { + "com.amazonaws.dynamodb#CreateBackupOutput": { "type": "structure", "members": { - "RevisionId": { - "target": "com.amazonaws.dynamodb#PolicyRevisionId", + "BackupDetails": { + "target": "com.amazonaws.dynamodb#BackupDetails", "traits": { - "smithy.api#documentation": "A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.
\nThis value will be empty if you make a request against a resource without a\n policy.
" + "smithy.api#documentation": "Contains the details of the backup created for the table.
" } } }, @@ -2818,15 +3258,65 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#DeleteTable": { + "com.amazonaws.dynamodb#CreateGlobalSecondaryIndexAction": { + "type": "structure", + "members": { + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", + "traits": { + "smithy.api#documentation": "The name of the global secondary index to be created.
", + "smithy.api#required": {} + } + }, + "KeySchema": { + "target": "com.amazonaws.dynamodb#KeySchema", + "traits": { + "smithy.api#documentation": "The key schema for the global secondary index.\n Global secondary index supports up to 4 partition and up to 4 sort keys.
", + "smithy.api#required": {} + } + }, + "Projection": { + "target": "com.amazonaws.dynamodb#Projection", + "traits": { + "smithy.api#documentation": "Represents attributes that are copied (projected) from the table into an index. These\n are in addition to the primary key attributes and index key attributes, which are\n automatically projected.
", + "smithy.api#required": {} + } + }, + "ProvisionedThroughput": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughput", + "traits": { + "smithy.api#documentation": "Represents the provisioned throughput settings for the specified global secondary\n index.
\nFor current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "OnDemandThroughput": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput", + "traits": { + "smithy.api#documentation": "The maximum number of read and write units for the global secondary index being\n created. If you use this parameter, you must specify MaxReadRequestUnits,\n MaxWriteRequestUnits, or both. You must use either OnDemand\n Throughput or ProvisionedThroughput based on your table's\n capacity mode.
Represents the warm throughput value (in read units per second and write units per\n second) when creating a secondary index.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Represents a new global secondary index to be added to an existing table.
" + } + }, + "com.amazonaws.dynamodb#CreateGlobalTable": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#DeleteTableInput" + "target": "com.amazonaws.dynamodb#CreateGlobalTableInput" }, "output": { - "target": "com.amazonaws.dynamodb#DeleteTableOutput" + "target": "com.amazonaws.dynamodb#CreateGlobalTableOutput" }, "errors": [ + { + "target": "com.amazonaws.dynamodb#GlobalTableAlreadyExistsException" + }, { "target": "com.amazonaws.dynamodb#InternalServerError" }, @@ -2837,143 +3327,137 @@ "target": "com.amazonaws.dynamodb#LimitExceededException" }, { - "target": "com.amazonaws.dynamodb#ResourceInUseException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "target": "com.amazonaws.dynamodb#TableNotFoundException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "The DeleteTable operation deletes a table and all of its items. After a\n DeleteTable request, the specified table is in the\n DELETING state until DynamoDB completes the deletion. If the table is\n in the ACTIVE state, you can delete it. If a table is in\n CREATING or UPDATING states, then DynamoDB returns a\n ResourceInUseException. If the specified table does not exist, DynamoDB\n returns a ResourceNotFoundException. If table is already in the\n DELETING state, no error is returned.
DynamoDB might continue to accept data read and write operations, such as\n GetItem and PutItem, on a table in the\n DELETING state until the table deletion is complete. For the full\n list of table states, see TableStatus.
When you delete a table, any indexes on that table are also deleted.
\nIf you have DynamoDB Streams enabled on the table, then the corresponding stream on\n that table goes into the DISABLED state, and the stream is automatically\n deleted after 24 hours.
Use the DescribeTable action to check the status of the table.
Creates a global table from an existing table. A global table creates a replication\n relationship between two or more DynamoDB tables with the same table name in the\n provided Regions.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nIf you want to add a new replica table to a global table, each of the following\n conditions must be true:
\nThe table must have the same primary key as all of the other replicas.
\nThe table must have the same name as all of the other replicas.
\nThe table must have DynamoDB Streams enabled, with the stream containing both\n the new and the old images of the item.
\nNone of the replica tables in the global table can contain any data.
\nIf global secondary indexes are specified, then the following conditions must also be\n met:
\nThe global secondary indexes must have the same name.
\nThe global secondary indexes must have the same hash key and sort key (if\n present).
\nIf local secondary indexes are specified, then the following conditions must also be\n met:
\nThe local secondary indexes must have the same name.
\nThe local secondary indexes must have the same hash key and sort key (if\n present).
\nWrite capacity settings should be set consistently across your replica tables and\n secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the\n write capacity settings for all of your global tables replicas and indexes.
\nIf you prefer to manage write capacity settings manually, you should provision\n equal replicated write capacity units to your replica tables. You should also\n provision equal replicated write capacity units to matching secondary indexes across\n your global table.
\nThe name of the table to delete. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", + "smithy.api#documentation": "The global table name.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } + }, + "ReplicationGroup": { + "target": "com.amazonaws.dynamodb#ReplicaList", + "traits": { + "smithy.api#documentation": "The Regions where the global table needs to be created.
", + "smithy.api#required": {} + } } }, "traits": { - "smithy.api#documentation": "Represents the input of a DeleteTable operation.
Represents the properties of a table.
" + "smithy.api#documentation": "Contains the details of the global table.
" } } }, "traits": { - "smithy.api#documentation": "Represents the output of a DeleteTable operation.
The Amazon Web Services Region name to be added as a witness Region for the MRSC global\n table. The witness must be in a different Region than the replicas and within the same\n Region set:
\nUS Region set: US East (N. Virginia), US East (Ohio), US West (Oregon)
\nEU Region set: Europe (Ireland), Europe (London), Europe (Paris), Europe\n (Frankfurt)
\nAP Region set: Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific\n (Osaka)
\nDescribes an existing backup of a table.
\nYou can call DescribeBackup at a maximum rate of 10 times per\n second.
Specifies the action to add a new witness Region to a MRSC global table. A MRSC global\n table can be configured with either three replicas, or with two replicas and one\n witness.
" } }, - "com.amazonaws.dynamodb#DescribeBackupInput": { + "com.amazonaws.dynamodb#CreateReplicaAction": { "type": "structure", "members": { - "BackupArn": { - "target": "com.amazonaws.dynamodb#BackupArn", + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the backup.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The Region of the replica to be added.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "Represents a replica to be added.
" } }, - "com.amazonaws.dynamodb#DescribeBackupOutput": { + "com.amazonaws.dynamodb#CreateReplicationGroupMemberAction": { "type": "structure", "members": { - "BackupDescription": { - "target": "com.amazonaws.dynamodb#BackupDescription", + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "Contains the description of the backup created for the table.
" + "smithy.api#documentation": "The Region where the new replica will be created.
", + "smithy.api#required": {} + } + }, + "KMSMasterKeyId": { + "target": "com.amazonaws.dynamodb#KMSMasterKeyId", + "traits": { + "smithy.api#documentation": "The KMS key that should be used for KMS encryption in\n the new replica. To specify a key, use its key ID, Amazon Resource Name (ARN), alias\n name, or alias ARN. Note that you should only provide this parameter if the key is\n different from the default DynamoDB KMS key\n alias/aws/dynamodb.
Replica-specific provisioned throughput. If not specified, uses the source table's\n provisioned throughput settings.
" + } + }, + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "traits": { + "smithy.api#documentation": "The maximum on-demand throughput settings for the specified replica table being\n created. You can only modify MaxReadRequestUnits, because you can't modify\n MaxWriteRequestUnits for individual replica tables.
Replica-specific global secondary index settings.
" + } + }, + "TableClassOverride": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "Replica-specific table class. If not specified, uses the source table's table\n class.
" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Represents a replica to be created.
" } }, - "com.amazonaws.dynamodb#DescribeContinuousBackups": { + "com.amazonaws.dynamodb#CreateTable": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#DescribeContinuousBackupsInput" + "target": "com.amazonaws.dynamodb#CreateTableInput" }, "output": { - "target": "com.amazonaws.dynamodb#DescribeContinuousBackupsOutput" + "target": "com.amazonaws.dynamodb#CreateTableOutput" }, "errors": [ { @@ -2983,206 +3467,289 @@ "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#TableNotFoundException" + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceInUseException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Checks the status of continuous backups and point in time recovery on the specified\n table. Continuous backups are ENABLED on all tables at table creation. If\n point in time recovery is enabled, PointInTimeRecoveryStatus will be set to\n ENABLED.
After continuous backups and point in time recovery are enabled, you can restore to\n any point in time within EarliestRestorableDateTime and\n LatestRestorableDateTime.
\n LatestRestorableDateTime is typically 5 minutes before the current time.\n You can restore your table to any point in time in the last 35 days. You can set the\n recovery period to any value between 1 and 35 days.
You can call DescribeContinuousBackups at a maximum rate of 10 times per\n second.
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\n have two tables with same name if you create the tables in different Regions.
\n CreateTable is an asynchronous operation. Upon receiving a\n CreateTable request, DynamoDB immediately returns a response with a\n TableStatus of CREATING. After the table is created,\n DynamoDB sets the TableStatus to ACTIVE. You can perform read\n and write operations only on an ACTIVE table.
You can optionally define secondary indexes on the new table, as part of the\n CreateTable operation. If you want to create multiple tables with\n secondary indexes on them, you must create the tables sequentially. Only one table with\n secondary indexes can be in the CREATING state at any given time.
You can use the DescribeTable action to check the table status.
An array of attributes that describe the key schema for the table and indexes.
" + } + }, "TableName": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "Name of the table for which the customer wants to check the continuous backups and\n point in time recovery settings.
\nYou can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", + "smithy.api#documentation": "The name of the table to create. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.dynamodb#DescribeContinuousBackupsOutput": { - "type": "structure", - "members": { - "ContinuousBackupsDescription": { - "target": "com.amazonaws.dynamodb#ContinuousBackupsDescription", + }, + "KeySchema": { + "target": "com.amazonaws.dynamodb#KeySchema", "traits": { - "smithy.api#documentation": "Represents the continuous backups and point in time recovery settings on the\n table.
" + "smithy.api#documentation": "Specifies the attributes that make up the primary key for a table or an index. The\n attributes in KeySchema must also be defined in the\n AttributeDefinitions array. For more information, see Data\n Model in the Amazon DynamoDB Developer Guide.
Each KeySchemaElement in the array is composed of:
\n AttributeName - The name of this key attribute.
\n KeyType - The role that the key attribute will assume:
\n HASH - partition key
\n RANGE - sort key
The partition key of an item is also known as its hash\n attribute. The term \"hash attribute\" derives from the DynamoDB usage\n of an internal hash function to evenly distribute data items across partitions,\n based on their partition key values.
\nThe sort key of an item is also known as its range attribute.\n The term \"range attribute\" derives from the way DynamoDB stores items with the same\n partition key physically close together, in sorted order by the sort key\n value.
\nFor a simple primary key (partition key), you must provide exactly one element with a\n KeyType of HASH.
For a composite primary key (partition key and sort key), you must provide exactly two\n elements, in this order: The first element must have a KeyType of\n HASH, and the second element must have a KeyType of\n RANGE.
For more information, see Working with Tables in the Amazon DynamoDB Developer\n Guide.
" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.dynamodb#DescribeContributorInsights": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#DescribeContributorInsightsInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#DescribeContributorInsightsOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "Returns information about contributor insights for a given table or global secondary\n index.
" - } - }, - "com.amazonaws.dynamodb#DescribeContributorInsightsInput": { - "type": "structure", - "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "LocalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#LocalSecondaryIndexList", "traits": { - "smithy.api#documentation": "The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "One or more local secondary indexes (the maximum is 5) to be created on the table.\n Each index is scoped to a given partition key value. There is a 10 GB size limit per\n partition key value; otherwise, the size of a local secondary index is\n unconstrained.
\nEach local secondary index in the array includes the following:
\n\n IndexName - The name of the local secondary index. Must be unique\n only for this table.
\n KeySchema - Specifies the key schema for the local secondary index.\n The key schema must begin with the same partition key as the table.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - Only the specified table attributes are\n projected into the index. The list of projected attributes is in\n NonKeyAttributes.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
The name of the global secondary index to describe, if applicable.
" + "smithy.api#documentation": "One or more global secondary indexes (the maximum is 20) to be created on the table.\n Each global secondary index in the array includes the following:
\n\n IndexName - The name of the global secondary index. Must be unique\n only for this table.
\n KeySchema - Specifies the key schema for the global secondary\n index. Each global secondary index supports up to 4 partition keys and up to 4 sort keys.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - Only the specified table attributes are\n projected into the index. The list of projected attributes is in\n NonKeyAttributes.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
\n ProvisionedThroughput - The provisioned throughput settings for the\n global secondary index, consisting of read and write capacity units.
The name of the table being described.
" + "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. This setting can be changed later.
\n\n PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST\n for most DynamoDB workloads. PAY_PER_REQUEST sets the billing mode\n to On-demand capacity mode.
\n PROVISIONED - We recommend using PROVISIONED for\n steady workloads with predictable growth where capacity requirements can be\n reliably forecasted. PROVISIONED sets the billing mode to Provisioned capacity mode.
The name of the global secondary index being described.
" + "smithy.api#documentation": "Represents the provisioned throughput settings for a specified table or index. The\n settings can be modified using the UpdateTable operation.
If you set BillingMode as PROVISIONED, you must specify this property.\n If you set BillingMode as PAY_PER_REQUEST, you cannot specify this\n property.
For current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" } }, - "ContributorInsightsRuleList": { - "target": "com.amazonaws.dynamodb#ContributorInsightsRuleList", + "StreamSpecification": { + "target": "com.amazonaws.dynamodb#StreamSpecification", "traits": { - "smithy.api#documentation": "List of names of the associated contributor insights rules.
" + "smithy.api#documentation": "The settings for DynamoDB Streams on the table. These settings consist of:
\n\n StreamEnabled - Indicates whether DynamoDB Streams is to be enabled\n (true) or disabled (false).
\n StreamViewType - When an item in the table is modified,\n StreamViewType determines what information is written to the\n table's stream. Valid values for StreamViewType are:
\n KEYS_ONLY - Only the key attributes of the modified item\n are written to the stream.
\n NEW_IMAGE - The entire item, as it appears after it was\n modified, is written to the stream.
\n OLD_IMAGE - The entire item, as it appeared before it was\n modified, is written to the stream.
\n NEW_AND_OLD_IMAGES - Both the new and the old item images\n of the item are written to the stream.
Current status of contributor insights.
" + "smithy.api#documentation": "Represents the settings used to enable server-side encryption.
" } }, - "LastUpdateDateTime": { - "target": "com.amazonaws.dynamodb#LastUpdateDateTime", + "Tags": { + "target": "com.amazonaws.dynamodb#TagList", "traits": { - "smithy.api#documentation": "Timestamp of the last time the status was changed.
" + "smithy.api#documentation": "A list of key-value pairs to label the table. For more information, see Tagging\n for DynamoDB.
" } }, - "FailureException": { - "target": "com.amazonaws.dynamodb#FailureException", + "TableClass": { + "target": "com.amazonaws.dynamodb#TableClass", "traits": { - "smithy.api#documentation": "Returns information about the last failure that was encountered.
\nThe most common exceptions for a FAILED status are:
\nLimitExceededException - Per-account Amazon CloudWatch Contributor Insights\n rule limit reached. Please disable Contributor Insights for other tables/indexes\n OR disable Contributor Insights rules before retrying.
\nAccessDeniedException - Amazon CloudWatch Contributor Insights rules cannot be\n modified due to insufficient permissions.
\nAccessDeniedException - Failed to create service-linked role for Contributor\n Insights due to insufficient permissions.
\nInternalServerError - Failed to create Amazon CloudWatch Contributor Insights\n rules. Please retry request.
\nThe table class of the new table. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.
The mode of CloudWatch Contributor Insights for DynamoDB that determines\n which events are emitted. Can be set to track all access and throttled events or throttled\n events only.
" + "smithy.api#documentation": "Indicates whether deletion protection is to be enabled (true) or disabled (false) on\n the table.
" + } + }, + "WarmThroughput": { + "target": "com.amazonaws.dynamodb#WarmThroughput", + "traits": { + "smithy.api#documentation": "Represents the warm throughput (in read units per second and write units per second)\n for creating a table.
" + } + }, + "ResourcePolicy": { + "target": "com.amazonaws.dynamodb#ResourcePolicy", + "traits": { + "smithy.api#documentation": "An Amazon Web Services resource-based policy document in JSON format that will be\n attached to the table.
\nWhen you attach a resource-based policy while creating a table, the policy application\n is strongly consistent.
\nThe maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this\n limit. For a full list of all considerations that apply for resource-based policies, see\n Resource-based\n policy considerations.
\nYou need to specify the CreateTable and\n PutResourcePolicy\n IAM actions for authorizing a user to create a table with a\n resource-based policy.
Sets the maximum number of read and write units for the specified table in on-demand\n capacity mode. If you use this parameter, you must specify\n MaxReadRequestUnits, MaxWriteRequestUnits, or both.
The Amazon Resource Name (ARN) of the source table used for the creation\n of a multi-account global table.
" + } + }, + "GlobalTableSettingsReplicationMode": { + "target": "com.amazonaws.dynamodb#GlobalTableSettingsReplicationMode", + "traits": { + "smithy.api#documentation": "Controls the settings synchronization mode for the global table. For multi-account global tables,\n this parameter is required and the only supported value is ENABLED. For same-account global tables,\n this parameter is set to ENABLED_WITH_OVERRIDES.\n
" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Represents the input of a CreateTable operation.
Represents the properties of the table.
" + } + } }, - "output": { - "target": "com.amazonaws.dynamodb#DescribeEndpointsResponse" + "traits": { + "smithy.api#documentation": "Represents the output of a CreateTable operation.
Returns the regional endpoint information. For more information on policy permissions,\n please see Internetwork traffic privacy.
" + "smithy.api#length": { + "min": 1, + "max": 255 + } } }, - "com.amazonaws.dynamodb#DescribeEndpointsRequest": { + "com.amazonaws.dynamodb#CsvOptions": { "type": "structure", - "members": {}, + "members": { + "Delimiter": { + "target": "com.amazonaws.dynamodb#CsvDelimiter", + "traits": { + "smithy.api#documentation": "The delimiter used for separating items in the CSV file being imported.
" + } + }, + "HeaderList": { + "target": "com.amazonaws.dynamodb#CsvHeaderList", + "traits": { + "smithy.api#documentation": "List of the headers used to specify a common header for all source CSV files being\n imported. If this field is specified then the first line of each CSV file is treated as\n data instead of the header. If this field is not specified the the first line of each\n CSV file is treated as the header.
" + } + } + }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "Processing options for the CSV file being imported.
" } }, - "com.amazonaws.dynamodb#DescribeEndpointsResponse": { + "com.amazonaws.dynamodb#Date": { + "type": "timestamp" + }, + "com.amazonaws.dynamodb#Delete": { "type": "structure", "members": { - "Endpoints": { - "target": "com.amazonaws.dynamodb#Endpoints", + "Key": { + "target": "com.amazonaws.dynamodb#Key", "traits": { - "smithy.api#documentation": "List of endpoints.
", + "smithy.api#documentation": "The primary key of the item to be deleted. Each element consists of an attribute name\n and a value for that attribute.
", "smithy.api#required": {} } + }, + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", + "traits": { + "smithy.api#documentation": "Name of the table in which the item to be deleted resides. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", + "smithy.api#required": {} + } + }, + "ConditionExpression": { + "target": "com.amazonaws.dynamodb#ConditionExpression", + "traits": { + "smithy.api#documentation": "A condition that must be satisfied in order for a conditional delete to\n succeed.
" + } + }, + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "traits": { + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression.
" + } + }, + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "traits": { + "smithy.api#documentation": "One or more values that can be substituted in an expression.
" + } + }, + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "traits": { + "smithy.api#documentation": "Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n Delete condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
Represents a request to perform a DeleteItem operation.
Describes an existing table export.
" + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "Deletes an existing backup of a table.
\nYou can call DeleteBackup at a maximum rate of 10 times per\n second.
The Amazon Resource Name (ARN) associated with the export.
", + "smithy.api#documentation": "The ARN associated with the backup.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" @@ -3194,13 +3761,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#DescribeExportOutput": { + "com.amazonaws.dynamodb#DeleteBackupOutput": { "type": "structure", "members": { - "ExportDescription": { - "target": "com.amazonaws.dynamodb#ExportDescription", + "BackupDescription": { + "target": "com.amazonaws.dynamodb#BackupDescription", "traits": { - "smithy.api#documentation": "Represents the properties of the export.
" + "smithy.api#documentation": "Contains the description of the backup created for the table.
" } } }, @@ -3208,185 +3775,262 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#DescribeGlobalTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#DescribeGlobalTableInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#DescribeGlobalTableOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" - }, - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - } - ], - "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "Returns information about the specified global table.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nThe name of the global table.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The name of the global secondary index to be deleted.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "Represents a global secondary index to be deleted from an existing table.
" } }, - "com.amazonaws.dynamodb#DescribeGlobalTableOutput": { + "com.amazonaws.dynamodb#DeleteGlobalTableWitnessGroupMemberAction": { "type": "structure", "members": { - "GlobalTableDescription": { - "target": "com.amazonaws.dynamodb#GlobalTableDescription", + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "Contains the details of the global table.
" + "smithy.api#documentation": "The witness Region name to be removed from the MRSC global table.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Specifies the action to remove a witness Region from a MRSC global table. You cannot\n delete a single witness from a MRSC global table - you must delete both a replica and\n the witness together. The deletion of both a witness and replica converts the remaining\n replica to a single-Region DynamoDB table.
" } }, - "com.amazonaws.dynamodb#DescribeGlobalTableSettings": { + "com.amazonaws.dynamodb#DeleteItem": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#DescribeGlobalTableSettingsInput" + "target": "com.amazonaws.dynamodb#DeleteItemInput" }, "output": { - "target": "com.amazonaws.dynamodb#DescribeGlobalTableSettingsOutput" + "target": "com.amazonaws.dynamodb#DeleteItemOutput" }, "errors": [ { - "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" + "target": "com.amazonaws.dynamodb#ConditionalCheckFailedException" }, { "target": "com.amazonaws.dynamodb#InternalServerError" }, { "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ReplicatedWriteConflictException" + }, + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#ThrottlingException" + }, + { + "target": "com.amazonaws.dynamodb#TransactionConflictException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Describes Region-specific settings for a global table.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nDeletes a single item in a table by primary key. You can perform a conditional delete\n operation that deletes the item if it exists, or if it has an expected attribute\n value.
\nIn addition to deleting an item, you can also return the item's attribute values in\n the same operation, using the ReturnValues parameter.
Unless you specify conditions, the DeleteItem is an idempotent operation;\n running it multiple times on the same item or attribute does not\n result in an error response.
Conditional deletes are useful for deleting items only if specific conditions are met.\n If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not\n deleted.
", + "smithy.api#examples": [ + { + "title": "To delete an item", + "documentation": "This example deletes an item from the Music table.", + "input": { + "TableName": "Music", + "Key": { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + }, + "output": { + "ConsumedCapacity": { + "CapacityUnits": 1, + "TableName": "Music" + } + } + } + ] } }, - "com.amazonaws.dynamodb#DescribeGlobalTableSettingsInput": { + "com.amazonaws.dynamodb#DeleteItemInput": { "type": "structure", "members": { - "GlobalTableName": { - "target": "com.amazonaws.dynamodb#TableName", + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "The name of the global table to describe.
", + "smithy.api#documentation": "The name of the table from which to delete the item. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } + }, + "Key": { + "target": "com.amazonaws.dynamodb#Key", + "traits": { + "smithy.api#documentation": "A map of attribute names to AttributeValue objects, representing the\n primary key of the item to delete.
For the primary key, you must provide all of the key attributes. For example, with a\n simple primary key, you only need to provide a value for the partition key. For a\n composite primary key, you must provide values for both the partition key and the sort\n key.
", + "smithy.api#required": {} + } + }, + "Expected": { + "target": "com.amazonaws.dynamodb#ExpectedAttributeMap", + "traits": { + "smithy.api#documentation": "This is a legacy parameter. Use ConditionExpression instead. For more\n information, see Expected in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
Use ReturnValues if you want to get the item attributes as they appeared\n before they were deleted. For DeleteItem, the valid values are:
\n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)
\n ALL_OLD - The content of the old item is returned.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
\nThe ReturnValues parameter is used by several DynamoDB operations;\n however, DeleteItem does not recognize any values other than\n NONE or ALL_OLD.
Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
A condition that must be satisfied in order for a conditional DeleteItem\n to succeed.
An expression can contain any of the following:
\nFunctions: attribute_exists | attribute_not_exists | attribute_type |\n contains | begins_with | size\n
These function names are case-sensitive.
\nComparison operators: = | <> |\n < | > | <= | >= |\n BETWEEN | IN \n
Logical operators: AND | OR | NOT\n
For more information about condition expressions, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "traits": { + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide). To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "traits": { + "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "traits": { + "smithy.api#documentation": "An optional parameter that returns the item attributes for a DeleteItem\n operation that failed a condition check.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" + } } }, "traits": { + "smithy.api#documentation": "Represents the input of a DeleteItem operation.
The name of the global table.
" + "smithy.api#documentation": "A map of attribute names to AttributeValue objects, representing the item\n as it appeared before the DeleteItem operation. This map appears in the\n response only if ReturnValues was specified as ALL_OLD in the\n request.
The Region-specific settings for the global table.
" + "smithy.api#documentation": "The capacity units consumed by the DeleteItem operation. The data\n returned includes the total provisioned throughput consumed, along with statistics for\n the table and any indexes involved in the operation. ConsumedCapacity is\n only returned if the ReturnConsumedCapacity parameter was specified. For\n more information, see Provisioned capacity mode in the Amazon DynamoDB Developer\n Guide.
Information about item collections, if any, that were affected by the\n DeleteItem operation. ItemCollectionMetrics is only\n returned if the ReturnItemCollectionMetrics parameter was specified. If the\n table does not have any local secondary indexes, this information is not returned in the\n response.
Each ItemCollectionMetrics element consists of:
\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item itself.
\n SizeEstimateRangeGB - An estimate of item collection size, in\n gigabytes. This value is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on that table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nRepresents the output of a DeleteItem operation.
The Region of the replica to be removed.
", + "smithy.api#required": {} + } } - ], + }, "traits": { - "smithy.api#documentation": "Represents the properties of the import.
" + "smithy.api#documentation": "Represents a replica to be removed.
" } }, - "com.amazonaws.dynamodb#DescribeImportInput": { + "com.amazonaws.dynamodb#DeleteReplicationGroupMemberAction": { "type": "structure", "members": { - "ImportArn": { - "target": "com.amazonaws.dynamodb#ImportArn", + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the table you're importing to.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The Region where the replica exists.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "Represents a replica to be deleted.
" } }, - "com.amazonaws.dynamodb#DescribeImportOutput": { + "com.amazonaws.dynamodb#DeleteRequest": { "type": "structure", "members": { - "ImportTableDescription": { - "target": "com.amazonaws.dynamodb#ImportTableDescription", + "Key": { + "target": "com.amazonaws.dynamodb#Key", "traits": { - "smithy.api#documentation": "Represents the properties of the table created for the import, and parameters of the\n import. The import parameters include import status, how many items were processed, and\n how many errors were encountered.
", + "smithy.api#documentation": "A map of attribute name to attribute values, representing the primary key of the item\n to delete. All of the table's primary key attributes must be specified, and their data\n types must match those of the table's key schema.
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Represents a request to perform a DeleteItem operation on an item.
Returns information about the status of Kinesis streaming.
" + "smithy.api#documentation": "Deletes the resource-based policy attached to the resource, which can be a table or\n stream.
\n\n DeleteResourcePolicy is an idempotent operation; running it multiple\n times on the same resource doesn't result in an error response,\n unless you specify an ExpectedRevisionId, which will then return a\n PolicyNotFoundException.
To make sure that you don't inadvertently lock yourself out of your own resources,\n the root principal in your Amazon Web Services account can perform\n DeleteResourcePolicy requests, even if your resource-based policy\n explicitly denies the root principal's access.
\n DeleteResourcePolicy is an asynchronous operation. If you issue a\n GetResourcePolicy request immediately after running the\n DeleteResourcePolicy request, DynamoDB might still return\n the deleted policy. This is because the policy for your resource might not have been\n deleted yet. Wait for a few seconds, and then try the GetResourcePolicy\n request again.
The name of the table being described. You can also provide the Amazon Resource Name (ARN) of the table\n in this parameter.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the DynamoDB resource from which the policy will be\n removed. The resources you can specify include tables and streams. If you remove the\n policy of a table, it will also remove the permissions for the table's indexes defined\n in that policy document. This is because index permissions are defined in the table's\n policy.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } + }, + "ExpectedRevisionId": { + "target": "com.amazonaws.dynamodb#PolicyRevisionId", + "traits": { + "smithy.api#documentation": "A string value that you can use to conditionally delete your policy. When you provide\n an expected revision ID, if the revision ID of the existing policy on the resource\n doesn't match or if there's no policy attached to the resource, the request will fail\n and return a PolicyNotFoundException.
The name of the table being described.
" - } - }, - "KinesisDataStreamDestinations": { - "target": "com.amazonaws.dynamodb#KinesisDataStreamDestinations", + "RevisionId": { + "target": "com.amazonaws.dynamodb#PolicyRevisionId", "traits": { - "smithy.api#documentation": "The list of replica structures for the table being described.
" + "smithy.api#documentation": "A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.
\nThis value will be empty if you make a request against a resource without a\n policy.
" } } }, @@ -3444,13 +4097,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#DescribeLimits": { + "com.amazonaws.dynamodb#DeleteTable": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#DescribeLimitsInput" + "target": "com.amazonaws.dynamodb#DeleteTableInput" }, "output": { - "target": "com.amazonaws.dynamodb#DescribeLimitsOutput" + "target": "com.amazonaws.dynamodb#DeleteTableOutput" }, "errors": [ { @@ -3458,135 +4111,116 @@ }, { "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceInUseException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Returns the current provisioned-capacity quotas for your Amazon Web Services account in\n a Region, both for the Region as a whole and for any one DynamoDB table that you create\n there.
\nWhen you establish an Amazon Web Services account, the account has initial quotas on\n the maximum read capacity units and write capacity units that you can provision across\n all of your DynamoDB tables in a given Region. Also, there are per-table\n quotas that apply when you create a table there. For more information, see Service,\n Account, and Table Quotas page in the Amazon DynamoDB\n Developer Guide.
\nAlthough you can increase these quotas by filing a case at Amazon Web Services Support Center, obtaining the\n increase is not instantaneous. The DescribeLimits action lets you write\n code to compare the capacity you are currently using to those quotas imposed by your\n account so that you have enough time to apply for an increase before you hit a\n quota.
For example, you could use one of the Amazon Web Services SDKs to do the\n following:
\nCall DescribeLimits for a particular Region to obtain your\n current account quotas on provisioned capacity there.
Create a variable to hold the aggregate read capacity units provisioned for\n all your tables in that Region, and one to hold the aggregate write capacity\n units. Zero them both.
\nCall ListTables to obtain a list of all your DynamoDB\n tables.
For each table name listed by ListTables, do the\n following:
Call DescribeTable with the table name.
Use the data returned by DescribeTable to add the read\n capacity units and write capacity units provisioned for the table itself\n to your variables.
If the table has one or more global secondary indexes (GSIs), loop\n over these GSIs and add their provisioned capacity values to your\n variables as well.
\nReport the account quotas for that Region returned by\n DescribeLimits, along with the total current provisioned\n capacity levels you have calculated.
This will let you see whether you are getting close to your account-level\n quotas.
\nThe per-table quotas apply only when you are creating a new table. They restrict the\n sum of the provisioned capacity of the new table itself and all its global secondary\n indexes.
\nFor existing tables and their GSIs, DynamoDB doesn't let you increase provisioned\n capacity extremely rapidly, but the only quota that applies is that the aggregate\n provisioned capacity over all your tables and GSIs cannot exceed either of the\n per-account quotas.
\n\n DescribeLimits should only be called periodically. You can expect\n throttling errors if you call it more than once in a minute.
The DescribeLimits Request element has no content.
The DeleteTable operation deletes a table and all of its items. After a\n DeleteTable request, the specified table is in the\n DELETING state until DynamoDB completes the deletion. If the table is\n in the ACTIVE state, you can delete it. If a table is in\n CREATING or UPDATING states, then DynamoDB returns a\n ResourceInUseException. If the specified table does not exist, DynamoDB\n returns a ResourceNotFoundException. If table is already in the\n DELETING state, no error is returned.
DynamoDB might continue to accept data read and write operations, such as\n GetItem and PutItem, on a table in the\n DELETING state until the table deletion is complete. For the full\n list of table states, see TableStatus.
When you delete a table, any indexes on that table are also deleted.
\nIf you have DynamoDB Streams enabled on the table, then the corresponding stream on\n that table goes into the DISABLED state, and the stream is automatically\n deleted after 24 hours.
Use the DescribeTable action to check the status of the table.
The name of the table to delete. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, "traits": { - "smithy.api#documentation": "Represents the input of a DescribeLimits operation. Has no\n content.
Represents the input of a DeleteTable operation.
The maximum total read capacity units that your account allows you to provision across\n all of your tables in this Region.
" - } - }, - "AccountMaxWriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", - "traits": { - "smithy.api#documentation": "The maximum total write capacity units that your account allows you to provision\n across all of your tables in this Region.
" - } - }, - "TableMaxReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", - "traits": { - "smithy.api#documentation": "The maximum read capacity units that your account allows you to provision for a new\n table that you are creating in this Region, including the read capacity units\n provisioned for its global secondary indexes (GSIs).
" - } - }, - "TableMaxWriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "TableDescription": { + "target": "com.amazonaws.dynamodb#TableDescription", "traits": { - "smithy.api#documentation": "The maximum write capacity units that your account allows you to provision for a new\n table that you are creating in this Region, including the write capacity units\n provisioned for its global secondary indexes (GSIs).
" + "smithy.api#documentation": "Represents the properties of a table.
" } } }, "traits": { - "smithy.api#documentation": "Represents the output of a DescribeLimits operation.
Represents the output of a DeleteTable operation.
Returns information about the table, including the current status of the table, when\n it was created, the primary key schema, and any indexes on the table.
\nIf you issue a DescribeTable request immediately after a\n CreateTable request, DynamoDB might return a\n ResourceNotFoundException. This is because\n DescribeTable uses an eventually consistent query, and the metadata\n for your table might not be available at that moment. Wait for a few seconds, and\n then try the DescribeTable request again.
Describes an existing backup of a table.
\nYou can call DescribeBackup at a maximum rate of 10 times per\n second.
The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the backup.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" @@ -3595,52 +4229,56 @@ } }, "traits": { - "smithy.api#documentation": "Represents the input of a DescribeTable operation.
The properties of the table.
" + "smithy.api#documentation": "Contains the description of the backup created for the table.
" } } }, "traits": { - "smithy.api#documentation": "Represents the output of a DescribeTable operation.
Describes auto scaling settings across replicas of the global table at once.
" + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "Checks the status of continuous backups and point in time recovery on the specified\n table. Continuous backups are ENABLED on all tables at table creation. If\n point in time recovery is enabled, PointInTimeRecoveryStatus will be set to\n ENABLED.
After continuous backups and point in time recovery are enabled, you can restore to\n any point in time within EarliestRestorableDateTime and\n LatestRestorableDateTime.
\n LatestRestorableDateTime is typically 5 minutes before the current time.\n You can restore your table to any point in time in the last 35 days. You can set the\n recovery period to any value between 1 and 35 days.
You can call DescribeContinuousBackups at a maximum rate of 10 times per\n second.
The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", + "smithy.api#documentation": "Name of the table for which the customer wants to check the continuous backups and\n point in time recovery settings.
\nYou can also provide the Amazon Resource Name (ARN) of the table in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" @@ -3652,13 +4290,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#DescribeTableReplicaAutoScalingOutput": { + "com.amazonaws.dynamodb#DescribeContinuousBackupsOutput": { "type": "structure", "members": { - "TableAutoScalingDescription": { - "target": "com.amazonaws.dynamodb#TableAutoScalingDescription", + "ContinuousBackupsDescription": { + "target": "com.amazonaws.dynamodb#ContinuousBackupsDescription", "traits": { - "smithy.api#documentation": "Represents the auto scaling properties of the table.
" + "smithy.api#documentation": "Represents the continuous backups and point in time recovery settings on the\n table.
" } } }, @@ -3666,254 +4304,1013 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#DescribeTimeToLive": { + "com.amazonaws.dynamodb#DescribeContributorInsights": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#DescribeTimeToLiveInput" + "target": "com.amazonaws.dynamodb#DescribeContributorInsightsInput" }, "output": { - "target": "com.amazonaws.dynamodb#DescribeTimeToLiveOutput" + "target": "com.amazonaws.dynamodb#DescribeContributorInsightsOutput" }, "errors": [ { "target": "com.amazonaws.dynamodb#InternalServerError" }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, { "target": "com.amazonaws.dynamodb#ResourceNotFoundException" } ], "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "Gives a description of the Time to Live (TTL) status on the specified table.
" + "smithy.api#documentation": "Returns information about contributor insights for a given table or global secondary\n index.
", + "smithy.waiters#waitable": { + "ContributorInsightsEnabled": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ContributorInsightsStatus", + "expected": "ENABLED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "ContributorInsightsStatus", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 20 + } + } } }, - "com.amazonaws.dynamodb#DescribeTimeToLiveInput": { + "com.amazonaws.dynamodb#DescribeContributorInsightsInput": { "type": "structure", "members": { "TableName": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "The name of the table to be described. You can also provide the Amazon Resource Name (ARN) of the table\n in this parameter.
", + "smithy.api#documentation": "The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } + }, + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", + "traits": { + "smithy.api#documentation": "The name of the global secondary index to describe, if applicable.
" + } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#DescribeTimeToLiveOutput": { + "com.amazonaws.dynamodb#DescribeContributorInsightsOutput": { "type": "structure", "members": { - "TimeToLiveDescription": { - "target": "com.amazonaws.dynamodb#TimeToLiveDescription", + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "The name of the table being described.
" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.dynamodb#DestinationStatus": { - "type": "enum", - "members": { - "ENABLING": { - "target": "smithy.api#Unit", + }, + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#enumValue": "ENABLING" + "smithy.api#documentation": "The name of the global secondary index being described.
" } }, - "ACTIVE": { - "target": "smithy.api#Unit", + "ContributorInsightsRuleList": { + "target": "com.amazonaws.dynamodb#ContributorInsightsRuleList", "traits": { - "smithy.api#enumValue": "ACTIVE" + "smithy.api#documentation": "List of names of the associated contributor insights rules.
" } }, - "DISABLING": { - "target": "smithy.api#Unit", + "ContributorInsightsStatus": { + "target": "com.amazonaws.dynamodb#ContributorInsightsStatus", "traits": { - "smithy.api#enumValue": "DISABLING" + "smithy.api#documentation": "Current status of contributor insights.
" } }, - "DISABLED": { - "target": "smithy.api#Unit", + "LastUpdateDateTime": { + "target": "com.amazonaws.dynamodb#LastUpdateDateTime", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#documentation": "Timestamp of the last time the status was changed.
" } }, - "ENABLE_FAILED": { - "target": "smithy.api#Unit", + "FailureException": { + "target": "com.amazonaws.dynamodb#FailureException", "traits": { - "smithy.api#enumValue": "ENABLE_FAILED" + "smithy.api#documentation": "Returns information about the last failure that was encountered.
\nThe most common exceptions for a FAILED status are:
\nLimitExceededException - Per-account Amazon CloudWatch Contributor Insights\n rule limit reached. Please disable Contributor Insights for other tables/indexes\n OR disable Contributor Insights rules before retrying.
\nAccessDeniedException - Amazon CloudWatch Contributor Insights rules cannot be\n modified due to insufficient permissions.
\nAccessDeniedException - Failed to create service-linked role for Contributor\n Insights due to insufficient permissions.
\nInternalServerError - Failed to create Amazon CloudWatch Contributor Insights\n rules. Please retry request.
\nThe mode of CloudWatch Contributor Insights for DynamoDB that determines\n which events are emitted. Can be set to track all access and throttled events or throttled\n events only.
" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#DisableKinesisStreamingDestination": { + "com.amazonaws.dynamodb#DescribeEndpoints": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationInput" + "target": "com.amazonaws.dynamodb#DescribeEndpointsRequest" }, "output": { - "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationOutput" + "target": "com.amazonaws.dynamodb#DescribeEndpointsResponse" + }, + "traits": { + "smithy.api#documentation": "Returns the regional endpoint information. For more information on policy permissions,\n please see Internetwork traffic privacy.
" + } + }, + "com.amazonaws.dynamodb#DescribeEndpointsRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeEndpointsResponse": { + "type": "structure", + "members": { + "Endpoints": { + "target": "com.amazonaws.dynamodb#Endpoints", + "traits": { + "smithy.api#documentation": "List of endpoints.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DescribeExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeExportInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeExportOutput" }, "errors": [ { - "target": "com.amazonaws.dynamodb#InternalServerError" + "target": "com.amazonaws.dynamodb#ExportNotFoundException" }, { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { "target": "com.amazonaws.dynamodb#LimitExceededException" + } + ], + "traits": { + "smithy.api#documentation": "Describes an existing table export.
", + "smithy.waiters#waitable": { + "ExportCompleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ExportDescription.ExportStatus", + "expected": "COMPLETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "ExportDescription.ExportStatus", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 20 + } + } + } + }, + "com.amazonaws.dynamodb#DescribeExportInput": { + "type": "structure", + "members": { + "ExportArn": { + "target": "com.amazonaws.dynamodb#ExportArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the export.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeExportOutput": { + "type": "structure", + "members": { + "ExportDescription": { + "target": "com.amazonaws.dynamodb#ExportDescription", + "traits": { + "smithy.api#documentation": "Represents the properties of the export.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DescribeGlobalTable": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeGlobalTableInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeGlobalTableOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" }, { - "target": "com.amazonaws.dynamodb#ResourceInUseException" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Stops replication from the DynamoDB table to the Kinesis data stream. This\n is done without deleting either of the resources.
" + "smithy.api#documentation": "Returns information about the specified global table.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nThe name of the global table.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } }, - "com.amazonaws.dynamodb#DuplicateItemException": { + "com.amazonaws.dynamodb#DescribeGlobalTableOutput": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" + "GlobalTableDescription": { + "target": "com.amazonaws.dynamodb#GlobalTableDescription", + "traits": { + "smithy.api#documentation": "Contains the details of the global table.
" + } } }, "traits": { - "smithy.api#documentation": "There was an attempt to insert an item with the same primary key as an item that\n already exists in the DynamoDB table.
", - "smithy.api#error": "client" + "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#DynamoDB_20120810": { - "type": "service", - "version": "2012-08-10", - "operations": [ + "com.amazonaws.dynamodb#DescribeGlobalTableSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeGlobalTableSettingsInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeGlobalTableSettingsOutput" + }, + "errors": [ { - "target": "com.amazonaws.dynamodb#BatchExecuteStatement" + "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" }, { - "target": "com.amazonaws.dynamodb#BatchGetItem" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#BatchWriteItem" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false }, - { - "target": "com.amazonaws.dynamodb#CreateBackup" + "smithy.api#documentation": "Describes Region-specific settings for a global table.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nThe name of the global table to describe.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeGlobalTableSettingsOutput": { + "type": "structure", + "members": { + "GlobalTableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "The name of the global table.
" + } }, + "ReplicaSettings": { + "target": "com.amazonaws.dynamodb#ReplicaSettingsDescriptionList", + "traits": { + "smithy.api#documentation": "The Region-specific settings for the global table.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DescribeImport": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeImportInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeImportOutput" + }, + "errors": [ { - "target": "com.amazonaws.dynamodb#CreateGlobalTable" - }, + "target": "com.amazonaws.dynamodb#ImportNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "Represents the properties of the import.
", + "smithy.waiters#waitable": { + "ImportCompleted": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "ImportTableDescription.ImportStatus", + "expected": "COMPLETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "ImportTableDescription.ImportStatus", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "ImportTableDescription.ImportStatus", + "expected": "CANCELLED", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 20 + } + } + } + }, + "com.amazonaws.dynamodb#DescribeImportInput": { + "type": "structure", + "members": { + "ImportArn": { + "target": "com.amazonaws.dynamodb#ImportArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the table you're importing to.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeImportOutput": { + "type": "structure", + "members": { + "ImportTableDescription": { + "target": "com.amazonaws.dynamodb#ImportTableDescription", + "traits": { + "smithy.api#documentation": "Represents the properties of the table created for the import, and parameters of the\n import. The import parameters include import status, how many items were processed, and\n how many errors were encountered.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DescribeKinesisStreamingDestination": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationOutput" + }, + "errors": [ { - "target": "com.amazonaws.dynamodb#CreateTable" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#DeleteBackup" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#DeleteItem" + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false }, - { - "target": "com.amazonaws.dynamodb#DeleteResourcePolicy" + "smithy.api#documentation": "Returns information about the status of Kinesis streaming.
", + "smithy.waiters#waitable": { + "KinesisStreamingDestinationActive": { + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "KinesisDataStreamDestinations[].DestinationStatus", + "expected": "ACTIVE", + "comparator": "anyStringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "length(KinesisDataStreamDestinations) > `0` && length(KinesisDataStreamDestinations[?DestinationStatus == 'DISABLED' || DestinationStatus == 'ENABLE_FAILED']) == length(KinesisDataStreamDestinations)", + "expected": "true", + "comparator": "booleanEquals" + } + } + } + ], + "minDelay": 20 + } + } + } + }, + "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationInput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", + "traits": { + "smithy.api#documentation": "The name of the table being described. You can also provide the Amazon Resource Name (ARN) of the table\n in this parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeKinesisStreamingDestinationOutput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "The name of the table being described.
" + } }, + "KinesisDataStreamDestinations": { + "target": "com.amazonaws.dynamodb#KinesisDataStreamDestinations", + "traits": { + "smithy.api#documentation": "The list of replica structures for the table being described.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DescribeLimits": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeLimitsInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeLimitsOutput" + }, + "errors": [ { - "target": "com.amazonaws.dynamodb#DeleteTable" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#DescribeBackup" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false }, - { - "target": "com.amazonaws.dynamodb#DescribeContinuousBackups" + "smithy.api#documentation": "Returns the current provisioned-capacity quotas for your Amazon Web Services account in\n a Region, both for the Region as a whole and for any one DynamoDB table that you create\n there.
\nWhen you establish an Amazon Web Services account, the account has initial quotas on\n the maximum read capacity units and write capacity units that you can provision across\n all of your DynamoDB tables in a given Region. Also, there are per-table\n quotas that apply when you create a table there. For more information, see Service,\n Account, and Table Quotas page in the Amazon DynamoDB\n Developer Guide.
\nAlthough you can increase these quotas by filing a case at Amazon Web Services Support Center, obtaining the\n increase is not instantaneous. The DescribeLimits action lets you write\n code to compare the capacity you are currently using to those quotas imposed by your\n account so that you have enough time to apply for an increase before you hit a\n quota.
For example, you could use one of the Amazon Web Services SDKs to do the\n following:
\nCall DescribeLimits for a particular Region to obtain your\n current account quotas on provisioned capacity there.
Create a variable to hold the aggregate read capacity units provisioned for\n all your tables in that Region, and one to hold the aggregate write capacity\n units. Zero them both.
\nCall ListTables to obtain a list of all your DynamoDB\n tables.
For each table name listed by ListTables, do the\n following:
Call DescribeTable with the table name.
Use the data returned by DescribeTable to add the read\n capacity units and write capacity units provisioned for the table itself\n to your variables.
If the table has one or more global secondary indexes (GSIs), loop\n over these GSIs and add their provisioned capacity values to your\n variables as well.
\nReport the account quotas for that Region returned by\n DescribeLimits, along with the total current provisioned\n capacity levels you have calculated.
This will let you see whether you are getting close to your account-level\n quotas.
\nThe per-table quotas apply only when you are creating a new table. They restrict the\n sum of the provisioned capacity of the new table itself and all its global secondary\n indexes.
\nFor existing tables and their GSIs, DynamoDB doesn't let you increase provisioned\n capacity extremely rapidly, but the only quota that applies is that the aggregate\n provisioned capacity over all your tables and GSIs cannot exceed either of the\n per-account quotas.
\n\n DescribeLimits should only be called periodically. You can expect\n throttling errors if you call it more than once in a minute.
The DescribeLimits Request element has no content.
Represents the input of a DescribeLimits operation. Has no\n content.
The maximum total read capacity units that your account allows you to provision across\n all of your tables in this Region.
" + } }, - { - "target": "com.amazonaws.dynamodb#DescribeContributorInsights" + "AccountMaxWriteCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", + "traits": { + "smithy.api#documentation": "The maximum total write capacity units that your account allows you to provision\n across all of your tables in this Region.
" + } }, - { - "target": "com.amazonaws.dynamodb#DescribeEndpoints" + "TableMaxReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", + "traits": { + "smithy.api#documentation": "The maximum read capacity units that your account allows you to provision for a new\n table that you are creating in this Region, including the read capacity units\n provisioned for its global secondary indexes (GSIs).
" + } }, + "TableMaxWriteCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", + "traits": { + "smithy.api#documentation": "The maximum write capacity units that your account allows you to provision for a new\n table that you are creating in this Region, including the write capacity units\n provisioned for its global secondary indexes (GSIs).
" + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a DescribeLimits operation.
Returns information about the table, including the current status of the table, when\n it was created, the primary key schema, and any indexes on the table.
\nIf you issue a DescribeTable request immediately after a\n CreateTable request, DynamoDB might return a\n ResourceNotFoundException. This is because\n DescribeTable uses an eventually consistent query, and the metadata\n for your table might not be available at that moment. Wait for a few seconds, and\n then try the DescribeTable request again.
The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in\n this parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of a DescribeTable operation.
The properties of the table.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the output of a DescribeTable operation.
Describes auto scaling settings across replicas of the global table at once.
" + } + }, + "com.amazonaws.dynamodb#DescribeTableReplicaAutoScalingInput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", + "traits": { + "smithy.api#documentation": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeTableReplicaAutoScalingOutput": { + "type": "structure", + "members": { + "TableAutoScalingDescription": { + "target": "com.amazonaws.dynamodb#TableAutoScalingDescription", + "traits": { + "smithy.api#documentation": "Represents the auto scaling properties of the table.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DescribeTimeToLive": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#DescribeTimeToLiveInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#DescribeTimeToLiveOutput" + }, + "errors": [ { - "target": "com.amazonaws.dynamodb#DescribeTable" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#DescribeTableReplicaAutoScaling" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#DescribeTimeToLive" + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false }, - { - "target": "com.amazonaws.dynamodb#DisableKinesisStreamingDestination" + "smithy.api#documentation": "Gives a description of the Time to Live (TTL) status on the specified table.
" + } + }, + "com.amazonaws.dynamodb#DescribeTimeToLiveInput": { + "type": "structure", + "members": { + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", + "traits": { + "smithy.api#documentation": "The name of the table to be described. You can also provide the Amazon Resource Name (ARN) of the table\n in this parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dynamodb#DescribeTimeToLiveOutput": { + "type": "structure", + "members": { + "TimeToLiveDescription": { + "target": "com.amazonaws.dynamodb#TimeToLiveDescription", + "traits": { + "smithy.api#documentation": "" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#DestinationStatus": { + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" + } }, - { - "target": "com.amazonaws.dynamodb#EnableKinesisStreamingDestination" + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } }, - { - "target": "com.amazonaws.dynamodb#ExecuteStatement" + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } }, - { - "target": "com.amazonaws.dynamodb#ExecuteTransaction" + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } }, - { - "target": "com.amazonaws.dynamodb#ExportTableToPointInTime" + "ENABLE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLE_FAILED" + } }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + } + } + }, + "com.amazonaws.dynamodb#DisableKinesisStreamingDestination": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#KinesisStreamingDestinationOutput" + }, + "errors": [ { - "target": "com.amazonaws.dynamodb#GetItem" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#GetResourcePolicy" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#ImportTable" + "target": "com.amazonaws.dynamodb#LimitExceededException" }, { - "target": "com.amazonaws.dynamodb#ListBackups" + "target": "com.amazonaws.dynamodb#ResourceInUseException" }, { - "target": "com.amazonaws.dynamodb#ListContributorInsights" + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "Stops replication from the DynamoDB table to the Kinesis data stream. This\n is done without deleting either of the resources.
" + } + }, + "com.amazonaws.dynamodb#DoubleObject": { + "type": "double" + }, + "com.amazonaws.dynamodb#DuplicateItemException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "There was an attempt to insert an item with the same primary key as an item that\n already exists in the DynamoDB table.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.dynamodb#DynamoDB_20120810": { + "type": "service", + "version": "2012-08-10", + "operations": [ + { + "target": "com.amazonaws.dynamodb#BatchExecuteStatement" + }, + { + "target": "com.amazonaws.dynamodb#BatchGetItem" + }, + { + "target": "com.amazonaws.dynamodb#BatchWriteItem" + }, + { + "target": "com.amazonaws.dynamodb#CreateBackup" + }, + { + "target": "com.amazonaws.dynamodb#CreateGlobalTable" + }, + { + "target": "com.amazonaws.dynamodb#CreateTable" + }, + { + "target": "com.amazonaws.dynamodb#DeleteBackup" + }, + { + "target": "com.amazonaws.dynamodb#DeleteItem" + }, + { + "target": "com.amazonaws.dynamodb#DeleteResourcePolicy" + }, + { + "target": "com.amazonaws.dynamodb#DeleteTable" + }, + { + "target": "com.amazonaws.dynamodb#DescribeBackup" + }, + { + "target": "com.amazonaws.dynamodb#DescribeContinuousBackups" + }, + { + "target": "com.amazonaws.dynamodb#DescribeContributorInsights" + }, + { + "target": "com.amazonaws.dynamodb#DescribeEndpoints" + }, + { + "target": "com.amazonaws.dynamodb#DescribeExport" + }, + { + "target": "com.amazonaws.dynamodb#DescribeGlobalTable" + }, + { + "target": "com.amazonaws.dynamodb#DescribeGlobalTableSettings" + }, + { + "target": "com.amazonaws.dynamodb#DescribeImport" + }, + { + "target": "com.amazonaws.dynamodb#DescribeKinesisStreamingDestination" + }, + { + "target": "com.amazonaws.dynamodb#DescribeLimits" + }, + { + "target": "com.amazonaws.dynamodb#DescribeTable" + }, + { + "target": "com.amazonaws.dynamodb#DescribeTableReplicaAutoScaling" + }, + { + "target": "com.amazonaws.dynamodb#DescribeTimeToLive" + }, + { + "target": "com.amazonaws.dynamodb#DisableKinesisStreamingDestination" + }, + { + "target": "com.amazonaws.dynamodb#EnableKinesisStreamingDestination" + }, + { + "target": "com.amazonaws.dynamodb#ExecuteStatement" + }, + { + "target": "com.amazonaws.dynamodb#ExecuteTransaction" + }, + { + "target": "com.amazonaws.dynamodb#ExportTableToPointInTime" + }, + { + "target": "com.amazonaws.dynamodb#GetItem" + }, + { + "target": "com.amazonaws.dynamodb#GetResourcePolicy" + }, + { + "target": "com.amazonaws.dynamodb#ImportTable" + }, + { + "target": "com.amazonaws.dynamodb#ListBackups" + }, + { + "target": "com.amazonaws.dynamodb#ListContributorInsights" }, { "target": "com.amazonaws.dynamodb#ListExports" @@ -4012,6 +5409,603 @@ "smithy.api#xmlNamespace": { "uri": "http://dynamodb.amazonaws.com/doc/2012-08-10/" }, + "smithy.rules#endpointBdd": { + "version": "1.1", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "string" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "string" + }, + "AccountId": { + "builtIn": "AWS::Auth::AccountId", + "required": false, + "documentation": "The AWS AccountId used for the request.", + "type": "string" + }, + "AccountIdEndpointMode": { + "builtIn": "AWS::Auth::AccountIdEndpointMode", + "required": false, + "documentation": "The AccountId Endpoint Mode.", + "type": "string" + }, + "ResourceArn": { + "required": false, + "documentation": "ResourceArn containing arn of resource", + "type": "string" + }, + "ResourceArnList": { + "required": false, + "documentation": "ResourceArnList containing list of resource arns", + "type": "stringArray" + } + }, + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "local" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + }, + true + ] + }, + { + "fn": "stringEquals", + "argv": [ + "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "ResourceArn" + } + ] + }, + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "ResourceArn" + } + ], + "assign": "ParsedArn_ssa_2" + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_2" + }, + "region" + ] + }, + { + "ref": "Region" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_2" + }, + "service" + ] + }, + "dynamodb" + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_2" + }, + "accountId" + ] + }, + false + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_2" + }, + "region" + ] + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "ResourceArnList" + } + ] + }, + { + "fn": "getAttr", + "argv": [ + { + "ref": "ResourceArnList" + }, + "[0]" + ], + "assign": "FirstArn" + }, + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "FirstArn" + } + ], + "assign": "ParsedArn_ssa_1" + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_1" + }, + "region" + ] + }, + { + "ref": "Region" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_1" + }, + "service" + ] + }, + "dynamodb" + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_1" + }, + "accountId" + ] + }, + false + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn_ssa_1" + }, + "region" + ] + }, + false + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountId" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "required" + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "AccountId" + }, + false + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + } + ], + "results": [ + { + "conditions": [], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "{Endpoint}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "Invalid Configuration: FIPS and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "error": "Invalid Configuration: Dualstack and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "http://localhost:8000", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{ParsedArn_ssa_2#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{ParsedArn_ssa_1#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "Credentials-sourced account ID parameter is invalid", + "type": "error" + }, + { + "conditions": [], + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded", + "type": "error" + }, + { + "conditions": [], + "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{ParsedArn_ssa_2#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{ParsedArn_ssa_1#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "root": 67, + "nodeCount": 67, + "nodes": "/////wAAAAH/////AAAACAX14QMF9eEEAAAABgX14QIAAAACAAAABgX14QIF9eEEAAAAAwAAAAMAAAAEAAAAAgX14QEAAAAFAAAAGgX14QgF9eEJAAAACQAAAAcF9eEJAAAABwAAAAgF9eEKAAAAHAX14QsF9eEMAAAAGgX14QgAAAAKAAAACQAAAAsAAAAKAAAABgAAAAkAAAAMAAAABgX14QoF9eENAAAABQAAAA0AAAAOAAAABAX14QUAAAAPAAAAAwAAABAF9eEZAAAABgX14QYF9eEHAAAAGgX14RIF9eEUAAAAGwX14RAF9eERAAAAGQAAABQAAAATAAAAGAX14Q8AAAAVAAAAFwAAABYAAAAVAAAAFgAAABcAAAAVAAAAFQAAABgAAAAVAAAAFAAAABkAAAAVAAAAEwAAABoAAAAVAAAAEgAAABsAAAAVAAAAEQX14Q4AAAAcAAAAEAAAAB0AAAAcAAAADwAAAB4AAAAcAAAADgAAAB8AAAAcAAAADQAAACAAAAAcAAAADAAAACEAAAAcAAAACwAAABMAAAAiAAAAGgX14RMF9eEUAAAACgAAACMAAAAkAAAACQAAACUF9eEUAAAABwAAACYF9eEVAAAAGgX14RIF9eELAAAAGwX14RgF9eERAAAAGQAAACkAAAAoAAAAGAX14RcAAAAqAAAAFwAAACsAAAAqAAAAFgAAACwAAAAqAAAAFQAAAC0AAAAqAAAAFAAAAC4AAAAqAAAAEwAAAC8AAAAqAAAAEgAAADAAAAAqAAAAEQX14RYAAAAxAAAAEAAAADIAAAAxAAAADwAAADMAAAAxAAAADgAAADQAAAAxAAAADQAAADUAAAAxAAAADAAAADYAAAAxAAAACwAAACgAAAA3AAAAGgX14RMF9eELAAAACgAAADgAAAA5AAAACQAAADoF9eELAAAABgAAACcAAAA7AAAABAAAABIAAAA8AAAAAwAAAD0F9eEZAAAAAgAAABEAAAA+AAAAAQAAAAYAAAA/AAAAAgX14QEAAAAEAAAAAQAAAEEF9eEZAAAAAAAAAEAAAABC" + }, "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { @@ -4019,44 +6013,44 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "AccountId": { "builtIn": "AWS::Auth::AccountId", "required": false, "documentation": "The AWS AccountId used for the request.", - "type": "String" + "type": "string" }, "AccountIdEndpointMode": { "builtIn": "AWS::Auth::AccountIdEndpointMode", "required": false, "documentation": "The AccountId Endpoint Mode.", - "type": "String" + "type": "string" }, "ResourceArn": { "required": false, "documentation": "ResourceArn containing arn of resource", - "type": "String" + "type": "string" }, "ResourceArnList": { "required": false, @@ -4065,6 +6059,92 @@ } }, "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Endpoint" + }, + "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}" + ] + } + ], + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "{Endpoint}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [ { @@ -4137,22 +6217,190 @@ "fn": "aws.partition", "argv": [ { - "ref": "Region" + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "local" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and local endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": "http://localhost:8000", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "required" + ] + } + ], + "rules": [ + { + "conditions": [], + "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb-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" } ], - "assign": "PartitionResult" - } - ], - "rules": [ + "type": "tree" + }, { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" + "ref": "UseFIPS" }, - "local" + true ] } ], @@ -4163,61 +6411,130 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "error": "Invalid Configuration: FIPS and local endpoint are not supported", - "type": "error" - }, - { - "conditions": [ + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "required" + ] + } + ], + "rules": [ + { + "conditions": [], + "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", + "type": "error" + } + ], + "type": "tree" }, - true - ] + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "required" + ] + } + ], + "rules": [ + { + "conditions": [], + "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and local endpoint are not supported", - "type": "error" + "type": "tree" }, { "conditions": [], - "endpoint": { - "url": "http://localhost:8000", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "dynamodb", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ], "type": "tree" }, { "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, { "fn": "booleanEquals", "argv": [ @@ -4235,117 +6552,185 @@ "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "ResourceArn" + } + ] + }, + { + "fn": "aws.parseArn", + "argv": [ + { + "ref": "ResourceArn" + } + ], + "assign": "ParsedArn" + }, + { + "fn": "stringEquals", "argv": [ { - "ref": "PartitionResult" + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "service" + ] }, - "supportsFIPS" + "dynamodb" ] }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ { - "fn": "getAttr", + "fn": "isValidHostLabel", "argv": [ { - "ref": "PartitionResult" + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "region" + ] }, - "supportsDualStack" + false ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { - "fn": "isSet", + "fn": "stringEquals", "argv": [ { - "ref": "AccountIdEndpointMode" - } + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "region" + ] + }, + "{Region}" ] }, { - "fn": "stringEquals", + "fn": "isValidHostLabel", "argv": [ { - "ref": "AccountIdEndpointMode" + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "accountId" + ] }, - "required" + false ] } ], - "rules": [ - { - "conditions": [], - "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], "endpoint": { - "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, + "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, "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": [ + "conditions": [ { - "fn": "getAttr", + "fn": "isSet", "argv": [ { - "ref": "PartitionResult" - }, - "supportsFIPS" + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { "fn": "stringEquals", "argv": [ @@ -4358,51 +6743,121 @@ "name" ] }, - "aws-us-gov" + "aws" ] - } - ], - "rules": [ + }, { - "conditions": [ + "fn": "not", + "argv": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "AccountIdEndpointMode" - } + "ref": "UseFIPS" + }, + true ] + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "ResourceArnList" + } + ] + }, + { + "fn": "getAttr", + "argv": [ + { + "ref": "ResourceArnList" }, + "[0]" + ], + "assign": "FirstArn" + }, + { + "fn": "aws.parseArn", + "argv": [ { - "fn": "stringEquals", + "ref": "FirstArn" + } + ], + "assign": "ParsedArn" + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "ref": "AccountIdEndpointMode" + "ref": "ParsedArn" }, - "required" + "service" ] - } - ], - "rules": [ + }, + "dynamodb" + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ { - "conditions": [], - "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", - "type": "error" - } - ], - "type": "tree" + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "region" + ] + }, + false + ] }, { - "conditions": [], - "endpoint": { - "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "region" + ] + }, + "{Region}" + ] + }, + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "ParsedArn" + }, + "accountId" + ] + }, + false + ] } ], - "type": "tree" + "endpoint": { + "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [ @@ -4410,81 +6865,100 @@ "fn": "isSet", "argv": [ { - "ref": "AccountIdEndpointMode" + "ref": "AccountIdEndpointMode" + } + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "AccountIdEndpointMode" + }, + "disabled" + ] + } + ] + }, + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "not", + "argv": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] } ] }, { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "ref": "AccountIdEndpointMode" - }, - "required" + "ref": "AccountId" + } ] } ], "rules": [ + { + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "ref": "AccountId" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "metricValues": [ + "O" + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [], - "error": "Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported", + "error": "Credentials-sourced account ID parameter is invalid", "type": "error" } ], "type": "tree" }, - { - "conditions": [], - "endpoint": { - "url": "https://dynamodb-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": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - }, - true - ] - } - ], - "rules": [ { "conditions": [ { @@ -4524,9 +6998,36 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "rules": [ + { + "conditions": [], + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded", + "type": "error" + } + ], + "type": "tree" + }, { "conditions": [], - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported", + "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition", "type": "error" } ], @@ -4613,20 +7114,6 @@ } ] }, - { - "fn": "not", - "argv": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ] - }, { "fn": "isSet", "argv": [ @@ -4707,7 +7194,11 @@ ], "endpoint": { "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -4765,20 +7256,6 @@ } ] }, - { - "fn": "not", - "argv": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ] - }, { "fn": "isSet", "argv": [ @@ -4869,7 +7346,11 @@ ], "endpoint": { "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -4927,20 +7408,6 @@ } ] }, - { - "fn": "not", - "argv": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ] - }, { "fn": "isSet", "argv": [ @@ -4968,7 +7435,11 @@ "conditions": [], "endpoint": { "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -5026,51 +7497,25 @@ { "conditions": [ { - "fn": "not", + "fn": "stringEquals", "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - true + "name" ] - } + }, + "aws" ] } ], "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "aws" - ] - } - ], - "rules": [ - { - "conditions": [], - "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded", - "type": "error" - } - ], - "type": "tree" - }, { "conditions": [], - "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition", + "error": "AccountIdEndpointMode is required but no AccountID was provided or able to be loaded", "type": "error" } ], @@ -5078,7 +7523,7 @@ }, { "conditions": [], - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported", + "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition", "type": "error" } ], @@ -7866,9 +10311,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -7902,9 +10347,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -7954,9 +10399,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -7982,9 +10427,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8010,9 +10455,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8038,9 +10483,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8066,9 +10511,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8094,9 +10539,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8169,9 +10614,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8207,9 +10652,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8245,9 +10690,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8283,9 +10728,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8352,9 +10797,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8402,9 +10847,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8429,9 +10874,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8491,9 +10936,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8527,9 +10972,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8579,9 +11024,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8607,9 +11052,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8635,9 +11080,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8663,9 +11108,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8691,9 +11136,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8719,9 +11164,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8794,9 +11239,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8832,9 +11277,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8870,9 +11315,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8908,9 +11353,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -8977,9 +11422,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9027,9 +11472,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9054,9 +11499,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9116,9 +11561,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9152,9 +11597,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9204,9 +11649,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9232,9 +11677,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9260,9 +11705,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9288,9 +11733,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9316,9 +11761,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9344,9 +11789,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9419,9 +11864,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9457,9 +11902,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9495,9 +11940,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9533,9 +11978,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9602,9 +12047,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9652,9 +12097,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9679,9 +12124,9 @@ "properties": { "authSchemes": [ { - "signingName": "dynamodb", + "signingRegion": "us-east-1", "name": "sigv4", - "signingRegion": "us-east-1" + "signingName": "dynamodb" } ] }, @@ -9753,7 +12198,12 @@ "documentation": "{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-1.api.aws" + "properties": { + "metricValues": [ + "O" + ] + }, + "url": "https://111111111111.ddb.us-east-1.api.aws" } }, "operationInputs": [ @@ -9780,6 +12230,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -9807,6 +12262,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -9850,6 +12310,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -9869,6 +12334,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -9888,6 +12358,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -9907,6 +12382,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -9926,6 +12406,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10028,7 +12513,12 @@ "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-1.api.aws" + "properties": { + "metricValues": [ + "O" + ] + }, + "url": "https://222222222222.ddb.us-east-1.api.aws" } }, "operationInputs": [ @@ -10057,6 +12547,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10241,7 +12736,12 @@ "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { - "url": "https://dynamodb.us-east-1.api.aws" + "properties": { + "metricValues": [ + "O" + ] + }, + "url": "https://333333333333.ddb.us-east-1.api.aws" } }, "operationInputs": [ @@ -10282,6 +12782,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10323,6 +12828,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10404,7 +12914,14 @@ { "documentation": "{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported" + "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, + "url": "https://111111111111.ddb.us-east-1.api.aws" + } }, "operationInputs": [ { @@ -10430,6 +12947,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10457,6 +12979,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10500,6 +13027,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10519,6 +13051,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10538,6 +13075,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10557,6 +13099,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10576,6 +13123,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10673,7 +13225,14 @@ { "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported" + "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, + "url": "https://222222222222.ddb.us-east-1.api.aws" + } }, "operationInputs": [ { @@ -10701,6 +13260,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10874,7 +13438,14 @@ { "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported" + "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, + "url": "https://333333333333.ddb.us-east-1.api.aws" + } }, "operationInputs": [ { @@ -10914,6 +13485,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10955,6 +13531,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -11010,7 +13591,7 @@ { "documentation": "{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=cn-north-1}", "expect": { - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported" + "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition" }, "params": { "UseFIPS": false, @@ -11225,7 +13806,7 @@ { "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=cn-north-1}", "expect": { - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported" + "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition" }, "params": { "UseFIPS": false, @@ -11362,7 +13943,7 @@ { "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=cn-north-1}", "expect": { - "error": "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported" + "error": "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition" }, "params": { "UseFIPS": false, @@ -12607,6 +15188,21 @@ "Region": "cn-north-1" } }, + { + "documentation": "{UseFIPS=true, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "AccountId": "111111111111", + "AccountIdEndpointMode": "preferred", + "Region": "us-iso-east-1" + } + }, { "documentation": "{UseFIPS=true, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", "expect": { @@ -12622,6 +15218,21 @@ "Region": "us-iso-east-1" } }, + { + "documentation": "{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.api.aws.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "AccountId": "111111111111", + "AccountIdEndpointMode": "preferred", + "Region": "us-iso-east-1" + } + }, { "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", "expect": { @@ -12814,6 +15425,21 @@ "Region": "us-iso-east-1" } }, + { + "documentation": "{UseFIPS=true, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "ResourceArn": "arn:aws:dynamodb:us-east-1:222222222222:table/table_name", + "AccountIdEndpointMode": "preferred", + "Region": "us-iso-east-1" + } + }, { "documentation": "{UseFIPS=true, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", "expect": { @@ -12829,6 +15455,21 @@ "Region": "us-iso-east-1" } }, + { + "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.api.aws.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "ResourceArn": "arn:aws:dynamodb:us-east-1:222222222222:table/table_name", + "AccountIdEndpointMode": "preferred", + "Region": "us-iso-east-1" + } + }, { "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}", "expect": { @@ -12931,6 +15572,23 @@ "Region": "us-iso-east-1" } }, + { + "documentation": "{UseFIPS=true, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}", + "expect": { + "endpoint": { + "url": "https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "ResourceArnList": [ + "arn:aws:dynamodb:us-east-1:333333333333:table/table_name" + ], + "AccountIdEndpointMode": "preferred", + "Region": "us-iso-east-1" + } + }, { "documentation": "{UseFIPS=true, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}", "expect": { @@ -12948,6 +15606,23 @@ "Region": "us-iso-east-1" } }, + { + "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}", + "expect": { + "endpoint": { + "url": "https://dynamodb.us-iso-east-1.api.aws.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "ResourceArnList": [ + "arn:aws:dynamodb:us-east-1:333333333333:table/table_name" + ], + "AccountIdEndpointMode": "preferred", + "Region": "us-iso-east-1" + } + }, { "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}", "expect": { @@ -13528,6 +16203,80 @@ "AccountIdEndpointMode": "preferred", "Region": "us-gov-east-1" } + }, + { + "documentation": "{Endpoint=https://dynamodb.cn-north-1.api.amazonwebservices.com.cn, Region=cn-north-1}", + "expect": { + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" + }, + "params": { + "Endpoint": "https://dynamodb.cn-north-1.api.amazonwebservices.com.cn", + "Region": "cn-north-1" + } + }, + { + "documentation": "{Endpoint=https://dynamodb.us-gov-east-1.api.aws, Region=us-gov-east-1}", + "expect": { + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" + }, + "params": { + "Endpoint": "https://dynamodb.us-gov-east-1.api.aws", + "Region": "us-gov-east-1" + } + }, + { + "documentation": "{Endpoint=https://dynamodb.us-east-1.api.aws, Region=us-east-1}", + "expect": { + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" + }, + "params": { + "Endpoint": "https://dynamodb.us-east-1.api.aws", + "Region": "us-east-1" + } + }, + { + "documentation": "{Endpoint=https://111111111111.ddb.us-east-1.api.aws, Region=us-east-1}", + "expect": { + "endpoint": { + "url": "https://111111111111.ddb.us-east-1.api.aws" + } + }, + "params": { + "Endpoint": "https://111111111111.ddb.us-east-1.api.aws", + "Region": "us-east-1" + } + }, + { + "documentation": "{Endpoint=https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws, Region=us-east-1}", + "expect": { + "endpoint": { + "url": "https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws" + } + }, + "params": { + "Endpoint": "https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws", + "Region": "us-east-1" + } + }, + { + "documentation": "{Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1}", + "expect": { + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" + }, + "params": { + "Endpoint": "https://dynamodb.eu-west-1.api.aws", + "Region": "eu-west-1" + } + }, + { + "documentation": "{Endpoint=https://dynamodb.us-west-2.api.aws, Region=us-west-2}", + "expect": { + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" + }, + "params": { + "Endpoint": "https://dynamodb.us-west-2.api.aws", + "Region": "us-west-2" + } } ], "version": "1.0" @@ -14180,7 +16929,7 @@ "ClientToken": { "target": "com.amazonaws.dynamodb#ClientToken", "traits": { - "smithy.api#documentation": "Providing a ClientToken makes the call to\n ExportTableToPointInTimeInput idempotent, meaning that multiple\n identical calls have the same effect as one single call.
A client token is valid for 8 hours after the first request that uses it is completed.\n After 8 hours, any request with the same client token is treated as a new request. Do\n not resubmit the same request with the same client token for more than 8 hours, or the\n result might not be idempotent.
\nIf you submit a request with the same client token but a change in other parameters\n within the 8-hour idempotency window, DynamoDB returns an\n ImportConflictException.
Providing a ClientToken makes the call to\n ExportTableToPointInTimeInput idempotent, meaning that multiple\n identical calls have the same effect as one single call.
A client token is valid for 8 hours after the first request that uses it is completed.\n After 8 hours, any request with the same client token is treated as a new request. Do\n not resubmit the same request with the same client token for more than 8 hours, or the\n result might not be idempotent.
\nIf you submit a request with the same client token but a change in other parameters\n within the 8-hour idempotency window, DynamoDB returns an\n ExportConflictException.
The specified global table does not exist.
", - "smithy.api#error": "client" + }, + "traits": { + "smithy.api#documentation": "The specified global table does not exist.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.dynamodb#GlobalTableSettingsReplicationMode": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ENABLED_WITH_OVERRIDES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED_WITH_OVERRIDES" + } + } } }, "com.amazonaws.dynamodb#GlobalTableStatus": { @@ -15802,8 +18574,7 @@ }, "traits": { "smithy.api#length": { - "min": 1, - "max": 2 + "min": 1 } } }, @@ -16204,7 +18975,7 @@ } ], "traits": { - "smithy.api#documentation": "Lists completed exports within the past 90 days.
", + "smithy.api#documentation": "Lists completed exports within the past 90 days, in reverse alphanumeric order of ExportArn.
The set of attributes that are projected into the index:
\n\n KEYS_ONLY - Only the index and primary keys are projected into the\n index.
\n INCLUDE - In addition to the attributes described in\n KEYS_ONLY, the secondary index will include other non-key\n attributes that you specify.
\n ALL - All of the table attributes are projected into the\n index.
When using the DynamoDB console, ALL is selected by default.
Represents the non-key attribute names which will be projected into the index.
\nFor global and local secondary indexes, the total count of\n NonKeyAttributes summed across all of the secondary indexes, must not\n exceed 100. If you project the same attribute into two different indexes, this counts as\n two distinct attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can specify the\n ProjectionType of ALL to project all attributes from the source table, even\n if the table has more than 100 attributes.
Represents attributes that are copied (projected) from the table into an index. These\n are in addition to the primary key attributes and index key attributes, which are\n automatically projected.
" + } + }, + "com.amazonaws.dynamodb#ProjectionExpression": { + "type": "string" + }, + "com.amazonaws.dynamodb#ProjectionType": { + "type": "enum", + "members": { + "ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALL" + } + }, + "KEYS_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KEYS_ONLY" + } + }, + "INCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUDE" + } + } + } + }, + "com.amazonaws.dynamodb#ProvisionedThroughput": { + "type": "structure", + "members": { + "ReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", + "traits": { + "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. For more information, see Specifying\n Read and Write Requirements in the Amazon DynamoDB Developer\n Guide.
If read/write capacity mode is PAY_PER_REQUEST the value is set to\n 0.
The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException. For more information, see Specifying\n Read and Write Requirements in the Amazon DynamoDB Developer\n Guide.
If read/write capacity mode is PAY_PER_REQUEST the value is set to\n 0.
Represents the provisioned throughput settings for the specified global secondary\n index. You must use ProvisionedThroughput or\n OnDemandThroughput based on your table’s capacity mode.
For current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "com.amazonaws.dynamodb#ProvisionedThroughputDescription": { + "type": "structure", + "members": { + "LastIncreaseDateTime": { + "target": "com.amazonaws.dynamodb#Date", + "traits": { + "smithy.api#documentation": "The date and time of the last provisioned throughput increase for this table.
" + } + }, + "LastDecreaseDateTime": { + "target": "com.amazonaws.dynamodb#Date", + "traits": { + "smithy.api#documentation": "The date and time of the last provisioned throughput decrease for this table.
" + } + }, + "NumberOfDecreasesToday": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", + "traits": { + "smithy.api#documentation": "The number of provisioned throughput decreases for this table during this UTC calendar\n day. For current maximums on provisioned throughput decreases, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#NonNegativeLongObject", + "traits": { + "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. Eventually consistent reads require less\n effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits\n per second provides 100 eventually consistent ReadCapacityUnits per\n second.
The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.
Represents the provisioned throughput settings for the table, consisting of read and\n write capacity units, along with data about increases and decreases.
" + } + }, + "com.amazonaws.dynamodb#ProvisionedThroughputExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage", + "traits": { + "smithy.api#documentation": "You exceeded your maximum allowed provisioned throughput.
" + } + }, + "ThrottlingReasons": { + "target": "com.amazonaws.dynamodb#ThrottlingReasonList", + "traits": { + "smithy.api#documentation": "A list of ThrottlingReason that\n provide detailed diagnostic information about why the request was throttled.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "The request was denied due to request throttling. For detailed information about\n why the request was throttled and the ARN of the impacted resource, find the ThrottlingReason field in the returned exception. The Amazon Web Services\n SDKs for DynamoDB automatically retry requests that receive this exception.\n Your request is eventually successful, unless your retry queue is too large to finish.\n Reduce the frequency of requests and use exponential backoff. For more information, go\n to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.dynamodb#ProvisionedThroughputOverride": { + "type": "structure", + "members": { + "ReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", + "traits": { + "smithy.api#documentation": "Replica-specific read capacity units. If not specified, uses the source table's read\n capacity settings.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Replica-specific provisioned throughput settings. If not specified, uses the source\n table's provisioned throughput settings.
" + } + }, + "com.amazonaws.dynamodb#Put": { + "type": "structure", + "members": { + "Item": { + "target": "com.amazonaws.dynamodb#PutItemInputAttributeMap", + "traits": { + "smithy.api#documentation": "A map of attribute name to attribute values, representing the primary key of the item\n to be written by PutItem. All of the table's primary key attributes must be\n specified, and their data types must match those of the table's key schema. If any\n attributes are present in the item that are part of an index key schema for the table,\n their types must match the index key schema.
Name of the table in which to write the item. You can also provide the Amazon Resource Name (ARN) of\n the table in this parameter.
", + "smithy.api#required": {} + } + }, + "ConditionExpression": { + "target": "com.amazonaws.dynamodb#ConditionExpression", + "traits": { + "smithy.api#documentation": "A condition that must be satisfied in order for a conditional update to\n succeed.
" + } + }, + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "traits": { + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression.
" + } + }, + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "traits": { + "smithy.api#documentation": "One or more values that can be substituted in an expression.
" + } + }, + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "traits": { + "smithy.api#documentation": "Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n Put condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
Represents a request to perform a PutItem operation.
Creates a new item, or replaces an old item with a new item. If an item that has the\n same primary key as the new item already exists in the specified table, the new item\n completely replaces the existing item. You can perform a conditional put operation (add\n a new item if one with the specified primary key doesn't exist), or replace an existing\n item if it has certain attribute values. You can return the item's attribute values in\n the same operation, using the ReturnValues parameter.
When you add an item, the primary key attributes are the only required attributes.
\nEmpty String and Binary attribute values are allowed. Attribute values of type String\n and Binary must have a length greater than zero if the attribute is used as a key\n attribute for a table or index. Set type attributes cannot be empty.
\nInvalid Requests with empty values will be rejected with a\n ValidationException exception.
To prevent a new item from replacing an existing item, use a conditional\n expression that contains the attribute_not_exists function with the\n name of the attribute being used as the partition key for the table. Since every\n record must contain that attribute, the attribute_not_exists function\n will only succeed if no matching item exists.
To determine whether PutItem overwrote an existing item, use\n ReturnValues set to ALL_OLD. If the response includes\n the Attributes element, an existing item was overwritten.
For more information about PutItem, see Working with\n Items in the Amazon DynamoDB Developer Guide.
The set of attributes that are projected into the index:
\n\n KEYS_ONLY - Only the index and primary keys are projected into the\n index.
\n INCLUDE - In addition to the attributes described in\n KEYS_ONLY, the secondary index will include other non-key\n attributes that you specify.
\n ALL - All of the table attributes are projected into the\n index.
When using the DynamoDB console, ALL is selected by default.
The name of the table to contain the item. You can also provide the Amazon Resource Name (ARN) of the\n table in this parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "NonKeyAttributes": { - "target": "com.amazonaws.dynamodb#NonKeyAttributeNameList", - "traits": { - "smithy.api#documentation": "Represents the non-key attribute names which will be projected into the index.
\nFor global and local secondary indexes, the total count of\n NonKeyAttributes summed across all of the secondary indexes, must not\n exceed 100. If you project the same attribute into two different indexes, this counts as\n two distinct attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can specify the\n ProjectionType of ALL to project all attributes from the source table, even\n if the table has more than 100 attributes.
Represents attributes that are copied (projected) from the table into an index. These\n are in addition to the primary key attributes and index key attributes, which are\n automatically projected.
" - } - }, - "com.amazonaws.dynamodb#ProjectionExpression": { - "type": "string" - }, - "com.amazonaws.dynamodb#ProjectionType": { - "type": "enum", - "members": { - "ALL": { - "target": "smithy.api#Unit", + "Item": { + "target": "com.amazonaws.dynamodb#PutItemInputAttributeMap", "traits": { - "smithy.api#enumValue": "ALL" + "smithy.api#documentation": "A map of attribute name/value pairs, one for each attribute. Only the primary key\n attributes are required; you can optionally provide other attribute name-value pairs for\n the item.
\nYou must provide all of the attributes for the primary key. For example, with a simple\n primary key, you only need to provide a value for the partition key. For a composite\n primary key, you must provide both values for both the partition key and the sort\n key.
\nIf you specify any attributes that are part of an index key, then the data types for\n those attributes must match those of the schema in the table's attribute\n definition.
\nEmpty String and Binary attribute values are allowed. Attribute values of type String\n and Binary must have a length greater than zero if the attribute is used as a key\n attribute for a table or index.
\nFor more information about primary keys, see Primary Key in the Amazon DynamoDB Developer\n Guide.
\nEach element in the Item map is an AttributeValue\n object.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see Expected in the Amazon DynamoDB Developer\n Guide.
The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. For more information, see Specifying\n Read and Write Requirements in the Amazon DynamoDB Developer\n Guide.
If read/write capacity mode is PAY_PER_REQUEST the value is set to\n 0.
Use ReturnValues if you want to get the item attributes as they appeared\n before they were updated with the PutItem request. For\n PutItem, the valid values are:
\n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)
\n ALL_OLD - If PutItem overwrote an attribute name-value\n pair, then the content of the old item is returned.
The values returned are strongly consistent.
\nThere is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
\nThe ReturnValues parameter is used by several DynamoDB operations;\n however, PutItem does not recognize any values other than\n NONE or ALL_OLD.
The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException. For more information, see Specifying\n Read and Write Requirements in the Amazon DynamoDB Developer\n Guide.
If read/write capacity mode is PAY_PER_REQUEST the value is set to\n 0.
Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
Represents the provisioned throughput settings for the specified global secondary\n index. You must use ProvisionedThroughput or\n OnDemandThroughput based on your table’s capacity mode.
For current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" - } - }, - "com.amazonaws.dynamodb#ProvisionedThroughputDescription": { - "type": "structure", - "members": { - "LastIncreaseDateTime": { - "target": "com.amazonaws.dynamodb#Date", + }, + "ConditionalOperator": { + "target": "com.amazonaws.dynamodb#ConditionalOperator", "traits": { - "smithy.api#documentation": "The date and time of the last provisioned throughput increase for this table.
" + "smithy.api#documentation": "This is a legacy parameter. Use ConditionExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
The date and time of the last provisioned throughput decrease for this table.
" + "smithy.api#documentation": "A condition that must be satisfied in order for a conditional PutItem\n operation to succeed.
An expression can contain any of the following:
\nFunctions: attribute_exists | attribute_not_exists | attribute_type |\n contains | begins_with | size\n
These function names are case-sensitive.
\nComparison operators: = | <> |\n < | > | <= | >= |\n BETWEEN | IN \n
Logical operators: AND | OR | NOT\n
For more information on condition expressions, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" } }, - "NumberOfDecreasesToday": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", "traits": { - "smithy.api#documentation": "The number of provisioned throughput decreases for this table during this UTC calendar\n day. For current maximums on provisioned throughput decreases, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide). To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" } }, - "ReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#NonNegativeLongObject", + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", "traits": { - "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. Eventually consistent reads require less\n effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits\n per second provides 100 eventually consistent ReadCapacityUnits per\n second.
One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" } }, - "WriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#NonNegativeLongObject", + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", "traits": { - "smithy.api#documentation": "The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.
An optional parameter that returns the item attributes for a PutItem\n operation that failed a condition check.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" } } }, "traits": { - "smithy.api#documentation": "Represents the provisioned throughput settings for the table, consisting of read and\n write capacity units, along with data about increases and decreases.
" + "smithy.api#documentation": "Represents the input of a PutItem operation.
You exceeded your maximum allowed provisioned throughput.
" + "smithy.api#documentation": "The attribute values as they appeared before the PutItem operation, but\n only if ReturnValues is specified as ALL_OLD in the request.\n Each element consists of an attribute name and an attribute value.
A list of ThrottlingReason that\n provide detailed diagnostic information about why the request was throttled.\n
" + "smithy.api#documentation": "The capacity units consumed by the PutItem operation. The data returned\n includes the total provisioned throughput consumed, along with statistics for the table\n and any indexes involved in the operation. ConsumedCapacity is only\n returned if the ReturnConsumedCapacity parameter was specified. For more\n information, see Capacity unity consumption for write operations in the Amazon\n DynamoDB Developer Guide.
Information about item collections, if any, that were affected by the\n PutItem operation. ItemCollectionMetrics is only returned\n if the ReturnItemCollectionMetrics parameter was specified. If the table\n does not have any local secondary indexes, this information is not returned in the\n response.
Each ItemCollectionMetrics element consists of:
\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item itself.
\n SizeEstimateRangeGB - An estimate of item collection size, in\n gigabytes. This value is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on that table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nThe request was denied due to request throttling. For detailed information about\n why the request was throttled and the ARN of the impacted resource, find the ThrottlingReason field in the returned exception. The Amazon Web Services\n SDKs for DynamoDB automatically retry requests that receive this exception.\n Your request is eventually successful, unless your retry queue is too large to finish.\n Reduce the frequency of requests and use exponential backoff. For more information, go\n to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
", - "smithy.api#error": "client" + "smithy.api#documentation": "Represents the output of a PutItem operation.
Replica-specific read capacity units. If not specified, uses the source table's read\n capacity settings.
" + "smithy.api#documentation": "A map of attribute name to attribute values, representing the primary key of an item\n to be processed by PutItem. All of the table's primary key attributes must\n be specified, and their data types must match those of the table's key schema. If any\n attributes are present in the item that are part of an index key schema for the table,\n their types must match the index key schema.
Replica-specific provisioned throughput settings. If not specified, uses the source\n table's provisioned throughput settings.
" + "smithy.api#documentation": "Represents a request to perform a PutItem operation on an item.
Attaches a resource-based policy document to the resource, which can be a table or\n stream. When you attach a resource-based policy using this API, the policy application\n is \n eventually consistent\n .
\n\n PutResourcePolicy is an idempotent operation; running it multiple times\n on the same resource using the same policy document will return the same revision ID. If\n you specify an ExpectedRevisionId that doesn't match the current policy's\n RevisionId, the PolicyNotFoundException will be\n returned.
\n PutResourcePolicy is an asynchronous operation. If you issue a\n GetResourcePolicy request immediately after a\n PutResourcePolicy request, DynamoDB might return your\n previous policy, if there was one, or return the\n PolicyNotFoundException. This is because\n GetResourcePolicy uses an eventually consistent query, and the\n metadata for your policy or table might not be available at that moment. Wait for a\n few seconds, and then try the GetResourcePolicy request again.
A map of attribute name to attribute values, representing the primary key of the item\n to be written by PutItem. All of the table's primary key attributes must be\n specified, and their data types must match those of the table's key schema. If any\n attributes are present in the item that are part of an index key schema for the table,\n their types must match the index key schema.
The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy will be attached.\n The resources you can specify include tables and streams.
\nYou 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.
Name of the table in which to write the item. You can also provide the Amazon Resource Name (ARN) of\n the table in this parameter.
", + "smithy.api#documentation": "An Amazon Web Services resource-based policy document in JSON format.
\nThe maximum size supported for a resource-based policy document is 20 KB.\n DynamoDB counts whitespaces when calculating the size of a policy\n against this limit.
\nWithin a resource-based policy, if the action for a DynamoDB\n service-linked role (SLR) to replicate data for a global table is denied, adding\n or deleting a replica will fail with an error.
\nFor a full list of all considerations that apply while attaching a resource-based\n policy, see Resource-based\n policy considerations.
", "smithy.api#required": {} } }, - "ConditionExpression": { - "target": "com.amazonaws.dynamodb#ConditionExpression", - "traits": { - "smithy.api#documentation": "A condition that must be satisfied in order for a conditional update to\n succeed.
" - } - }, - "ExpressionAttributeNames": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "ExpectedRevisionId": { + "target": "com.amazonaws.dynamodb#PolicyRevisionId", "traits": { - "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression.
" + "smithy.api#documentation": "A string value that you can use to conditionally update your policy. You can provide\n the revision ID of your existing policy to make mutating requests against that\n policy.
\nWhen you provide an expected revision ID, if the revision ID of the existing\n policy on the resource doesn't match or if there's no policy attached to the\n resource, your request will be rejected with a\n PolicyNotFoundException.
To conditionally attach a policy when no policy exists for the resource, specify\n NO_POLICY for the revision ID.
One or more values that can be substituted in an expression.
" + "smithy.api#default": false, + "smithy.api#documentation": "Set this parameter to true to confirm that you want to remove your\n permissions to change the policy of this resource in the future.
Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n Put condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.
" } } }, "traits": { - "smithy.api#documentation": "Represents a request to perform a PutItem operation.
Creates a new item, or replaces an old item with a new item. If an item that has the\n same primary key as the new item already exists in the specified table, the new item\n completely replaces the existing item. You can perform a conditional put operation (add\n a new item if one with the specified primary key doesn't exist), or replace an existing\n item if it has certain attribute values. You can return the item's attribute values in\n the same operation, using the ReturnValues parameter.
When you add an item, the primary key attributes are the only required attributes.
\nEmpty String and Binary attribute values are allowed. Attribute values of type String\n and Binary must have a length greater than zero if the attribute is used as a key\n attribute for a table or index. Set type attributes cannot be empty.
\nInvalid Requests with empty values will be rejected with a\n ValidationException exception.
To prevent a new item from replacing an existing item, use a conditional\n expression that contains the attribute_not_exists function with the\n name of the attribute being used as the partition key for the table. Since every\n record must contain that attribute, the attribute_not_exists function\n will only succeed if no matching item exists.
For more information about PutItem, see Working with\n Items in the Amazon DynamoDB Developer Guide.
You must provide the name of the partition key attribute and a single value for that\n attribute. Query returns all items with that partition key value.\n Optionally, you can provide a sort key attribute and use a comparison operator to refine\n the search results.
Use the KeyConditionExpression parameter to provide a specific value for\n the partition key. The Query operation will return all of the items from\n the table or index with that partition key value. You can optionally narrow the scope of\n the Query operation by specifying a sort key value and a comparison\n operator in KeyConditionExpression. To further refine the\n Query results, you can optionally provide a\n FilterExpression. A FilterExpression determines which\n items within the results should be returned to you. All of the other results are\n discarded.
A Query operation always returns a result set. If no matching items are\n found, the result set will be empty. Queries that do not return results consume the\n minimum number of read capacity units for that type of read operation.
DynamoDB calculates the number of read capacity units consumed based on item\n size, not on the amount of data that is returned to an application. The number of\n capacity units consumed will be the same whether you request all of the attributes\n (the default behavior) or just some of them (using a projection expression). The\n number will also be the same whether or not you use a FilterExpression.\n
\n Query results are always sorted by the sort key value. If the data type of\n the sort key is Number, the results are returned in numeric order; otherwise, the\n results are returned in order of UTF-8 bytes. By default, the sort order is ascending.\n To reverse the order, set the ScanIndexForward parameter to false.
A single Query operation will read up to the maximum number of items set\n (if using the Limit parameter) or a maximum of 1 MB of data and then apply\n any filtering to the results using FilterExpression. If\n LastEvaluatedKey is present in the response, you will need to paginate\n the result set. For more information, see Paginating\n the Results in the Amazon DynamoDB Developer Guide.
\n FilterExpression is applied after a Query finishes, but before\n the results are returned. A FilterExpression cannot contain partition key\n or sort key attributes. You need to specify those attributes in the\n KeyConditionExpression.
A Query operation can return an empty result set and a\n LastEvaluatedKey if all the items read for the page of results are\n filtered out.
You can query a table, a local secondary index, or a global secondary index. For a\n query on a table or on a local secondary index, you can set the\n ConsistentRead parameter to true and obtain a strongly\n consistent result. Global secondary indexes support eventually consistent reads only, so\n do not specify ConsistentRead when querying a global secondary\n index.
The name of the table to contain the item. You can also provide the Amazon Resource Name (ARN) of the\n table in this parameter.
", + "smithy.api#documentation": "The name of the table containing the requested items. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "Item": { - "target": "com.amazonaws.dynamodb#PutItemInputAttributeMap", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "A map of attribute name/value pairs, one for each attribute. Only the primary key\n attributes are required; you can optionally provide other attribute name-value pairs for\n the item.
\nYou must provide all of the attributes for the primary key. For example, with a simple\n primary key, you only need to provide a value for the partition key. For a composite\n primary key, you must provide both values for both the partition key and the sort\n key.
\nIf you specify any attributes that are part of an index key, then the data types for\n those attributes must match those of the schema in the table's attribute\n definition.
\nEmpty String and Binary attribute values are allowed. Attribute values of type String\n and Binary must have a length greater than zero if the attribute is used as a key\n attribute for a table or index.
\nFor more information about primary keys, see Primary Key in the Amazon DynamoDB Developer\n Guide.
\nEach element in the Item map is an AttributeValue\n object.
The name of an index to query. This index can be any local secondary index or global\n secondary index on the table. Note that if you use the IndexName parameter,\n you must also provide TableName.\n
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see Expected in the Amazon DynamoDB Developer\n Guide.
The attributes to be returned in the result. You can retrieve all item attributes,\n specific item attributes, the count of matching items, or in the case of an index, some\n or all of the attributes projected into the index.
\n\n ALL_ATTRIBUTES - Returns all of the item attributes from the\n specified table or index. If you query a local secondary index, then for each\n matching item in the index, DynamoDB fetches the entire item from the parent\n table. If the index is configured to project all item attributes, then all of\n the data can be obtained from the local secondary index, and no fetching is\n required.
\n ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index.\n Retrieves all attributes that have been projected into the index. If the index\n is configured to project all attributes, this return value is equivalent to\n specifying ALL_ATTRIBUTES.
\n COUNT - Returns the number of matching items, rather than the\n matching items themselves. Note that this uses the same quantity of read\n capacity units as getting the items, and is subject to the same item size\n calculations.
\n SPECIFIC_ATTRIBUTES - Returns only the attributes listed in\n ProjectionExpression. This return value is equivalent to\n specifying ProjectionExpression without specifying any value for\n Select.
If you query or scan a local secondary index and request only attributes that\n are projected into that index, the operation will read only the index and not\n the table. If any of the requested attributes are not projected into the local\n secondary index, DynamoDB fetches each of these attributes from the parent\n table. This extra fetching incurs additional throughput cost and latency.
\nIf you query or scan a global secondary index, you can only request attributes\n that are projected into the index. Global secondary index queries cannot fetch\n attributes from the parent table.
\nIf neither Select nor ProjectionExpression are specified,\n DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and\n ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both\n Select and ProjectionExpression together in a single\n request, unless the value for Select is SPECIFIC_ATTRIBUTES.\n (This usage is equivalent to specifying ProjectionExpression without any\n value for Select.)
If you use the ProjectionExpression parameter, then the value for\n Select can only be SPECIFIC_ATTRIBUTES. Any other\n value for Select will return an error.
Use ReturnValues if you want to get the item attributes as they appeared\n before they were updated with the PutItem request. For\n PutItem, the valid values are:
\n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)
\n ALL_OLD - If PutItem overwrote an attribute name-value\n pair, then the content of the old item is returned.
The values returned are strongly consistent.
\nThere is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
\nThe ReturnValues parameter is used by several DynamoDB operations;\n however, PutItem does not recognize any values other than\n NONE or ALL_OLD.
This is a legacy parameter. Use ProjectionExpression instead. For more\n information, see AttributesToGet in the Amazon DynamoDB Developer\n Guide.
The maximum number of items to evaluate (not necessarily the number of matching\n items). If DynamoDB processes the number of items up to the limit while processing the\n results, it stops the operation and returns the matching values up to that point, and a\n key in LastEvaluatedKey to apply in a subsequent operation, so that you can\n pick up where you left off. Also, if the processed dataset size exceeds 1 MB before\n DynamoDB reaches this limit, it stops the operation and returns the matching values up\n to the limit, and a key in LastEvaluatedKey to apply in a subsequent\n operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer\n Guide.
Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
Determines the read consistency model: If set to true, then the operation\n uses strongly consistent reads; otherwise, the operation uses eventually consistent\n reads.
Strongly consistent reads are not supported on global secondary indexes. If you query\n a global secondary index with ConsistentRead set to true, you\n will receive a ValidationException.
This is a legacy parameter. Use KeyConditionExpression instead. For more\n information, see KeyConditions in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use FilterExpression instead. For more\n information, see QueryFilter in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use FilterExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
Specifies the order for index traversal: If true (default), the traversal\n is performed in ascending order; if false, the traversal is performed in\n descending order.
Items with the same partition key value are stored in sorted order by sort key. If the\n sort key data type is Number, the results are stored in numeric order. For type String,\n the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each\n byte of the binary data as unsigned.
\nIf ScanIndexForward is true, DynamoDB returns the results in\n the order in which they are stored (by sort key value). This is the default behavior. If\n ScanIndexForward is false, DynamoDB reads the results in\n reverse order by sort key value, and then returns the results to the client.
The primary key of the first item that this operation will evaluate. Use the value\n that was returned for LastEvaluatedKey in the previous operation.
The data type for ExclusiveStartKey must be String, Number, or Binary. No\n set data types are allowed.
A string that identifies one or more attributes to retrieve from the table. These\n attributes can include scalars, sets, or elements of a JSON document. The attributes in\n the expression must be separated by commas.
\nIf no attribute names are specified, then all attributes will be returned. If any of\n the requested attributes are not found, they will not appear in the result.
\nFor more information, see Accessing Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "FilterExpression": { "target": "com.amazonaws.dynamodb#ConditionExpression", "traits": { - "smithy.api#documentation": "A condition that must be satisfied in order for a conditional PutItem\n operation to succeed.
An expression can contain any of the following:
\nFunctions: attribute_exists | attribute_not_exists | attribute_type |\n contains | begins_with | size\n
These function names are case-sensitive.
\nComparison operators: = | <> |\n < | > | <= | >= |\n BETWEEN | IN \n
Logical operators: AND | OR | NOT\n
For more information on condition expressions, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "A string that contains conditions that DynamoDB applies after the Query\n operation, but before the data is returned to you. Items that do not satisfy the\n FilterExpression criteria are not returned.
A FilterExpression does not allow key attributes. You cannot define a\n filter expression based on a partition key or a sort key.
A FilterExpression is applied after the items have already been read;\n the process of filtering does not consume any additional read capacity units.
For more information, see Filter\n Expressions in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "KeyConditionExpression": { + "target": "com.amazonaws.dynamodb#KeyExpression", + "traits": { + "smithy.api#documentation": "The condition that specifies the key values for items to be retrieved by the\n Query action.
The condition must perform an equality test on a single partition key value.
\nThe condition can optionally perform one of several comparison tests on a single sort\n key value. This allows Query to retrieve one item with a given partition\n key value and sort key value, or several items that have the same partition key value\n but different sort key values.
The partition key equality test is required, and must be specified in the following\n format:
\n\n partitionKeyName\n =\n :partitionkeyval\n
If you also want to provide a condition for the sort key, it must be combined using\n AND with the condition for the sort key. Following is an example, using\n the = comparison operator for the sort key:
\n partitionKeyName\n =\n :partitionkeyval\n AND\n sortKeyName\n =\n :sortkeyval\n
Valid comparisons for the sort key condition are as follows:
\n\n sortKeyName\n =\n :sortkeyval - true if the sort key value is equal to\n :sortkeyval.
\n sortKeyName\n <\n :sortkeyval - true if the sort key value is less than\n :sortkeyval.
\n sortKeyName\n <=\n :sortkeyval - true if the sort key value is less than or equal to\n :sortkeyval.
\n sortKeyName\n >\n :sortkeyval - true if the sort key value is greater than\n :sortkeyval.
\n sortKeyName\n >= \n :sortkeyval - true if the sort key value is greater than or equal\n to :sortkeyval.
\n sortKeyName\n BETWEEN\n :sortkeyval1\n AND\n :sortkeyval2 - true if the sort key value is greater than or equal\n to :sortkeyval1, and less than or equal to\n :sortkeyval2.
\n begins_with (\n sortKeyName, :sortkeyval\n ) - true if the sort key value begins with a particular operand.\n (You cannot use this function with a sort key that is of type Number.) Note that\n the function name begins_with is case-sensitive.
Use the ExpressionAttributeValues parameter to replace tokens such as\n :partitionval and :sortval with actual values at\n runtime.
You can optionally use the ExpressionAttributeNames parameter to replace\n the names of the partition key and sort key with placeholder tokens. This option might\n be necessary if an attribute name conflicts with a DynamoDB reserved word. For example,\n the following KeyConditionExpression parameter causes an error because\n Size is a reserved word:
\n Size = :myval\n
To work around this, define a placeholder (such a #S) to represent the\n attribute name Size. KeyConditionExpression then is as\n follows:
\n #S = :myval\n
For a list of reserved words, see Reserved Words\n in the Amazon DynamoDB Developer Guide.
\nFor more information on ExpressionAttributeNames and\n ExpressionAttributeValues, see Using\n Placeholders for Attribute Names and Values in the Amazon DynamoDB\n Developer Guide.
One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer\n Guide.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of a Query operation.
An array of item attributes that match the query criteria. Each element in this array\n consists of an attribute name and the value for that attribute.
" } }, - "ReturnValuesOnConditionCheckFailure": { - "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "Count": { + "target": "com.amazonaws.dynamodb#Integer", "traits": { - "smithy.api#documentation": "An optional parameter that returns the item attributes for a PutItem\n operation that failed a condition check.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" + "smithy.api#default": 0, + "smithy.api#documentation": "The number of items in the response.
\nIf you used a QueryFilter in the request, then Count is the\n number of items returned after the filter was applied, and ScannedCount is\n the number of matching items before the filter was applied.
If you did not use a filter in the request, then Count and\n ScannedCount are the same.
The number of items evaluated, before any QueryFilter is applied. A high\n ScannedCount value with few, or no, Count results\n indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer\n Guide.
If you did not use a filter in the request, then ScannedCount is the same\n as Count.
The primary key of the item where the operation stopped, inclusive of the previous\n result set. Use this value to start a new operation, excluding this value in the new\n request.
\nIf LastEvaluatedKey is empty, then the \"last page\" of results has been\n processed and there is no more data to be retrieved.
If LastEvaluatedKey is not empty, it does not necessarily mean that there\n is more data in the result set. The only way to know when you have reached the end of\n the result set is when LastEvaluatedKey is empty.
The capacity units consumed by the Query operation. The data returned\n includes the total provisioned throughput consumed, along with statistics for the table\n and any indexes involved in the operation. ConsumedCapacity is only\n returned if the ReturnConsumedCapacity parameter was specified. For more\n information, see Capacity unit consumption for read operations in the Amazon\n DynamoDB Developer Guide.
Represents the input of a PutItem operation.
Represents the output of a Query operation.
The Region where the replica needs to be created.
" + } + } }, - "value": { - "target": "com.amazonaws.dynamodb#AttributeValue" + "traits": { + "smithy.api#documentation": "Represents the properties of a replica.
" } }, - "com.amazonaws.dynamodb#PutItemOutput": { + "com.amazonaws.dynamodb#ReplicaAlreadyExistsException": { "type": "structure", "members": { - "Attributes": { - "target": "com.amazonaws.dynamodb#AttributeMap", + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "The specified replica is already part of the global table.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.dynamodb#ReplicaAutoScalingDescription": { + "type": "structure", + "members": { + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "The attribute values as they appeared before the PutItem operation, but\n only if ReturnValues is specified as ALL_OLD in the request.\n Each element consists of an attribute name and an attribute value.
The Region where the replica exists.
" } }, - "ConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ConsumedCapacity", + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescriptionList", "traits": { - "smithy.api#documentation": "The capacity units consumed by the PutItem operation. The data returned\n includes the total provisioned throughput consumed, along with statistics for the table\n and any indexes involved in the operation. ConsumedCapacity is only\n returned if the ReturnConsumedCapacity parameter was specified. For more\n information, see Capacity unity consumption for write operations in the Amazon\n DynamoDB Developer Guide.
Replica-specific global secondary index auto scaling settings.
" } }, - "ItemCollectionMetrics": { - "target": "com.amazonaws.dynamodb#ItemCollectionMetrics", + "ReplicaProvisionedReadCapacityAutoScalingSettings": { + "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription" + }, + "ReplicaProvisionedWriteCapacityAutoScalingSettings": { + "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription" + }, + "ReplicaStatus": { + "target": "com.amazonaws.dynamodb#ReplicaStatus", "traits": { - "smithy.api#documentation": "Information about item collections, if any, that were affected by the\n PutItem operation. ItemCollectionMetrics is only returned\n if the ReturnItemCollectionMetrics parameter was specified. If the table\n does not have any local secondary indexes, this information is not returned in the\n response.
Each ItemCollectionMetrics element consists of:
\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item itself.
\n SizeEstimateRangeGB - An estimate of item collection size, in\n gigabytes. This value is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on that table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nThe current state of the replica:
\n\n CREATING - The replica is being created.
\n UPDATING - The replica is being updated.
\n DELETING - The replica is being deleted.
\n ACTIVE - The replica is ready for use.
Represents the output of a PutItem operation.
Represents the auto scaling settings of the replica.
" } }, - "com.amazonaws.dynamodb#PutRequest": { + "com.amazonaws.dynamodb#ReplicaAutoScalingDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaAutoScalingDescription" + } + }, + "com.amazonaws.dynamodb#ReplicaAutoScalingUpdate": { "type": "structure", "members": { - "Item": { - "target": "com.amazonaws.dynamodb#PutItemInputAttributeMap", + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "A map of attribute name to attribute values, representing the primary key of an item\n to be processed by PutItem. All of the table's primary key attributes must\n be specified, and their data types must match those of the table's key schema. If any\n attributes are present in the item that are part of an index key schema for the table,\n their types must match the index key schema.
The Region where the replica exists.
", "smithy.api#required": {} } + }, + "ReplicaGlobalSecondaryIndexUpdates": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingUpdateList", + "traits": { + "smithy.api#documentation": "Represents the auto scaling settings of global secondary indexes that will be\n modified.
" + } + }, + "ReplicaProvisionedReadCapacityAutoScalingUpdate": { + "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate" } }, "traits": { - "smithy.api#documentation": "Represents a request to perform a PutItem operation on an item.
Represents the auto scaling settings of a replica that will be modified.
" } }, - "com.amazonaws.dynamodb#PutResourcePolicy": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#PutResourcePolicyInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#PutResourcePolicyOutput" + "com.amazonaws.dynamodb#ReplicaAutoScalingUpdateList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaAutoScalingUpdate" }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#LimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#PolicyNotFoundException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceInUseException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - } - ], "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "Attaches a resource-based policy document to the resource, which can be a table or\n stream. When you attach a resource-based policy using this API, the policy application\n is \n eventually consistent\n .
\n\n PutResourcePolicy is an idempotent operation; running it multiple times\n on the same resource using the same policy document will return the same revision ID. If\n you specify an ExpectedRevisionId that doesn't match the current policy's\n RevisionId, the PolicyNotFoundException will be\n returned.
\n PutResourcePolicy is an asynchronous operation. If you issue a\n GetResourcePolicy request immediately after a\n PutResourcePolicy request, DynamoDB might return your\n previous policy, if there was one, or return the\n PolicyNotFoundException. This is because\n GetResourcePolicy uses an eventually consistent query, and the\n metadata for your policy or table might not be available at that moment. Wait for a\n few seconds, and then try the GetResourcePolicy request again.
The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy will be attached.\n The resources you can specify include tables and streams.
\nYou 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.
The name of the Region.
" } }, - "Policy": { - "target": "com.amazonaws.dynamodb#ResourcePolicy", + "ReplicaStatus": { + "target": "com.amazonaws.dynamodb#ReplicaStatus", "traits": { - "smithy.api#documentation": "An Amazon Web Services resource-based policy document in JSON format.
\nThe maximum size supported for a resource-based policy document is 20 KB.\n DynamoDB counts whitespaces when calculating the size of a policy\n against this limit.
\nWithin a resource-based policy, if the action for a DynamoDB\n service-linked role (SLR) to replicate data for a global table is denied, adding\n or deleting a replica will fail with an error.
\nFor a full list of all considerations that apply while attaching a resource-based\n policy, see Resource-based\n policy considerations.
", - "smithy.api#required": {} + "smithy.api#documentation": "The current state of the replica:
\n\n CREATING - The replica is being created.
\n UPDATING - The replica is being updated.
\n DELETING - The replica is being deleted.
\n ACTIVE - The replica is ready for use.
\n REGION_DISABLED - The replica is inaccessible because the Amazon Web Services Region has been disabled.
If the Amazon Web Services Region remains inaccessible for more than 20\n hours, DynamoDB will remove this replica from the replication\n group. The replica will not be deleted and replication will stop from and to\n this region.
\n\n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key\n used to encrypt the table is inaccessible.
If the KMS key remains inaccessible for more than 20 hours,\n DynamoDB will remove this replica from the replication group.\n The replica will not be deleted and replication will stop from and to this\n region.
\nA string value that you can use to conditionally update your policy. You can provide\n the revision ID of your existing policy to make mutating requests against that\n policy.
\nWhen you provide an expected revision ID, if the revision ID of the existing\n policy on the resource doesn't match or if there's no policy attached to the\n resource, your request will be rejected with a\n PolicyNotFoundException.
To conditionally attach a policy when no policy exists for the resource, specify\n NO_POLICY for the revision ID.
The Amazon Resource Name (ARN) of the global table replica.
" } }, - "ConfirmRemoveSelfResourceAccess": { - "target": "com.amazonaws.dynamodb#ConfirmRemoveSelfResourceAccess", + "ReplicaStatusDescription": { + "target": "com.amazonaws.dynamodb#ReplicaStatusDescription", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "Set this parameter to true to confirm that you want to remove your\n permissions to change the policy of this resource in the future.
Detailed information about the replica status.
" } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.dynamodb#PutResourcePolicyOutput": { - "type": "structure", - "members": { - "RevisionId": { - "target": "com.amazonaws.dynamodb#PolicyRevisionId", + }, + "ReplicaStatusPercentProgress": { + "target": "com.amazonaws.dynamodb#ReplicaStatusPercentProgress", "traits": { - "smithy.api#documentation": "A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.
" + "smithy.api#documentation": "Specifies the progress of a Create, Update, or Delete action on the replica as a\n percentage.
" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.dynamodb#Query": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#QueryInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#QueryOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" + "KMSMasterKeyId": { + "target": "com.amazonaws.dynamodb#KMSMasterKeyId", + "traits": { + "smithy.api#documentation": "The KMS key of the replica that will be used for KMS\n encryption.
" + } }, - { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + "ProvisionedThroughputOverride": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputOverride", + "traits": { + "smithy.api#documentation": "Replica-specific provisioned throughput. If not described, uses the source table's\n provisioned throughput settings.
" + } }, - { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "traits": { + "smithy.api#documentation": "Overrides the maximum on-demand throughput settings for the specified replica\n table.
" + } }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "WarmThroughput": { + "target": "com.amazonaws.dynamodb#TableWarmThroughputDescription", + "traits": { + "smithy.api#documentation": "Represents the warm throughput value for this replica.
" + } }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" - } - ], - "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescriptionList", + "traits": { + "smithy.api#documentation": "Replica-specific global secondary index settings.
" + } }, - "smithy.api#documentation": "You must provide the name of the partition key attribute and a single value for that\n attribute. Query returns all items with that partition key value.\n Optionally, you can provide a sort key attribute and use a comparison operator to refine\n the search results.
Use the KeyConditionExpression parameter to provide a specific value for\n the partition key. The Query operation will return all of the items from\n the table or index with that partition key value. You can optionally narrow the scope of\n the Query operation by specifying a sort key value and a comparison\n operator in KeyConditionExpression. To further refine the\n Query results, you can optionally provide a\n FilterExpression. A FilterExpression determines which\n items within the results should be returned to you. All of the other results are\n discarded.
A Query operation always returns a result set. If no matching items are\n found, the result set will be empty. Queries that do not return results consume the\n minimum number of read capacity units for that type of read operation.
DynamoDB calculates the number of read capacity units consumed based on item\n size, not on the amount of data that is returned to an application. The number of\n capacity units consumed will be the same whether you request all of the attributes\n (the default behavior) or just some of them (using a projection expression). The\n number will also be the same whether or not you use a FilterExpression.\n
\n Query results are always sorted by the sort key value. If the data type of\n the sort key is Number, the results are returned in numeric order; otherwise, the\n results are returned in order of UTF-8 bytes. By default, the sort order is ascending.\n To reverse the order, set the ScanIndexForward parameter to false.
A single Query operation will read up to the maximum number of items set\n (if using the Limit parameter) or a maximum of 1 MB of data and then apply\n any filtering to the results using FilterExpression. If\n LastEvaluatedKey is present in the response, you will need to paginate\n the result set. For more information, see Paginating\n the Results in the Amazon DynamoDB Developer Guide.
\n FilterExpression is applied after a Query finishes, but before\n the results are returned. A FilterExpression cannot contain partition key\n or sort key attributes. You need to specify those attributes in the\n KeyConditionExpression.
A Query operation can return an empty result set and a\n LastEvaluatedKey if all the items read for the page of results are\n filtered out.
You can query a table, a local secondary index, or a global secondary index. For a\n query on a table or on a local secondary index, you can set the\n ConsistentRead parameter to true and obtain a strongly\n consistent result. Global secondary indexes support eventually consistent reads only, so\n do not specify ConsistentRead when querying a global secondary\n index.
The time at which the replica was first detected as inaccessible. To determine cause\n of inaccessibility check the ReplicaStatus property.
Indicates one of the settings synchronization modes for the global table replica:
\n\n ENABLED: Indicates that the settings synchronization mode for the global table\n replica is enabled.
\n DISABLED: Indicates that the settings synchronization mode for the global table\n replica is disabled.
\n ENABLED_WITH_OVERRIDES: This mode is set by default for a same account global table.\n Indicates that certain global table settings can be overridden.
Contains the details of the replica.
" } }, - "com.amazonaws.dynamodb#QueryInput": { + "com.amazonaws.dynamodb#ReplicaDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaDescription" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndex": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The name of the table containing the requested items. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The name of the global secondary index.
", + "smithy.api#required": {} + } + }, + "ProvisionedThroughputOverride": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputOverride", + "traits": { + "smithy.api#documentation": "Replica table GSI-specific provisioned throughput. If not specified, uses the source\n table GSI's read capacity settings.
" } }, + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "traits": { + "smithy.api#documentation": "Overrides the maximum on-demand throughput settings for the specified global secondary\n index in the specified replica table.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Represents the properties of a replica global secondary index.
" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescription": { + "type": "structure", + "members": { "IndexName": { "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The name of an index to query. This index can be any local secondary index or global\n secondary index on the table. Note that if you use the IndexName parameter,\n you must also provide TableName.\n
The attributes to be returned in the result. You can retrieve all item attributes,\n specific item attributes, the count of matching items, or in the case of an index, some\n or all of the attributes projected into the index.
\n\n ALL_ATTRIBUTES - Returns all of the item attributes from the\n specified table or index. If you query a local secondary index, then for each\n matching item in the index, DynamoDB fetches the entire item from the parent\n table. If the index is configured to project all item attributes, then all of\n the data can be obtained from the local secondary index, and no fetching is\n required.
\n ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index.\n Retrieves all attributes that have been projected into the index. If the index\n is configured to project all attributes, this return value is equivalent to\n specifying ALL_ATTRIBUTES.
\n COUNT - Returns the number of matching items, rather than the\n matching items themselves. Note that this uses the same quantity of read\n capacity units as getting the items, and is subject to the same item size\n calculations.
\n SPECIFIC_ATTRIBUTES - Returns only the attributes listed in\n ProjectionExpression. This return value is equivalent to\n specifying ProjectionExpression without specifying any value for\n Select.
If you query or scan a local secondary index and request only attributes that\n are projected into that index, the operation will read only the index and not\n the table. If any of the requested attributes are not projected into the local\n secondary index, DynamoDB fetches each of these attributes from the parent\n table. This extra fetching incurs additional throughput cost and latency.
\nIf you query or scan a global secondary index, you can only request attributes\n that are projected into the index. Global secondary index queries cannot fetch\n attributes from the parent table.
\nIf neither Select nor ProjectionExpression are specified,\n DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and\n ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both\n Select and ProjectionExpression together in a single\n request, unless the value for Select is SPECIFIC_ATTRIBUTES.\n (This usage is equivalent to specifying ProjectionExpression without any\n value for Select.)
If you use the ProjectionExpression parameter, then the value for\n Select can only be SPECIFIC_ATTRIBUTES. Any other\n value for Select will return an error.
The name of the global secondary index.
" } }, - "AttributesToGet": { - "target": "com.amazonaws.dynamodb#AttributeNameList", + "IndexStatus": { + "target": "com.amazonaws.dynamodb#IndexStatus", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use ProjectionExpression instead. For more\n information, see AttributesToGet in the Amazon DynamoDB Developer\n Guide.
The current state of the replica global secondary index:
\n\n CREATING - The index is being created.
\n UPDATING - The table/index configuration is being updated. The\n table/index remains available for data operations when\n UPDATING\n
\n DELETING - The index is being deleted.
\n ACTIVE - The index is ready for use.
The maximum number of items to evaluate (not necessarily the number of matching\n items). If DynamoDB processes the number of items up to the limit while processing the\n results, it stops the operation and returns the matching values up to that point, and a\n key in LastEvaluatedKey to apply in a subsequent operation, so that you can\n pick up where you left off. Also, if the processed dataset size exceeds 1 MB before\n DynamoDB reaches this limit, it stops the operation and returns the matching values up\n to the limit, and a key in LastEvaluatedKey to apply in a subsequent\n operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer\n Guide.
Represents the auto scaling configuration for a replica global secondary index.
" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescription" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingUpdate": { + "type": "structure", + "members": { + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "Determines the read consistency model: If set to true, then the operation\n uses strongly consistent reads; otherwise, the operation uses eventually consistent\n reads.
Strongly consistent reads are not supported on global secondary indexes. If you query\n a global secondary index with ConsistentRead set to true, you\n will receive a ValidationException.
The name of the global secondary index.
" } }, - "KeyConditions": { - "target": "com.amazonaws.dynamodb#KeyConditions", + "ProvisionedReadCapacityAutoScalingUpdate": { + "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate" + } + }, + "traits": { + "smithy.api#documentation": "Represents the auto scaling settings of a global secondary index for a replica that\n will be modified.
" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingUpdateList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingUpdate" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescription": { + "type": "structure", + "members": { + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use KeyConditionExpression instead. For more\n information, see KeyConditions in the Amazon DynamoDB Developer\n Guide.
The name of the global secondary index.
" } }, - "QueryFilter": { - "target": "com.amazonaws.dynamodb#FilterConditionMap", + "ProvisionedThroughputOverride": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputOverride", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use FilterExpression instead. For more\n information, see QueryFilter in the Amazon DynamoDB Developer\n Guide.
If not described, uses the source table GSI's read capacity settings.
" } }, - "ConditionalOperator": { - "target": "com.amazonaws.dynamodb#ConditionalOperator", + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use FilterExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
Overrides the maximum on-demand throughput for the specified global secondary index in\n the specified replica table.
" } }, - "ScanIndexForward": { - "target": "com.amazonaws.dynamodb#BooleanObject", + "WarmThroughput": { + "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexWarmThroughputDescription", "traits": { - "smithy.api#documentation": "Specifies the order for index traversal: If true (default), the traversal\n is performed in ascending order; if false, the traversal is performed in\n descending order.
Items with the same partition key value are stored in sorted order by sort key. If the\n sort key data type is Number, the results are stored in numeric order. For type String,\n the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each\n byte of the binary data as unsigned.
\nIf ScanIndexForward is true, DynamoDB returns the results in\n the order in which they are stored (by sort key value). This is the default behavior. If\n ScanIndexForward is false, DynamoDB reads the results in\n reverse order by sort key value, and then returns the results to the client.
Represents the warm throughput of the global secondary index for this replica.
" } - }, - "ExclusiveStartKey": { - "target": "com.amazonaws.dynamodb#Key", + } + }, + "traits": { + "smithy.api#documentation": "Represents the properties of a replica global secondary index.
" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescription" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndex" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescription": { + "type": "structure", + "members": { + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The primary key of the first item that this operation will evaluate. Use the value\n that was returned for LastEvaluatedKey in the previous operation.
The data type for ExclusiveStartKey must be String, Number, or Binary. No\n set data types are allowed.
The name of the global secondary index. The name must be unique among all other\n indexes on this table.
", + "smithy.api#required": {} } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" - }, - "ProjectionExpression": { - "target": "com.amazonaws.dynamodb#ProjectionExpression", + "IndexStatus": { + "target": "com.amazonaws.dynamodb#IndexStatus", "traits": { - "smithy.api#documentation": "A string that identifies one or more attributes to retrieve from the table. These\n attributes can include scalars, sets, or elements of a JSON document. The attributes in\n the expression must be separated by commas.
\nIf no attribute names are specified, then all attributes will be returned. If any of\n the requested attributes are not found, they will not appear in the result.
\nFor more information, see Accessing Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The current status of the global secondary index:
\n\n CREATING - The global secondary index is being created.
\n UPDATING - The global secondary index is being updated.
\n DELETING - The global secondary index is being deleted.
\n ACTIVE - The global secondary index is ready for use.
A string that contains conditions that DynamoDB applies after the Query\n operation, but before the data is returned to you. Items that do not satisfy the\n FilterExpression criteria are not returned.
A FilterExpression does not allow key attributes. You cannot define a\n filter expression based on a partition key or a sort key.
A FilterExpression is applied after the items have already been read;\n the process of filtering does not consume any additional read capacity units.
For more information, see Filter\n Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException.
The condition that specifies the key values for items to be retrieved by the\n Query action.
The condition must perform an equality test on a single partition key value.
\nThe condition can optionally perform one of several comparison tests on a single sort\n key value. This allows Query to retrieve one item with a given partition\n key value and sort key value, or several items that have the same partition key value\n but different sort key values.
The partition key equality test is required, and must be specified in the following\n format:
\n\n partitionKeyName\n =\n :partitionkeyval\n
If you also want to provide a condition for the sort key, it must be combined using\n AND with the condition for the sort key. Following is an example, using\n the = comparison operator for the sort key:
\n partitionKeyName\n =\n :partitionkeyval\n AND\n sortKeyName\n =\n :sortkeyval\n
Valid comparisons for the sort key condition are as follows:
\n\n sortKeyName\n =\n :sortkeyval - true if the sort key value is equal to\n :sortkeyval.
\n sortKeyName\n <\n :sortkeyval - true if the sort key value is less than\n :sortkeyval.
\n sortKeyName\n <=\n :sortkeyval - true if the sort key value is less than or equal to\n :sortkeyval.
\n sortKeyName\n >\n :sortkeyval - true if the sort key value is greater than\n :sortkeyval.
\n sortKeyName\n >= \n :sortkeyval - true if the sort key value is greater than or equal\n to :sortkeyval.
\n sortKeyName\n BETWEEN\n :sortkeyval1\n AND\n :sortkeyval2 - true if the sort key value is greater than or equal\n to :sortkeyval1, and less than or equal to\n :sortkeyval2.
\n begins_with (\n sortKeyName, :sortkeyval\n ) - true if the sort key value begins with a particular operand.\n (You cannot use this function with a sort key that is of type Number.) Note that\n the function name begins_with is case-sensitive.
Use the ExpressionAttributeValues parameter to replace tokens such as\n :partitionval and :sortval with actual values at\n runtime.
You can optionally use the ExpressionAttributeNames parameter to replace\n the names of the partition key and sort key with placeholder tokens. This option might\n be necessary if an attribute name conflicts with a DynamoDB reserved word. For example,\n the following KeyConditionExpression parameter causes an error because\n Size is a reserved word:
\n Size = :myval\n
To work around this, define a placeholder (such a #S) to represent the\n attribute name Size. KeyConditionExpression then is as\n follows:
\n #S = :myval\n
For a list of reserved words, see Reserved Words\n in the Amazon DynamoDB Developer Guide.
\nFor more information on ExpressionAttributeNames and\n ExpressionAttributeValues, see Using\n Placeholders for Attribute Names and Values in the Amazon DynamoDB\n Developer Guide.
Auto scaling settings for a global secondary index replica's read capacity\n units.
" } }, - "ExpressionAttributeNames": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "ProvisionedWriteCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide). To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.
One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "Auto scaling settings for a global secondary index replica's write capacity\n units.
" } } }, "traits": { - "smithy.api#documentation": "Represents the input of a Query operation.
Represents the properties of a global secondary index.
" } }, - "com.amazonaws.dynamodb#QueryOutput": { + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescriptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescription" + } + }, + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdate": { "type": "structure", "members": { - "Items": { - "target": "com.amazonaws.dynamodb#ItemList", - "traits": { - "smithy.api#documentation": "An array of item attributes that match the query criteria. Each element in this array\n consists of an attribute name and the value for that attribute.
" - } - }, - "Count": { - "target": "com.amazonaws.dynamodb#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "The number of items in the response.
\nIf you used a QueryFilter in the request, then Count is the\n number of items returned after the filter was applied, and ScannedCount is\n the number of matching items before the filter was applied.
If you did not use a filter in the request, then Count and\n ScannedCount are the same.
The number of items evaluated, before any QueryFilter is applied. A high\n ScannedCount value with few, or no, Count results\n indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer\n Guide.
If you did not use a filter in the request, then ScannedCount is the same\n as Count.
The name of the global secondary index. The name must be unique among all other\n indexes on this table.
", + "smithy.api#required": {} } }, - "LastEvaluatedKey": { - "target": "com.amazonaws.dynamodb#Key", + "ProvisionedReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#documentation": "The primary key of the item where the operation stopped, inclusive of the previous\n result set. Use this value to start a new operation, excluding this value in the new\n request.
\nIf LastEvaluatedKey is empty, then the \"last page\" of results has been\n processed and there is no more data to be retrieved.
If LastEvaluatedKey is not empty, it does not necessarily mean that there\n is more data in the result set. The only way to know when you have reached the end of\n the result set is when LastEvaluatedKey is empty.
The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException.
The capacity units consumed by the Query operation. The data returned\n includes the total provisioned throughput consumed, along with statistics for the table\n and any indexes involved in the operation. ConsumedCapacity is only\n returned if the ReturnConsumedCapacity parameter was specified. For more\n information, see Capacity unit consumption for read operations in the Amazon\n DynamoDB Developer Guide.
Auto scaling settings for managing a global secondary index replica's read capacity\n units.
" } } }, "traits": { - "smithy.api#documentation": "Represents the output of a Query operation.
Represents the settings of a global secondary index for a global table that will be\n modified.
" } }, - "com.amazonaws.dynamodb#Reason": { - "type": "string" - }, - "com.amazonaws.dynamodb#RecoveryPeriodInDays": { - "type": "integer", + "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdateList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdate" + }, "traits": { - "smithy.api#range": { + "smithy.api#length": { "min": 1, - "max": 35 + "max": 20 } } }, - "com.amazonaws.dynamodb#RegionName": { - "type": "string" - }, - "com.amazonaws.dynamodb#Replica": { - "type": "structure", - "members": { - "RegionName": { - "target": "com.amazonaws.dynamodb#RegionName", - "traits": { - "smithy.api#documentation": "The Region where the replica needs to be created.
" - } - } - }, - "traits": { - "smithy.api#documentation": "Represents the properties of a replica.
" + "com.amazonaws.dynamodb#ReplicaList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#Replica" } }, - "com.amazonaws.dynamodb#ReplicaAlreadyExistsException": { + "com.amazonaws.dynamodb#ReplicaNotFoundException": { "type": "structure", "members": { "message": { @@ -17781,778 +20953,932 @@ } }, "traits": { - "smithy.api#documentation": "The specified replica is already part of the global table.
", + "smithy.api#documentation": "The specified replica is no longer part of the global table.
", "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#ReplicaAutoScalingDescription": { + "com.amazonaws.dynamodb#ReplicaSettingsDescription": { "type": "structure", "members": { "RegionName": { "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "The Region where the replica exists.
" + "smithy.api#documentation": "The Region name of the replica.
", + "smithy.api#required": {} + } + }, + "ReplicaStatus": { + "target": "com.amazonaws.dynamodb#ReplicaStatus", + "traits": { + "smithy.api#documentation": "The current state of the Region:
\n\n CREATING - The Region is being created.
\n UPDATING - The Region is being updated.
\n DELETING - The Region is being deleted.
\n ACTIVE - The Region is ready for use.
The read/write capacity mode of the replica.
" } }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescriptionList", + "ReplicaProvisionedReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#NonNegativeLongObject", "traits": { - "smithy.api#documentation": "Replica-specific global secondary index auto scaling settings.
" + "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB\n Developer Guide.
Auto scaling settings for a global table replica's read capacity units.
" + } + }, + "ReplicaProvisionedWriteCapacityUnits": { + "target": "com.amazonaws.dynamodb#NonNegativeLongObject", + "traits": { + "smithy.api#documentation": "The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB\n Developer Guide.
Auto scaling settings for a global table replica's write capacity units.
" + } }, - "ReplicaStatus": { - "target": "com.amazonaws.dynamodb#ReplicaStatus", + "ReplicaGlobalSecondaryIndexSettings": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescriptionList", "traits": { - "smithy.api#documentation": "The current state of the replica:
\n\n CREATING - The replica is being created.
\n UPDATING - The replica is being updated.
\n DELETING - The replica is being deleted.
\n ACTIVE - The replica is ready for use.
Replica global secondary index settings for the global table.
" } + }, + "ReplicaTableClassSummary": { + "target": "com.amazonaws.dynamodb#TableClassSummary" } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling settings of the replica.
" + "smithy.api#documentation": "Represents the properties of a replica.
" } }, - "com.amazonaws.dynamodb#ReplicaAutoScalingDescriptionList": { + "com.amazonaws.dynamodb#ReplicaSettingsDescriptionList": { "type": "list", "member": { - "target": "com.amazonaws.dynamodb#ReplicaAutoScalingDescription" + "target": "com.amazonaws.dynamodb#ReplicaSettingsDescription" } }, - "com.amazonaws.dynamodb#ReplicaAutoScalingUpdate": { + "com.amazonaws.dynamodb#ReplicaSettingsUpdate": { "type": "structure", "members": { "RegionName": { "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "The Region where the replica exists.
", + "smithy.api#documentation": "The Region of the replica to be added.
", "smithy.api#required": {} } }, - "ReplicaGlobalSecondaryIndexUpdates": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingUpdateList", + "ReplicaProvisionedReadCapacityUnits": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#documentation": "Represents the auto scaling settings of global secondary indexes that will be\n modified.
" + "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB\n Developer Guide.
Auto scaling settings for managing a global table replica's read capacity\n units.
" + } + }, + "ReplicaGlobalSecondaryIndexSettingsUpdate": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdateList", + "traits": { + "smithy.api#documentation": "Represents the settings of a global secondary index for a global table that will be\n modified.
" + } + }, + "ReplicaTableClass": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "Replica-specific table class. If not specified, uses the source table's table\n class.
" + } } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling settings of a replica that will be modified.
" + "smithy.api#documentation": "Represents the settings for a global table in a Region that will be modified.
" } }, - "com.amazonaws.dynamodb#ReplicaAutoScalingUpdateList": { + "com.amazonaws.dynamodb#ReplicaSettingsUpdateList": { "type": "list", "member": { - "target": "com.amazonaws.dynamodb#ReplicaAutoScalingUpdate" + "target": "com.amazonaws.dynamodb#ReplicaSettingsUpdate" }, "traits": { "smithy.api#length": { - "min": 1 + "min": 1, + "max": 50 } } }, - "com.amazonaws.dynamodb#ReplicaDescription": { - "type": "structure", + "com.amazonaws.dynamodb#ReplicaStatus": { + "type": "enum", "members": { - "RegionName": { - "target": "com.amazonaws.dynamodb#RegionName", + "CREATING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The name of the Region.
" + "smithy.api#enumValue": "CREATING" } }, - "ReplicaStatus": { - "target": "com.amazonaws.dynamodb#ReplicaStatus", + "CREATION_FAILED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The current state of the replica:
\n\n CREATING - The replica is being created.
\n UPDATING - The replica is being updated.
\n DELETING - The replica is being deleted.
\n ACTIVE - The replica is ready for use.
\n REGION_DISABLED - The replica is inaccessible because the Amazon Web Services Region has been disabled.
If the Amazon Web Services Region remains inaccessible for more than 20\n hours, DynamoDB will remove this replica from the replication\n group. The replica will not be deleted and replication will stop from and to\n this region.
\n\n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key\n used to encrypt the table is inaccessible.
If the KMS key remains inaccessible for more than 20 hours,\n DynamoDB will remove this replica from the replication group.\n The replica will not be deleted and replication will stop from and to this\n region.
\nDetailed information about the replica status.
" + "smithy.api#enumValue": "UPDATING" } }, - "ReplicaStatusPercentProgress": { - "target": "com.amazonaws.dynamodb#ReplicaStatusPercentProgress", + "DELETING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Specifies the progress of a Create, Update, or Delete action on the replica as a\n percentage.
" + "smithy.api#enumValue": "DELETING" } }, - "KMSMasterKeyId": { - "target": "com.amazonaws.dynamodb#KMSMasterKeyId", + "ACTIVE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The KMS key of the replica that will be used for KMS\n encryption.
" + "smithy.api#enumValue": "ACTIVE" } }, - "ProvisionedThroughputOverride": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputOverride", + "REGION_DISABLED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Replica-specific provisioned throughput. If not described, uses the source table's\n provisioned throughput settings.
" + "smithy.api#enumValue": "REGION_DISABLED" } }, - "OnDemandThroughputOverride": { - "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "INACCESSIBLE_ENCRYPTION_CREDENTIALS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Overrides the maximum on-demand throughput settings for the specified replica\n table.
" + "smithy.api#enumValue": "INACCESSIBLE_ENCRYPTION_CREDENTIALS" } }, - "WarmThroughput": { - "target": "com.amazonaws.dynamodb#TableWarmThroughputDescription", + "ARCHIVING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Represents the warm throughput value for this replica.
" + "smithy.api#enumValue": "ARCHIVING" } }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescriptionList", + "ARCHIVED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Replica-specific global secondary index settings.
" + "smithy.api#enumValue": "ARCHIVED" } }, - "ReplicaInaccessibleDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "REPLICATION_NOT_AUTHORIZED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The time at which the replica was first detected as inaccessible. To determine cause\n of inaccessibility check the ReplicaStatus property.
The parameters required for creating a replica on an existing global table.
" } }, - "ReplicaTableClassSummary": { - "target": "com.amazonaws.dynamodb#TableClassSummary" + "Delete": { + "target": "com.amazonaws.dynamodb#DeleteReplicaAction", + "traits": { + "smithy.api#documentation": "The name of the existing replica to be removed.
" + } } }, "traits": { - "smithy.api#documentation": "Contains the details of the replica.
" + "smithy.api#documentation": "Represents one of the following:
\nA new replica to be added to an existing global table.
\nNew parameters for an existing replica.
\nAn existing replica to be removed from an existing global table.
\nThe request was rejected because one or more items in the request are being modified\n by a request in another Region.
", + "smithy.api#error": "client", + "smithy.api#retryable": {} + } + }, + "com.amazonaws.dynamodb#ReplicationGroupUpdate": { + "type": "structure", + "members": { + "Create": { + "target": "com.amazonaws.dynamodb#CreateReplicationGroupMemberAction", "traits": { - "smithy.api#documentation": "The name of the global secondary index.
", - "smithy.api#required": {} + "smithy.api#documentation": "The parameters required for creating a replica for the table.
" } }, - "ProvisionedThroughputOverride": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputOverride", + "Update": { + "target": "com.amazonaws.dynamodb#UpdateReplicationGroupMemberAction", "traits": { - "smithy.api#documentation": "Replica table GSI-specific provisioned throughput. If not specified, uses the source\n table GSI's read capacity settings.
" + "smithy.api#documentation": "The parameters required for updating a replica for the table.
" } }, - "OnDemandThroughputOverride": { - "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "Delete": { + "target": "com.amazonaws.dynamodb#DeleteReplicationGroupMemberAction", "traits": { - "smithy.api#documentation": "Overrides the maximum on-demand throughput settings for the specified global secondary\n index in the specified replica table.
" + "smithy.api#documentation": "The parameters required for deleting a replica for the table.
" } } }, "traits": { - "smithy.api#documentation": "Represents the properties of a replica global secondary index.
" + "smithy.api#documentation": "Represents one of the following:
\nA new replica to be added to an existing regional table or global table. This\n request invokes the CreateTableReplica action in the destination\n Region.
New parameters for an existing replica. This request invokes the\n UpdateTable action in the destination Region.
An existing replica to be deleted. The request invokes the\n DeleteTableReplica action in the destination Region, deleting\n the replica and all if its items in the destination Region.
When you manually remove a table or global table replica, you do not automatically\n remove any associated scalable targets, scaling policies, or CloudWatch\n alarms.
\nThe name of the global secondary index.
" + "smithy.api#documentation": "A list of ThrottlingReason that\n provide detailed diagnostic information about why the request was throttled.\n
" } - }, - "IndexStatus": { - "target": "com.amazonaws.dynamodb#IndexStatus", + } + }, + "traits": { + "smithy.api#documentation": "Throughput exceeds the current throughput quota for your account. For detailed\n information about why the request was throttled and the ARN of the impacted resource,\n find the ThrottlingReason field in the returned exception. Contact Amazon Web Services Support to request a quota\n increase.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.dynamodb#Resource": { + "type": "string" + }, + "com.amazonaws.dynamodb#ResourceArnString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1283 + } + } + }, + "com.amazonaws.dynamodb#ResourceInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage", "traits": { - "smithy.api#documentation": "The current state of the replica global secondary index:
\n\n CREATING - The index is being created.
\n UPDATING - The table/index configuration is being updated. The\n table/index remains available for data operations when\n UPDATING\n
\n DELETING - The index is being deleted.
\n ACTIVE - The index is ready for use.
The resource which is being attempted to be changed is in use.
" } - }, - "ProvisionedReadCapacityAutoScalingSettings": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription" - }, - "ProvisionedWriteCapacityAutoScalingSettings": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription" } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling configuration for a replica global secondary index.
" - } - }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingDescription" + "smithy.api#documentation": "The operation conflicts with the resource's availability. For example:
\nYou attempted to recreate an existing table.
\nYou tried to delete a table currently in the CREATING\n state.
You tried to update a resource that was already being updated.
\nWhen appropriate, wait for the ongoing update to complete and attempt the request\n again.
", + "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexAutoScalingUpdate": { + "com.amazonaws.dynamodb#ResourceNotFoundException": { "type": "structure", "members": { - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage", "traits": { - "smithy.api#documentation": "The name of the global secondary index.
" + "smithy.api#documentation": "The resource which is being requested does not exist.
" } - }, - "ProvisionedReadCapacityAutoScalingUpdate": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate" } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling settings of a global secondary index for a replica that\n will be modified.
" + "smithy.api#documentation": "The operation tried to access a nonexistent table or index. The resource might not\n be specified correctly, or its status might not be ACTIVE.
The name of the global secondary index.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the backup from which the table was restored.
" } }, - "ProvisionedThroughputOverride": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputOverride", + "SourceTableArn": { + "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "If not described, uses the source table GSI's read capacity settings.
" + "smithy.api#documentation": "The ARN of the source table of the backup that is being restored.
" } }, - "OnDemandThroughputOverride": { - "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "RestoreDateTime": { + "target": "com.amazonaws.dynamodb#Date", "traits": { - "smithy.api#documentation": "Overrides the maximum on-demand throughput for the specified global secondary index in\n the specified replica table.
" + "smithy.api#documentation": "Point in time or source backup time.
", + "smithy.api#required": {} } }, - "WarmThroughput": { - "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexWarmThroughputDescription", + "RestoreInProgress": { + "target": "com.amazonaws.dynamodb#RestoreInProgress", "traits": { - "smithy.api#documentation": "Represents the warm throughput of the global secondary index for this replica.
" + "smithy.api#documentation": "Indicates if a restore is in progress or not.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Represents the properties of a replica global secondary index.
" - } - }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexDescription" + "smithy.api#documentation": "Contains details for the restore.
" } }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndex" + "com.amazonaws.dynamodb#RestoreTableFromBackup": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#RestoreTableFromBackupInput" }, - "traits": { - "smithy.api#length": { - "min": 1 + "output": { + "target": "com.amazonaws.dynamodb#RestoreTableFromBackupOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#BackupInUseException" + }, + { + "target": "com.amazonaws.dynamodb#BackupNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#TableAlreadyExistsException" + }, + { + "target": "com.amazonaws.dynamodb#TableInUseException" } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "Creates a new table from an existing backup. Any number of users can execute up to 50\n concurrent restores (any type of restore) in a given account.
\nYou can call RestoreTableFromBackup at a maximum rate of 10 times per\n second.
You must manually set up the following on the restored table:
\nAuto scaling policies
\nIAM policies
\nAmazon CloudWatch metrics and alarms
\nTags
\nStream settings
\nTime to Live (TTL) settings
\nThe name of the global secondary index. The name must be unique among all other\n indexes on this table.
", + "smithy.api#documentation": "The name of the new table to which the backup must be restored.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + }, + "BackupArn": { + "target": "com.amazonaws.dynamodb#BackupArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the backup.
", "smithy.api#required": {} } }, - "IndexStatus": { - "target": "com.amazonaws.dynamodb#IndexStatus", + "BillingModeOverride": { + "target": "com.amazonaws.dynamodb#BillingMode", "traits": { - "smithy.api#documentation": "The current status of the global secondary index:
\n\n CREATING - The global secondary index is being created.
\n UPDATING - The global secondary index is being updated.
\n DELETING - The global secondary index is being deleted.
\n ACTIVE - The global secondary index is ready for use.
The billing mode of the restored table.
" } }, - "ProvisionedReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "GlobalSecondaryIndexOverride": { + "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexList", "traits": { - "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException.
List of global secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" } }, - "ProvisionedReadCapacityAutoScalingSettings": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription", + "LocalSecondaryIndexOverride": { + "target": "com.amazonaws.dynamodb#LocalSecondaryIndexList", "traits": { - "smithy.api#documentation": "Auto scaling settings for a global secondary index replica's read capacity\n units.
" + "smithy.api#documentation": "List of local secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" } }, - "ProvisionedWriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "ProvisionedThroughputOverride": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughput", "traits": { - "smithy.api#documentation": "The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.
Provisioned throughput settings for the restored table.
" } }, - "ProvisionedWriteCapacityAutoScalingSettings": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription", + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput" + }, + "SSESpecificationOverride": { + "target": "com.amazonaws.dynamodb#SSESpecification", "traits": { - "smithy.api#documentation": "Auto scaling settings for a global secondary index replica's write capacity\n units.
" + "smithy.api#documentation": "The new server-side encryption settings for the restored table.
" } } }, "traits": { - "smithy.api#documentation": "Represents the properties of a global secondary index.
" - } - }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescription" + "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdate": { + "com.amazonaws.dynamodb#RestoreTableFromBackupOutput": { "type": "structure", "members": { - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", - "traits": { - "smithy.api#documentation": "The name of the global secondary index. The name must be unique among all other\n indexes on this table.
", - "smithy.api#required": {} - } - }, - "ProvisionedReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", - "traits": { - "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException.
Auto scaling settings for managing a global secondary index replica's read capacity\n units.
" + "smithy.api#documentation": "The description of the table created from an existing backup.
" } } }, "traits": { - "smithy.api#documentation": "Represents the settings of a global secondary index for a global table that will be\n modified.
" + "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdateList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdate" + "com.amazonaws.dynamodb#RestoreTableToPointInTime": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#RestoreTableToPointInTimeInput" }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 20 - } - } - }, - "com.amazonaws.dynamodb#ReplicaList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#Replica" - } - }, - "com.amazonaws.dynamodb#ReplicaNotFoundException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" + "output": { + "target": "com.amazonaws.dynamodb#RestoreTableToPointInTimeOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#InvalidRestoreTimeException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#PointInTimeRecoveryUnavailableException" + }, + { + "target": "com.amazonaws.dynamodb#TableAlreadyExistsException" + }, + { + "target": "com.amazonaws.dynamodb#TableInUseException" + }, + { + "target": "com.amazonaws.dynamodb#TableNotFoundException" } - }, + ], "traits": { - "smithy.api#documentation": "The specified replica is no longer part of the global table.
", - "smithy.api#error": "client" + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "Restores the specified table to the specified point in time within\n EarliestRestorableDateTime and LatestRestorableDateTime.\n You can restore your table to any point in time in the last 35 days. You can set the\n recovery period to any value between 1 and 35 days. Any number of users can execute up\n 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\n the state based on the selected date and time (day:hour:minute:second) to a new table.
\nAlong with data, the following are also included on the new restored table using point\n in time recovery:
\nGlobal secondary indexes (GSIs)
\nLocal secondary indexes (LSIs)
\nProvisioned read and write capacity
\nEncryption settings
\nAll these settings come from the current settings of the source table at\n the time of restore.
\nYou must manually set up the following on the restored table:
\nAuto scaling policies
\nIAM policies
\nAmazon CloudWatch metrics and alarms
\nTags
\nStream settings
\nTime to Live (TTL) settings
\nPoint in time recovery settings
\nThe Region name of the replica.
", - "smithy.api#required": {} - } - }, - "ReplicaStatus": { - "target": "com.amazonaws.dynamodb#ReplicaStatus", - "traits": { - "smithy.api#documentation": "The current state of the Region:
\n\n CREATING - The Region is being created.
\n UPDATING - The Region is being updated.
\n DELETING - The Region is being deleted.
\n ACTIVE - The Region is ready for use.
The read/write capacity mode of the replica.
" + "smithy.api#documentation": "The DynamoDB table that will be restored. This value is an Amazon Resource Name\n (ARN).
" } }, - "ReplicaProvisionedReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#NonNegativeLongObject", + "SourceTableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB\n Developer Guide.
Name of the source table that is being restored.
" } }, - "ReplicaProvisionedReadCapacityAutoScalingSettings": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsDescription", + "TargetTableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "Auto scaling settings for a global table replica's read capacity units.
" + "smithy.api#documentation": "The name of the new table to which it must be restored to.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "ReplicaProvisionedWriteCapacityUnits": { - "target": "com.amazonaws.dynamodb#NonNegativeLongObject", + "UseLatestRestorableTime": { + "target": "com.amazonaws.dynamodb#BooleanObject", "traits": { - "smithy.api#documentation": "The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB\n Developer Guide.
Restore the table to the latest possible time. LatestRestorableDateTime\n is typically 5 minutes before the current time.
Auto scaling settings for a global table replica's write capacity units.
" + "smithy.api#documentation": "Time in the past to restore the table to.
" } }, - "ReplicaGlobalSecondaryIndexSettings": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsDescriptionList", + "BillingModeOverride": { + "target": "com.amazonaws.dynamodb#BillingMode", "traits": { - "smithy.api#documentation": "Replica global secondary index settings for the global table.
" + "smithy.api#documentation": "The billing mode of the restored table.
" } }, - "ReplicaTableClassSummary": { - "target": "com.amazonaws.dynamodb#TableClassSummary" - } - }, - "traits": { - "smithy.api#documentation": "Represents the properties of a replica.
" - } - }, - "com.amazonaws.dynamodb#ReplicaSettingsDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaSettingsDescription" - } - }, - "com.amazonaws.dynamodb#ReplicaSettingsUpdate": { - "type": "structure", - "members": { - "RegionName": { - "target": "com.amazonaws.dynamodb#RegionName", + "GlobalSecondaryIndexOverride": { + "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexList", "traits": { - "smithy.api#documentation": "The Region of the replica to be added.
", - "smithy.api#required": {} + "smithy.api#documentation": "List of global secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" } }, - "ReplicaProvisionedReadCapacityUnits": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "LocalSecondaryIndexOverride": { + "target": "com.amazonaws.dynamodb#LocalSecondaryIndexList", "traits": { - "smithy.api#documentation": "The maximum number of strongly consistent reads consumed per second before DynamoDB\n returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB\n Developer Guide.
List of local secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" } }, - "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate", + "ProvisionedThroughputOverride": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughput", "traits": { - "smithy.api#documentation": "Auto scaling settings for managing a global table replica's read capacity\n units.
" + "smithy.api#documentation": "Provisioned throughput settings for the restored table.
" } }, - "ReplicaGlobalSecondaryIndexSettingsUpdate": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexSettingsUpdateList", - "traits": { - "smithy.api#documentation": "Represents the settings of a global secondary index for a global table that will be\n modified.
" - } + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput" }, - "ReplicaTableClass": { - "target": "com.amazonaws.dynamodb#TableClass", + "SSESpecificationOverride": { + "target": "com.amazonaws.dynamodb#SSESpecification", "traits": { - "smithy.api#documentation": "Replica-specific table class. If not specified, uses the source table's table\n class.
" + "smithy.api#documentation": "The new server-side encryption settings for the restored table.
" } } }, "traits": { - "smithy.api#documentation": "Represents the settings for a global table in a Region that will be modified.
" + "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#ReplicaSettingsUpdateList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicaSettingsUpdate" + "com.amazonaws.dynamodb#RestoreTableToPointInTimeOutput": { + "type": "structure", + "members": { + "TableDescription": { + "target": "com.amazonaws.dynamodb#TableDescription", + "traits": { + "smithy.api#documentation": "Represents the properties of a table.
" + } + } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 50 - } + "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#ReplicaStatus": { + "com.amazonaws.dynamodb#ReturnConsumedCapacity": { "type": "enum", "members": { - "CREATING": { + "INDEXES": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "CREATING" + "smithy.api#enumValue": "INDEXES" } }, - "CREATION_FAILED": { + "TOTAL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "CREATION_FAILED" + "smithy.api#enumValue": "TOTAL" } }, - "UPDATING": { + "NONE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "UPDATING" + "smithy.api#enumValue": "NONE" } - }, - "DELETING": { + } + }, + "traits": { + "smithy.api#documentation": "Determines the level of detail about either provisioned or on-demand throughput\n consumption that is returned in the response:
\n\n INDEXES - The response includes the aggregate\n ConsumedCapacity for the operation, together with\n ConsumedCapacity for each table and secondary index that was\n accessed.
Note that some operations, such as GetItem and\n BatchGetItem, do not access any indexes at all. In these cases,\n specifying INDEXES will only return ConsumedCapacity\n information for table(s).
\n TOTAL - The response includes only the aggregate\n ConsumedCapacity for the operation.
\n NONE - No ConsumedCapacity details are included in the\n response.
The parameters required for creating a replica on an existing global table.
" + "smithy.api#enumValue": "ALL_OLD" } }, - "Delete": { - "target": "com.amazonaws.dynamodb#DeleteReplicaAction", + "NONE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The name of the existing replica to be removed.
" + "smithy.api#enumValue": "NONE" } } - }, - "traits": { - "smithy.api#documentation": "Represents one of the following:
\nA new replica to be added to an existing global table.
\nNew parameters for an existing replica.
\nAn existing replica to be removed from an existing global table.
\nThe request was rejected because one or more items in the request are being modified\n by a request in another Region.
", - "smithy.api#error": "client", - "smithy.api#retryable": {} + "smithy.api#pattern": "^[0-9]{12}$" } }, - "com.amazonaws.dynamodb#ReplicationGroupUpdate": { + "com.amazonaws.dynamodb#S3BucketSource": { "type": "structure", "members": { - "Create": { - "target": "com.amazonaws.dynamodb#CreateReplicationGroupMemberAction", + "S3BucketOwner": { + "target": "com.amazonaws.dynamodb#S3BucketOwner", "traits": { - "smithy.api#documentation": "The parameters required for creating a replica for the table.
" + "smithy.api#documentation": "The account number of the S3 bucket that is being imported from. If the bucket is\n owned by the requester this is optional.
" } }, - "Update": { - "target": "com.amazonaws.dynamodb#UpdateReplicationGroupMemberAction", + "S3Bucket": { + "target": "com.amazonaws.dynamodb#S3Bucket", "traits": { - "smithy.api#documentation": "The parameters required for updating a replica for the table.
" + "smithy.api#documentation": "The S3 bucket that is being imported from.
", + "smithy.api#required": {} } }, - "Delete": { - "target": "com.amazonaws.dynamodb#DeleteReplicationGroupMemberAction", + "S3KeyPrefix": { + "target": "com.amazonaws.dynamodb#S3Prefix", "traits": { - "smithy.api#documentation": "The parameters required for deleting a replica for the table.
" + "smithy.api#documentation": "The key prefix shared by all S3 Objects that are being imported.
" } } }, "traits": { - "smithy.api#documentation": "Represents one of the following:
\nA new replica to be added to an existing regional table or global table. This\n request invokes the CreateTableReplica action in the destination\n Region.
New parameters for an existing replica. This request invokes the\n UpdateTable action in the destination Region.
An existing replica to be deleted. The request invokes the\n DeleteTableReplica action in the destination Region, deleting\n the replica and all if its items in the destination Region.
When you manually remove a table or global table replica, you do not automatically\n remove any associated scalable targets, scaling policies, or CloudWatch\n alarms.
\nThe S3 bucket that is being imported from.
" } }, - "com.amazonaws.dynamodb#ReplicationGroupUpdateList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ReplicationGroupUpdate" - }, + "com.amazonaws.dynamodb#S3Prefix": { + "type": "string", "traits": { "smithy.api#length": { - "min": 1 + "min": 0, + "max": 1024 } } }, - "com.amazonaws.dynamodb#RequestLimitExceeded": { - "type": "structure", + "com.amazonaws.dynamodb#S3SseAlgorithm": { + "type": "enum", "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" + "AES256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES256" + } }, - "ThrottlingReasons": { - "target": "com.amazonaws.dynamodb#ThrottlingReasonList", + "KMS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "A list of ThrottlingReason that\n provide detailed diagnostic information about why the request was throttled.\n
" + "smithy.api#enumValue": "KMS" } } - }, - "traits": { - "smithy.api#documentation": "Throughput exceeds the current throughput quota for your account. For detailed\n information about why the request was throttled and the ARN of the impacted resource,\n find the ThrottlingReason field in the returned exception. Contact Amazon Web Services Support to request a quota\n increase.
", - "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#Resource": { - "type": "string" - }, - "com.amazonaws.dynamodb#ResourceArnString": { + "com.amazonaws.dynamodb#S3SseKmsKeyId": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 1283 + "max": 2048 } } }, - "com.amazonaws.dynamodb#ResourceInUseException": { + "com.amazonaws.dynamodb#SSEDescription": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage", + "Status": { + "target": "com.amazonaws.dynamodb#SSEStatus", "traits": { - "smithy.api#documentation": "The resource which is being attempted to be changed is in use.
" + "smithy.api#documentation": "Represents the current state of server-side encryption. The only supported values\n are:
\n\n ENABLED - Server-side encryption is enabled.
\n UPDATING - Server-side encryption is being updated.
Server-side encryption type. The only supported value is:
\n\n KMS - Server-side encryption that uses Key Management Service. The\n key is stored in your account and is managed by KMS (KMS charges apply).
The KMS key ARN used for the KMS encryption.
" + } + }, + "InaccessibleEncryptionDateTime": { + "target": "com.amazonaws.dynamodb#Date", + "traits": { + "smithy.api#documentation": "Indicates the time, in UNIX epoch date format, when DynamoDB detected that\n the table's KMS key was inaccessible. This attribute will automatically\n be cleared when DynamoDB detects that the table's KMS key is accessible\n again. DynamoDB will initiate the table archival process when table's KMS key remains inaccessible for more than seven days from this date.
" } } }, "traits": { - "smithy.api#documentation": "The operation conflicts with the resource's availability. For example:
\nYou attempted to recreate an existing table.
\nYou tried to delete a table currently in the CREATING\n state.
You tried to update a resource that was already being updated.
\nWhen appropriate, wait for the ongoing update to complete and attempt the request\n again.
", - "smithy.api#error": "client" + "smithy.api#documentation": "The description of the server-side encryption status on the specified table.
" } }, - "com.amazonaws.dynamodb#ResourceNotFoundException": { + "com.amazonaws.dynamodb#SSEEnabled": { + "type": "boolean" + }, + "com.amazonaws.dynamodb#SSESpecification": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage", + "Enabled": { + "target": "com.amazonaws.dynamodb#SSEEnabled", "traits": { - "smithy.api#documentation": "The resource which is being requested does not exist.
" + "smithy.api#documentation": "Indicates whether server-side encryption is done using an Amazon Web Services managed\n key or an Amazon Web Services owned key. If enabled (true), server-side encryption type\n is set to KMS and an Amazon Web Services managed key is used (KMS charges apply). If disabled (false) or not specified, server-side\n encryption is set to Amazon Web Services owned key.
Server-side encryption type. The only supported value is:
\n\n KMS - Server-side encryption that uses Key Management Service. The\n key is stored in your account and is managed by KMS (KMS charges apply).
The KMS key that should be used for the KMS encryption.\n To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN.\n Note that you should only provide this parameter if the key is different from the\n default DynamoDB key alias/aws/dynamodb.
The operation tried to access a nonexistent table or index. The resource might not\n be specified correctly, or its status might not be ACTIVE.
Represents the settings used to enable server-side encryption.
" } }, - "com.amazonaws.dynamodb#ResourcePolicy": { - "type": "string" - }, - "com.amazonaws.dynamodb#RestoreInProgress": { - "type": "boolean" + "com.amazonaws.dynamodb#SSEStatus": { + "type": "enum", + "members": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + } + } }, - "com.amazonaws.dynamodb#RestoreSummary": { - "type": "structure", + "com.amazonaws.dynamodb#SSEType": { + "type": "enum", "members": { - "SourceBackupArn": { - "target": "com.amazonaws.dynamodb#BackupArn", + "AES256": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the backup from which the table was restored.
" + "smithy.api#enumValue": "AES256" } }, - "SourceTableArn": { - "target": "com.amazonaws.dynamodb#TableArn", + "KMS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The ARN of the source table of the backup that is being restored.
" + "smithy.api#enumValue": "KMS" + } + } + } + }, + "com.amazonaws.dynamodb#ScalarAttributeType": { + "type": "enum", + "members": { + "S": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S" } }, - "RestoreDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "N": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Point in time or source backup time.
", - "smithy.api#required": {} + "smithy.api#enumValue": "N" } }, - "RestoreInProgress": { - "target": "com.amazonaws.dynamodb#RestoreInProgress", + "B": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Indicates if a restore is in progress or not.
", - "smithy.api#required": {} + "smithy.api#enumValue": "B" } } - }, - "traits": { - "smithy.api#documentation": "Contains details for the restore.
" } }, - "com.amazonaws.dynamodb#RestoreTableFromBackup": { + "com.amazonaws.dynamodb#Scan": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#RestoreTableFromBackupInput" + "target": "com.amazonaws.dynamodb#ScanInput" }, "output": { - "target": "com.amazonaws.dynamodb#RestoreTableFromBackupOutput" + "target": "com.amazonaws.dynamodb#ScanOutput" }, "errors": [ - { - "target": "com.amazonaws.dynamodb#BackupInUseException" - }, - { - "target": "com.amazonaws.dynamodb#BackupNotFoundException" - }, { "target": "com.amazonaws.dynamodb#InternalServerError" }, @@ -18560,1319 +21886,1421 @@ "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#LimitExceededException" + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" }, { - "target": "com.amazonaws.dynamodb#TableAlreadyExistsException" + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" }, { - "target": "com.amazonaws.dynamodb#TableInUseException" + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dynamodb#ThrottlingException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Creates a new table from an existing backup. Any number of users can execute up to 50\n concurrent restores (any type of restore) in a given account.
\nYou can call RestoreTableFromBackup at a maximum rate of 10 times per\n second.
You must manually set up the following on the restored table:
\nAuto scaling policies
\nIAM policies
\nAmazon CloudWatch metrics and alarms
\nTags
\nStream settings
\nTime to Live (TTL) settings
\nThe Scan operation returns one or more items and item attributes by\n accessing every item in a table or a secondary index. To have DynamoDB return fewer\n items, you can provide a FilterExpression operation.
If the total size of scanned items exceeds the maximum dataset size limit of 1 MB, the\n scan completes and results are returned to the user. The LastEvaluatedKey\n value is also returned and the requestor can use the LastEvaluatedKey to\n continue the scan in a subsequent operation. Each scan response also includes number of\n items that were scanned (ScannedCount) as part of the request. If using a\n FilterExpression, a scan result can result in no items meeting the\n criteria and the Count will result in zero. If you did not use a\n FilterExpression in the scan request, then Count is the\n same as ScannedCount.
\n Count and ScannedCount only return the count of items\n specific to a single scan request and, unless the table is less than 1MB, do not\n represent the total number of items in the table.
A single Scan operation first reads up to the maximum number of items set\n (if using the Limit parameter) or a maximum of 1 MB of data and then\n applies any filtering to the results if a FilterExpression is provided. If\n LastEvaluatedKey is present in the response, pagination is required to\n complete the full table scan. For more information, see Paginating the\n Results in the Amazon DynamoDB Developer Guide.
\n Scan operations proceed sequentially; however, for faster performance on\n a large table or secondary index, applications can request a parallel Scan\n operation by providing the Segment and TotalSegments\n parameters. For more information, see Parallel\n Scan in the Amazon DynamoDB Developer Guide.
By default, a Scan uses eventually consistent reads when accessing the\n items in a table. Therefore, the results from an eventually consistent Scan\n may not include the latest item changes at the time the scan iterates through each item\n in the table. If you require a strongly consistent read of each item as the scan\n iterates through the items in the table, you can set the ConsistentRead\n parameter to true. Strong consistency only relates to the consistency of the read at the\n item level.
DynamoDB does not provide snapshot isolation for a scan operation when the\n ConsistentRead parameter is set to true. Thus, a DynamoDB scan\n operation does not guarantee that all reads in a scan see a consistent snapshot of\n the table when the scan operation was requested.
The name of the new table to which the backup must be restored.
", + "smithy.api#documentation": "The name of the table containing the requested items or if you provide\n 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.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "BackupArn": { - "target": "com.amazonaws.dynamodb#BackupArn", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) associated with the backup.
", - "smithy.api#required": {} + "smithy.api#documentation": "The name of a secondary index to scan. This index can be any local secondary index or\n global secondary index. Note that if you use the IndexName parameter, you\n must also provide TableName.
The billing mode of the restored table.
" + "smithy.api#documentation": "This is a legacy parameter. Use ProjectionExpression instead. For more\n information, see AttributesToGet in the Amazon DynamoDB Developer\n Guide.
List of global secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" + "smithy.api#documentation": "The maximum number of items to evaluate (not necessarily the number of matching\n items). If DynamoDB processes the number of items up to the limit while processing the\n results, it stops the operation and returns the matching values up to that point, and a\n key in LastEvaluatedKey to apply in a subsequent operation, so that you can\n pick up where you left off. Also, if the processed dataset size exceeds 1 MB before\n DynamoDB reaches this limit, it stops the operation and returns the matching values up\n to the limit, and a key in LastEvaluatedKey to apply in a subsequent\n operation to continue the operation. For more information, see Working with Queries in the Amazon DynamoDB Developer\n Guide.
List of local secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" + "smithy.api#documentation": "The attributes to be returned in the result. You can retrieve all item attributes,\n specific item attributes, the count of matching items, or in the case of an index, some\n or all of the attributes projected into the index.
\n\n ALL_ATTRIBUTES - Returns all of the item attributes from the\n specified table or index. If you query a local secondary index, then for each\n matching item in the index, DynamoDB fetches the entire item from the parent\n table. If the index is configured to project all item attributes, then all of\n the data can be obtained from the local secondary index, and no fetching is\n required.
\n ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index.\n Retrieves all attributes that have been projected into the index. If the index\n is configured to project all attributes, this return value is equivalent to\n specifying ALL_ATTRIBUTES.
\n COUNT - Returns the number of matching items, rather than the\n matching items themselves. Note that this uses the same quantity of read\n capacity units as getting the items, and is subject to the same item size\n calculations.
\n SPECIFIC_ATTRIBUTES - Returns only the attributes listed in\n ProjectionExpression. This return value is equivalent to\n specifying ProjectionExpression without specifying any value for\n Select.
If you query or scan a local secondary index and request only attributes that\n are projected into that index, the operation reads only the index and not the\n table. If any of the requested attributes are not projected into the local\n secondary index, DynamoDB fetches each of these attributes from the parent\n table. This extra fetching incurs additional throughput cost and latency.
\nIf you query or scan a global secondary index, you can only request attributes\n that are projected into the index. Global secondary index queries cannot fetch\n attributes from the parent table.
\nIf neither Select nor ProjectionExpression are specified,\n DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and\n ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both\n Select and ProjectionExpression together in a single\n request, unless the value for Select is SPECIFIC_ATTRIBUTES.\n (This usage is equivalent to specifying ProjectionExpression without any\n value for Select.)
If you use the ProjectionExpression parameter, then the value for\n Select can only be SPECIFIC_ATTRIBUTES. Any other\n value for Select will return an error.
Provisioned throughput settings for the restored table.
" + "smithy.api#documentation": "This is a legacy parameter. Use FilterExpression instead. For more\n information, see ScanFilter in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use FilterExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
The new server-side encryption settings for the restored table.
" + "smithy.api#documentation": "The primary key of the first item that this operation will evaluate. Use the value\n that was returned for LastEvaluatedKey in the previous operation.
The data type for ExclusiveStartKey must be String, Number or Binary. No\n set data types are allowed.
In a parallel scan, a Scan request that includes\n ExclusiveStartKey must specify the same segment whose previous\n Scan returned the corresponding value of\n LastEvaluatedKey.
For a parallel Scan request, TotalSegments represents the\n total number of segments into which the Scan operation will be divided. The\n value of TotalSegments corresponds to the number of application workers\n that will perform the parallel scan. For example, if you want to use four application\n threads to scan a table or an index, specify a TotalSegments value of\n 4.
The value for TotalSegments must be greater than or equal to 1, and less\n than or equal to 1000000. If you specify a TotalSegments value of 1, the\n Scan operation will be sequential rather than parallel.
If you specify TotalSegments, you must also specify\n Segment.
For a parallel Scan request, Segment identifies an\n individual segment to be scanned by an application worker.
Segment IDs are zero-based, so the first segment is always 0. For example, if you want\n to use four application threads to scan a table or an index, then the first thread\n specifies a Segment value of 0, the second thread specifies 1, and so\n on.
The value of LastEvaluatedKey returned from a parallel Scan\n request must be used as ExclusiveStartKey with the same segment ID in a\n subsequent Scan operation.
The value for Segment must be greater than or equal to 0, and less than\n the value provided for TotalSegments.
If you provide Segment, you must also provide\n TotalSegments.
A string that identifies one or more attributes to retrieve from the specified table\n or index. These attributes can include scalars, sets, or elements of a JSON document.\n The attributes in the expression must be separated by commas.
\nIf no attribute names are specified, then all attributes will be returned. If any of\n the requested attributes are not found, they will not appear in the result.
\nFor more information, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "FilterExpression": { + "target": "com.amazonaws.dynamodb#ConditionExpression", + "traits": { + "smithy.api#documentation": "A string that contains conditions that DynamoDB applies after the Scan\n operation, but before the data is returned to you. Items that do not satisfy the\n FilterExpression criteria are not returned.
A FilterExpression is applied after the items have already been read;\n the process of filtering does not consume any additional read capacity units.
For more information, see Filter\n Expressions in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", + "traits": { + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide). To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "traits": { + "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "ConsistentRead": { + "target": "com.amazonaws.dynamodb#ConsistentRead", + "traits": { + "smithy.api#documentation": "A Boolean value that determines the read consistency model during the scan:
\nIf ConsistentRead is false, then the data returned\n from Scan might not contain the results from other recently\n completed write operations (PutItem, UpdateItem, or\n DeleteItem).
If ConsistentRead is true, then all of the write\n operations that completed before the Scan began are guaranteed to\n be contained in the Scan response.
The default setting for ConsistentRead is false.
The ConsistentRead parameter is not supported on global secondary\n indexes. If you scan a global secondary index with ConsistentRead set to\n true, you will receive a ValidationException.
Represents the input of a Scan operation.
The description of the table created from an existing backup.
" + "smithy.api#documentation": "An array of item attributes that match the scan criteria. Each element in this array\n consists of an attribute name and the value for that attribute.
" + } + }, + "Count": { + "target": "com.amazonaws.dynamodb#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The number of items in the response.
\nIf you set ScanFilter in the request, then Count is the\n number of items returned after the filter was applied, and ScannedCount is\n the number of matching items before the filter was applied.
If you did not use a filter in the request, then Count is the same as\n ScannedCount.
The number of items evaluated, before any ScanFilter is applied. A high\n ScannedCount value with few, or no, Count results\n indicates an inefficient Scan operation. For more information, see Count and\n ScannedCount in the Amazon DynamoDB Developer\n Guide.
If you did not use a filter in the request, then ScannedCount is the same\n as Count.
The primary key of the item where the operation stopped, inclusive of the previous\n result set. Use this value to start a new operation, excluding this value in the new\n request.
\nIf LastEvaluatedKey is empty, then the \"last page\" of results has been\n processed and there is no more data to be retrieved.
If LastEvaluatedKey is not empty, it does not necessarily mean that there\n is more data in the result set. The only way to know when you have reached the end of\n the result set is when LastEvaluatedKey is empty.
The capacity units consumed by the Scan operation. The data returned\n includes the total provisioned throughput consumed, along with statistics for the table\n and any indexes involved in the operation. ConsumedCapacity is only\n returned if the ReturnConsumedCapacity parameter was specified. For more\n information, see Capacity unit consumption for read operations in the Amazon\n DynamoDB Developer Guide.
Represents the output of a Scan operation.
Restores the specified table to the specified point in time within\n EarliestRestorableDateTime and LatestRestorableDateTime.\n You can restore your table to any point in time in the last 35 days. You can set the\n recovery period to any value between 1 and 35 days. Any number of users can execute up\n 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\n the state based on the selected date and time (day:hour:minute:second) to a new table.
\nAlong with data, the following are also included on the new restored table using point\n in time recovery:
\nGlobal secondary indexes (GSIs)
\nLocal secondary indexes (LSIs)
\nProvisioned read and write capacity
\nEncryption settings
\nAll these settings come from the current settings of the source table at\n the time of restore.
\nYou must manually set up the following on the restored table:
\nAuto scaling policies
\nIAM policies
\nAmazon CloudWatch metrics and alarms
\nTags
\nStream settings
\nTime to Live (TTL) settings
\nPoint in time recovery settings
\nThe DynamoDB table that will be restored. This value is an Amazon Resource Name\n (ARN).
" + "smithy.api#enumValue": "ALL_ATTRIBUTES" } }, - "SourceTableName": { - "target": "com.amazonaws.dynamodb#TableName", + "ALL_PROJECTED_ATTRIBUTES": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Name of the source table that is being restored.
" + "smithy.api#enumValue": "ALL_PROJECTED_ATTRIBUTES" } }, - "TargetTableName": { + "SPECIFIC_ATTRIBUTES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SPECIFIC_ATTRIBUTES" + } + }, + "COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COUNT" + } + } + } + }, + "com.amazonaws.dynamodb#SourceTableDetails": { + "type": "structure", + "members": { + "TableName": { "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "The name of the new table to which it must be restored to.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The name of the table for which the backup was created.
", + "smithy.api#required": {} } }, - "UseLatestRestorableTime": { - "target": "com.amazonaws.dynamodb#BooleanObject", + "TableId": { + "target": "com.amazonaws.dynamodb#TableId", "traits": { - "smithy.api#documentation": "Restore the table to the latest possible time. LatestRestorableDateTime\n is typically 5 minutes before the current time.
Unique identifier for the table for which the backup was created.
", + "smithy.api#required": {} } }, - "RestoreDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "TableArn": { + "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "Time in the past to restore the table to.
" + "smithy.api#documentation": "ARN of the table for which backup was created.
" } }, - "BillingModeOverride": { - "target": "com.amazonaws.dynamodb#BillingMode", + "TableSizeBytes": { + "target": "com.amazonaws.dynamodb#LongObject", "traits": { - "smithy.api#documentation": "The billing mode of the restored table.
" + "smithy.api#documentation": "Size of the table in bytes. Note that this is an approximate value.
" } }, - "GlobalSecondaryIndexOverride": { - "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexList", + "KeySchema": { + "target": "com.amazonaws.dynamodb#KeySchema", "traits": { - "smithy.api#documentation": "List of global secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" + "smithy.api#documentation": "Schema of the table.
", + "smithy.api#required": {} } }, - "LocalSecondaryIndexOverride": { - "target": "com.amazonaws.dynamodb#LocalSecondaryIndexList", + "TableCreationDateTime": { + "target": "com.amazonaws.dynamodb#TableCreationDateTime", "traits": { - "smithy.api#documentation": "List of local secondary indexes for the restored table. The indexes provided should\n match existing secondary indexes. You can choose to exclude some or all of the indexes\n at the time of restore.
" + "smithy.api#documentation": "Time when the source table was created.
", + "smithy.api#required": {} } }, - "ProvisionedThroughputOverride": { + "ProvisionedThroughput": { "target": "com.amazonaws.dynamodb#ProvisionedThroughput", "traits": { - "smithy.api#documentation": "Provisioned throughput settings for the restored table.
" + "smithy.api#documentation": "Read IOPs and Write IOPS on the table when the backup was created.
", + "smithy.api#required": {} } }, - "OnDemandThroughputOverride": { + "OnDemandThroughput": { "target": "com.amazonaws.dynamodb#OnDemandThroughput" }, - "SSESpecificationOverride": { - "target": "com.amazonaws.dynamodb#SSESpecification", + "ItemCount": { + "target": "com.amazonaws.dynamodb#ItemCount", "traits": { - "smithy.api#documentation": "The new server-side encryption settings for the restored table.
" + "smithy.api#documentation": "Number of items in the table. Note that this is an approximate value.
" + } + }, + "BillingMode": { + "target": "com.amazonaws.dynamodb#BillingMode", + "traits": { + "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. This setting can be changed later.
\n\n PROVISIONED - Sets the read/write capacity mode to\n PROVISIONED. We recommend using PROVISIONED for\n predictable workloads.
\n PAY_PER_REQUEST - Sets the read/write capacity mode to\n PAY_PER_REQUEST. We recommend using\n PAY_PER_REQUEST for unpredictable workloads.
Contains the details of the table when the backup was created.
" } }, - "com.amazonaws.dynamodb#RestoreTableToPointInTimeOutput": { + "com.amazonaws.dynamodb#SourceTableFeatureDetails": { "type": "structure", "members": { - "TableDescription": { - "target": "com.amazonaws.dynamodb#TableDescription", + "LocalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#LocalSecondaryIndexes", "traits": { - "smithy.api#documentation": "Represents the properties of a table.
" + "smithy.api#documentation": "Represents the LSI properties for the table when the backup was created. It includes\n the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.\n
" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.dynamodb#ReturnConsumedCapacity": { - "type": "enum", - "members": { - "INDEXES": { - "target": "smithy.api#Unit", + }, + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexes", "traits": { - "smithy.api#enumValue": "INDEXES" + "smithy.api#documentation": "Represents the GSI properties for the table when the backup was created. It includes\n the IndexName, KeySchema, Projection, and ProvisionedThroughput for the GSIs on the\n table at the time of backup.
" } }, - "TOTAL": { - "target": "smithy.api#Unit", + "StreamDescription": { + "target": "com.amazonaws.dynamodb#StreamSpecification", "traits": { - "smithy.api#enumValue": "TOTAL" + "smithy.api#documentation": "Stream settings on the table when the backup was created.
" } }, - "NONE": { - "target": "smithy.api#Unit", + "TimeToLiveDescription": { + "target": "com.amazonaws.dynamodb#TimeToLiveDescription", "traits": { - "smithy.api#enumValue": "NONE" + "smithy.api#documentation": "Time to Live settings on the table when the backup was created.
" + } + }, + "SSEDescription": { + "target": "com.amazonaws.dynamodb#SSEDescription", + "traits": { + "smithy.api#documentation": "The description of the server-side encryption status on the table when the backup was\n created.
" } } }, "traits": { - "smithy.api#documentation": "Determines the level of detail about either provisioned or on-demand throughput\n consumption that is returned in the response:
\n\n INDEXES - The response includes the aggregate\n ConsumedCapacity for the operation, together with\n ConsumedCapacity for each table and secondary index that was\n accessed.
Note that some operations, such as GetItem and\n BatchGetItem, do not access any indexes at all. In these cases,\n specifying INDEXES will only return ConsumedCapacity\n information for table(s).
\n TOTAL - The response includes only the aggregate\n ConsumedCapacity for the operation.
\n NONE - No ConsumedCapacity details are included in the\n response.
Contains the details of the features enabled on the table when the backup was created.\n For example, LSIs, GSIs, streams, TTL.
" } }, - "com.amazonaws.dynamodb#ReturnItemCollectionMetrics": { - "type": "enum", + "com.amazonaws.dynamodb#StreamArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 37, + "max": 1024 + } + } + }, + "com.amazonaws.dynamodb#StreamEnabled": { + "type": "boolean" + }, + "com.amazonaws.dynamodb#StreamSpecification": { + "type": "structure", "members": { - "SIZE": { - "target": "smithy.api#Unit", + "StreamEnabled": { + "target": "com.amazonaws.dynamodb#StreamEnabled", "traits": { - "smithy.api#enumValue": "SIZE" + "smithy.api#documentation": "Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the\n table.
", + "smithy.api#required": {} } }, - "NONE": { - "target": "smithy.api#Unit", + "StreamViewType": { + "target": "com.amazonaws.dynamodb#StreamViewType", "traits": { - "smithy.api#enumValue": "NONE" + "smithy.api#documentation": " When an item in the table is modified, StreamViewType determines what\n information is written to the stream for this table. Valid values for\n StreamViewType are:
\n KEYS_ONLY - Only the key attributes of the modified item are\n written to the stream.
\n NEW_IMAGE - The entire item, as it appears after it was modified,\n is written to the stream.
\n OLD_IMAGE - The entire item, as it appeared before it was modified,\n is written to the stream.
\n NEW_AND_OLD_IMAGES - Both the new and the old item images of the\n item are written to the stream.
Represents the DynamoDB Streams configuration for a table in DynamoDB.
" } }, - "com.amazonaws.dynamodb#ReturnValue": { + "com.amazonaws.dynamodb#StreamViewType": { "type": "enum", "members": { - "NONE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NONE" - } - }, - "ALL_OLD": { + "NEW_IMAGE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ALL_OLD" + "smithy.api#enumValue": "NEW_IMAGE" } }, - "UPDATED_OLD": { + "OLD_IMAGE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "UPDATED_OLD" + "smithy.api#enumValue": "OLD_IMAGE" } }, - "ALL_NEW": { + "NEW_AND_OLD_IMAGES": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "ALL_NEW" + "smithy.api#enumValue": "NEW_AND_OLD_IMAGES" } }, - "UPDATED_NEW": { + "KEYS_ONLY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "UPDATED_NEW" + "smithy.api#enumValue": "KEYS_ONLY" } } } }, - "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure": { - "type": "enum", - "members": { - "ALL_OLD": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ALL_OLD" - } - }, - "NONE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NONE" - } - } - } + "com.amazonaws.dynamodb#String": { + "type": "string" }, - "com.amazonaws.dynamodb#S3Bucket": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 255 - }, - "smithy.api#pattern": "^[a-z0-9A-Z]+[\\.\\-\\w]*[a-z0-9A-Z]+$" - } + "com.amazonaws.dynamodb#StringAttributeValue": { + "type": "string" }, - "com.amazonaws.dynamodb#S3BucketOwner": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[0-9]{12}$" + "com.amazonaws.dynamodb#StringSetAttributeValue": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#StringAttributeValue" } }, - "com.amazonaws.dynamodb#S3BucketSource": { + "com.amazonaws.dynamodb#TableAlreadyExistsException": { "type": "structure", "members": { - "S3BucketOwner": { - "target": "com.amazonaws.dynamodb#S3BucketOwner", - "traits": { - "smithy.api#documentation": "The account number of the S3 bucket that is being imported from. If the bucket is\n owned by the requester this is optional.
" - } - }, - "S3Bucket": { - "target": "com.amazonaws.dynamodb#S3Bucket", - "traits": { - "smithy.api#documentation": "The S3 bucket that is being imported from.
", - "smithy.api#required": {} - } - }, - "S3KeyPrefix": { - "target": "com.amazonaws.dynamodb#S3Prefix", - "traits": { - "smithy.api#documentation": "The key prefix shared by all S3 Objects that are being imported.
" - } + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" } }, "traits": { - "smithy.api#documentation": "The S3 bucket that is being imported from.
" + "smithy.api#documentation": "A target table with the specified name already exists.
", + "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#S3Prefix": { + "com.amazonaws.dynamodb#TableArn": { "type": "string", "traits": { "smithy.api#length": { - "min": 0, + "min": 1, "max": 1024 } } }, - "com.amazonaws.dynamodb#S3SseAlgorithm": { - "type": "enum", + "com.amazonaws.dynamodb#TableAutoScalingDescription": { + "type": "structure", "members": { - "AES256": { - "target": "smithy.api#Unit", + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#enumValue": "AES256" + "smithy.api#documentation": "The name of the table.
" } }, - "KMS": { - "target": "smithy.api#Unit", + "TableStatus": { + "target": "com.amazonaws.dynamodb#TableStatus", "traits": { - "smithy.api#enumValue": "KMS" + "smithy.api#documentation": "The current state of the table:
\n\n CREATING - The table is being created.
\n UPDATING - The table is being updated.
\n DELETING - The table is being deleted.
\n ACTIVE - The table is ready for use.
Represents replicas of the global table.
" } } - } - }, - "com.amazonaws.dynamodb#S3SseKmsKeyId": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - } + "smithy.api#documentation": "Represents the auto scaling configuration for a global table.
" } }, - "com.amazonaws.dynamodb#SSEDescription": { - "type": "structure", + "com.amazonaws.dynamodb#TableClass": { + "type": "enum", "members": { - "Status": { - "target": "com.amazonaws.dynamodb#SSEStatus", - "traits": { - "smithy.api#documentation": "Represents the current state of server-side encryption. The only supported values\n are:
\n\n ENABLED - Server-side encryption is enabled.
\n UPDATING - Server-side encryption is being updated.
Server-side encryption type. The only supported value is:
\n\n KMS - Server-side encryption that uses Key Management Service. The\n key is stored in your account and is managed by KMS (KMS charges apply).
The KMS key ARN used for the KMS encryption.
" + "smithy.api#enumValue": "STANDARD" } }, - "InaccessibleEncryptionDateTime": { - "target": "com.amazonaws.dynamodb#Date", + "STANDARD_INFREQUENT_ACCESS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Indicates the time, in UNIX epoch date format, when DynamoDB detected that\n the table's KMS key was inaccessible. This attribute will automatically\n be cleared when DynamoDB detects that the table's KMS key is accessible\n again. DynamoDB will initiate the table archival process when table's KMS key remains inaccessible for more than seven days from this date.
" + "smithy.api#enumValue": "STANDARD_INFREQUENT_ACCESS" } } - }, - "traits": { - "smithy.api#documentation": "The description of the server-side encryption status on the specified table.
" } }, - "com.amazonaws.dynamodb#SSEEnabled": { - "type": "boolean" - }, - "com.amazonaws.dynamodb#SSESpecification": { + "com.amazonaws.dynamodb#TableClassSummary": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.dynamodb#SSEEnabled", - "traits": { - "smithy.api#documentation": "Indicates whether server-side encryption is done using an Amazon Web Services managed\n key or an Amazon Web Services owned key. If enabled (true), server-side encryption type\n is set to KMS and an Amazon Web Services managed key is used (KMS charges apply). If disabled (false) or not specified, server-side\n encryption is set to Amazon Web Services owned key.
Server-side encryption type. The only supported value is:
\n\n KMS - Server-side encryption that uses Key Management Service. The\n key is stored in your account and is managed by KMS (KMS charges apply).
The table class of the specified table. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.
The KMS key that should be used for the KMS encryption.\n To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN.\n Note that you should only provide this parameter if the key is different from the\n default DynamoDB key alias/aws/dynamodb.
The date and time at which the table class was last updated.
" } } }, "traits": { - "smithy.api#documentation": "Represents the settings used to enable server-side encryption.
" + "smithy.api#documentation": "Contains details of the table class.
" } }, - "com.amazonaws.dynamodb#SSEStatus": { - "type": "enum", + "com.amazonaws.dynamodb#TableCreationDateTime": { + "type": "timestamp" + }, + "com.amazonaws.dynamodb#TableCreationParameters": { + "type": "structure", "members": { - "ENABLING": { - "target": "smithy.api#Unit", + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#enumValue": "ENABLING" + "smithy.api#documentation": "The name of the table created as part of the import operation.
", + "smithy.api#required": {} } }, - "ENABLED": { - "target": "smithy.api#Unit", + "AttributeDefinitions": { + "target": "com.amazonaws.dynamodb#AttributeDefinitions", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#documentation": "The attributes of the table created as part of the import operation.
", + "smithy.api#required": {} } }, - "DISABLING": { - "target": "smithy.api#Unit", + "KeySchema": { + "target": "com.amazonaws.dynamodb#KeySchema", "traits": { - "smithy.api#enumValue": "DISABLING" + "smithy.api#documentation": "The primary key and option sort key of the table created as part of the import\n operation.
", + "smithy.api#required": {} } }, - "DISABLED": { - "target": "smithy.api#Unit", + "BillingMode": { + "target": "com.amazonaws.dynamodb#BillingMode", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#documentation": "The billing mode for provisioning the table created as part of the import operation.\n
" } }, - "UPDATING": { - "target": "smithy.api#Unit", + "ProvisionedThroughput": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughput" + }, + "OnDemandThroughput": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput" + }, + "SSESpecification": { + "target": "com.amazonaws.dynamodb#SSESpecification" + }, + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexList", "traits": { - "smithy.api#enumValue": "UPDATING" + "smithy.api#documentation": "The Global Secondary Indexes (GSI) of the table to be created as part of the import\n operation.
" } } + }, + "traits": { + "smithy.api#documentation": "The parameters for the table created as part of the import operation.
" } }, - "com.amazonaws.dynamodb#SSEType": { - "type": "enum", + "com.amazonaws.dynamodb#TableDescription": { + "type": "structure", "members": { - "AES256": { - "target": "smithy.api#Unit", + "AttributeDefinitions": { + "target": "com.amazonaws.dynamodb#AttributeDefinitions", "traits": { - "smithy.api#enumValue": "AES256" + "smithy.api#documentation": "An array of AttributeDefinition objects. Each of these objects describes\n one attribute in the table and index key schema.
Each AttributeDefinition object in this array is composed of:
\n AttributeName - The name of the attribute.
\n AttributeType - The data type for the attribute.
The name of the table.
" } - } - } - }, - "com.amazonaws.dynamodb#ScalarAttributeType": { - "type": "enum", - "members": { - "S": { - "target": "smithy.api#Unit", + }, + "KeySchema": { + "target": "com.amazonaws.dynamodb#KeySchema", "traits": { - "smithy.api#enumValue": "S" + "smithy.api#documentation": "The primary key structure for the table. Each KeySchemaElement consists\n of:
\n AttributeName - The name of the attribute.
\n KeyType - The role of the attribute:
\n HASH - partition key
\n RANGE - sort key
The partition key of an item is also known as its hash\n attribute. The term \"hash attribute\" derives from DynamoDB's\n usage of an internal hash function to evenly distribute data items across\n partitions, based on their partition key values.
\nThe sort key of an item is also known as its range\n attribute. The term \"range attribute\" derives from the way\n DynamoDB stores items with the same partition key physically close together,\n in sorted order by the sort key value.
\nFor more information about primary keys, see Primary Key in the Amazon DynamoDB Developer\n Guide.
" } }, - "N": { - "target": "smithy.api#Unit", + "TableStatus": { + "target": "com.amazonaws.dynamodb#TableStatus", "traits": { - "smithy.api#enumValue": "N" + "smithy.api#documentation": "The current state of the table:
\n\n CREATING - The table is being created.
\n UPDATING - The table/index configuration is being updated. The\n table/index remains available for data operations when\n UPDATING.
\n DELETING - The table is being deleted.
\n ACTIVE - The table is ready for use.
\n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key\n used to encrypt the table in inaccessible. Table operations may fail due to\n failure to use the KMS key. DynamoDB will initiate the\n table archival process when a table's KMS key remains\n inaccessible for more than seven days.
\n ARCHIVING - The table is being archived. Operations are not allowed\n until archival is complete.
\n ARCHIVED - The table has been archived. See the ArchivalReason for\n more information.
The date and time when the table was created, in UNIX epoch time format.
" } - } - } - }, - "com.amazonaws.dynamodb#Scan": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#ScanInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#ScanOutput" - }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" }, - { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "ProvisionedThroughput": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputDescription", + "traits": { + "smithy.api#documentation": "The provisioned throughput settings for the table, consisting of read and write\n capacity units, along with data about increases and decreases.
" + } }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" - } - ], - "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false + "TableSizeBytes": { + "target": "com.amazonaws.dynamodb#LongObject", + "traits": { + "smithy.api#documentation": "The total size of the specified table, in bytes. DynamoDB updates this value\n approximately every six hours. Recent changes might not be reflected in this\n value.
" + } }, - "smithy.api#documentation": "The Scan operation returns one or more items and item attributes by\n accessing every item in a table or a secondary index. To have DynamoDB return fewer\n items, you can provide a FilterExpression operation.
If the total size of scanned items exceeds the maximum dataset size limit of 1 MB, the\n scan completes and results are returned to the user. The LastEvaluatedKey\n value is also returned and the requestor can use the LastEvaluatedKey to\n continue the scan in a subsequent operation. Each scan response also includes number of\n items that were scanned (ScannedCount) as part of the request. If using a\n FilterExpression, a scan result can result in no items meeting the\n criteria and the Count will result in zero. If you did not use a\n FilterExpression in the scan request, then Count is the\n same as ScannedCount.
\n Count and ScannedCount only return the count of items\n specific to a single scan request and, unless the table is less than 1MB, do not\n represent the total number of items in the table.
A single Scan operation first reads up to the maximum number of items set\n (if using the Limit parameter) or a maximum of 1 MB of data and then\n applies any filtering to the results if a FilterExpression is provided. If\n LastEvaluatedKey is present in the response, pagination is required to\n complete the full table scan. For more information, see Paginating the\n Results in the Amazon DynamoDB Developer Guide.
\n Scan operations proceed sequentially; however, for faster performance on\n a large table or secondary index, applications can request a parallel Scan\n operation by providing the Segment and TotalSegments\n parameters. For more information, see Parallel\n Scan in the Amazon DynamoDB Developer Guide.
By default, a Scan uses eventually consistent reads when accessing the\n items in a table. Therefore, the results from an eventually consistent Scan\n may not include the latest item changes at the time the scan iterates through each item\n in the table. If you require a strongly consistent read of each item as the scan\n iterates through the items in the table, you can set the ConsistentRead\n parameter to true. Strong consistency only relates to the consistency of the read at the\n item level.
DynamoDB does not provide snapshot isolation for a scan operation when the\n ConsistentRead parameter is set to true. Thus, a DynamoDB scan\n operation does not guarantee that all reads in a scan see a consistent snapshot of\n the table when the scan operation was requested.
The number of items in the specified table. DynamoDB updates this value approximately\n every six hours. Recent changes might not be reflected in this value.
" } - ], - "smithy.api#paginated": { - "inputToken": "ExclusiveStartKey", - "outputToken": "LastEvaluatedKey", - "items": "Items", - "pageSize": "Limit" }, - "smithy.api#suppress": [ - "PaginatedTrait" - ] - } - }, - "com.amazonaws.dynamodb#ScanInput": { - "type": "structure", - "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "TableArn": { + "target": "com.amazonaws.dynamodb#String", "traits": { - "smithy.api#documentation": "The name of the table containing the requested items or if you provide\n 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.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The Amazon Resource Name (ARN) that uniquely identifies the table.
" } }, - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", + "TableId": { + "target": "com.amazonaws.dynamodb#TableId", "traits": { - "smithy.api#documentation": "The name of a secondary index to scan. This index can be any local secondary index or\n global secondary index. Note that if you use the IndexName parameter, you\n must also provide TableName.
Unique identifier for the table for which the backup was created.
" } }, - "AttributesToGet": { - "target": "com.amazonaws.dynamodb#AttributeNameList", + "BillingModeSummary": { + "target": "com.amazonaws.dynamodb#BillingModeSummary", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use ProjectionExpression instead. For more\n information, see AttributesToGet in the Amazon DynamoDB Developer\n Guide.
Contains the details for the read/write capacity mode.
" } }, - "Limit": { - "target": "com.amazonaws.dynamodb#PositiveIntegerObject", + "LocalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#LocalSecondaryIndexDescriptionList", "traits": { - "smithy.api#documentation": "The maximum number of items to evaluate (not necessarily the number of matching\n items). If DynamoDB processes the number of items up to the limit while processing the\n results, it stops the operation and returns the matching values up to that point, and a\n key in LastEvaluatedKey to apply in a subsequent operation, so that you can\n pick up where you left off. Also, if the processed dataset size exceeds 1 MB before\n DynamoDB reaches this limit, it stops the operation and returns the matching values up\n to the limit, and a key in LastEvaluatedKey to apply in a subsequent\n operation to continue the operation. For more information, see Working with Queries in the Amazon DynamoDB Developer\n Guide.
Represents one or more local secondary indexes on the table. Each index is scoped to a\n given partition key value. Tables with one or more local secondary indexes are subject\n to an item collection size limit, where the amount of data within a given item\n collection cannot exceed 10 GB. Each element is composed of:
\n\n IndexName - The name of the local secondary index.
\n KeySchema - Specifies the complete index key schema. The attribute\n names in the key schema must be between 1 and 255 characters (inclusive). The\n key schema must begin with the same partition key as the table.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - Only the specified table attributes are\n projected into the index. The list of projected attributes is in\n NonKeyAttributes.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
\n IndexSizeBytes - Represents the total size of the index, in bytes.\n DynamoDB updates this value approximately every six hours. Recent changes might\n not be reflected in this value.
\n ItemCount - Represents the number of items in the index. DynamoDB\n updates this value approximately every six hours. Recent changes might not be\n reflected in this value.
If the table is in the DELETING state, no information about indexes will\n be returned.
The attributes to be returned in the result. You can retrieve all item attributes,\n specific item attributes, the count of matching items, or in the case of an index, some\n or all of the attributes projected into the index.
\n\n ALL_ATTRIBUTES - Returns all of the item attributes from the\n specified table or index. If you query a local secondary index, then for each\n matching item in the index, DynamoDB fetches the entire item from the parent\n table. If the index is configured to project all item attributes, then all of\n the data can be obtained from the local secondary index, and no fetching is\n required.
\n ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index.\n Retrieves all attributes that have been projected into the index. If the index\n is configured to project all attributes, this return value is equivalent to\n specifying ALL_ATTRIBUTES.
\n COUNT - Returns the number of matching items, rather than the\n matching items themselves. Note that this uses the same quantity of read\n capacity units as getting the items, and is subject to the same item size\n calculations.
\n SPECIFIC_ATTRIBUTES - Returns only the attributes listed in\n ProjectionExpression. This return value is equivalent to\n specifying ProjectionExpression without specifying any value for\n Select.
If you query or scan a local secondary index and request only attributes that\n are projected into that index, the operation reads only the index and not the\n table. If any of the requested attributes are not projected into the local\n secondary index, DynamoDB fetches each of these attributes from the parent\n table. This extra fetching incurs additional throughput cost and latency.
\nIf you query or scan a global secondary index, you can only request attributes\n that are projected into the index. Global secondary index queries cannot fetch\n attributes from the parent table.
\nIf neither Select nor ProjectionExpression are specified,\n DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and\n ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both\n Select and ProjectionExpression together in a single\n request, unless the value for Select is SPECIFIC_ATTRIBUTES.\n (This usage is equivalent to specifying ProjectionExpression without any\n value for Select.)
If you use the ProjectionExpression parameter, then the value for\n Select can only be SPECIFIC_ATTRIBUTES. Any other\n value for Select will return an error.
The global secondary indexes, if any, on the table. Each index is scoped to a given\n partition key value. Each element is composed of:
\n\n Backfilling - If true, then the index is currently in the\n backfilling phase. Backfilling occurs only when a new global secondary index is\n added to the table. It is the process by which DynamoDB populates the new index\n with data from the table. (This attribute does not appear for indexes that were\n created during a CreateTable operation.)
You can delete an index that is being created during the\n Backfilling phase when IndexStatus is set to\n CREATING and Backfilling is true. You can't delete the index that\n is being created when IndexStatus is set to CREATING and\n Backfilling is false. (This attribute does not appear for\n indexes that were created during a CreateTable operation.)
\n IndexName - The name of the global secondary index.
\n IndexSizeBytes - The total size of the global secondary index, in\n bytes. DynamoDB updates this value approximately every six hours. Recent changes\n might not be reflected in this value.
\n IndexStatus - The current status of the global secondary\n index:
\n CREATING - The index is being created.
\n UPDATING - The index is being updated.
\n DELETING - The index is being deleted.
\n ACTIVE - The index is ready for use.
\n ItemCount - The number of items in the global secondary index.\n DynamoDB updates this value approximately every six hours. Recent changes might\n not be reflected in this value.
\n KeySchema - Specifies the complete index key schema. The attribute\n names in the key schema must be between 1 and 255 characters (inclusive). The\n key schema must begin with the same partition key as the table.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - In addition to the attributes described\n in KEYS_ONLY, the secondary index will include\n other non-key attributes that you specify.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
\n ProvisionedThroughput - The provisioned throughput settings for the\n global secondary index, consisting of read and write capacity units, along with\n data about increases and decreases.
If the table is in the DELETING state, no information about indexes will\n be returned.
This is a legacy parameter. Use FilterExpression instead. For more\n information, see ScanFilter in the Amazon DynamoDB Developer\n Guide.
The current DynamoDB Streams configuration for the table.
" } }, - "ConditionalOperator": { - "target": "com.amazonaws.dynamodb#ConditionalOperator", + "LatestStreamLabel": { + "target": "com.amazonaws.dynamodb#String", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use FilterExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
A timestamp, in ISO 8601 format, for this stream.
\nNote that LatestStreamLabel is not a unique identifier for the stream,\n because it is possible that a stream from another table might have the same timestamp.\n However, the combination of the following three elements is guaranteed to be\n unique:
Amazon Web Services customer ID
\nTable name
\n\n StreamLabel\n
The primary key of the first item that this operation will evaluate. Use the value\n that was returned for LastEvaluatedKey in the previous operation.
The data type for ExclusiveStartKey must be String, Number or Binary. No\n set data types are allowed.
In a parallel scan, a Scan request that includes\n ExclusiveStartKey must specify the same segment whose previous\n Scan returned the corresponding value of\n LastEvaluatedKey.
The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this\n table.
" } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" - }, - "TotalSegments": { - "target": "com.amazonaws.dynamodb#ScanTotalSegments", + "GlobalTableVersion": { + "target": "com.amazonaws.dynamodb#String", "traits": { - "smithy.api#documentation": "For a parallel Scan request, TotalSegments represents the\n total number of segments into which the Scan operation will be divided. The\n value of TotalSegments corresponds to the number of application workers\n that will perform the parallel scan. For example, if you want to use four application\n threads to scan a table or an index, specify a TotalSegments value of\n 4.
The value for TotalSegments must be greater than or equal to 1, and less\n than or equal to 1000000. If you specify a TotalSegments value of 1, the\n Scan operation will be sequential rather than parallel.
If you specify TotalSegments, you must also specify\n Segment.
Represents the version of global tables\n in use, if the table is replicated across Amazon Web Services Regions.
" } }, - "Segment": { - "target": "com.amazonaws.dynamodb#ScanSegment", + "Replicas": { + "target": "com.amazonaws.dynamodb#ReplicaDescriptionList", "traits": { - "smithy.api#documentation": "For a parallel Scan request, Segment identifies an\n individual segment to be scanned by an application worker.
Segment IDs are zero-based, so the first segment is always 0. For example, if you want\n to use four application threads to scan a table or an index, then the first thread\n specifies a Segment value of 0, the second thread specifies 1, and so\n on.
The value of LastEvaluatedKey returned from a parallel Scan\n request must be used as ExclusiveStartKey with the same segment ID in a\n subsequent Scan operation.
The value for Segment must be greater than or equal to 0, and less than\n the value provided for TotalSegments.
If you provide Segment, you must also provide\n TotalSegments.
Represents replicas of the table.
" } }, - "ProjectionExpression": { - "target": "com.amazonaws.dynamodb#ProjectionExpression", + "GlobalTableWitnesses": { + "target": "com.amazonaws.dynamodb#GlobalTableWitnessDescriptionList", "traits": { - "smithy.api#documentation": "A string that identifies one or more attributes to retrieve from the specified table\n or index. These attributes can include scalars, sets, or elements of a JSON document.\n The attributes in the expression must be separated by commas.
\nIf no attribute names are specified, then all attributes will be returned. If any of\n the requested attributes are not found, they will not appear in the result.
\nFor more information, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The witness Region and its current status in the MRSC global table. Only one witness\n Region can be configured per MRSC global table.
" } }, - "FilterExpression": { - "target": "com.amazonaws.dynamodb#ConditionExpression", + "GlobalTableSettingsReplicationMode": { + "target": "com.amazonaws.dynamodb#GlobalTableSettingsReplicationMode", "traits": { - "smithy.api#documentation": "A string that contains conditions that DynamoDB applies after the Scan\n operation, but before the data is returned to you. Items that do not satisfy the\n FilterExpression criteria are not returned.
A FilterExpression is applied after the items have already been read;\n the process of filtering does not consume any additional read capacity units.
For more information, see Filter\n Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "Indicates one of the settings synchronization modes for the global table:
\n\n ENABLED: Indicates that the settings synchronization mode for the global table\n is enabled.
\n DISABLED: Indicates that the settings synchronization mode for the global table is\n disabled.
\n ENABLED_WITH_OVERRIDES: This mode is set by default for a same account global table.\n Indicates that certain global table settings can be overridden.
One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide). To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "Contains details for the restore.
" } }, - "ExpressionAttributeValues": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "SSEDescription": { + "target": "com.amazonaws.dynamodb#SSEDescription", "traits": { - "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The description of the server-side encryption status on the specified table.
" } }, - "ConsistentRead": { - "target": "com.amazonaws.dynamodb#ConsistentRead", + "ArchivalSummary": { + "target": "com.amazonaws.dynamodb#ArchivalSummary", "traits": { - "smithy.api#documentation": "A Boolean value that determines the read consistency model during the scan:
\nIf ConsistentRead is false, then the data returned\n from Scan might not contain the results from other recently\n completed write operations (PutItem, UpdateItem, or\n DeleteItem).
If ConsistentRead is true, then all of the write\n operations that completed before the Scan began are guaranteed to\n be contained in the Scan response.
The default setting for ConsistentRead is false.
The ConsistentRead parameter is not supported on global secondary\n indexes. If you scan a global secondary index with ConsistentRead set to\n true, you will receive a ValidationException.
Contains information about the table archive.
" } - } - }, - "traits": { - "smithy.api#documentation": "Represents the input of a Scan operation.
An array of item attributes that match the scan criteria. Each element in this array\n consists of an attribute name and the value for that attribute.
" + "smithy.api#documentation": "Contains details of the table class.
" } }, - "Count": { - "target": "com.amazonaws.dynamodb#Integer", + "DeletionProtectionEnabled": { + "target": "com.amazonaws.dynamodb#DeletionProtectionEnabled", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "The number of items in the response.
\nIf you set ScanFilter in the request, then Count is the\n number of items returned after the filter was applied, and ScannedCount is\n the number of matching items before the filter was applied.
If you did not use a filter in the request, then Count is the same as\n ScannedCount.
Indicates whether deletion protection is enabled (true) or disabled (false) on the\n table.
" } }, - "ScannedCount": { - "target": "com.amazonaws.dynamodb#Integer", + "OnDemandThroughput": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "The number of items evaluated, before any ScanFilter is applied. A high\n ScannedCount value with few, or no, Count results\n indicates an inefficient Scan operation. For more information, see Count and\n ScannedCount in the Amazon DynamoDB Developer\n Guide.
If you did not use a filter in the request, then ScannedCount is the same\n as Count.
The maximum number of read and write units for the specified on-demand table. If you\n use this parameter, you must specify MaxReadRequestUnits,\n MaxWriteRequestUnits, or both.
The primary key of the item where the operation stopped, inclusive of the previous\n result set. Use this value to start a new operation, excluding this value in the new\n request.
\nIf LastEvaluatedKey is empty, then the \"last page\" of results has been\n processed and there is no more data to be retrieved.
If LastEvaluatedKey is not empty, it does not necessarily mean that there\n is more data in the result set. The only way to know when you have reached the end of\n the result set is when LastEvaluatedKey is empty.
Describes the warm throughput value of the base table.
" } }, - "ConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ConsumedCapacity", + "MultiRegionConsistency": { + "target": "com.amazonaws.dynamodb#MultiRegionConsistency", "traits": { - "smithy.api#documentation": "The capacity units consumed by the Scan operation. The data returned\n includes the total provisioned throughput consumed, along with statistics for the table\n and any indexes involved in the operation. ConsumedCapacity is only\n returned if the ReturnConsumedCapacity parameter was specified. For more\n information, see Capacity unit consumption for read operations in the Amazon\n DynamoDB Developer Guide.
Indicates one of the following consistency modes for a global table:
\n\n EVENTUAL: Indicates that the global table is configured for\n multi-Region eventual consistency (MREC).
\n STRONG: Indicates that the global table is configured for\n multi-Region strong consistency (MRSC).
If you don't specify this field, the global table consistency mode defaults to\n EVENTUAL. For more information about global tables consistency modes,\n see \n Consistency modes in DynamoDB developer guide.
Represents the output of a Scan operation.
Represents the properties of a table.
" } }, - "com.amazonaws.dynamodb#ScanSegment": { - "type": "integer", + "com.amazonaws.dynamodb#TableId": { + "type": "string", "traits": { - "smithy.api#range": { - "min": 0, - "max": 999999 + "smithy.api#pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + } + }, + "com.amazonaws.dynamodb#TableInUseException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" } + }, + "traits": { + "smithy.api#documentation": "A target table with the specified name is either being created or deleted.\n
", + "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#ScanTotalSegments": { - "type": "integer", + "com.amazonaws.dynamodb#TableName": { + "type": "string", "traits": { - "smithy.api#range": { - "min": 1, - "max": 1000000 - } + "smithy.api#length": { + "min": 3, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" } }, - "com.amazonaws.dynamodb#SecondaryIndexesCapacityMap": { - "type": "map", - "key": { - "target": "com.amazonaws.dynamodb#IndexName" + "com.amazonaws.dynamodb#TableNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#TableName" + } + }, + "com.amazonaws.dynamodb#TableNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" + } }, - "value": { - "target": "com.amazonaws.dynamodb#Capacity" + "traits": { + "smithy.api#documentation": "A source table with the name TableName does not currently exist within\n the subscriber's account or the subscriber is operating in the wrong Amazon Web Services\n Region.
The name of the table for which the backup was created.
", - "smithy.api#required": {} - } - }, - "TableId": { - "target": "com.amazonaws.dynamodb#TableId", - "traits": { - "smithy.api#documentation": "Unique identifier for the table for which the backup was created.
", - "smithy.api#required": {} + "smithy.api#enumValue": "ACTIVE" } }, - "TableArn": { - "target": "com.amazonaws.dynamodb#TableArn", + "INACCESSIBLE_ENCRYPTION_CREDENTIALS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "ARN of the table for which backup was created.
" + "smithy.api#enumValue": "INACCESSIBLE_ENCRYPTION_CREDENTIALS" } }, - "TableSizeBytes": { - "target": "com.amazonaws.dynamodb#LongObject", + "ARCHIVING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Size of the table in bytes. Note that this is an approximate value.
" + "smithy.api#enumValue": "ARCHIVING" } }, - "KeySchema": { - "target": "com.amazonaws.dynamodb#KeySchema", + "ARCHIVED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Schema of the table.
", - "smithy.api#required": {} + "smithy.api#enumValue": "ARCHIVED" } }, - "TableCreationDateTime": { - "target": "com.amazonaws.dynamodb#TableCreationDateTime", + "REPLICATION_NOT_AUTHORIZED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Time when the source table was created.
", - "smithy.api#required": {} + "smithy.api#enumValue": "REPLICATION_NOT_AUTHORIZED" } - }, - "ProvisionedThroughput": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughput", + } + } + }, + "com.amazonaws.dynamodb#TableWarmThroughputDescription": { + "type": "structure", + "members": { + "ReadUnitsPerSecond": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#documentation": "Read IOPs and Write IOPS on the table when the backup was created.
", - "smithy.api#required": {} + "smithy.api#documentation": "Represents the base table's warm throughput value in read units per second.
" } }, - "OnDemandThroughput": { - "target": "com.amazonaws.dynamodb#OnDemandThroughput" - }, - "ItemCount": { - "target": "com.amazonaws.dynamodb#ItemCount", + "WriteUnitsPerSecond": { + "target": "com.amazonaws.dynamodb#PositiveLongObject", "traits": { - "smithy.api#documentation": "Number of items in the table. Note that this is an approximate value.
" + "smithy.api#documentation": "Represents the base table's warm throughput value in write units per second.
" } }, - "BillingMode": { - "target": "com.amazonaws.dynamodb#BillingMode", + "Status": { + "target": "com.amazonaws.dynamodb#TableStatus", "traits": { - "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. This setting can be changed later.
\n\n PROVISIONED - Sets the read/write capacity mode to\n PROVISIONED. We recommend using PROVISIONED for\n predictable workloads.
\n PAY_PER_REQUEST - Sets the read/write capacity mode to\n PAY_PER_REQUEST. We recommend using\n PAY_PER_REQUEST for unpredictable workloads.
Represents warm throughput value of the base table.
" } } }, "traits": { - "smithy.api#documentation": "Contains the details of the table when the backup was created.
" + "smithy.api#documentation": "Represents the warm throughput value (in read units per second and write units per\n second) of the table. Warm throughput is applicable for DynamoDB Standard-IA tables and\n specifies the minimum provisioned capacity maintained for immediate data access.
" } }, - "com.amazonaws.dynamodb#SourceTableFeatureDetails": { + "com.amazonaws.dynamodb#Tag": { "type": "structure", "members": { - "LocalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#LocalSecondaryIndexes", - "traits": { - "smithy.api#documentation": "Represents the LSI properties for the table when the backup was created. It includes\n the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.\n
" - } - }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexes", - "traits": { - "smithy.api#documentation": "Represents the GSI properties for the table when the backup was created. It includes\n the IndexName, KeySchema, Projection, and ProvisionedThroughput for the GSIs on the\n table at the time of backup.
" - } - }, - "StreamDescription": { - "target": "com.amazonaws.dynamodb#StreamSpecification", - "traits": { - "smithy.api#documentation": "Stream settings on the table when the backup was created.
" - } - }, - "TimeToLiveDescription": { - "target": "com.amazonaws.dynamodb#TimeToLiveDescription", + "Key": { + "target": "com.amazonaws.dynamodb#TagKeyString", "traits": { - "smithy.api#documentation": "Time to Live settings on the table when the backup was created.
" + "smithy.api#documentation": "The key of the tag. Tag keys are case sensitive. Each DynamoDB table can\n only have up to one tag with the same key. If you try to add an existing tag (same key),\n the existing tag value will be updated to the new value.
", + "smithy.api#required": {} } }, - "SSEDescription": { - "target": "com.amazonaws.dynamodb#SSEDescription", + "Value": { + "target": "com.amazonaws.dynamodb#TagValueString", "traits": { - "smithy.api#documentation": "The description of the server-side encryption status on the table when the backup was\n created.
" + "smithy.api#documentation": "The value of the tag. Tag values are case-sensitive and can be null.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Contains the details of the features enabled on the table when the backup was created.\n For example, LSIs, GSIs, streams, TTL.
" + "smithy.api#documentation": "Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single\n DynamoDB table.
\nAmazon Web Services-assigned tag names and values are automatically assigned the\n aws: prefix, which the user cannot assign. Amazon Web Services-assigned\n tag names do not count towards the tag limit of 50. User-assigned tag names have the\n prefix user: in the Cost Allocation Report. You cannot backdate the\n application of a tag.
For an overview on tagging DynamoDB resources, see Tagging\n for DynamoDB in the Amazon DynamoDB Developer\n Guide.
" } }, - "com.amazonaws.dynamodb#StreamArn": { + "com.amazonaws.dynamodb#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#TagKeyString" + } + }, + "com.amazonaws.dynamodb#TagKeyString": { "type": "string", "traits": { "smithy.api#length": { - "min": 37, - "max": 1024 + "min": 1, + "max": 128 } } }, - "com.amazonaws.dynamodb#StreamEnabled": { - "type": "boolean" + "com.amazonaws.dynamodb#TagList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#Tag" + } }, - "com.amazonaws.dynamodb#StreamSpecification": { + "com.amazonaws.dynamodb#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#TagResourceInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceInUseException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "Associate a set of tags with an Amazon DynamoDB resource. You can then activate these\n user-defined tags so that they appear on the Billing and Cost Management console for\n cost allocation tracking. You can call TagResource up to five times per second, per\n account.
\n\n TagResource is an asynchronous operation. If you issue a ListTagsOfResource request immediately after a\n TagResource request, DynamoDB might return your\n previous tag set, if there was one, or an empty tag set. This is because\n ListTagsOfResource uses an eventually consistent query, and the\n metadata for your tags or table might not be available at that moment. Wait for\n a few seconds, and then try the ListTagsOfResource request\n again.
The application or removal of tags using TagResource and\n UntagResource APIs is eventually consistent.\n ListTagsOfResource API will only reflect the changes after a\n few seconds.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB\n in the Amazon DynamoDB Developer Guide.
" + } + }, + "com.amazonaws.dynamodb#TagResourceInput": { "type": "structure", "members": { - "StreamEnabled": { - "target": "com.amazonaws.dynamodb#StreamEnabled", + "ResourceArn": { + "target": "com.amazonaws.dynamodb#ResourceArnString", "traits": { - "smithy.api#documentation": "Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the\n table.
", - "smithy.api#required": {} + "smithy.api#documentation": "Identifies the Amazon DynamoDB resource to which tags should be added. This value is\n an Amazon Resource Name (ARN).
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "StreamViewType": { - "target": "com.amazonaws.dynamodb#StreamViewType", + "Tags": { + "target": "com.amazonaws.dynamodb#TagList", "traits": { - "smithy.api#documentation": " When an item in the table is modified, StreamViewType determines what\n information is written to the stream for this table. Valid values for\n StreamViewType are:
\n KEYS_ONLY - Only the key attributes of the modified item are\n written to the stream.
\n NEW_IMAGE - The entire item, as it appears after it was modified,\n is written to the stream.
\n OLD_IMAGE - The entire item, as it appeared before it was modified,\n is written to the stream.
\n NEW_AND_OLD_IMAGES - Both the new and the old item images of the\n item are written to the stream.
The tags to be assigned to the Amazon DynamoDB resource.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Represents the DynamoDB Streams configuration for a table in DynamoDB.
" + "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#StreamViewType": { - "type": "enum", + "com.amazonaws.dynamodb#TagValueString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + } + } + }, + "com.amazonaws.dynamodb#ThrottlingException": { + "type": "structure", "members": { - "NEW_IMAGE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NEW_IMAGE" - } + "message": { + "target": "com.amazonaws.dynamodb#AvailabilityErrorMessage" }, - "OLD_IMAGE": { - "target": "smithy.api#Unit", + "throttlingReasons": { + "target": "com.amazonaws.dynamodb#ThrottlingReasonList", "traits": { - "smithy.api#enumValue": "OLD_IMAGE" + "smithy.api#documentation": "A list of ThrottlingReason that\n provide detailed diagnostic information about why the request was throttled.\n
" } + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "Throttling", + "httpResponseCode": 400 }, - "NEW_AND_OLD_IMAGES": { - "target": "smithy.api#Unit", + "smithy.api#documentation": "The request was denied due to request throttling. For detailed information about why\n the request was throttled and the ARN of the impacted resource, find the ThrottlingReason field in the returned exception.
", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.dynamodb#ThrottlingReason": { + "type": "structure", + "members": { + "reason": { + "target": "com.amazonaws.dynamodb#Reason", "traits": { - "smithy.api#enumValue": "NEW_AND_OLD_IMAGES" + "smithy.api#documentation": "The reason for throttling. The throttling reason follows a specific format:\n ResourceType+OperationType+LimitType:
Resource Type (What is being throttled): Table or Index
\nOperation Type (What kind of operation): Read or Write
\nLimit Type (Why the throttling occurred):
\n\n ProvisionedThroughputExceeded: The request rate is\n exceeding the provisioned throughput capacity (read or write capacity\n units) configured for a table or a global secondary index (GSI) in\n provisioned capacity mode.
\n AccountLimitExceeded: The request rate has caused a table\n or global secondary index (GSI) in on-demand mode to exceed the per-table account-level service quotas for read/write\n throughput in the current Amazon Web Services Region.
\n KeyRangeThroughputExceeded: The request rate directed at\n a specific partition key value has exceeded the internal partition-level throughput limits, indicating\n uneven access patterns across the table's or GSI's key space.
\n MaxOnDemandThroughputExceeded: The request rate has\n exceeded the configured maximum throughput limits set for a table or\n index in on-demand capacity mode.
Examples of complete throttling reasons:
\nTableReadProvisionedThroughputExceeded
\nIndexWriteAccountLimitExceeded
\nThis helps identify exactly what resource is being throttled, what type of operation\n caused it, and why the throttling occurred.
" } }, - "KEYS_ONLY": { - "target": "smithy.api#Unit", + "resource": { + "target": "com.amazonaws.dynamodb#Resource", "traits": { - "smithy.api#enumValue": "KEYS_ONLY" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the DynamoDB table or index that experienced the\n throttling event.
" } } + }, + "traits": { + "smithy.api#documentation": "Represents the specific reason why a DynamoDB request was throttled and the\n ARN of the impacted resource. This helps identify exactly what resource is being throttled, \n what type of operation caused it, and why the throttling occurred.
" } }, - "com.amazonaws.dynamodb#String": { - "type": "string" - }, - "com.amazonaws.dynamodb#StringAttributeValue": { - "type": "string" - }, - "com.amazonaws.dynamodb#StringSetAttributeValue": { + "com.amazonaws.dynamodb#ThrottlingReasonList": { "type": "list", "member": { - "target": "com.amazonaws.dynamodb#StringAttributeValue" + "target": "com.amazonaws.dynamodb#ThrottlingReason" } }, - "com.amazonaws.dynamodb#TableAlreadyExistsException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "A target table with the specified name already exists.
", - "smithy.api#error": "client" - } + "com.amazonaws.dynamodb#TimeRangeLowerBound": { + "type": "timestamp" }, - "com.amazonaws.dynamodb#TableArn": { + "com.amazonaws.dynamodb#TimeRangeUpperBound": { + "type": "timestamp" + }, + "com.amazonaws.dynamodb#TimeToLiveAttributeName": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 1024 + "max": 255 } } }, - "com.amazonaws.dynamodb#TableAutoScalingDescription": { + "com.amazonaws.dynamodb#TimeToLiveDescription": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableName", + "TimeToLiveStatus": { + "target": "com.amazonaws.dynamodb#TimeToLiveStatus", "traits": { - "smithy.api#documentation": "The name of the table.
" + "smithy.api#documentation": "The TTL status for the table.
" } }, - "TableStatus": { - "target": "com.amazonaws.dynamodb#TableStatus", + "AttributeName": { + "target": "com.amazonaws.dynamodb#TimeToLiveAttributeName", "traits": { - "smithy.api#documentation": "The current state of the table:
\n\n CREATING - The table is being created.
\n UPDATING - The table is being updated.
\n DELETING - The table is being deleted.
\n ACTIVE - The table is ready for use.
The name of the TTL attribute for items in the table.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The description of the Time to Live (TTL) status on the specified table.
" + } + }, + "com.amazonaws.dynamodb#TimeToLiveEnabled": { + "type": "boolean" + }, + "com.amazonaws.dynamodb#TimeToLiveSpecification": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.dynamodb#TimeToLiveEnabled", + "traits": { + "smithy.api#documentation": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
", + "smithy.api#required": {} } }, - "Replicas": { - "target": "com.amazonaws.dynamodb#ReplicaAutoScalingDescriptionList", + "AttributeName": { + "target": "com.amazonaws.dynamodb#TimeToLiveAttributeName", "traits": { - "smithy.api#documentation": "Represents replicas of the global table.
" + "smithy.api#documentation": "The name of the TTL attribute used to store the expiration time for items in the\n table.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Represents the auto scaling configuration for a global table.
" + "smithy.api#documentation": "Represents the settings used to enable or disable Time to Live (TTL) for the specified\n table.
" } }, - "com.amazonaws.dynamodb#TableClass": { + "com.amazonaws.dynamodb#TimeToLiveStatus": { "type": "enum", "members": { - "STANDARD": { + "ENABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLING" + } + }, + "DISABLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLING" + } + }, + "ENABLED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "STANDARD" + "smithy.api#enumValue": "ENABLED" } }, - "STANDARD_INFREQUENT_ACCESS": { + "DISABLED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "STANDARD_INFREQUENT_ACCESS" + "smithy.api#enumValue": "DISABLED" } } } }, - "com.amazonaws.dynamodb#TableClassSummary": { + "com.amazonaws.dynamodb#TransactGetItem": { "type": "structure", "members": { - "TableClass": { - "target": "com.amazonaws.dynamodb#TableClass", - "traits": { - "smithy.api#documentation": "The table class of the specified table. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.
The date and time at which the table class was last updated.
" + "smithy.api#documentation": "Contains the primary key that identifies the item to get, together with the name of\n the table that contains the item, and optionally the specific attributes of the item to\n retrieve.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Contains details of the table class.
" + "smithy.api#documentation": "Specifies an item to be retrieved as part of the transaction.
" } }, - "com.amazonaws.dynamodb#TableCreationDateTime": { - "type": "timestamp" + "com.amazonaws.dynamodb#TransactGetItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#TransactGetItem" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } }, - "com.amazonaws.dynamodb#TableCreationParameters": { - "type": "structure", - "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableName", - "traits": { - "smithy.api#documentation": "The name of the table created as part of the import operation.
", - "smithy.api#required": {} - } + "com.amazonaws.dynamodb#TransactGetItems": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#TransactGetItemsInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#TransactGetItemsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" }, - "AttributeDefinitions": { - "target": "com.amazonaws.dynamodb#AttributeDefinitions", - "traits": { - "smithy.api#documentation": "The attributes of the table created as part of the import operation.
", - "smithy.api#required": {} - } + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, - "KeySchema": { - "target": "com.amazonaws.dynamodb#KeySchema", - "traits": { - "smithy.api#documentation": "The primary key and option sort key of the table created as part of the import\n operation.
", - "smithy.api#required": {} - } + { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" }, - "BillingMode": { - "target": "com.amazonaws.dynamodb#BillingMode", - "traits": { - "smithy.api#documentation": "The billing mode for provisioning the table created as part of the import operation.\n
" - } + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" }, - "ProvisionedThroughput": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughput" + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" }, - "OnDemandThroughput": { - "target": "com.amazonaws.dynamodb#OnDemandThroughput" + { + "target": "com.amazonaws.dynamodb#ThrottlingException" }, - "SSESpecification": { - "target": "com.amazonaws.dynamodb#SSESpecification" + { + "target": "com.amazonaws.dynamodb#TransactionCanceledException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexList", - "traits": { - "smithy.api#documentation": "The Global Secondary Indexes (GSI) of the table to be created as part of the import\n operation.
" + "smithy.api#documentation": "\n TransactGetItems is a synchronous operation that atomically retrieves\n multiple items from one or more tables (but not from indexes) in a single account and\n Region. A TransactGetItems call can contain up to 100\n TransactGetItem objects, each of which contains a Get\n structure that specifies an item to retrieve from a table in the account and Region. A\n call to TransactGetItems cannot retrieve items from tables in more than one\n Amazon Web Services account or Region. The aggregate size of the items in the\n transaction cannot exceed 4 MB.
DynamoDB rejects the entire TransactGetItems request if any of\n the following is true:
A conflicting operation is in the process of updating an item to be\n read.
\nThere is insufficient provisioned capacity for the transaction to be\n completed.
\nThere is a user error, such as an invalid data format.
\nThe aggregate size of the items in the transaction exceeded 4 MB.
\nThe parameters for the table created as part of the import operation.
" } }, - "com.amazonaws.dynamodb#TableDescription": { + "com.amazonaws.dynamodb#TransactGetItemsInput": { "type": "structure", "members": { - "AttributeDefinitions": { - "target": "com.amazonaws.dynamodb#AttributeDefinitions", - "traits": { - "smithy.api#documentation": "An array of AttributeDefinition objects. Each of these objects describes\n one attribute in the table and index key schema.
Each AttributeDefinition object in this array is composed of:
\n AttributeName - The name of the attribute.
\n AttributeType - The data type for the attribute.
The name of the table.
" - } - }, - "KeySchema": { - "target": "com.amazonaws.dynamodb#KeySchema", - "traits": { - "smithy.api#documentation": "The primary key structure for the table. Each KeySchemaElement consists\n of:
\n AttributeName - The name of the attribute.
\n KeyType - The role of the attribute:
\n HASH - partition key
\n RANGE - sort key
The partition key of an item is also known as its hash\n attribute. The term \"hash attribute\" derives from DynamoDB's\n usage of an internal hash function to evenly distribute data items across\n partitions, based on their partition key values.
\nThe sort key of an item is also known as its range\n attribute. The term \"range attribute\" derives from the way\n DynamoDB stores items with the same partition key physically close together,\n in sorted order by the sort key value.
\nFor more information about primary keys, see Primary Key in the Amazon DynamoDB Developer\n Guide.
" - } - }, - "TableStatus": { - "target": "com.amazonaws.dynamodb#TableStatus", - "traits": { - "smithy.api#documentation": "The current state of the table:
\n\n CREATING - The table is being created.
\n UPDATING - The table/index configuration is being updated. The\n table/index remains available for data operations when\n UPDATING.
\n DELETING - The table is being deleted.
\n ACTIVE - The table is ready for use.
\n INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key\n used to encrypt the table in inaccessible. Table operations may fail due to\n failure to use the KMS key. DynamoDB will initiate the\n table archival process when a table's KMS key remains\n inaccessible for more than seven days.
\n ARCHIVING - The table is being archived. Operations are not allowed\n until archival is complete.
\n ARCHIVED - The table has been archived. See the ArchivalReason for\n more information.
The date and time when the table was created, in UNIX epoch time format.
" - } - }, - "ProvisionedThroughput": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputDescription", + "TransactItems": { + "target": "com.amazonaws.dynamodb#TransactGetItemList", "traits": { - "smithy.api#documentation": "The provisioned throughput settings for the table, consisting of read and write\n capacity units, along with data about increases and decreases.
" + "smithy.api#documentation": "An ordered array of up to 100 TransactGetItem objects, each of which\n contains a Get structure.
The total size of the specified table, in bytes. DynamoDB updates this value\n approximately every six hours. Recent changes might not be reflected in this\n value.
" + "smithy.api#documentation": "A value of TOTAL causes consumed capacity information to be returned, and\n a value of NONE prevents that information from being returned. No other\n value is valid.
The number of items in the specified table. DynamoDB updates this value approximately\n every six hours. Recent changes might not be reflected in this value.
" + "smithy.api#documentation": "If the ReturnConsumedCapacity value was TOTAL, this\n is an array of ConsumedCapacity objects, one for each table addressed by\n TransactGetItem objects in the TransactItems\n parameter. These ConsumedCapacity objects report the read-capacity units\n consumed by the TransactGetItems call in that table.
The Amazon Resource Name (ARN) that uniquely identifies the table.
" + "smithy.api#documentation": "An ordered array of up to 100 ItemResponse objects, each of which\n corresponds to the TransactGetItem object in the same position in the\n TransactItems array. Each ItemResponse object\n contains a Map of the name-value pairs that are the projected attributes of the\n requested item.
If a requested item could not be retrieved, the corresponding\n ItemResponse object is Null, or if the requested item has no projected\n attributes, the corresponding ItemResponse object is an empty Map.
Unique identifier for the table for which the backup was created.
" + "smithy.api#documentation": "A request to perform a check item operation.
" } }, - "BillingModeSummary": { - "target": "com.amazonaws.dynamodb#BillingModeSummary", + "Put": { + "target": "com.amazonaws.dynamodb#Put", "traits": { - "smithy.api#documentation": "Contains the details for the read/write capacity mode.
" + "smithy.api#documentation": "A request to perform a PutItem operation.
Represents one or more local secondary indexes on the table. Each index is scoped to a\n given partition key value. Tables with one or more local secondary indexes are subject\n to an item collection size limit, where the amount of data within a given item\n collection cannot exceed 10 GB. Each element is composed of:
\n\n IndexName - The name of the local secondary index.
\n KeySchema - Specifies the complete index key schema. The attribute\n names in the key schema must be between 1 and 255 characters (inclusive). The\n key schema must begin with the same partition key as the table.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - Only the specified table attributes are\n projected into the index. The list of projected attributes is in\n NonKeyAttributes.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
\n IndexSizeBytes - Represents the total size of the index, in bytes.\n DynamoDB updates this value approximately every six hours. Recent changes might\n not be reflected in this value.
\n ItemCount - Represents the number of items in the index. DynamoDB\n updates this value approximately every six hours. Recent changes might not be\n reflected in this value.
If the table is in the DELETING state, no information about indexes will\n be returned.
A request to perform a DeleteItem operation.
The global secondary indexes, if any, on the table. Each index is scoped to a given\n partition key value. Each element is composed of:
\n\n Backfilling - If true, then the index is currently in the\n backfilling phase. Backfilling occurs only when a new global secondary index is\n added to the table. It is the process by which DynamoDB populates the new index\n with data from the table. (This attribute does not appear for indexes that were\n created during a CreateTable operation.)
You can delete an index that is being created during the\n Backfilling phase when IndexStatus is set to\n CREATING and Backfilling is true. You can't delete the index that\n is being created when IndexStatus is set to CREATING and\n Backfilling is false. (This attribute does not appear for\n indexes that were created during a CreateTable operation.)
\n IndexName - The name of the global secondary index.
\n IndexSizeBytes - The total size of the global secondary index, in\n bytes. DynamoDB updates this value approximately every six hours. Recent changes\n might not be reflected in this value.
\n IndexStatus - The current status of the global secondary\n index:
\n CREATING - The index is being created.
\n UPDATING - The index is being updated.
\n DELETING - The index is being deleted.
\n ACTIVE - The index is ready for use.
\n ItemCount - The number of items in the global secondary index.\n DynamoDB updates this value approximately every six hours. Recent changes might\n not be reflected in this value.
\n KeySchema - Specifies the complete index key schema. The attribute\n names in the key schema must be between 1 and 255 characters (inclusive). The\n key schema must begin with the same partition key as the table.
\n Projection - Specifies attributes that are copied (projected) from\n the table into the index. These are in addition to the primary key attributes\n and index key attributes, which are automatically projected. Each attribute\n specification is composed of:
\n ProjectionType - One of the following:
\n KEYS_ONLY - Only the index and primary keys are\n projected into the index.
\n INCLUDE - In addition to the attributes described\n in KEYS_ONLY, the secondary index will include\n other non-key attributes that you specify.
\n ALL - All of the table attributes are projected\n into the index.
\n NonKeyAttributes - A list of one or more non-key attribute\n names that are projected into the secondary index. The total count of\n attributes provided in NonKeyAttributes, summed across all\n of the secondary indexes, must not exceed 100. If you project the same\n attribute into two different indexes, this counts as two distinct\n attributes when determining the total. This limit only applies when you\n specify the ProjectionType of INCLUDE. You still can\n specify the ProjectionType of ALL to project all attributes\n from the source table, even if the table has more than 100\n attributes.
\n ProvisionedThroughput - The provisioned throughput settings for the\n global secondary index, consisting of read and write capacity units, along with\n data about increases and decreases.
If the table is in the DELETING state, no information about indexes will\n be returned.
A request to perform an UpdateItem operation.
A list of requests that can perform update, put, delete, or check operations on\n multiple items in one or more tables atomically.
" + } + }, + "com.amazonaws.dynamodb#TransactWriteItemList": { + "type": "list", + "member": { + "target": "com.amazonaws.dynamodb#TransactWriteItem" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.dynamodb#TransactWriteItems": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#TransactWriteItemsInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#TransactWriteItemsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#IdempotentParameterMismatchException" }, - "StreamSpecification": { - "target": "com.amazonaws.dynamodb#StreamSpecification", - "traits": { - "smithy.api#documentation": "The current DynamoDB Streams configuration for the table.
" - } + { + "target": "com.amazonaws.dynamodb#InternalServerError" }, - "LatestStreamLabel": { - "target": "com.amazonaws.dynamodb#String", - "traits": { - "smithy.api#documentation": "A timestamp, in ISO 8601 format, for this stream.
\nNote that LatestStreamLabel is not a unique identifier for the stream,\n because it is possible that a stream from another table might have the same timestamp.\n However, the combination of the following three elements is guaranteed to be\n unique:
Amazon Web Services customer ID
\nTable name
\n\n StreamLabel\n
The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this\n table.
" - } + { + "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" }, - "GlobalTableVersion": { - "target": "com.amazonaws.dynamodb#String", - "traits": { - "smithy.api#documentation": "Represents the version of global tables\n in use, if the table is replicated across Amazon Web Services Regions.
" - } + { + "target": "com.amazonaws.dynamodb#RequestLimitExceeded" }, - "Replicas": { - "target": "com.amazonaws.dynamodb#ReplicaDescriptionList", - "traits": { - "smithy.api#documentation": "Represents replicas of the table.
" - } + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" }, - "GlobalTableWitnesses": { - "target": "com.amazonaws.dynamodb#GlobalTableWitnessDescriptionList", - "traits": { - "smithy.api#documentation": "The witness Region and its current status in the MRSC global table. Only one witness\n Region can be configured per MRSC global table.
" - } + { + "target": "com.amazonaws.dynamodb#ThrottlingException" }, - "RestoreSummary": { - "target": "com.amazonaws.dynamodb#RestoreSummary", - "traits": { - "smithy.api#documentation": "Contains details for the restore.
" - } + { + "target": "com.amazonaws.dynamodb#TransactionCanceledException" }, - "SSEDescription": { - "target": "com.amazonaws.dynamodb#SSEDescription", - "traits": { - "smithy.api#documentation": "The description of the server-side encryption status on the specified table.
" - } + { + "target": "com.amazonaws.dynamodb#TransactionInProgressException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": false }, - "ArchivalSummary": { - "target": "com.amazonaws.dynamodb#ArchivalSummary", - "traits": { - "smithy.api#documentation": "Contains information about the table archive.
" + "smithy.api#documentation": "\n TransactWriteItems is a synchronous write operation that groups up to 100\n action requests. These actions can target items in different tables, but not in\n different Amazon Web Services accounts or Regions, and no two actions can target the same\n item. For example, you cannot both ConditionCheck and Update\n the same item. The aggregate size of the items in the transaction cannot exceed 4\n MB.
The actions are completed atomically so that either all of them succeed, or all of\n them fail. They are defined by the following objects:
\n\n Put — Initiates a PutItem\n operation to write a new item. This structure specifies the primary key of the\n item to be written, the name of the table to write it in, an optional condition\n expression that must be satisfied for the write to succeed, a list of the item's\n attributes, and a field indicating whether to retrieve the item's attributes if\n the condition is not met.
\n Update — Initiates an UpdateItem\n operation to update an existing item. This structure specifies the primary key\n of the item to be updated, the name of the table where it resides, an optional\n condition expression that must be satisfied for the update to succeed, an\n expression that defines one or more attributes to be updated, and a field\n indicating whether to retrieve the item's attributes if the condition is not\n met.
\n Delete — Initiates a DeleteItem\n operation to delete an existing item. This structure specifies the primary key\n of the item to be deleted, the name of the table where it resides, an optional\n condition expression that must be satisfied for the deletion to succeed, and a\n field indicating whether to retrieve the item's attributes if the condition is\n not met.
\n ConditionCheck — Applies a condition to an item\n that is not being modified by the transaction. This structure specifies the\n primary key of the item to be checked, the name of the table where it resides, a\n condition expression that must be satisfied for the transaction to succeed, and\n a field indicating whether to retrieve the item's attributes if the condition is\n not met.
DynamoDB rejects the entire TransactWriteItems request if any of the\n following is true:
A condition in one of the condition expressions is not met.
\nAn ongoing operation is in the process of updating the same item.
\nThere is insufficient provisioned capacity for the transaction to be\n completed.
\nAn item size becomes too large (bigger than 400 KB), a local secondary index\n (LSI) becomes too large, or a similar validation error occurs because of changes\n made by the transaction.
\nThe aggregate size of the items in the transaction exceeds 4 MB.
\nThere is a user error, such as an invalid data format.
\nContains details of the table class.
" + "smithy.api#documentation": "An ordered array of up to 100 TransactWriteItem objects, each of which\n contains a ConditionCheck, Put, Update, or\n Delete object. These can operate on items in different tables, but the\n tables must reside in the same Amazon Web Services account and Region, and no two of them\n can operate on the same item.
Indicates whether deletion protection is enabled (true) or disabled (false) on the\n table.
" + "smithy.api#documentation": "Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections (if any), that were modified\n during the operation and are returned in the response. If set to NONE (the\n default), no statistics are returned.
The maximum number of read and write units for the specified on-demand table. If you\n use this parameter, you must specify MaxReadRequestUnits,\n MaxWriteRequestUnits, or both.
Providing a ClientRequestToken makes the call to\n TransactWriteItems idempotent, meaning that multiple identical calls\n have the same effect as one single call.
Although multiple identical calls using the same client request token produce the same\n result on the server (no side effects), the responses to the calls might not be the\n same. If the ReturnConsumedCapacity parameter is set, then the initial\n TransactWriteItems call returns the amount of write capacity units\n consumed in making the changes. Subsequent TransactWriteItems calls with\n the same client token return the number of read capacity units consumed in reading the\n item.
A client request token is valid for 10 minutes after the first request that uses it is\n completed. After 10 minutes, any request with the same client token is treated as a new\n request. Do not resubmit the same request with the same client token for more than 10\n minutes, or the result might not be idempotent.
\nIf you submit a request with the same client token but a change in other parameters\n within the 10-minute idempotency window, DynamoDB returns an\n IdempotentParameterMismatch exception.
Describes the warm throughput value of the base table.
" + "smithy.api#documentation": "The capacity units consumed by the entire TransactWriteItems operation.\n The values of the list are ordered according to the ordering of the\n TransactItems request parameter.
Indicates one of the following consistency modes for a global table:
\n\n EVENTUAL: Indicates that the global table is configured for\n multi-Region eventual consistency (MREC).
\n STRONG: Indicates that the global table is configured for\n multi-Region strong consistency (MRSC).
If you don't specify this field, the global table consistency mode defaults to\n EVENTUAL. For more information about global tables consistency modes,\n see \n Consistency modes in DynamoDB developer guide.
A list of tables that were processed by TransactWriteItems and, for each\n table, information about any item collections that were affected by individual\n UpdateItem, PutItem, or DeleteItem\n operations.
Represents the properties of a table.
" + "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#TableId": { - "type": "string", + "com.amazonaws.dynamodb#TransactionCanceledException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dynamodb#ErrorMessage" + }, + "CancellationReasons": { + "target": "com.amazonaws.dynamodb#CancellationReasonList", + "traits": { + "smithy.api#documentation": "A list of cancellation reasons.
" + } + } + }, "traits": { - "smithy.api#pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + "smithy.api#documentation": "The entire transaction request was canceled.
\nDynamoDB cancels a TransactWriteItems request under the following\n circumstances:
A condition in one of the condition expressions is not met.
\nA table in the TransactWriteItems request is in a different\n account or region.
More than one action in the TransactWriteItems operation\n targets the same item.
There is insufficient provisioned capacity for the transaction to be\n completed.
\nAn item size becomes too large (larger than 400 KB), or a local secondary\n index (LSI) becomes too large, or a similar validation error occurs because of\n changes made by the transaction.
\nThere is a user error, such as an invalid data format.
\n There is an ongoing TransactWriteItems operation that\n conflicts with a concurrent TransactWriteItems request. In this\n case the TransactWriteItems operation fails with a\n TransactionCanceledException.
DynamoDB cancels a TransactGetItems request under the\n following circumstances:
There is an ongoing TransactGetItems operation that conflicts\n with a concurrent PutItem, UpdateItem,\n DeleteItem or TransactWriteItems request. In this\n case the TransactGetItems operation fails with a\n TransactionCanceledException.
A table in the TransactGetItems request is in a different\n account or region.
There is insufficient provisioned capacity for the transaction to be\n completed.
\nThere is a user error, such as an invalid data format.
\nDynamoDB lists the cancellation reasons on the\n CancellationReasons property. Transaction cancellation reasons are ordered in the order of requested\n items, if an item has no error it will have None code and\n Null message.
Cancellation reason codes and possible error messages:
\nNo Errors:
\nCode: None\n
Message: null\n
Conditional Check Failed:
\nCode: ConditionalCheckFailed\n
Message: The conditional request failed.
\nItem Collection Size Limit Exceeded:
\nCode: ItemCollectionSizeLimitExceeded\n
Message: Collection size exceeded.
\nTransaction Conflict:
\nCode: TransactionConflict\n
Message: Transaction is ongoing for the item.
\nProvisioned Throughput Exceeded:
\nCode: ProvisionedThroughputExceeded\n
Messages:
\nThe level of configured provisioned throughput for the\n table was exceeded. Consider increasing your provisioning level\n with the UpdateTable API.
\nThis Message is received when provisioned throughput is\n exceeded is on a provisioned DynamoDB\n table.
\nThe level of configured provisioned throughput for one or\n more global secondary indexes of the table was exceeded.\n Consider increasing your provisioning level for the\n under-provisioned global secondary indexes with the UpdateTable\n API.
\nThis message is returned when provisioned throughput is\n exceeded is on a provisioned GSI.
\nThrottling Error:
\nCode: ThrottlingError\n
Messages:
\nThroughput exceeds the current capacity of your table or\n index. DynamoDB is automatically scaling your table or\n index so please try again shortly. If exceptions persist, check\n if you have a hot key:\n https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.
\nThis message is returned when writes get throttled on an\n On-Demand table as DynamoDB is automatically\n scaling the table.
\nThroughput exceeds the current capacity for one or more\n global secondary indexes. DynamoDB is automatically\n scaling your index so please try again shortly.
\nThis message is returned when writes get throttled on an\n On-Demand GSI as DynamoDB is automatically scaling\n the GSI.
\nValidation Error:
\nCode: ValidationError\n
Messages:
\nOne or more parameter values were invalid.
\nThe update expression attempted to update the secondary\n index key beyond allowed size limits.
\nThe update expression attempted to update the secondary\n index key to unsupported type.
\nAn operand in the update expression has an incorrect data\n type.
\nItem size to update has exceeded the maximum allowed\n size.
\nNumber overflow. Attempting to store a number with\n magnitude larger than supported range.
\nType mismatch for attribute to update.
\nNesting Levels have exceeded supported limits.
\nThe document path provided in the update expression is\n invalid for update.
\nThe provided expression refers to an attribute that does\n not exist in the item.
\nA target table with the specified name is either being created or deleted.\n
", + "smithy.api#documentation": "Operation was rejected because there is an ongoing transaction for the\n item.
", "smithy.api#error": "client" } }, - "com.amazonaws.dynamodb#TableName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 255 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" - } - }, - "com.amazonaws.dynamodb#TableNameList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#TableName" - } - }, - "com.amazonaws.dynamodb#TableNotFoundException": { + "com.amazonaws.dynamodb#TransactionInProgressException": { "type": "structure", "members": { - "message": { + "Message": { "target": "com.amazonaws.dynamodb#ErrorMessage" } }, "traits": { - "smithy.api#documentation": "A source table with the name TableName does not currently exist within\n the subscriber's account or the subscriber is operating in the wrong Amazon Web Services\n Region.
The transaction with the given request token is already in progress.
\nRecommended Settings
\n This is a general recommendation for handling the\n TransactionInProgressException. These settings help ensure that the\n client retries will trigger completion of the ongoing\n TransactWriteItems request.
Set clientExecutionTimeout to a value that allows at least one\n retry to be processed after 5 seconds have elapsed since the first attempt for\n the TransactWriteItems operation.
Set socketTimeout to a value a little lower than the\n requestTimeout setting.
\n requestTimeout should be set based on the time taken for the\n individual retries of a single HTTP request for your use case, but setting it to\n 1 second or higher should work well to reduce chances of retries and\n TransactionInProgressException errors.
Use exponential backoff when retrying and tune backoff if needed.
\nAssuming default retry policy, example timeout settings based on the guidelines\n above are as follows:
\nExample timeline:
\n0-1000 first attempt
\n1000-1500 first sleep/delay (default retry policy uses 500 ms as base delay\n for 4xx errors)
\n1500-2500 second attempt
\n2500-3500 second sleep/delay (500 * 2, exponential backoff)
\n3500-4500 third attempt
\n4500-6500 third sleep/delay (500 * 2^2)
\n6500-7500 fourth attempt (this can trigger inline recovery since 5 seconds\n have elapsed since the first attempt reached TC)
\nRemoves the association of tags from an Amazon DynamoDB resource. You can call\n UntagResource up to five times per second, per account.
\n UntagResource is an asynchronous operation. If you issue a ListTagsOfResource request immediately after an\n UntagResource request, DynamoDB might return your\n previous tag set, if there was one, or an empty tag set. This is because\n ListTagsOfResource uses an eventually consistent query, and the\n metadata for your tags or table might not be available at that moment. Wait for\n a few seconds, and then try the ListTagsOfResource request\n again.
The application or removal of tags using TagResource and\n UntagResource APIs is eventually consistent.\n ListTagsOfResource API will only reflect the changes after a\n few seconds.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB\n in the Amazon DynamoDB Developer Guide.
" + } + }, + "com.amazonaws.dynamodb#UntagResourceInput": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.dynamodb#ResourceArnString", "traits": { - "smithy.api#enumValue": "ARCHIVED" + "smithy.api#documentation": "The DynamoDB resource that the tags will be removed from. This value is an Amazon\n Resource Name (ARN).
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "REPLICATION_NOT_AUTHORIZED": { - "target": "smithy.api#Unit", + "TagKeys": { + "target": "com.amazonaws.dynamodb#TagKeyList", "traits": { - "smithy.api#enumValue": "REPLICATION_NOT_AUTHORIZED" + "smithy.api#documentation": "A list of tag keys. Existing tags of the resource whose keys are members of this list\n will be removed from the DynamoDB resource.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#TableWarmThroughputDescription": { + "com.amazonaws.dynamodb#Update": { "type": "structure", "members": { - "ReadUnitsPerSecond": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "Key": { + "target": "com.amazonaws.dynamodb#Key", "traits": { - "smithy.api#documentation": "Represents the base table's warm throughput value in read units per second.
" + "smithy.api#documentation": "The primary key of the item to be updated. Each element consists of an attribute name\n and a value for that attribute.
", + "smithy.api#required": {} } }, - "WriteUnitsPerSecond": { - "target": "com.amazonaws.dynamodb#PositiveLongObject", + "UpdateExpression": { + "target": "com.amazonaws.dynamodb#UpdateExpression", + "traits": { + "smithy.api#documentation": "An expression that defines one or more attributes to be updated, the action to be\n performed on them, and new value(s) for them.
", + "smithy.api#required": {} + } + }, + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", + "traits": { + "smithy.api#documentation": "Name of the table for the UpdateItem request. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
Represents the base table's warm throughput value in write units per second.
" + "smithy.api#documentation": "A condition that must be satisfied in order for a conditional update to\n succeed.
" } }, - "Status": { - "target": "com.amazonaws.dynamodb#TableStatus", + "ExpressionAttributeNames": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", "traits": { - "smithy.api#documentation": "Represents warm throughput value of the base table.
" + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression.
" } - } - }, - "traits": { - "smithy.api#documentation": "Represents the warm throughput value (in read units per second and write units per\n second) of the table. Warm throughput is applicable for DynamoDB Standard-IA tables and\n specifies the minimum provisioned capacity maintained for immediate data access.
" - } - }, - "com.amazonaws.dynamodb#Tag": { - "type": "structure", - "members": { - "Key": { - "target": "com.amazonaws.dynamodb#TagKeyString", + }, + "ExpressionAttributeValues": { + "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", "traits": { - "smithy.api#documentation": "The key of the tag. Tag keys are case sensitive. Each DynamoDB table can\n only have up to one tag with the same key. If you try to add an existing tag (same key),\n the existing tag value will be updated to the new value.
", - "smithy.api#required": {} + "smithy.api#documentation": "One or more values that can be substituted in an expression.
" } }, - "Value": { - "target": "com.amazonaws.dynamodb#TagValueString", + "ReturnValuesOnConditionCheckFailure": { + "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", "traits": { - "smithy.api#documentation": "The value of the tag. Tag values are case-sensitive and can be null.
", - "smithy.api#required": {} + "smithy.api#documentation": "Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n Update condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single\n DynamoDB table.
\nAmazon Web Services-assigned tag names and values are automatically assigned the\n aws: prefix, which the user cannot assign. Amazon Web Services-assigned\n tag names do not count towards the tag limit of 50. User-assigned tag names have the\n prefix user: in the Cost Allocation Report. You cannot backdate the\n application of a tag.
For an overview on tagging DynamoDB resources, see Tagging\n for DynamoDB in the Amazon DynamoDB Developer\n Guide.
" - } - }, - "com.amazonaws.dynamodb#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#TagKeyString" - } - }, - "com.amazonaws.dynamodb#TagKeyString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - } - } - }, - "com.amazonaws.dynamodb#TagList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#Tag" + "smithy.api#documentation": "Represents a request to perform an UpdateItem operation.
Associate a set of tags with an Amazon DynamoDB resource. You can then activate these\n user-defined tags so that they appear on the Billing and Cost Management console for\n cost allocation tracking. You can call TagResource up to five times per second, per\n account.
\n\n TagResource is an asynchronous operation. If you issue a ListTagsOfResource request immediately after a\n TagResource request, DynamoDB might return your\n previous tag set, if there was one, or an empty tag set. This is because\n ListTagsOfResource uses an eventually consistent query, and the\n metadata for your tags or table might not be available at that moment. Wait for\n a few seconds, and then try the ListTagsOfResource request\n again.
The application or removal of tags using TagResource and\n UntagResource APIs is eventually consistent.\n ListTagsOfResource API will only reflect the changes after a\n few seconds.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB\n in the Amazon DynamoDB Developer Guide.
" + "smithy.api#documentation": "\n UpdateContinuousBackups enables or disables point in time recovery for\n the specified table. A successful UpdateContinuousBackups call returns the\n current ContinuousBackupsDescription. Continuous backups are\n ENABLED on all tables at table creation. If point in time recovery is\n enabled, PointInTimeRecoveryStatus will be set to ENABLED.
Once continuous backups and point in time recovery are enabled, you can restore to\n any point in time within EarliestRestorableDateTime and\n LatestRestorableDateTime.
\n LatestRestorableDateTime is typically 5 minutes before the current time.\n You can restore your table to any point in time in the last 35 days. You can set the\n RecoveryPeriodInDays to any value between 1 and 35 days.
Identifies the Amazon DynamoDB resource to which tags should be added. This value is\n an Amazon Resource Name (ARN).
", + "smithy.api#documentation": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "Tags": { - "target": "com.amazonaws.dynamodb#TagList", + "PointInTimeRecoverySpecification": { + "target": "com.amazonaws.dynamodb#PointInTimeRecoverySpecification", "traits": { - "smithy.api#documentation": "The tags to be assigned to the Amazon DynamoDB resource.
", + "smithy.api#documentation": "Represents the settings used to enable point in time recovery.
", "smithy.api#required": {} } } @@ -20091,237 +23488,198 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#TagValueString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - } - } - }, - "com.amazonaws.dynamodb#ThrottlingException": { + "com.amazonaws.dynamodb#UpdateContinuousBackupsOutput": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.dynamodb#AvailabilityErrorMessage" - }, - "throttlingReasons": { - "target": "com.amazonaws.dynamodb#ThrottlingReasonList", + "ContinuousBackupsDescription": { + "target": "com.amazonaws.dynamodb#ContinuousBackupsDescription", "traits": { - "smithy.api#documentation": "A list of ThrottlingReason that\n provide detailed diagnostic information about why the request was throttled.\n
" + "smithy.api#documentation": "Represents the continuous backups and point in time recovery settings on the\n table.
" } } }, "traits": { - "aws.protocols#awsQueryError": { - "code": "Throttling", - "httpResponseCode": 400 + "smithy.api#output": {} + } + }, + "com.amazonaws.dynamodb#UpdateContributorInsights": { + "type": "operation", + "input": { + "target": "com.amazonaws.dynamodb#UpdateContributorInsightsInput" + }, + "output": { + "target": "com.amazonaws.dynamodb#UpdateContributorInsightsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dynamodb#InternalServerError" }, - "smithy.api#documentation": "The request was denied due to request throttling. For detailed information about why\n the request was throttled and the ARN of the impacted resource, find the ThrottlingReason field in the returned exception.
", - "smithy.api#error": "client", - "smithy.api#httpError": 400 + { + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "Updates the status for contributor insights for a specific table or index. CloudWatch\n Contributor Insights for DynamoDB graphs display the partition key and (if applicable)\n sort key of frequently accessed items and frequently throttled items in plaintext. If\n you require the use of Amazon Web Services Key Management Service (KMS) to encrypt this\n table’s partition key and sort key data with an Amazon Web Services managed key or\n customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB\n for this table.
" } }, - "com.amazonaws.dynamodb#ThrottlingReason": { + "com.amazonaws.dynamodb#UpdateContributorInsightsInput": { "type": "structure", "members": { - "reason": { - "target": "com.amazonaws.dynamodb#Reason", + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "The reason for throttling. The throttling reason follows a specific format:\n ResourceType+OperationType+LimitType:
Resource Type (What is being throttled): Table or Index
\nOperation Type (What kind of operation): Read or Write
\nLimit Type (Why the throttling occurred):
\n\n ProvisionedThroughputExceeded: The request rate is\n exceeding the provisioned throughput capacity (read or write capacity\n units) configured for a table or a global secondary index (GSI) in\n provisioned capacity mode.
\n AccountLimitExceeded: The request rate has caused a table\n or global secondary index (GSI) in on-demand mode to exceed the per-table account-level service quotas for read/write\n throughput in the current Amazon Web Services Region.
\n KeyRangeThroughputExceeded: The request rate directed at\n a specific partition key value has exceeded the internal partition-level throughput limits, indicating\n uneven access patterns across the table's or GSI's key space.
\n MaxOnDemandThroughputExceeded: The request rate has\n exceeded the configured maximum throughput limits set for a table or\n index in on-demand capacity mode.
Examples of complete throttling reasons:
\nTableReadProvisionedThroughputExceeded
\nIndexWriteAccountLimitExceeded
\nThis helps identify exactly what resource is being throttled, what type of operation\n caused it, and why the throttling occurred.
" + "smithy.api#documentation": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "resource": { - "target": "com.amazonaws.dynamodb#Resource", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the DynamoDB table or index that experienced the\n throttling event.
" + "smithy.api#documentation": "The global secondary index name, if applicable.
" } - } - }, - "traits": { - "smithy.api#documentation": "Represents the specific reason why a DynamoDB request was throttled and the\n ARN of the impacted resource. This helps identify exactly what resource is being throttled, \n what type of operation caused it, and why the throttling occurred.
" - } - }, - "com.amazonaws.dynamodb#ThrottlingReasonList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#ThrottlingReason" - } - }, - "com.amazonaws.dynamodb#TimeRangeLowerBound": { - "type": "timestamp" - }, - "com.amazonaws.dynamodb#TimeRangeUpperBound": { - "type": "timestamp" - }, - "com.amazonaws.dynamodb#TimeToLiveAttributeName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - } - } - }, - "com.amazonaws.dynamodb#TimeToLiveDescription": { - "type": "structure", - "members": { - "TimeToLiveStatus": { - "target": "com.amazonaws.dynamodb#TimeToLiveStatus", + }, + "ContributorInsightsAction": { + "target": "com.amazonaws.dynamodb#ContributorInsightsAction", "traits": { - "smithy.api#documentation": "The TTL status for the table.
" + "smithy.api#documentation": "Represents the contributor insights action.
", + "smithy.api#required": {} } }, - "AttributeName": { - "target": "com.amazonaws.dynamodb#TimeToLiveAttributeName", + "ContributorInsightsMode": { + "target": "com.amazonaws.dynamodb#ContributorInsightsMode", "traits": { - "smithy.api#documentation": "The name of the TTL attribute for items in the table.
" + "smithy.api#documentation": "Specifies whether to track all access and throttled events or throttled events only for\n the DynamoDB table or index.
" } } }, "traits": { - "smithy.api#documentation": "The description of the Time to Live (TTL) status on the specified table.
" + "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#TimeToLiveEnabled": { - "type": "boolean" - }, - "com.amazonaws.dynamodb#TimeToLiveSpecification": { + "com.amazonaws.dynamodb#UpdateContributorInsightsOutput": { "type": "structure", "members": { - "Enabled": { - "target": "com.amazonaws.dynamodb#TimeToLiveEnabled", + "TableName": { + "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
", - "smithy.api#required": {} + "smithy.api#documentation": "The name of the table.
" } }, - "AttributeName": { - "target": "com.amazonaws.dynamodb#TimeToLiveAttributeName", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#documentation": "The name of the TTL attribute used to store the expiration time for items in the\n table.
", - "smithy.api#required": {} + "smithy.api#documentation": "The name of the global secondary index, if applicable.
" + } + }, + "ContributorInsightsStatus": { + "target": "com.amazonaws.dynamodb#ContributorInsightsStatus", + "traits": { + "smithy.api#documentation": "The status of contributor insights
" + } + }, + "ContributorInsightsMode": { + "target": "com.amazonaws.dynamodb#ContributorInsightsMode", + "traits": { + "smithy.api#documentation": "The updated mode of CloudWatch Contributor Insights that determines whether to monitor\n all access and throttled events or to track throttled events exclusively.
" } } }, "traits": { - "smithy.api#documentation": "Represents the settings used to enable or disable Time to Live (TTL) for the specified\n table.
" + "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#TimeToLiveStatus": { - "type": "enum", + "com.amazonaws.dynamodb#UpdateExpression": { + "type": "string" + }, + "com.amazonaws.dynamodb#UpdateGlobalSecondaryIndexAction": { + "type": "structure", "members": { - "ENABLING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ENABLING" - } - }, - "DISABLING": { - "target": "smithy.api#Unit", + "IndexName": { + "target": "com.amazonaws.dynamodb#IndexName", "traits": { - "smithy.api#enumValue": "DISABLING" + "smithy.api#documentation": "The name of the global secondary index to be updated.
", + "smithy.api#required": {} } - }, - "ENABLED": { - "target": "smithy.api#Unit", + }, + "ProvisionedThroughput": { + "target": "com.amazonaws.dynamodb#ProvisionedThroughput", "traits": { - "smithy.api#enumValue": "ENABLED" + "smithy.api#documentation": "Represents the provisioned throughput settings for the specified global secondary\n index.
\nFor current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" } }, - "DISABLED": { - "target": "smithy.api#Unit", + "OnDemandThroughput": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput", "traits": { - "smithy.api#enumValue": "DISABLED" + "smithy.api#documentation": "Updates the maximum number of read and write units for the specified global secondary\n index. If you use this parameter, you must specify MaxReadRequestUnits,\n MaxWriteRequestUnits, or both.
Contains the primary key that identifies the item to get, together with the name of\n the table that contains the item, and optionally the specific attributes of the item to\n retrieve.
", - "smithy.api#required": {} + "smithy.api#documentation": "Represents the warm throughput value of the new provisioned throughput settings to be\n applied to a global secondary index.
" } } }, "traits": { - "smithy.api#documentation": "Specifies an item to be retrieved as part of the transaction.
" - } - }, - "com.amazonaws.dynamodb#TransactGetItemList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#TransactGetItem" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } + "smithy.api#documentation": "Represents the new provisioned throughput settings to be applied to a global secondary\n index.
" } }, - "com.amazonaws.dynamodb#TransactGetItems": { + "com.amazonaws.dynamodb#UpdateGlobalTable": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#TransactGetItemsInput" + "target": "com.amazonaws.dynamodb#UpdateGlobalTableInput" }, "output": { - "target": "com.amazonaws.dynamodb#TransactGetItemsOutput" + "target": "com.amazonaws.dynamodb#UpdateGlobalTableOutput" }, "errors": [ { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" + "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" }, { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "target": "com.amazonaws.dynamodb#ReplicaAlreadyExistsException" }, { - "target": "com.amazonaws.dynamodb#ThrottlingException" + "target": "com.amazonaws.dynamodb#ReplicaNotFoundException" }, { - "target": "com.amazonaws.dynamodb#TransactionCanceledException" + "target": "com.amazonaws.dynamodb#TableNotFoundException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "\n TransactGetItems is a synchronous operation that atomically retrieves\n multiple items from one or more tables (but not from indexes) in a single account and\n Region. A TransactGetItems call can contain up to 100\n TransactGetItem objects, each of which contains a Get\n structure that specifies an item to retrieve from a table in the account and Region. A\n call to TransactGetItems cannot retrieve items from tables in more than one\n Amazon Web Services account or Region. The aggregate size of the items in the\n transaction cannot exceed 4 MB.
DynamoDB rejects the entire TransactGetItems request if any of\n the following is true:
A conflicting operation is in the process of updating an item to be\n read.
\nThere is insufficient provisioned capacity for the transaction to be\n completed.
\nThere is a user error, such as an invalid data format.
\nThe aggregate size of the items in the transaction exceeded 4 MB.
\nAdds or removes replicas in the specified global table. The global table must already\n exist to be able to use this operation. Any replica to be added must be empty, have the\n same name as the global table, have the same key schema, have DynamoDB Streams enabled,\n and have the same provisioned and maximum write capacity units.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nIf you are using global tables Version\n 2019.11.21 (Current) you can use UpdateTable instead.
\n Although you can use UpdateGlobalTable to add replicas and remove\n replicas in a single request, for simplicity we recommend that you issue separate\n requests for adding or removing replicas.
If global secondary indexes are specified, then the following conditions must also be\n met:
\nThe global secondary indexes must have the same name.
\nThe global secondary indexes must have the same hash key and sort key (if\n present).
\nThe global secondary indexes must have the same provisioned and maximum write\n capacity units.
\nAn ordered array of up to 100 TransactGetItem objects, each of which\n contains a Get structure.
The global table name.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity", + "ReplicaUpdates": { + "target": "com.amazonaws.dynamodb#ReplicaUpdateList", "traits": { - "smithy.api#documentation": "A value of TOTAL causes consumed capacity information to be returned, and\n a value of NONE prevents that information from being returned. No other\n value is valid.
A list of Regions that should be added or removed from the global table.
", + "smithy.api#required": {} } } }, @@ -20329,19 +23687,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#TransactGetItemsOutput": { + "com.amazonaws.dynamodb#UpdateGlobalTableOutput": { "type": "structure", "members": { - "ConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ConsumedCapacityMultiple", - "traits": { - "smithy.api#documentation": "If the ReturnConsumedCapacity value was TOTAL, this\n is an array of ConsumedCapacity objects, one for each table addressed by\n TransactGetItem objects in the TransactItems\n parameter. These ConsumedCapacity objects report the read-capacity units\n consumed by the TransactGetItems call in that table.
An ordered array of up to 100 ItemResponse objects, each of which\n corresponds to the TransactGetItem object in the same position in the\n TransactItems array. Each ItemResponse object\n contains a Map of the name-value pairs that are the projected attributes of the\n requested item.
If a requested item could not be retrieved, the corresponding\n ItemResponse object is Null, or if the requested item has no projected\n attributes, the corresponding ItemResponse object is an empty Map.
Contains the details of the global table.
" } } }, @@ -20349,201 +23701,124 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#TransactWriteItem": { - "type": "structure", - "members": { - "ConditionCheck": { - "target": "com.amazonaws.dynamodb#ConditionCheck", - "traits": { - "smithy.api#documentation": "A request to perform a check item operation.
" - } - }, - "Put": { - "target": "com.amazonaws.dynamodb#Put", - "traits": { - "smithy.api#documentation": "A request to perform a PutItem operation.
A request to perform a DeleteItem operation.
A request to perform an UpdateItem operation.
A list of requests that can perform update, put, delete, or check operations on\n multiple items in one or more tables atomically.
" - } - }, - "com.amazonaws.dynamodb#TransactWriteItemList": { - "type": "list", - "member": { - "target": "com.amazonaws.dynamodb#TransactWriteItem" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.dynamodb#TransactWriteItems": { + "com.amazonaws.dynamodb#UpdateGlobalTableSettings": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#TransactWriteItemsInput" + "target": "com.amazonaws.dynamodb#UpdateGlobalTableSettingsInput" }, "output": { - "target": "com.amazonaws.dynamodb#TransactWriteItemsOutput" + "target": "com.amazonaws.dynamodb#UpdateGlobalTableSettingsOutput" }, "errors": [ { - "target": "com.amazonaws.dynamodb#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" + "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" }, { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" + "target": "com.amazonaws.dynamodb#IndexNotFoundException" }, { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + "target": "com.amazonaws.dynamodb#InternalServerError" }, { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" + "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#ThrottlingException" + "target": "com.amazonaws.dynamodb#LimitExceededException" }, { - "target": "com.amazonaws.dynamodb#TransactionCanceledException" + "target": "com.amazonaws.dynamodb#ReplicaNotFoundException" }, { - "target": "com.amazonaws.dynamodb#TransactionInProgressException" + "target": "com.amazonaws.dynamodb#ResourceInUseException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "\n TransactWriteItems is a synchronous write operation that groups up to 100\n action requests. These actions can target items in different tables, but not in\n different Amazon Web Services accounts or Regions, and no two actions can target the same\n item. For example, you cannot both ConditionCheck and Update\n the same item. The aggregate size of the items in the transaction cannot exceed 4\n MB.
The actions are completed atomically so that either all of them succeed, or all of\n them fail. They are defined by the following objects:
\n\n Put — Initiates a PutItem\n operation to write a new item. This structure specifies the primary key of the\n item to be written, the name of the table to write it in, an optional condition\n expression that must be satisfied for the write to succeed, a list of the item's\n attributes, and a field indicating whether to retrieve the item's attributes if\n the condition is not met.
\n Update — Initiates an UpdateItem\n operation to update an existing item. This structure specifies the primary key\n of the item to be updated, the name of the table where it resides, an optional\n condition expression that must be satisfied for the update to succeed, an\n expression that defines one or more attributes to be updated, and a field\n indicating whether to retrieve the item's attributes if the condition is not\n met.
\n Delete — Initiates a DeleteItem\n operation to delete an existing item. This structure specifies the primary key\n of the item to be deleted, the name of the table where it resides, an optional\n condition expression that must be satisfied for the deletion to succeed, and a\n field indicating whether to retrieve the item's attributes if the condition is\n not met.
\n ConditionCheck — Applies a condition to an item\n that is not being modified by the transaction. This structure specifies the\n primary key of the item to be checked, the name of the table where it resides, a\n condition expression that must be satisfied for the transaction to succeed, and\n a field indicating whether to retrieve the item's attributes if the condition is\n not met.
DynamoDB rejects the entire TransactWriteItems request if any of the\n following is true:
A condition in one of the condition expressions is not met.
\nAn ongoing operation is in the process of updating the same item.
\nThere is insufficient provisioned capacity for the transaction to be\n completed.
\nAn item size becomes too large (bigger than 400 KB), a local secondary index\n (LSI) becomes too large, or a similar validation error occurs because of changes\n made by the transaction.
\nThe aggregate size of the items in the transaction exceeds 4 MB.
\nThere is a user error, such as an invalid data format.
\nUpdates settings for a global table.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nAn ordered array of up to 100 TransactWriteItem objects, each of which\n contains a ConditionCheck, Put, Update, or\n Delete object. These can operate on items in different tables, but the\n tables must reside in the same Amazon Web Services account and Region, and no two of them\n can operate on the same item.
The name of the global table
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" - }, - "ReturnItemCollectionMetrics": { - "target": "com.amazonaws.dynamodb#ReturnItemCollectionMetrics", + "GlobalTableBillingMode": { + "target": "com.amazonaws.dynamodb#BillingMode", "traits": { - "smithy.api#documentation": "Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections (if any), that were modified\n during the operation and are returned in the response. If set to NONE (the\n default), no statistics are returned.
The billing mode of the global table. If GlobalTableBillingMode is not\n specified, the global table defaults to PROVISIONED capacity billing\n mode.
\n PROVISIONED - We recommend using PROVISIONED for\n predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.
\n PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST\n for unpredictable workloads. PAY_PER_REQUEST sets the billing mode\n to On-demand capacity mode.
Providing a ClientRequestToken makes the call to\n TransactWriteItems idempotent, meaning that multiple identical calls\n have the same effect as one single call.
Although multiple identical calls using the same client request token produce the same\n result on the server (no side effects), the responses to the calls might not be the\n same. If the ReturnConsumedCapacity parameter is set, then the initial\n TransactWriteItems call returns the amount of write capacity units\n consumed in making the changes. Subsequent TransactWriteItems calls with\n the same client token return the number of read capacity units consumed in reading the\n item.
A client request token is valid for 10 minutes after the first request that uses it is\n completed. After 10 minutes, any request with the same client token is treated as a new\n request. Do not resubmit the same request with the same client token for more than 10\n minutes, or the result might not be idempotent.
\nIf you submit a request with the same client token but a change in other parameters\n within the 10-minute idempotency window, DynamoDB returns an\n IdempotentParameterMismatch exception.
The capacity units consumed by the entire TransactWriteItems operation.\n The values of the list are ordered according to the ordering of the\n TransactItems request parameter.
The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.\n
A list of tables that were processed by TransactWriteItems and, for each\n table, information about any item collections that were affected by individual\n UpdateItem, PutItem, or DeleteItem\n operations.
Auto scaling settings for managing provisioned write capacity for the global\n table.
" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.dynamodb#TransactionCanceledException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" }, - "CancellationReasons": { - "target": "com.amazonaws.dynamodb#CancellationReasonList", + "GlobalTableGlobalSecondaryIndexSettingsUpdate": { + "target": "com.amazonaws.dynamodb#GlobalTableGlobalSecondaryIndexSettingsUpdateList", "traits": { - "smithy.api#documentation": "A list of cancellation reasons.
" + "smithy.api#documentation": "Represents the settings of a global secondary index for a global table that will be\n modified.
" + } + }, + "ReplicaSettingsUpdate": { + "target": "com.amazonaws.dynamodb#ReplicaSettingsUpdateList", + "traits": { + "smithy.api#documentation": "Represents the settings for a global table in a Region that will be modified.
" } } }, "traits": { - "smithy.api#documentation": "The entire transaction request was canceled.
\nDynamoDB cancels a TransactWriteItems request under the following\n circumstances:
A condition in one of the condition expressions is not met.
\nA table in the TransactWriteItems request is in a different\n account or region.
More than one action in the TransactWriteItems operation\n targets the same item.
There is insufficient provisioned capacity for the transaction to be\n completed.
\nAn item size becomes too large (larger than 400 KB), or a local secondary\n index (LSI) becomes too large, or a similar validation error occurs because of\n changes made by the transaction.
\nThere is a user error, such as an invalid data format.
\n There is an ongoing TransactWriteItems operation that\n conflicts with a concurrent TransactWriteItems request. In this\n case the TransactWriteItems operation fails with a\n TransactionCanceledException.
DynamoDB cancels a TransactGetItems request under the\n following circumstances:
There is an ongoing TransactGetItems operation that conflicts\n with a concurrent PutItem, UpdateItem,\n DeleteItem or TransactWriteItems request. In this\n case the TransactGetItems operation fails with a\n TransactionCanceledException.
A table in the TransactGetItems request is in a different\n account or region.
There is insufficient provisioned capacity for the transaction to be\n completed.
\nThere is a user error, such as an invalid data format.
\nIf using Java, DynamoDB lists the cancellation reasons on the\n CancellationReasons property. This property is not set for other\n languages. Transaction cancellation reasons are ordered in the order of requested\n items, if an item has no error it will have None code and\n Null message.
Cancellation reason codes and possible error messages:
\nNo Errors:
\nCode: None\n
Message: null\n
Conditional Check Failed:
\nCode: ConditionalCheckFailed\n
Message: The conditional request failed.
\nItem Collection Size Limit Exceeded:
\nCode: ItemCollectionSizeLimitExceeded\n
Message: Collection size exceeded.
\nTransaction Conflict:
\nCode: TransactionConflict\n
Message: Transaction is ongoing for the item.
\nProvisioned Throughput Exceeded:
\nCode: ProvisionedThroughputExceeded\n
Messages:
\nThe level of configured provisioned throughput for the\n table was exceeded. Consider increasing your provisioning level\n with the UpdateTable API.
\nThis Message is received when provisioned throughput is\n exceeded is on a provisioned DynamoDB\n table.
\nThe level of configured provisioned throughput for one or\n more global secondary indexes of the table was exceeded.\n Consider increasing your provisioning level for the\n under-provisioned global secondary indexes with the UpdateTable\n API.
\nThis message is returned when provisioned throughput is\n exceeded is on a provisioned GSI.
\nThrottling Error:
\nCode: ThrottlingError\n
Messages:
\nThroughput exceeds the current capacity of your table or\n index. DynamoDB is automatically scaling your table or\n index so please try again shortly. If exceptions persist, check\n if you have a hot key:\n https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.
\nThis message is returned when writes get throttled on an\n On-Demand table as DynamoDB is automatically\n scaling the table.
\nThroughput exceeds the current capacity for one or more\n global secondary indexes. DynamoDB is automatically\n scaling your index so please try again shortly.
\nThis message is returned when writes get throttled on an\n On-Demand GSI as DynamoDB is automatically scaling\n the GSI.
\nValidation Error:
\nCode: ValidationError\n
Messages:
\nOne or more parameter values were invalid.
\nThe update expression attempted to update the secondary\n index key beyond allowed size limits.
\nThe update expression attempted to update the secondary\n index key to unsupported type.
\nAn operand in the update expression has an incorrect data\n type.
\nItem size to update has exceeded the maximum allowed\n size.
\nNumber overflow. Attempting to store a number with\n magnitude larger than supported range.
\nType mismatch for attribute to update.
\nNesting Levels have exceeded supported limits.
\nThe document path provided in the update expression is\n invalid for update.
\nThe provided expression refers to an attribute that does\n not exist in the item.
\nOperation was rejected because there is an ongoing transaction for the\n item.
", - "smithy.api#error": "client" + "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#TransactionInProgressException": { + "com.amazonaws.dynamodb#UpdateGlobalTableSettingsOutput": { "type": "structure", "members": { - "Message": { - "target": "com.amazonaws.dynamodb#ErrorMessage" + "GlobalTableName": { + "target": "com.amazonaws.dynamodb#TableName", + "traits": { + "smithy.api#documentation": "The name of the global table.
" + } + }, + "ReplicaSettings": { + "target": "com.amazonaws.dynamodb#ReplicaSettingsDescriptionList", + "traits": { + "smithy.api#documentation": "The Region-specific settings for the global table.
" + } } }, "traits": { - "smithy.api#documentation": "The transaction with the given request token is already in progress.
\nRecommended Settings
\n This is a general recommendation for handling the\n TransactionInProgressException. These settings help ensure that the\n client retries will trigger completion of the ongoing\n TransactWriteItems request.
Set clientExecutionTimeout to a value that allows at least one\n retry to be processed after 5 seconds have elapsed since the first attempt for\n the TransactWriteItems operation.
Set socketTimeout to a value a little lower than the\n requestTimeout setting.
\n requestTimeout should be set based on the time taken for the\n individual retries of a single HTTP request for your use case, but setting it to\n 1 second or higher should work well to reduce chances of retries and\n TransactionInProgressException errors.
Use exponential backoff when retrying and tune backoff if needed.
\nAssuming default retry policy, example timeout settings based on the guidelines\n above are as follows:
\nExample timeline:
\n0-1000 first attempt
\n1000-1500 first sleep/delay (default retry policy uses 500 ms as base delay\n for 4xx errors)
\n1500-2500 second attempt
\n2500-3500 second sleep/delay (500 * 2, exponential backoff)
\n3500-4500 third attempt
\n4500-6500 third sleep/delay (500 * 2^2)
\n6500-7500 fourth attempt (this can trigger inline recovery since 5 seconds\n have elapsed since the first attempt reached TC)
\nRemoves the association of tags from an Amazon DynamoDB resource. You can call\n UntagResource up to five times per second, per account.
\n UntagResource is an asynchronous operation. If you issue a ListTagsOfResource request immediately after an\n UntagResource request, DynamoDB might return your\n previous tag set, if there was one, or an empty tag set. This is because\n ListTagsOfResource uses an eventually consistent query, and the\n metadata for your tags or table might not be available at that moment. Wait for\n a few seconds, and then try the ListTagsOfResource request\n again.
The application or removal of tags using TagResource and\n UntagResource APIs is eventually consistent.\n ListTagsOfResource API will only reflect the changes after a\n few seconds.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB\n in the Amazon DynamoDB Developer Guide.
" + "smithy.api#documentation": "Edits an existing item's attributes, or adds a new item to the table if it does not\n already exist. You can put, delete, or add attribute values. You can also perform a\n conditional update on an existing item (insert a new attribute name-value pair if it\n doesn't exist, or replace an existing name-value pair if it has certain expected\n attribute values).
\nYou can also return the item's attribute values in the same UpdateItem\n operation using the ReturnValues parameter.
The DynamoDB resource that the tags will be removed from. This value is an Amazon\n Resource Name (ARN).
", + "smithy.api#documentation": "The name of the table containing the item to update. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "TagKeys": { - "target": "com.amazonaws.dynamodb#TagKeyList", - "traits": { - "smithy.api#documentation": "A list of tag keys. Existing tags of the resource whose keys are members of this list\n will be removed from the DynamoDB resource.
", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.dynamodb#Update": { - "type": "structure", - "members": { "Key": { "target": "com.amazonaws.dynamodb#Key", "traits": { - "smithy.api#documentation": "The primary key of the item to be updated. Each element consists of an attribute name\n and a value for that attribute.
", + "smithy.api#documentation": "The primary key of the item to be updated. Each element consists of an attribute name\n and a value for that attribute.
\nFor the primary key, you must provide all of the attributes. For example, with a\n simple primary key, you only need to provide a value for the partition key. For a\n composite primary key, you must provide values for both the partition key and the sort\n key.
", "smithy.api#required": {} } }, - "UpdateExpression": { - "target": "com.amazonaws.dynamodb#UpdateExpression", + "AttributeUpdates": { + "target": "com.amazonaws.dynamodb#AttributeUpdates", "traits": { - "smithy.api#documentation": "An expression that defines one or more attributes to be updated, the action to be\n performed on them, and new value(s) for them.
", - "smithy.api#required": {} + "smithy.api#documentation": "This is a legacy parameter. Use UpdateExpression instead. For more\n information, see AttributeUpdates in the Amazon DynamoDB Developer\n Guide.
Name of the table for the UpdateItem request. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see Expected in the Amazon DynamoDB Developer\n Guide.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
Use ReturnValues if you want to get the item attributes as they appear\n before or after they are successfully updated. For UpdateItem, the valid\n values are:
\n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)
\n ALL_OLD - Returns all of the attributes of the item, as they\n appeared before the UpdateItem operation.
\n UPDATED_OLD - Returns only the updated attributes, as they appeared\n before the UpdateItem operation.
\n ALL_NEW - Returns all of the attributes of the item, as they appear\n after the UpdateItem operation.
\n UPDATED_NEW - Returns only the updated attributes, as they appear\n after the UpdateItem operation.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
\nThe values returned are strongly consistent.
" + } + }, + "ReturnConsumedCapacity": { + "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" + }, + "ReturnItemCollectionMetrics": { + "target": "com.amazonaws.dynamodb#ReturnItemCollectionMetrics", + "traits": { + "smithy.api#documentation": "Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
An expression that defines one or more attributes to be updated, the action to be\n performed on them, and new values for them.
\nThe following action values are available for UpdateExpression.
\n SET - Adds one or more attributes and values to an item. If any of\n these attributes already exist, they are replaced by the new values. You can\n also use SET to add or subtract from an attribute that is of type\n Number. For example: SET myNum = myNum + :val\n
\n SET supports the following functions:
\n if_not_exists (path, operand) - if the item does not\n contain an attribute at the specified path, then\n if_not_exists evaluates to operand; otherwise, it\n evaluates to path. You can use this function to avoid overwriting an\n attribute that may already be present in the item.
\n list_append (operand, operand) - evaluates to a list with a\n new element added to it. You can append the new element to the start or\n the end of the list by reversing the order of the operands.
These function names are case-sensitive.
\n\n REMOVE - Removes one or more attributes from an item.
\n ADD - Adds the specified value to the item, if the attribute does\n not already exist. If the attribute does exist, then the behavior of\n ADD depends on the data type of the attribute:
If the existing attribute is a number, and if Value is\n also a number, then Value is mathematically added to the\n existing attribute. If Value is a negative number, then it\n is subtracted from the existing attribute.
If you use ADD to increment or decrement a number\n value for an item that doesn't exist before the update, DynamoDB\n uses 0 as the initial value.
Similarly, if you use ADD for an existing item to\n increment or decrement an attribute value that doesn't exist before\n the update, DynamoDB uses 0 as the initial value. For\n example, suppose that the item you want to update doesn't have an\n attribute named itemcount, but you decide to\n ADD the number 3 to this attribute\n anyway. DynamoDB will create the itemcount attribute,\n set its initial value to 0, and finally add\n 3 to it. The result will be a new\n itemcount attribute in the item, with a value of\n 3.
If the existing data type is a set and if Value is also a\n set, then Value is added to the existing set. For example,\n if the attribute value is the set [1,2], and the\n ADD action specified [3], then the final\n attribute value is [1,2,3]. An error occurs if an\n ADD action is specified for a set attribute and the\n attribute type specified does not match the existing set type.
Both sets must have the same primitive data type. For example, if the\n existing data type is a set of strings, the Value must also\n be a set of strings.
The ADD action only supports Number and set data types.
\n DELETE - Deletes an element from a set.
If a set of values is specified, then those values are subtracted from the old\n set. For example, if the attribute value was the set [a,b,c] and\n the DELETE action specifies [a,c], then the final\n attribute value is [b]. Specifying an empty set is an error.
The DELETE action only supports set data types.
You can have many actions in a single expression, such as the following: SET\n a=:value1, b=:value2 DELETE :value3, :value4, :value5\n
For more information on update expressions, see Modifying\n Items and Attributes in the Amazon DynamoDB Developer\n Guide.
" } }, "ConditionExpression": { "target": "com.amazonaws.dynamodb#ConditionExpression", "traits": { - "smithy.api#documentation": "A condition that must be satisfied in order for a conditional update to\n succeed.
" + "smithy.api#documentation": "A condition that must be satisfied in order for a conditional update to\n succeed.
\nAn expression can contain any of the following:
\nFunctions: attribute_exists | attribute_not_exists | attribute_type |\n contains | begins_with | size\n
These function names are case-sensitive.
\nComparison operators: = | <> |\n < | > | <= | >= |\n BETWEEN | IN \n
Logical operators: AND | OR | NOT\n
For more information about condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer\n Guide.
" } }, "ExpressionAttributeNames": { "target": "com.amazonaws.dynamodb#ExpressionAttributeNameMap", "traits": { - "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression.
" + "smithy.api#documentation": "One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide.) To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" } }, "ExpressionAttributeValues": { "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", "traits": { - "smithy.api#documentation": "One or more values that can be substituted in an expression.
" + "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" } }, "ReturnValuesOnConditionCheckFailure": { "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", "traits": { - "smithy.api#documentation": "Use ReturnValuesOnConditionCheckFailure to get the item attributes if the\n Update condition fails. For\n ReturnValuesOnConditionCheckFailure, the valid values are: NONE and\n ALL_OLD.
An optional parameter that returns the item attributes for an UpdateItem\n operation that failed a condition check.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" } } }, "traits": { - "smithy.api#documentation": "Represents a request to perform an UpdateItem operation.
\n UpdateContinuousBackups enables or disables point in time recovery for\n the specified table. A successful UpdateContinuousBackups call returns the\n current ContinuousBackupsDescription. Continuous backups are\n ENABLED on all tables at table creation. If point in time recovery is\n enabled, PointInTimeRecoveryStatus will be set to ENABLED.
Once continuous backups and point in time recovery are enabled, you can restore to\n any point in time within EarliestRestorableDateTime and\n LatestRestorableDateTime.
\n LatestRestorableDateTime is typically 5 minutes before the current time.\n You can restore your table to any point in time in the last 35 days. You can set the\n RecoveryPeriodInDays to any value between 1 and 35 days.
Represents the input of an UpdateItem operation.
The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "A map of attribute values as they appear before or after the UpdateItem\n operation, as determined by the ReturnValues parameter.
The Attributes map is only present if the update was successful and\n ReturnValues was specified as something other than NONE in\n the request. Each element represents one attribute.
Represents the settings used to enable point in time recovery.
", - "smithy.api#required": {} + "smithy.api#documentation": "The capacity units consumed by the UpdateItem operation. The data\n returned includes the total provisioned throughput consumed, along with statistics for\n the table and any indexes involved in the operation. ConsumedCapacity is\n only returned if the ReturnConsumedCapacity parameter was specified. For\n more information, see Capacity unity consumption for write operations in the Amazon\n DynamoDB Developer Guide.
Information about item collections, if any, that were affected by the\n UpdateItem operation. ItemCollectionMetrics is only\n returned if the ReturnItemCollectionMetrics parameter was specified. If the\n table does not have any local secondary indexes, this information is not returned in the\n response.
Each ItemCollectionMetrics element consists of:
\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item itself.
\n SizeEstimateRangeGB - An estimate of item collection size, in\n gigabytes. This value is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on that table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nRepresents the output of an UpdateItem operation.
Represents the continuous backups and point in time recovery settings on the\n table.
" + "smithy.api#documentation": "Enables updating the precision of Kinesis data stream timestamp.
" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Enables updating the configuration for Kinesis Streaming.
" } }, - "com.amazonaws.dynamodb#UpdateContributorInsights": { + "com.amazonaws.dynamodb#UpdateKinesisStreamingDestination": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#UpdateContributorInsightsInput" + "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationInput" }, "output": { - "target": "com.amazonaws.dynamodb#UpdateContributorInsightsOutput" + "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationOutput" }, "errors": [ { - "target": "com.amazonaws.dynamodb#InternalServerError" + "target": "com.amazonaws.dynamodb#InternalServerError" + }, + { + "target": "com.amazonaws.dynamodb#InvalidEndpointException" + }, + { + "target": "com.amazonaws.dynamodb#LimitExceededException" + }, + { + "target": "com.amazonaws.dynamodb#ResourceInUseException" }, { "target": "com.amazonaws.dynamodb#ResourceNotFoundException" } ], "traits": { - "smithy.api#documentation": "Updates the status for contributor insights for a specific table or index. CloudWatch\n Contributor Insights for DynamoDB graphs display the partition key and (if applicable)\n sort key of frequently accessed items and frequently throttled items in plaintext. If\n you require the use of Amazon Web Services Key Management Service (KMS) to encrypt this\n table’s partition key and sort key data with an Amazon Web Services managed key or\n customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB\n for this table.
" + "aws.api#clientDiscoveredEndpoint": { + "required": false + }, + "smithy.api#documentation": "The command to update the Kinesis stream destination.
" } }, - "com.amazonaws.dynamodb#UpdateContributorInsightsInput": { + "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationInput": { "type": "structure", "members": { "TableName": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this\n parameter.
", + "smithy.api#documentation": "The table name for the Kinesis streaming destination input. You can also provide the\n ARN of the table in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", - "traits": { - "smithy.api#documentation": "The global secondary index name, if applicable.
" - } - }, - "ContributorInsightsAction": { - "target": "com.amazonaws.dynamodb#ContributorInsightsAction", + "StreamArn": { + "target": "com.amazonaws.dynamodb#StreamArn", "traits": { - "smithy.api#documentation": "Represents the contributor insights action.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) for the Kinesis stream input.
", "smithy.api#required": {} } }, - "ContributorInsightsMode": { - "target": "com.amazonaws.dynamodb#ContributorInsightsMode", + "UpdateKinesisStreamingConfiguration": { + "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingConfiguration", "traits": { - "smithy.api#documentation": "Specifies whether to track all access and throttled events or throttled events only for\n the DynamoDB table or index.
" + "smithy.api#documentation": "The command to update the Kinesis stream configuration.
" } } }, @@ -20770,31 +24094,31 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#UpdateContributorInsightsOutput": { + "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationOutput": { "type": "structure", "members": { "TableName": { "target": "com.amazonaws.dynamodb#TableName", "traits": { - "smithy.api#documentation": "The name of the table.
" + "smithy.api#documentation": "The table name for the Kinesis streaming destination output.
" } }, - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", + "StreamArn": { + "target": "com.amazonaws.dynamodb#StreamArn", "traits": { - "smithy.api#documentation": "The name of the global secondary index, if applicable.
" + "smithy.api#documentation": "The ARN for the Kinesis stream input.
" } }, - "ContributorInsightsStatus": { - "target": "com.amazonaws.dynamodb#ContributorInsightsStatus", + "DestinationStatus": { + "target": "com.amazonaws.dynamodb#DestinationStatus", "traits": { - "smithy.api#documentation": "The status of contributor insights
" + "smithy.api#documentation": "The status of the attempt to update the Kinesis streaming destination output.
" } }, - "ContributorInsightsMode": { - "target": "com.amazonaws.dynamodb#ContributorInsightsMode", + "UpdateKinesisStreamingConfiguration": { + "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingConfiguration", "traits": { - "smithy.api#documentation": "The updated mode of CloudWatch Contributor Insights that determines whether to monitor\n all access and throttled events or to track throttled events exclusively.
" + "smithy.api#documentation": "The command to update the Kinesis streaming destination configuration.
" } } }, @@ -20802,54 +24126,60 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#UpdateExpression": { - "type": "string" - }, - "com.amazonaws.dynamodb#UpdateGlobalSecondaryIndexAction": { + "com.amazonaws.dynamodb#UpdateReplicationGroupMemberAction": { "type": "structure", "members": { - "IndexName": { - "target": "com.amazonaws.dynamodb#IndexName", + "RegionName": { + "target": "com.amazonaws.dynamodb#RegionName", "traits": { - "smithy.api#documentation": "The name of the global secondary index to be updated.
", + "smithy.api#documentation": "The Region where the replica exists.
", "smithy.api#required": {} } }, - "ProvisionedThroughput": { - "target": "com.amazonaws.dynamodb#ProvisionedThroughput", + "KMSMasterKeyId": { + "target": "com.amazonaws.dynamodb#KMSMasterKeyId", "traits": { - "smithy.api#documentation": "Represents the provisioned throughput settings for the specified global secondary\n index.
\nFor current minimum and maximum provisioned throughput values, see Service,\n Account, and Table Quotas in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The KMS key of the replica that should be used for KMS\n encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or\n alias ARN. Note that you should only provide this parameter if the key is different from\n the default DynamoDB KMS key alias/aws/dynamodb.
Updates the maximum number of read and write units for the specified global secondary\n index. If you use this parameter, you must specify MaxReadRequestUnits,\n MaxWriteRequestUnits, or both.
Replica-specific provisioned throughput. If not specified, uses the source table's\n provisioned throughput settings.
" } }, - "WarmThroughput": { - "target": "com.amazonaws.dynamodb#WarmThroughput", + "OnDemandThroughputOverride": { + "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", "traits": { - "smithy.api#documentation": "Represents the warm throughput value of the new provisioned throughput settings to be\n applied to a global secondary index.
" + "smithy.api#documentation": "Overrides the maximum on-demand throughput for the replica table.
" + } + }, + "GlobalSecondaryIndexes": { + "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexList", + "traits": { + "smithy.api#documentation": "Replica-specific global secondary index settings.
" + } + }, + "TableClassOverride": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "Replica-specific table class. If not specified, uses the source table's table\n class.
" } } }, "traits": { - "smithy.api#documentation": "Represents the new provisioned throughput settings to be applied to a global secondary\n index.
" + "smithy.api#documentation": "Represents a replica to be modified.
" } }, - "com.amazonaws.dynamodb#UpdateGlobalTable": { + "com.amazonaws.dynamodb#UpdateTable": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#UpdateGlobalTableInput" + "target": "com.amazonaws.dynamodb#UpdateTableInput" }, "output": { - "target": "com.amazonaws.dynamodb#UpdateGlobalTableOutput" + "target": "com.amazonaws.dynamodb#UpdateTableOutput" }, "errors": [ - { - "target": "com.amazonaws.dynamodb#GlobalTableNotFoundException" - }, { "target": "com.amazonaws.dynamodb#InternalServerError" }, @@ -20857,140 +24187,192 @@ "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#ReplicaAlreadyExistsException" + "target": "com.amazonaws.dynamodb#LimitExceededException" }, { - "target": "com.amazonaws.dynamodb#ReplicaNotFoundException" + "target": "com.amazonaws.dynamodb#ResourceInUseException" }, { - "target": "com.amazonaws.dynamodb#TableNotFoundException" + "target": "com.amazonaws.dynamodb#ResourceNotFoundException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Adds or removes replicas in the specified global table. The global table must already\n exist to be able to use this operation. Any replica to be added must be empty, have the\n same name as the global table, have the same key schema, have DynamoDB Streams enabled,\n and have the same provisioned and maximum write capacity units.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nIf you are using global tables Version\n 2019.11.21 (Current) you can use UpdateTable instead.
\n Although you can use UpdateGlobalTable to add replicas and remove\n replicas in a single request, for simplicity we recommend that you issue separate\n requests for adding or removing replicas.
If global secondary indexes are specified, then the following conditions must also be\n met:
\nThe global secondary indexes must have the same name.
\nThe global secondary indexes must have the same hash key and sort key (if\n present).
\nThe global secondary indexes must have the same provisioned and maximum write\n capacity units.
\nModifies the provisioned throughput settings, global secondary indexes, or DynamoDB\n Streams settings for a given table.
\nYou can only perform one of the following operations at once:
\nModify the provisioned throughput settings of the table.
\nRemove a global secondary index from the table.
\nCreate a new global secondary index on the table. After the index begins\n backfilling, you can use UpdateTable to perform other\n operations.
\n UpdateTable is an asynchronous operation; while it's executing, the table\n status changes from ACTIVE to UPDATING. While it's\n UPDATING, you can't issue another UpdateTable request.\n When the table returns to the ACTIVE state, the UpdateTable\n operation is complete.
The global table name.
", + "smithy.api#documentation": "An array of attributes that describe the key schema for the table and indexes. If you\n are adding a new global secondary index to the table, AttributeDefinitions\n must include the key element(s) of the new index.
The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table\n in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, + "BillingMode": { + "target": "com.amazonaws.dynamodb#BillingMode", + "traits": { + "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. When switching from pay-per-request to provisioned capacity, initial\n provisioned capacity values must be set. The initial provisioned capacity values are\n estimated based on the consumed read and write capacity of your table and global\n secondary indexes over the past 30 minutes.
\n\n PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST\n for most DynamoDB workloads. PAY_PER_REQUEST sets the billing mode\n to On-demand capacity mode.
\n PROVISIONED - We recommend using PROVISIONED for\n steady workloads with predictable growth where capacity requirements can be\n reliably forecasted. PROVISIONED sets the billing mode to Provisioned capacity mode.
The new provisioned throughput settings for the specified table or index.
" + } + }, + "GlobalSecondaryIndexUpdates": { + "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexUpdateList", + "traits": { + "smithy.api#documentation": "An array of one or more global secondary indexes for the table. For each index in the\n array, you can request one action:
\n\n Create - add a new global secondary index to the table.
\n Update - modify the provisioned throughput settings of an existing\n global secondary index.
\n Delete - remove a global secondary index from the table.
You can create or delete only one global secondary index per UpdateTable\n operation.
For more information, see Managing Global\n Secondary Indexes in the Amazon DynamoDB Developer\n Guide.
" + } + }, + "StreamSpecification": { + "target": "com.amazonaws.dynamodb#StreamSpecification", + "traits": { + "smithy.api#documentation": "Represents the DynamoDB Streams configuration for the table.
\nYou receive a ValidationException if you try to enable a stream on a\n table that already has a stream, or if you try to disable a stream on a table that\n doesn't have a stream.
The new server-side encryption settings for the specified table.
" + } + }, "ReplicaUpdates": { - "target": "com.amazonaws.dynamodb#ReplicaUpdateList", + "target": "com.amazonaws.dynamodb#ReplicationGroupUpdateList", "traits": { - "smithy.api#documentation": "A list of Regions that should be added or removed from the global table.
", - "smithy.api#required": {} + "smithy.api#documentation": "A list of replica update actions (create, delete, or update) for the table.
" + } + }, + "TableClass": { + "target": "com.amazonaws.dynamodb#TableClass", + "traits": { + "smithy.api#documentation": "The table class of the table to be updated. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.
Indicates whether deletion protection is to be enabled (true) or disabled (false) on\n the table.
" + } + }, + "MultiRegionConsistency": { + "target": "com.amazonaws.dynamodb#MultiRegionConsistency", + "traits": { + "smithy.api#documentation": "Specifies the consistency mode for a new global table. This parameter is only valid\n when you create a global table by specifying one or more Create actions in the ReplicaUpdates action list.
\nYou can specify one of the following consistency modes:
\n\n EVENTUAL: Configures a new global table for multi-Region eventual\n consistency (MREC). This is the default consistency mode for global\n tables.
\n STRONG: Configures a new global table for multi-Region strong\n consistency (MRSC).
If you don't specify this field, the global table consistency mode defaults to\n EVENTUAL. For more information about global tables consistency modes,\n see \n Consistency modes in DynamoDB developer guide.
A list of witness updates for a MRSC global table. A witness provides a cost-effective\n alternative to a full replica in a MRSC global table by maintaining replicated change\n data written to global table replicas. You cannot perform read or write operations on a\n witness. For each witness, you can request one action:
\n\n Create - add a new witness to the global table.
\n Delete - remove a witness from the global table.
You can create or delete only one witness per UpdateTable\n operation.
For more information, see Multi-Region strong consistency (MRSC) in the Amazon DynamoDB\n Developer Guide
" + } + }, + "OnDemandThroughput": { + "target": "com.amazonaws.dynamodb#OnDemandThroughput", + "traits": { + "smithy.api#documentation": "Updates the maximum number of read and write units for the specified table in\n on-demand capacity mode. If you use this parameter, you must specify\n MaxReadRequestUnits, MaxWriteRequestUnits, or both.
Represents the warm throughput (in read units per second and write units per second)\n for updating a table.
" + } + }, + "GlobalTableSettingsReplicationMode": { + "target": "com.amazonaws.dynamodb#GlobalTableSettingsReplicationMode", + "traits": { + "smithy.api#documentation": "Controls the settings replication mode for a global table replica. This attribute can be defined\n using UpdateTable operation only on a regional table with values:
\n\n ENABLED: Defines settings replication on a regional table to be used as a\n source table for creating Multi-Account Global Table.
\n DISABLED: Remove settings replication on a regional table. Settings replication needs\n to be defined to ENABLED again in order to create a Multi-Account Global Table using this table.\n
Represents the input of an UpdateTable operation.
Contains the details of the global table.
" + "smithy.api#documentation": "Represents the properties of the table.
" } } }, "traits": { + "smithy.api#documentation": "Represents the output of an UpdateTable operation.
Updates settings for a global table.
\nThis documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).
\nTo determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.
\nUpdates auto scaling settings on your global tables at once.
" } }, - "com.amazonaws.dynamodb#UpdateGlobalTableSettingsInput": { - "type": "structure", - "members": { - "GlobalTableName": { - "target": "com.amazonaws.dynamodb#TableName", - "traits": { - "smithy.api#documentation": "The name of the global table
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } - } - }, - "GlobalTableBillingMode": { - "target": "com.amazonaws.dynamodb#BillingMode", - "traits": { - "smithy.api#documentation": "The billing mode of the global table. If GlobalTableBillingMode is not\n specified, the global table defaults to PROVISIONED capacity billing\n mode.
\n PROVISIONED - We recommend using PROVISIONED for\n predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.
\n PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST\n for unpredictable workloads. PAY_PER_REQUEST sets the billing mode\n to On-demand capacity mode.
The maximum number of writes consumed per second before DynamoDB returns a\n ThrottlingException.\n
Represents the auto scaling settings of the global secondary indexes of the replica to\n be updated.
" } }, - "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate", + "TableName": { + "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "Auto scaling settings for managing provisioned write capacity for the global\n table.
" + "smithy.api#documentation": "The name of the global table to be updated. You can also provide the Amazon Resource Name (ARN) of the\n table in this parameter.
", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "GlobalTableGlobalSecondaryIndexSettingsUpdate": { - "target": "com.amazonaws.dynamodb#GlobalTableGlobalSecondaryIndexSettingsUpdateList", - "traits": { - "smithy.api#documentation": "Represents the settings of a global secondary index for a global table that will be\n modified.
" - } + "ProvisionedWriteCapacityAutoScalingUpdate": { + "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate" }, - "ReplicaSettingsUpdate": { - "target": "com.amazonaws.dynamodb#ReplicaSettingsUpdateList", + "ReplicaUpdates": { + "target": "com.amazonaws.dynamodb#ReplicaAutoScalingUpdateList", "traits": { - "smithy.api#documentation": "Represents the settings for a global table in a Region that will be modified.
" + "smithy.api#documentation": "Represents the auto scaling settings of replicas of the table that will be\n modified.
" } } }, @@ -20998,19 +24380,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.dynamodb#UpdateGlobalTableSettingsOutput": { + "com.amazonaws.dynamodb#UpdateTableReplicaAutoScalingOutput": { "type": "structure", "members": { - "GlobalTableName": { - "target": "com.amazonaws.dynamodb#TableName", - "traits": { - "smithy.api#documentation": "The name of the global table.
" - } - }, - "ReplicaSettings": { - "target": "com.amazonaws.dynamodb#ReplicaSettingsDescriptionList", + "TableAutoScalingDescription": { + "target": "com.amazonaws.dynamodb#TableAutoScalingDescription", "traits": { - "smithy.api#documentation": "The Region-specific settings for the global table.
" + "smithy.api#documentation": "Returns information about the auto scaling settings of a table with replicas.
" } } }, @@ -21018,18 +24394,15 @@ "smithy.api#output": {} } }, - "com.amazonaws.dynamodb#UpdateItem": { + "com.amazonaws.dynamodb#UpdateTimeToLive": { "type": "operation", "input": { - "target": "com.amazonaws.dynamodb#UpdateItemInput" + "target": "com.amazonaws.dynamodb#UpdateTimeToLiveInput" }, "output": { - "target": "com.amazonaws.dynamodb#UpdateItemOutput" + "target": "com.amazonaws.dynamodb#UpdateTimeToLiveOutput" }, "errors": [ - { - "target": "com.amazonaws.dynamodb#ConditionalCheckFailedException" - }, { "target": "com.amazonaws.dynamodb#InternalServerError" }, @@ -21037,713 +24410,899 @@ "target": "com.amazonaws.dynamodb#InvalidEndpointException" }, { - "target": "com.amazonaws.dynamodb#ItemCollectionSizeLimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ProvisionedThroughputExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ReplicatedWriteConflictException" + "target": "com.amazonaws.dynamodb#LimitExceededException" }, { - "target": "com.amazonaws.dynamodb#RequestLimitExceeded" + "target": "com.amazonaws.dynamodb#ResourceInUseException" }, { "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.dynamodb#ThrottlingException" - }, - { - "target": "com.amazonaws.dynamodb#TransactionConflictException" } ], "traits": { "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "Edits an existing item's attributes, or adds a new item to the table if it does not\n already exist. You can put, delete, or add attribute values. You can also perform a\n conditional update on an existing item (insert a new attribute name-value pair if it\n doesn't exist, or replace an existing name-value pair if it has certain expected\n attribute values).
\nYou can also return the item's attribute values in the same UpdateItem\n operation using the ReturnValues parameter.
The UpdateTimeToLive method enables or disables Time to Live (TTL) for\n the specified table. A successful UpdateTimeToLive call returns the current\n TimeToLiveSpecification. It can take up to one hour for the change to\n fully process. Any additional UpdateTimeToLive calls for the same table\n 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\n attribute of an item. If the epoch time value stored in the attribute is less than the\n current time, the item is marked as expired and subsequently deleted.
\nThe epoch time format is the number of seconds elapsed since 12:00:00 AM January\n 1, 1970 UTC.
\nDynamoDB deletes expired items on a best-effort basis to ensure availability of\n throughput for other data operations.
\nDynamoDB typically deletes expired items within two days of expiration. The exact\n duration within which an item gets deleted after expiration is specific to the\n nature of the workload. Items that have expired and not been deleted will still show\n up in reads, queries, and scans.
\nAs items are deleted, they are removed from any local secondary index and global\n secondary index immediately in the same eventually consistent way as a standard delete\n operation.
\nFor more information, see Time To Live in the\n Amazon DynamoDB Developer Guide.
" } }, - "com.amazonaws.dynamodb#UpdateItemInput": { + "com.amazonaws.dynamodb#UpdateTimeToLiveInput": { "type": "structure", "members": { "TableName": { "target": "com.amazonaws.dynamodb#TableArn", "traits": { - "smithy.api#documentation": "The name of the table containing the item to update. You can also provide the\n Amazon Resource Name (ARN) of the table in this parameter.
", + "smithy.api#documentation": "The name of the table to be configured. You can also provide the Amazon Resource Name (ARN) of the\n table in this parameter.
", "smithy.api#required": {}, "smithy.rules#contextParam": { "name": "ResourceArn" } } }, - "Key": { - "target": "com.amazonaws.dynamodb#Key", + "TimeToLiveSpecification": { + "target": "com.amazonaws.dynamodb#TimeToLiveSpecification", "traits": { - "smithy.api#documentation": "The primary key of the item to be updated. Each element consists of an attribute name\n and a value for that attribute.
\nFor the primary key, you must provide all of the attributes. For example, with a\n simple primary key, you only need to provide a value for the partition key. For a\n composite primary key, you must provide values for both the partition key and the sort\n key.
", + "smithy.api#documentation": "Represents the settings used to enable or disable Time to Live for the specified\n table.
", "smithy.api#required": {} } - }, - "AttributeUpdates": { - "target": "com.amazonaws.dynamodb#AttributeUpdates", + } + }, + "traits": { + "smithy.api#documentation": "Represents the input of an UpdateTimeToLive operation.
This is a legacy parameter. Use UpdateExpression instead. For more\n information, see AttributeUpdates in the Amazon DynamoDB Developer\n Guide.
Represents the output of an UpdateTimeToLive operation.
This is a legacy parameter. Use ConditionExpression instead. For more\n information, see Expected in the Amazon DynamoDB Developer\n Guide.
Represents the number of read operations your base table can instantaneously\n support.
" } }, - "ConditionalOperator": { - "target": "com.amazonaws.dynamodb#ConditionalOperator", + "WriteUnitsPerSecond": { + "target": "com.amazonaws.dynamodb#LongObject", "traits": { - "smithy.api#documentation": "This is a legacy parameter. Use ConditionExpression instead. For more\n information, see ConditionalOperator in the Amazon DynamoDB Developer\n Guide.
Represents the number of write operations your base table can instantaneously\n support.
" } - }, - "ReturnValues": { - "target": "com.amazonaws.dynamodb#ReturnValue", + } + }, + "traits": { + "smithy.api#documentation": "Provides visibility into the number of read and write operations your table or\n secondary index can instantaneously support. The settings can be modified using the\n UpdateTable operation to meet the throughput requirements of an\n upcoming peak event.
Use ReturnValues if you want to get the item attributes as they appear\n before or after they are successfully updated. For UpdateItem, the valid\n values are:
\n NONE - If ReturnValues is not specified, or if its\n value is NONE, then nothing is returned. (This setting is the\n default for ReturnValues.)
\n ALL_OLD - Returns all of the attributes of the item, as they\n appeared before the UpdateItem operation.
\n UPDATED_OLD - Returns only the updated attributes, as they appeared\n before the UpdateItem operation.
\n ALL_NEW - Returns all of the attributes of the item, as they appear\n after the UpdateItem operation.
\n UPDATED_NEW - Returns only the updated attributes, as they appear\n after the UpdateItem operation.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
\nThe values returned are strongly consistent.
" + "smithy.api#enumValue": "CREATING" } }, - "ReturnConsumedCapacity": { - "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" - }, - "ReturnItemCollectionMetrics": { - "target": "com.amazonaws.dynamodb#ReturnItemCollectionMetrics", + "DELETING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Determines whether item collection metrics are returned. If set to SIZE,\n the response includes statistics about item collections, if any, that were modified\n during the operation are returned in the response. If set to NONE (the\n default), no statistics are returned.
An expression that defines one or more attributes to be updated, the action to be\n performed on them, and new values for them.
\nThe following action values are available for UpdateExpression.
\n SET - Adds one or more attributes and values to an item. If any of\n these attributes already exist, they are replaced by the new values. You can\n also use SET to add or subtract from an attribute that is of type\n Number. For example: SET myNum = myNum + :val\n
\n SET supports the following functions:
\n if_not_exists (path, operand) - if the item does not\n contain an attribute at the specified path, then\n if_not_exists evaluates to operand; otherwise, it\n evaluates to path. You can use this function to avoid overwriting an\n attribute that may already be present in the item.
\n list_append (operand, operand) - evaluates to a list with a\n new element added to it. You can append the new element to the start or\n the end of the list by reversing the order of the operands.
These function names are case-sensitive.
\n\n REMOVE - Removes one or more attributes from an item.
\n ADD - Adds the specified value to the item, if the attribute does\n not already exist. If the attribute does exist, then the behavior of\n ADD depends on the data type of the attribute:
If the existing attribute is a number, and if Value is\n also a number, then Value is mathematically added to the\n existing attribute. If Value is a negative number, then it\n is subtracted from the existing attribute.
If you use ADD to increment or decrement a number\n value for an item that doesn't exist before the update, DynamoDB\n uses 0 as the initial value.
Similarly, if you use ADD for an existing item to\n increment or decrement an attribute value that doesn't exist before\n the update, DynamoDB uses 0 as the initial value. For\n example, suppose that the item you want to update doesn't have an\n attribute named itemcount, but you decide to\n ADD the number 3 to this attribute\n anyway. DynamoDB will create the itemcount attribute,\n set its initial value to 0, and finally add\n 3 to it. The result will be a new\n itemcount attribute in the item, with a value of\n 3.
If the existing data type is a set and if Value is also a\n set, then Value is added to the existing set. For example,\n if the attribute value is the set [1,2], and the\n ADD action specified [3], then the final\n attribute value is [1,2,3]. An error occurs if an\n ADD action is specified for a set attribute and the\n attribute type specified does not match the existing set type.
Both sets must have the same primitive data type. For example, if the\n existing data type is a set of strings, the Value must also\n be a set of strings.
The ADD action only supports Number and set data types. In\n addition, ADD can only be used on top-level attributes, not\n nested attributes.
\n DELETE - Deletes an element from a set.
If a set of values is specified, then those values are subtracted from the old\n set. For example, if the attribute value was the set [a,b,c] and\n the DELETE action specifies [a,c], then the final\n attribute value is [b]. Specifying an empty set is an error.
The DELETE action only supports set data types. In addition,\n DELETE can only be used on top-level attributes, not nested\n attributes.
You can have many actions in a single expression, such as the following: SET\n a=:value1, b=:value2 DELETE :value3, :value4, :value5\n
For more information on update expressions, see Modifying\n Items and Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "A request to perform a PutItem operation.
A condition that must be satisfied in order for a conditional update to\n succeed.
\nAn expression can contain any of the following:
\nFunctions: attribute_exists | attribute_not_exists | attribute_type |\n contains | begins_with | size\n
These function names are case-sensitive.
\nComparison operators: = | <> |\n < | > | <= | >= |\n BETWEEN | IN \n
Logical operators: AND | OR | NOT\n
For more information about condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "A request to perform a DeleteItem operation.
Represents an operation to perform - either DeleteItem or\n PutItem. You can only request one of these operations, not both, in a\n single WriteRequest. If you do need to perform both of these operations,\n you need to provide two separate WriteRequest objects.
One or more substitution tokens for attribute names in an expression. The following\n are some use cases for using ExpressionAttributeNames:
To access an attribute whose name conflicts with a DynamoDB reserved\n word.
\nTo create a placeholder for repeating occurrences of an attribute name in an\n expression.
\nTo prevent special characters in an attribute name from being misinterpreted\n in an expression.
\nUse the # character in an expression to dereference\n an attribute name. For example, consider the following attribute name:
\n\n Percentile\n
The name of this attribute conflicts with a reserved word, so it cannot be used\n directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer\n Guide.) To work around this, you could specify the following for\n ExpressionAttributeNames:
\n {\"#P\":\"Percentile\"}\n
You could then use this substitution in an expression, as in this example:
\n\n #P = :val\n
Tokens that begin with the : character are\n expression attribute values, which are placeholders for the\n actual value at runtime.
\nFor more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "Priority ordered list of supported HTTP protocol versions\nthat are required when using event streams." } + } + }, + "traits": { + "smithy.api#documentation": "An RPC-based protocol that serializes CBOR payloads.", + "smithy.api#protocolDefinition": { + "traits": [ + "smithy.api#cors", + "smithy.api#endpoint", + "smithy.api#hostLabel", + "smithy.api#httpError" + ] }, - "ExpressionAttributeValues": { - "target": "com.amazonaws.dynamodb#ExpressionAttributeValueMap", + "smithy.api#trait": { + "selector": "service" + }, + "smithy.api#traitValidators": { + "rpcv2Cbor.NoDocuments": { + "selector": "service ~> member :test(> document)", + "message": "This protocol does not support document types in most possible scenarios.", + "severity": "DANGER" + } + } + } + }, + "smithy.rules#ClientContextParamDefinition": { + "type": "structure", + "members": { + "type": { + "target": "smithy.rules#ShapeType", "traits": { - "smithy.api#documentation": "One or more values that can be substituted in an expression.
\nUse the : (colon) character in an expression to\n dereference an attribute value. For example, suppose that you wanted to check whether\n the value of the ProductStatus attribute was one of the following:
\n Available | Backordered | Discontinued\n
You would first need to specify ExpressionAttributeValues as\n follows:
\n { \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"},\n \":disc\":{\"S\":\"Discontinued\"} }\n
You could then use these values in an expression, such as this:
\n\n ProductStatus IN (:avail, :back, :disc)\n
For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The Smithy shape type that should be used to generate a client configurable for the rule-set parameter.", + "smithy.api#required": {} } }, - "ReturnValuesOnConditionCheckFailure": { - "target": "com.amazonaws.dynamodb#ReturnValuesOnConditionCheckFailure", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "An optional parameter that returns the item attributes for an UpdateItem\n operation that failed a condition check.
There is no additional cost associated with requesting a return value aside from the\n small network and processing overhead of receiving a larger response. No read capacity\n units are consumed.
" + "smithy.api#documentation": "Documentation string to be generated with the client parameter." } } }, "traits": { - "smithy.api#documentation": "Represents the input of an UpdateItem operation.
A map of attribute values as they appear before or after the UpdateItem\n operation, as determined by the ReturnValues parameter.
The Attributes map is only present if the update was successful and\n ReturnValues was specified as something other than NONE in\n the request. Each element represents one attribute.
The capacity units consumed by the UpdateItem operation. The data\n returned includes the total provisioned throughput consumed, along with statistics for\n the table and any indexes involved in the operation. ConsumedCapacity is\n only returned if the ReturnConsumedCapacity parameter was specified. For\n more information, see Capacity unity consumption for write operations in the Amazon\n DynamoDB Developer Guide.
Information about item collections, if any, that were affected by the\n UpdateItem operation. ItemCollectionMetrics is only\n returned if the ReturnItemCollectionMetrics parameter was specified. If the\n table does not have any local secondary indexes, this information is not returned in the\n response.
Each ItemCollectionMetrics element consists of:
\n ItemCollectionKey - The partition key value of the item collection.\n This is the same as the partition key value of the item itself.
\n SizeEstimateRangeGB - An estimate of item collection size, in\n gigabytes. This value is a two-element array containing a lower bound and an\n upper bound for the estimate. The estimate includes the size of all the items in\n the table, plus the size of all attributes projected into all of the local\n secondary indexes on that table. Use this estimate to measure whether a local\n secondary index is approaching its size limit.
The estimate is subject to change over time; therefore, do not rely on the\n precision or accuracy of the estimate.
\nRepresents the output of an UpdateItem operation.
Enables updating the precision of Kinesis data stream timestamp.
" - } - } + "smithy.rules#Conditions": { + "type": "list", + "member": { + "target": "smithy.rules#Condition" }, "traits": { - "smithy.api#documentation": "Enables updating the configuration for Kinesis Streaming.
" + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#UpdateKinesisStreamingDestination": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationOutput" + "smithy.rules#DocumentList": { + "type": "list", + "member": { + "target": "smithy.api#Document" }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#LimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceInUseException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - } - ], "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "The command to update the Kinesis stream destination.
" + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationInput": { + "smithy.rules#EndpointExpectation": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "url": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The table name for the Kinesis streaming destination input. You can also provide the\n ARN of the table in this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The expected endpoint URL to be resolved for this test case." } }, - "StreamArn": { - "target": "com.amazonaws.dynamodb#StreamArn", + "headers": { + "target": "smithy.rules#EndpointHeaders", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) for the Kinesis stream input.
", - "smithy.api#required": {} + "smithy.api#documentation": "The transport headers to be set for this test case." } }, - "UpdateKinesisStreamingConfiguration": { - "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingConfiguration", + "properties": { + "target": "smithy.rules#Properties", "traits": { - "smithy.api#documentation": "The command to update the Kinesis stream configuration.
" + "smithy.api#documentation": "The properties for the endpoint for this test case." } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A description of an expected endpoint to be resolved for an endpoint rule-set test case.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.dynamodb#UpdateKinesisStreamingDestinationOutput": { + "smithy.rules#EndpointHeaderValue": { + "type": "list", + "member": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "A transport header value." + } + }, + "traits": { + "smithy.api#documentation": "A list of transport header values.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#EndpointHeaders": { + "type": "map", + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The transport header name." + } + }, + "value": { + "target": "smithy.rules#EndpointHeaderValue", + "traits": { + "smithy.api#documentation": "The transport header values." + } + }, + "traits": { + "smithy.api#documentation": "A map of header names to list of values.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#EndpointObject": { "type": "structure", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableName", - "traits": { - "smithy.api#documentation": "The table name for the Kinesis streaming destination output.
" - } - }, - "StreamArn": { - "target": "com.amazonaws.dynamodb#StreamArn", + "url": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "The ARN for the Kinesis stream input.
" + "smithy.api#documentation": "The endpoint url. This MUST specify a scheme and hostname and MAY contain port and base path components.\nA string value MAY be a Template string. Any value for this property MUST resolve to a string.", + "smithy.api#required": {} } }, - "DestinationStatus": { - "target": "com.amazonaws.dynamodb#DestinationStatus", + "properties": { + "target": "smithy.rules#EndpointProperties", "traits": { - "smithy.api#documentation": "The status of the attempt to update the Kinesis streaming destination output.
" + "smithy.api#documentation": "A map containing zero or more key value property pairs. Endpoint properties MAY be arbitrarily deep and\ncontain other maps and arrays." } }, - "UpdateKinesisStreamingConfiguration": { - "target": "com.amazonaws.dynamodb#UpdateKinesisStreamingConfiguration", + "headers": { + "target": "smithy.rules#EndpointObjectHeaders", "traits": { - "smithy.api#documentation": "The command to update the Kinesis streaming destination configuration.
" + "smithy.api#documentation": "A map of transport header names to their respective values. A string value in an array MAY be a\ntemplate string." } } }, "traits": { - "smithy.api#output": {} + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#UpdateReplicationGroupMemberAction": { + "smithy.rules#EndpointObjectHeaders": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.rules#DocumentList" + }, + "traits": { + "smithy.api#private": {} + } + }, + "smithy.rules#EndpointProperties": { + "type": "map", + "key": { + "target": "smithy.api#String" + }, + "value": { + "target": "smithy.api#Document" + }, + "traits": { + "smithy.api#private": {} + } + }, + "smithy.rules#EndpointTest": { "type": "structure", "members": { - "RegionName": { - "target": "com.amazonaws.dynamodb#RegionName", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The Region where the replica exists.
", - "smithy.api#required": {} + "smithy.api#documentation": "Documentation describing the test case." } }, - "KMSMasterKeyId": { - "target": "com.amazonaws.dynamodb#KMSMasterKeyId", + "params": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "The KMS key of the replica that should be used for KMS\n encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or\n alias ARN. Note that you should only provide this parameter if the key is different from\n the default DynamoDB KMS key alias/aws/dynamodb.
Replica-specific provisioned throughput. If not specified, uses the source table's\n provisioned throughput settings.
" + "smithy.api#documentation": "Defines a set of service operation configurations used for testing the rules-engine." } }, - "OnDemandThroughputOverride": { - "target": "com.amazonaws.dynamodb#OnDemandThroughputOverride", + "expect": { + "target": "smithy.rules#EndpointTestExpectation", "traits": { - "smithy.api#documentation": "Overrides the maximum on-demand throughput for the replica table.
" + "smithy.api#documentation": "The expected outcome of the test case.", + "smithy.api#required": {} } - }, - "GlobalSecondaryIndexes": { - "target": "com.amazonaws.dynamodb#ReplicaGlobalSecondaryIndexList", + } + }, + "traits": { + "smithy.api#documentation": "Describes an endpoint test case for validation of an endpoint rule-set.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#EndpointTestExpectation": { + "type": "union", + "members": { + "error": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Replica-specific global secondary index settings.
" + "smithy.api#documentation": "A test case expectation resulting in an error." } }, - "TableClassOverride": { - "target": "com.amazonaws.dynamodb#TableClass", + "endpoint": { + "target": "smithy.rules#EndpointExpectation", "traits": { - "smithy.api#documentation": "Replica-specific table class. If not specified, uses the source table's table\n class.
" + "smithy.api#documentation": "A test case expectation resulting in an endpoint." } } }, "traits": { - "smithy.api#documentation": "Represents a replica to be modified.
" + "smithy.api#documentation": "An endpoint rule-set test expectation describing an expected endpoint or error.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.dynamodb#UpdateTable": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#UpdateTableInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#UpdateTableOutput" + "smithy.rules#EndpointTestList": { + "type": "list", + "member": { + "target": "smithy.rules#EndpointTest" }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#LimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceInUseException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - } - ], "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB\n Streams settings for a given table.
\nYou can only perform one of the following operations at once:
\nModify the provisioned throughput settings of the table.
\nRemove a global secondary index from the table.
\nCreate a new global secondary index on the table. After the index begins\n backfilling, you can use UpdateTable to perform other\n operations.
\n UpdateTable is an asynchronous operation; while it's executing, the table\n status changes from ACTIVE to UPDATING. While it's\n UPDATING, you can't issue another UpdateTable request.\n When the table returns to the ACTIVE state, the UpdateTable\n operation is complete.
An array of attributes that describe the key schema for the table and indexes. If you\n are adding a new global secondary index to the table, AttributeDefinitions\n must include the key element(s) of the new index.
The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table\n in this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } - } - }, - "BillingMode": { - "target": "com.amazonaws.dynamodb#BillingMode", - "traits": { - "smithy.api#documentation": "Controls how you are charged for read and write throughput and how you manage\n capacity. When switching from pay-per-request to provisioned capacity, initial\n provisioned capacity values must be set. The initial provisioned capacity values are\n estimated based on the consumed read and write capacity of your table and global\n secondary indexes over the past 30 minutes.
\n\n PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST\n for most DynamoDB workloads. PAY_PER_REQUEST sets the billing mode\n to On-demand capacity mode.
\n PROVISIONED - We recommend using PROVISIONED for\n steady workloads with predictable growth where capacity requirements can be\n reliably forecasted. PROVISIONED sets the billing mode to Provisioned capacity mode.
The new provisioned throughput settings for the specified table or index.
" + "smithy.api#documentation": "a JMESPath expression to select element(s) from the operation input to bind to.", + "smithy.api#required": {} } - }, - "GlobalSecondaryIndexUpdates": { - "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexUpdateList", + } + }, + "traits": { + "smithy.api#documentation": "An operation context parameter definition.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#OperationInput": { + "type": "structure", + "members": { + "operationName": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "An array of one or more global secondary indexes for the table. For each index in the\n array, you can request one action:
\n\n Create - add a new global secondary index to the table.
\n Update - modify the provisioned throughput settings of an existing\n global secondary index.
\n Delete - remove a global secondary index from the table.
You can create or delete only one global secondary index per UpdateTable\n operation.
For more information, see Managing Global\n Secondary Indexes in the Amazon DynamoDB Developer\n Guide.
" + "smithy.api#documentation": "The name of the service operation targeted by the test.", + "smithy.api#required": {} } }, - "StreamSpecification": { - "target": "com.amazonaws.dynamodb#StreamSpecification", + "operationParams": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "Represents the DynamoDB Streams configuration for the table.
\nYou receive a ValidationException if you try to enable a stream on a\n table that already has a stream, or if you try to disable a stream on a table that\n doesn't have a stream.
The new server-side encryption settings for the specified table.
" + "smithy.api#documentation": "Defines the set of rule-set built-ins and their corresponding values to be set." } }, - "ReplicaUpdates": { - "target": "com.amazonaws.dynamodb#ReplicationGroupUpdateList", + "clientParams": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "A list of replica update actions (create, delete, or update) for the table.
" + "smithy.api#documentation": "Defines the set of client configuration parameters to be set." } - }, - "TableClass": { - "target": "com.amazonaws.dynamodb#TableClass", + } + }, + "traits": { + "smithy.api#documentation": "A description of a service operation and input used to verify an endpoint rule-set test case.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#OperationInputs": { + "type": "list", + "member": { + "target": "smithy.rules#OperationInput", + "traits": { + "smithy.api#documentation": "The service operation configuration to be used for testing the rules-engine." + } + }, + "traits": { + "smithy.api#documentation": "A list of operation input descriptions for an endpoint rule-set test case.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#Parameter": { + "type": "structure", + "members": { + "type": { + "target": "smithy.rules#ParameterType", "traits": { - "smithy.api#documentation": "The table class of the table to be updated. Valid values are STANDARD and\n STANDARD_INFREQUENT_ACCESS.
Indicates whether deletion protection is to be enabled (true) or disabled (false) on\n the table.
" + "smithy.api#documentation": "True if the parameter is deprecated." } }, - "MultiRegionConsistency": { - "target": "com.amazonaws.dynamodb#MultiRegionConsistency", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Specifies the consistency mode for a new global table. This parameter is only valid\n when you create a global table by specifying one or more Create actions in the ReplicaUpdates action list.
\nYou can specify one of the following consistency modes:
\n\n EVENTUAL: Configures a new global table for multi-Region eventual\n consistency (MREC). This is the default consistency mode for global\n tables.
\n STRONG: Configures a new global table for multi-Region strong\n consistency (MRSC).
If you don't specify this field, the global table consistency mode defaults to\n EVENTUAL. For more information about global tables consistency modes,\n see \n Consistency modes in DynamoDB developer guide.
A list of witness updates for a MRSC global table. A witness provides a cost-effective\n alternative to a full replica in a MRSC global table by maintaining replicated change\n data written to global table replicas. You cannot perform read or write operations on a\n witness. For each witness, you can request one action:
\n\n Create - add a new witness to the global table.
\n Delete - remove a witness from the global table.
You can create or delete only one witness per UpdateTable\n operation.
For more information, see Multi-Region strong consistency (MRSC) in the Amazon DynamoDB\n Developer Guide
" + "smithy.api#documentation": "Specifies the default value for the parameter if not set.\nParameters with defaults MUST also be marked as required. The type of the provided default MUST match type." } }, - "OnDemandThroughput": { - "target": "com.amazonaws.dynamodb#OnDemandThroughput", + "builtIn": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Updates the maximum number of read and write units for the specified table in\n on-demand capacity mode. If you use this parameter, you must specify\n MaxReadRequestUnits, MaxWriteRequestUnits, or both.
Represents the warm throughput (in read units per second and write units per second)\n for updating a table.
" + "smithy.api#documentation": "Specifies that the parameter is required to be provided to the endpoint provider." } } }, "traits": { - "smithy.api#documentation": "Represents the input of an UpdateTable operation.
Represents the properties of the table.
" + "smithy.api#enumValue": "string" + } + }, + "BOOLEAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "boolean" + } + }, + "STRING_ARRAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "stringArray" } } }, "traits": { - "smithy.api#documentation": "Represents the output of an UpdateTable operation.
Updates auto scaling settings on your global tables at once.
" + "smithy.api#documentation": "A map of strings to document values.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.dynamodb#UpdateTableReplicaAutoScalingInput": { + "smithy.rules#Result": { "type": "structure", "members": { - "GlobalSecondaryIndexUpdates": { - "target": "com.amazonaws.dynamodb#GlobalSecondaryIndexAutoScalingUpdateList", + "type": { + "target": "smithy.rules#ResultType", "traits": { - "smithy.api#documentation": "Represents the auto scaling settings of the global secondary indexes of the replica to\n be updated.
" + "smithy.api#documentation": "Result type.", + "smithy.api#required": {} } }, - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The name of the global table to be updated. You can also provide the Amazon Resource Name (ARN) of the\n table in this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "An optional description of the result." } }, - "ProvisionedWriteCapacityAutoScalingUpdate": { - "target": "com.amazonaws.dynamodb#AutoScalingSettingsUpdate" + "error": { + "target": "smithy.api#Document", + "traits": { + "smithy.api#documentation": "Provided if type is \"error\"." + } }, - "ReplicaUpdates": { - "target": "com.amazonaws.dynamodb#ReplicaAutoScalingUpdateList", + "endpoint": { + "target": "smithy.rules#EndpointObject", "traits": { - "smithy.api#documentation": "Represents the auto scaling settings of replicas of the table that will be\n modified.
" + "smithy.api#documentation": "Provided if type is \"endpoint\"." + } + }, + "conditions": { + "target": "smithy.rules#Conditions", + "traits": { + "smithy.api#documentation": "Conditions for the result (only used with decision tree rules)." } } }, "traits": { - "smithy.api#input": {} + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#UpdateTableReplicaAutoScalingOutput": { - "type": "structure", + "smithy.rules#ResultType": { + "type": "enum", "members": { - "TableAutoScalingDescription": { - "target": "com.amazonaws.dynamodb#TableAutoScalingDescription", + "ENDPOINT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Returns information about the auto scaling settings of a table with replicas.
" + "smithy.api#enumValue": "endpoint" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "error" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#UpdateTimeToLive": { - "type": "operation", - "input": { - "target": "com.amazonaws.dynamodb#UpdateTimeToLiveInput" - }, - "output": { - "target": "com.amazonaws.dynamodb#UpdateTimeToLiveOutput" + "smithy.rules#Results": { + "type": "list", + "member": { + "target": "smithy.rules#Result" }, - "errors": [ - { - "target": "com.amazonaws.dynamodb#InternalServerError" - }, - { - "target": "com.amazonaws.dynamodb#InvalidEndpointException" - }, - { - "target": "com.amazonaws.dynamodb#LimitExceededException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceInUseException" - }, - { - "target": "com.amazonaws.dynamodb#ResourceNotFoundException" - } - ], "traits": { - "aws.api#clientDiscoveredEndpoint": { - "required": false - }, - "smithy.api#documentation": "The UpdateTimeToLive method enables or disables Time to Live (TTL) for\n the specified table. A successful UpdateTimeToLive call returns the current\n TimeToLiveSpecification. It can take up to one hour for the change to\n fully process. Any additional UpdateTimeToLive calls for the same table\n 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\n attribute of an item. If the epoch time value stored in the attribute is less than the\n current time, the item is marked as expired and subsequently deleted.
\nThe epoch time format is the number of seconds elapsed since 12:00:00 AM January\n 1, 1970 UTC.
\nDynamoDB deletes expired items on a best-effort basis to ensure availability of\n throughput for other data operations.
\nDynamoDB typically deletes expired items within two days of expiration. The exact\n duration within which an item gets deleted after expiration is specific to the\n nature of the workload. Items that have expired and not been deleted will still show\n up in reads, queries, and scans.
\nAs items are deleted, they are removed from any local secondary index and global\n secondary index immediately in the same eventually consistent way as a standard delete\n operation.
\nFor more information, see Time To Live in the\n Amazon DynamoDB Developer Guide.
" + "smithy.api#private": {} } }, - "com.amazonaws.dynamodb#UpdateTimeToLiveInput": { - "type": "structure", + "smithy.rules#ShapeType": { + "type": "enum", "members": { - "TableName": { - "target": "com.amazonaws.dynamodb#TableArn", + "STRING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The name of the table to be configured. You can also provide the Amazon Resource Name (ARN) of the\n table in this parameter.
", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "Indicates a Smithy string shape type.", + "smithy.api#enumValue": "string" } }, - "TimeToLiveSpecification": { - "target": "com.amazonaws.dynamodb#TimeToLiveSpecification", + "BOOLEAN": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Represents the settings used to enable or disable Time to Live for the specified\n table.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates a Smithy boolean shape type.", + "smithy.api#enumValue": "boolean" } } }, "traits": { - "smithy.api#documentation": "Represents the input of an UpdateTimeToLive operation.
Represents the output of an UpdateTimeToLive operation.
Represents the number of read operations your base table can instantaneously\n support.
" - } - }, - "WriteUnitsPerSecond": { - "target": "com.amazonaws.dynamodb#LongObject", + "name": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Represents the number of write operations your base table can instantaneously\n support.
" + "smithy.api#documentation": "The rule-set parameter name.", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Provides visibility into the number of read and write operations your table or\n secondary index can instantaneously support. The settings can be modified using the\n UpdateTable operation to meet the throughput requirements of an\n upcoming peak event.
A request to perform a PutItem operation.
A request to perform a DeleteItem operation.
Represents an operation to perform - either DeleteItem or\n PutItem. You can only request one of these operations, not both, in a\n single WriteRequest. If you do need to perform both of these operations,\n you need to provide two separate WriteRequest objects.
The S3SubPrefix is appended to the location scope creating the grant scope.\n Use this field to narrow the scope of the grant to a subset of the location scope. This\n field is required if the location scope is the default location s3:// because\n you cannot create a grant for all of your S3 data in the Region and must narrow the scope.\n For example, if the location scope is the default location s3://, the\n S3SubPrefx can be a s3://. Or the S3SubPrefx can be\n , so the full grant scope path\n would be or s3://.
If the S3SubPrefix includes a prefix, append the wildcard character\n * after the prefix to indicate that you want to include all object key\n names in the bucket that start with that prefix.
The S3SubPrefix is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location s3:// because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location s3://, the S3SubPrefx can be a s3://. Or the S3SubPrefx can be , so the full grant scope path would be or s3://.
If the S3SubPrefix includes a prefix, append the wildcard character * after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.
The configuration options of the S3 Access Grants location. It contains the\n S3SubPrefix field. The grant scope, the data to which you are granting\n access, is the result of appending the Subprefix field to the scope of the\n registered location.
The configuration options of the S3 Access Grants location. It contains the S3SubPrefix field. The grant scope, the data to which you are granting access, is the result of appending the Subprefix field to the scope of the registered location.
A container element for detailed status code metrics.
" } }, + "AdvancedPerformanceMetrics": { + "target": "com.amazonaws.s3control#AdvancedPerformanceMetrics", + "traits": { + "smithy.api#documentation": "A container element for S3 Storage Lens advanced performance metrics.
" + } + }, "StorageLensGroupLevel": { "target": "com.amazonaws.s3control#StorageLensGroupLevel", "traits": { @@ -9437,7 +12422,7 @@ } }, "traits": { - "smithy.api#documentation": "A container element for the account-level Amazon S3 Storage Lens configuration.
\nFor more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
" + "smithy.api#documentation": "A container element for the account-level Amazon S3 Storage Lens configuration.
\nYou must enable Storage Lens metrics consistently at both the account level and bucket level, or your request will fail.
\nFor more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
" } }, "com.amazonaws.s3control#ActivityMetrics": { @@ -9485,6 +12470,21 @@ "smithy.api#documentation": "The container element for Amazon S3 Storage Lens advanced data-protection metrics. Advanced\n data-protection metrics provide insights that you can use to perform audits and protect\n your data, for example replication rule counts within and across Regions.
\nFor more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
" } }, + "com.amazonaws.s3control#AdvancedPerformanceMetrics": { + "type": "structure", + "members": { + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "A container that indicates whether S3 Storage Lens advanced performance metrics are enabled.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The container element for S3 Storage Lens advanced performance metrics. Advanced\n performance metrics provide insights into application performance, such as request\n efficiency and access patterns. These metrics help you optimize your\n S3 storage for both cost and performance by providing detailed analytics on how your\n applications interact with S3 resources.
\nFor more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
" + } + }, "com.amazonaws.s3control#Alias": { "type": "string", "traits": { @@ -9504,7 +12504,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "Associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance. Use this\n action if you want to create access grants for users or groups from your corporate identity\n directory. First, you must add your corporate identity directory to Amazon Web Services IAM Identity\n Center. Then, you can associate this IAM Identity Center instance with your S3 Access Grants\n instance.
\nYou must have the s3:AssociateAccessGrantsIdentityCenter\n permission to use this operation.
You must also have the following permissions:\n sso:CreateApplication, sso:PutApplicationGrant, and\n sso:PutApplicationAuthenticationMethod.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance. Use this action if you want to create access grants for users or groups from your corporate identity directory. First, you must add your corporate identity directory to Amazon Web Services IAM Identity Center. Then, you can associate this IAM Identity Center instance with your S3 Access Grants instance.
\nYou must have the s3:AssociateAccessGrantsIdentityCenter permission to use this operation.
You must also have the following permissions: sso:CreateApplication, sso:PutApplicationGrant, and sso:PutApplicationAuthenticationMethod.
The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are\n associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate\n identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center\n instances and their ARNs.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.
", "smithy.api#required": {} } } @@ -9709,6 +12709,16 @@ "smithy.api#documentation": "A container for the response details that are returned when querying about an\n asynchronous request.
" } }, + "com.amazonaws.s3control#AuditContext": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" + } + }, "com.amazonaws.s3control#AwsLambdaTransformation": { "type": "structure", "members": { @@ -9841,6 +12851,12 @@ "traits": { "smithy.api#documentation": "A container for bucket-level detailed status code metrics for S3 Storage Lens.
" } + }, + "AdvancedPerformanceMetrics": { + "target": "com.amazonaws.s3control#AdvancedPerformanceMetrics", + "traits": { + "smithy.api#documentation": "A container for bucket-level advanced performance metrics for S3 Storage Lens.
" + } } }, "traits": { @@ -10014,7 +13030,31 @@ "SHA256": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "SHA256" + "smithy.api#enumValue": "SHA256" + } + }, + "SHA512": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SHA512" + } + }, + "XXHASH64": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XXHASH64" + } + }, + "XXHASH3": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XXHASH3" + } + }, + "XXHASH128": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XXHASH128" } } } @@ -10070,7 +13110,7 @@ "target": "com.amazonaws.s3control#CreateAccessGrantResult" }, "traits": { - "smithy.api#documentation": "Creates an access grant that gives a grantee access to your S3 data. The grantee can be\n an IAM user or role or a directory user, or group. Before you can create a grant, you\n must have an S3 Access Grants instance in the same Region as the S3 data. You can create an S3 Access Grants\n instance using the CreateAccessGrantsInstance. You must also have registered at least one S3 data\n location in your S3 Access Grants instance using CreateAccessGrantsLocation.
\nYou must have the s3:CreateAccessGrant permission to use this\n operation.
For any directory identity - sso:DescribeInstance and\n sso:DescribeApplication\n
For directory users - identitystore:DescribeUser\n
For directory groups - identitystore:DescribeGroup\n
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Creates an access grant that gives a grantee access to your S3 data. The grantee can be an IAM user or role or a directory user, or group. Before you can create a grant, you must have an S3 Access Grants instance in the same Region as the S3 data. You can create an S3 Access Grants instance using the CreateAccessGrantsInstance. You must also have registered at least one S3 data location in your S3 Access Grants instance using CreateAccessGrantsLocation.
\nYou must have the s3:CreateAccessGrant permission to use this operation.
For any directory identity - sso:DescribeInstance and sso:DescribeApplication\n
For directory users - identitystore:DescribeUser\n
For directory groups - identitystore:DescribeGroup\n
The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
If you are passing the default location, you cannot create an access grant\n for the entire default location. You must also specify a bucket or a bucket and prefix in\n the Subprefix field.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
If you are passing the default location, you cannot create an access grant for the entire default location. You must also specify a bucket or a bucket and prefix in the Subprefix field.
The configuration options of the grant location. The grant location is the S3 path to\n the data to which you are granting access. It contains the S3SubPrefix field.\n The grant scope is the result of appending the subprefix to the location scope of the\n registered location.
The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the S3SubPrefix field. The grant scope is the result of appending the subprefix to the location scope of the registered location.
The user, group, or role to which you are granting access. You can grant access to an\n IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity\n Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee\n can also be a corporate directory user or group.
", + "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.
", "smithy.api#required": {} } }, "Permission": { "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "The type of access that you are granting to your S3 data, which can be set to one of the\n following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The type of access that you are granting to your S3 data, which can be set to one of the following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated\n with your Identity Center instance. If an application ARN is included in the request to\n create an access grant, the grantee can only access the S3 data through this application.\n
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If an application ARN is included in the request to create an access grant, the grantee can only access the S3 data through this application.
" } }, "S3PrefixType": { "target": "com.amazonaws.s3control#S3PrefixType", "traits": { - "smithy.api#documentation": "The type of S3SubPrefix. The only possible value is Object.\n Pass this value if the access grant scope is an object. Do not pass this value if the\n access grant scope is a bucket or a bucket and a prefix.
The type of S3SubPrefix. The only possible value is Object. Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.
The Amazon Web Services resource tags that you are adding to the access grant. Each tag is a label\n consisting of a user-defined key and value. Tags can help you manage, identify, organize,\n search for, and filter resources.
" + "smithy.api#documentation": "The Amazon Web Services resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.
" } } }, @@ -10164,7 +13204,7 @@ "AccessGrantId": { "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access\n grant.
" + "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.
" } }, "AccessGrantArn": { @@ -10176,37 +13216,37 @@ "Grantee": { "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an\n IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity\n Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee\n can also be a corporate directory user or group.
" + "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.
" } }, "AccessGrantsLocationId": { "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": "The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The configuration options of the grant location. The grant location is the S3 path to\n the data to which you are granting access.
" + "smithy.api#documentation": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.
" } }, "Permission": { "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "The type of access that you are granting to your S3 data, which can be set to one of the\n following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The type of access that you are granting to your S3 data, which can be set to one of the following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated\n with your Identity Center instance. If the grant includes an application ARN, the grantee\n can only access the S3 data through this application.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.
" } }, "GrantScope": { "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "The S3 path of the data to which you are granting access. It is the result of appending\n the Subprefix to the location scope.
The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.
Creates an S3 Access Grants instance, which serves as a logical grouping for access grants. You\n can create one S3 Access Grants instance per Region per account.
\nYou must have the s3:CreateAccessGrantsInstance permission to use\n this operation.
To associate an IAM Identity Center instance with your S3 Access Grants instance, you\n must also have the sso:DescribeInstance,\n sso:CreateApplication, sso:PutApplicationGrant, and\n sso:PutApplicationAuthenticationMethod permissions.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Creates an S3 Access Grants instance, which serves as a logical grouping for access grants. You can create one S3 Access Grants instance per Region per account.
\nYou must have the s3:CreateAccessGrantsInstance permission to use this operation.
To associate an IAM Identity Center instance with your S3 Access Grants instance, you must also have the sso:DescribeInstance, sso:CreateApplication, sso:PutApplicationGrant, and sso:PutApplicationAuthenticationMethod permissions.
If you would like to associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center\n instance, use this field to pass the Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity\n Center instance that you are associating with your S3 Access Grants instance. An IAM Identity\n Center instance is your corporate identity directory that you added to the IAM Identity\n Center. You can use the ListInstances API\n operation to retrieve a list of your Identity Center instances and their ARNs.
" + "smithy.api#documentation": "If you would like to associate your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.
" } }, "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "The Amazon Web Services resource tags that you are adding to the S3 Access Grants instance. Each tag is a label\n consisting of a user-defined key and value. Tags can help you manage, identify, organize,\n search for, and filter resources.
" + "smithy.api#documentation": "The Amazon Web Services resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.
" } } }, @@ -10284,13 +13324,13 @@ "AccessGrantsInstanceId": { "target": "com.amazonaws.s3control#AccessGrantsInstanceId", "traits": { - "smithy.api#documentation": "The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants\n instance per Region per account.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.
The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are\n associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate\n identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center\n instances and their ARNs.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.
" } }, "IdentityCenterArn": { @@ -10299,19 +13339,19 @@ "smithy.api#deprecated": { "message": "IdentityCenterArn has been deprecated. Use IdentityCenterInstanceArn or IdentityCenterApplicationArn." }, - "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance,\n this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance\n application; a subresource of the original Identity Center instance. S3 Access Grants creates this\n Identity Center application for the specific S3 Access Grants instance.
" + "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.
" } }, "IdentityCenterInstanceArn": { "target": "com.amazonaws.s3control#IdentityCenterArn", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are\n associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate\n identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center\n instances and their ARNs.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.
" } }, "IdentityCenterApplicationArn": { "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance,\n this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance\n application; a subresource of the original Identity Center instance. S3 Access Grants creates this\n Identity Center application for the specific S3 Access Grants instance.
" + "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.
" } } }, @@ -10328,7 +13368,7 @@ "target": "com.amazonaws.s3control#CreateAccessGrantsLocationResult" }, "traits": { - "smithy.api#documentation": "The S3 data location that you would like to register in your S3 Access Grants instance. Your S3\n data must be in the same Region as your S3 Access Grants instance. The location can be one of the\n following:
\nThe default S3 location s3://\n
A bucket - S3://\n
A bucket and prefix - S3://\n
When you register a location, you must include the IAM role that has permission to\n manage the S3 location that you are registering. Give S3 Access Grants permission to assume this role\n using a policy. S3 Access Grants assumes this role to manage access to the location and\n to vend temporary credentials to grantees or client applications.
\nYou must have the s3:CreateAccessGrantsLocation permission to use\n this operation.
You must also have the following permission for the specified IAM role:\n iam:PassRole\n
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The S3 data location that you would like to register in your S3 Access Grants instance. Your S3 data must be in the same Region as your S3 Access Grants instance. The location can be one of the following:
\nThe default S3 location s3://\n
A bucket - S3://\n
A bucket and prefix - S3://\n
When you register a location, you must include the IAM role that has permission to manage the S3 location that you are registering. Give S3 Access Grants permission to assume this role using a policy. S3 Access Grants assumes this role to manage access to the location and to vend temporary credentials to grantees or client applications.
\nYou must have the s3:CreateAccessGrantsLocation permission to use this operation.
You must also have the following permission for the specified IAM role: iam:PassRole\n
The S3 path to the location that you are registering. The location scope can be the\n default S3 location s3://, the S3 path to a bucket\n s3://, or the S3 path to a bucket and prefix\n s3://. A prefix in S3 is a string of\n characters at the beginning of an object key name used to organize the objects that you\n store in your S3 buckets. For example, object key names that start with the\n engineering/ prefix or object key names that start with the\n marketing/campaigns/ prefix.
The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3://. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.
The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants\n assumes this role to manage access to the registered location.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.
", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.s3control#TagList", "traits": { - "smithy.api#documentation": "The Amazon Web Services resource tags that you are adding to the S3 Access Grants location. Each tag is a label\n consisting of a user-defined key and value. Tags can help you manage, identify, organize,\n search for, and filter resources.
" + "smithy.api#documentation": "The Amazon Web Services resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.
" } } }, @@ -10397,7 +13437,7 @@ "AccessGrantsLocationId": { "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": "The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The S3 URI path to the location that you are registering. The location scope can be the\n default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket\n and prefix. A prefix in S3 is a string of characters at the beginning of an object key name\n used to organize the objects that you store in your S3 buckets. For example, object key\n names that start with the engineering/ prefix or object key names that start\n with the marketing/campaigns/ prefix.
The S3 URI path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.
The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants\n assumes this role to manage access to the registered location.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.
" } } }, @@ -10432,7 +13472,7 @@ "target": "com.amazonaws.s3control#CreateAccessPointResult" }, "traits": { - "smithy.api#documentation": "Creates an access point and associates it to a specified bucket. For more information, see\n Managing\n access to shared datasets with access points or Managing access to\n shared datasets in directory buckets with access points in the\n Amazon S3 User Guide.
\nTo create an access point and attach it to a volume on an Amazon FSx file system, see CreateAndAttachS3AccessPoint in the Amazon FSx API\n Reference.
\n \nS3 on Outposts only supports VPC-style access points.
\nFor more information, see Accessing Amazon S3 on Outposts using\n virtual private cloud (VPC) only access points in the\n Amazon S3 User Guide.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to CreateAccessPoint:
\n GetAccessPoint\n
\n\n DeleteAccessPoint\n
\n\n ListAccessPoints\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Creates an access point and associates it to a specified bucket. For more information, see\n Managing\n access to shared datasets with access points or Managing access to\n shared datasets in directory buckets with access points in the\n Amazon S3 User Guide.
\nTo create an access point and attach it to a volume on an Amazon FSx file system, see CreateAndAttachS3AccessPoint in the Amazon FSx API\n Reference.
\n \nS3 on Outposts only supports VPC-style access points.
\nFor more information, see Accessing Amazon S3 on Outposts using\n virtual private cloud (VPC) only access points in the\n Amazon S3 User Guide.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to CreateAccessPoint:
\n GetAccessPoint\n
\n\n DeleteAccessPoint\n
\n\n ListAccessPoints\n
\nThis operation is not supported by directory buckets.
\nCreates an Object Lambda Access Point. For more information, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.
\nThe following actions are related to\n CreateAccessPointForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nCreates an Object Lambda Access Point. For more information, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.
\nThe following actions are related to\n CreateAccessPointForObjectLambda:
The Amazon Web Services account ID associated with the S3 bucket associated with this access point.
\nFor same account access point when your bucket and access point belong to the same account owner, the\n BucketAccountId is not required. For cross-account access point when your bucket\n and access point are not in the same account, the BucketAccountId is required.
The Amazon Web Services account ID associated with the S3 bucket associated with this access point.
\nFor same account access point when your bucket and access point belong to the same account owner, the BucketAccountId is not required. \n For cross-account access point when your bucket and access point are not in the same account, the BucketAccountId is required.\n
An array of tags that you can apply to an access point. Tags are key-value pairs of metadata used to control access to your access points. For more information about tags, see Using tags with Amazon S3. For information about tagging access points, see Using tags for attribute-based access control (ABAC).
\nYou must have the s3:TagResource permission to create an access point with tags for a general purpose bucket.
You must have the s3express:TagResource permission to create an access point with tags for a directory bucket.
An array of tags that you can apply to an access point. Tags are key-value pairs of metadata used to control access to your access points. For more information about tags, see Using tags with Amazon S3. For information about tagging access points, see Using tags for attribute-based access control (ABAC).
" } } }, @@ -10790,7 +13830,7 @@ } ], "traits": { - "smithy.api#documentation": "This operation creates an S3 Batch Operations job.
\nYou can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects.\n Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.
\nFor information about permissions required to use the Batch Operations, see Granting\n permissions for S3 Batch Operations in the Amazon S3 User\n Guide.
\nRelated actions include:
\n\n DescribeJob\n
\n\n ListJobs\n
\n\n UpdateJobPriority\n
\n\n UpdateJobStatus\n
\n\n JobOperation\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation creates an S3 Batch Operations job.
\nYou can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects.\n Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.
\nFor information about permissions required to use the Batch Operations, see Granting permissions for S3 Batch Operations in the Amazon S3\n User Guide.
\nRelated actions include:
\n\n DescribeJob\n
\n\n ListJobs\n
\n\n UpdateJobPriority\n
\n\n UpdateJobStatus\n
\n\n JobOperation\n
\nThis operation is not supported by directory buckets.
\nCreates a Multi-Region Access Point and associates it with the specified buckets. For more information\n about creating Multi-Region Access Points, see Creating\n Multi-Region Access Points in the Amazon S3 User Guide.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThis request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.
The following actions are related to CreateMultiRegionAccessPoint:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nCreates a Multi-Region Access Point and associates it with the specified buckets. For more information\n about creating Multi-Region Access Points, see Creating Multi-Region Access Points in the Amazon S3 User Guide.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThis request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.
The following actions are related to CreateMultiRegionAccessPoint:
Creates a new S3 Storage Lens group and associates it with the specified Amazon Web Services account ID. An\n S3 Storage Lens group is a custom grouping of objects based on prefix, suffix, object tags,\n object size, object age, or a combination of these filters. For each Storage Lens group\n that you’ve created, you can also optionally add Amazon Web Services resource tags. For more information\n about S3 Storage Lens groups, see Working with S3 Storage Lens\n groups.
\nTo use this operation, you must have the permission to perform the\n s3:CreateStorageLensGroup action. If you’re trying to create a Storage Lens\n group with Amazon Web Services resource tags, you must also have permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Creates a new S3 Storage Lens group and associates it with the specified Amazon Web Services account ID. An\n S3 Storage Lens group is a custom grouping of objects based on prefix, suffix, object tags,\n object size, object age, or a combination of these filters. For each Storage Lens group\n that you’ve created, you can also optionally add Amazon Web Services resource tags. For more information\n about S3 Storage Lens groups, see Working with S3 Storage Lens\n groups.
\nTo use this operation, you must have the permission to perform the\n s3:CreateStorageLensGroup action. If you’re trying to create a Storage Lens\n group with Amazon Web Services resource tags, you must also have permission to perform the\n s3:TagResource action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -11078,30 +14118,30 @@ "AccessKeyId": { "target": "com.amazonaws.s3control#AccessKeyId", "traits": { - "smithy.api#documentation": "The unique access key ID of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees\n and client applications.
" + "smithy.api#documentation": "The unique access key ID of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.
" } }, "SecretAccessKey": { "target": "com.amazonaws.s3control#SecretAccessKey", "traits": { - "smithy.api#documentation": "The secret access key of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees\n and client applications.
" + "smithy.api#documentation": "The secret access key of the Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.
" } }, "SessionToken": { "target": "com.amazonaws.s3control#SessionToken", "traits": { - "smithy.api#documentation": "The Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.\n
" + "smithy.api#documentation": "The Amazon Web Services STS temporary credential that S3 Access Grants vends to grantees and client applications.
" } }, "Expiration": { "target": "com.amazonaws.s3control#Expiration", "traits": { - "smithy.api#documentation": "The expiration date and time of the temporary credential that S3 Access Grants vends to grantees\n and client applications.
" + "smithy.api#documentation": "The expiration date and time of the temporary credential that S3 Access Grants vends to grantees and client applications.
" } } }, "traits": { - "smithy.api#documentation": "The Amazon Web Services Security Token Service temporary credential that S3 Access Grants vends to grantees and client\n applications.
", + "smithy.api#documentation": "The Amazon Web Services Security Token Service temporary credential that S3 Access Grants vends to grantees and client applications.
", "smithy.api#sensitive": {} } }, @@ -11111,12 +14151,12 @@ "KmsKeyArn": { "target": "com.amazonaws.s3control#NonEmptyKmsKeyArnString", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the customer managed KMS key to use for the filter \n to return objects that are encrypted by the specified key. For best performance, \n we recommend using the KMSKeyArn filter in conjunction with other object metadata filters, like MatchAnyPrefix, CreatedAfter, or \n MatchAnyStorageClass.
You must provide the full KMS Key ARN. You can't use an alias name or alias ARN. \n For more information, see \n KMS keys in the Amazon Web Services Key Management Service Developer Guide.
\nThe Amazon Resource Name (ARN) of the customer managed KMS key to use for the filter to return objects that are encrypted by the specified key. For best performance, use keys in the same Region as the S3 Batch Operations job.
" } } }, "traits": { - "smithy.api#documentation": "A filter that returns objects that are encrypted by dual-layer server-side encryption with Amazon Web Services Key Management\n Service (KMS) keys (DSSE-KMS). You can further refine your filtering by optionally providing a KMS Key ARN \n to create an object list of DSSE-KMS objects with that specific KMS Key ARN.
" + "smithy.api#documentation": "A filter that returns objects that are encrypted by dual-layer server-side encryption with Amazon Web Services Key Management Service (KMS) keys (DSSE-KMS). You can further refine your filtering by optionally providing a KMS Key ARN to filter objects encrypted by a specific key.
" } }, "com.amazonaws.s3control#DataSourceId": { @@ -11155,7 +14195,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "Deletes the access grant from the S3 Access Grants instance. You cannot undo an access grant\n deletion and the grantee will no longer have access to the S3 data.
\nYou must have the s3:DeleteAccessGrant permission to use this\n operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Deletes the access grant from the S3 Access Grants instance. You cannot undo an access grant deletion and the grantee will no longer have access to the S3 data.
\nYou must have the s3:DeleteAccessGrant permission to use this operation.
The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access\n grant.
", + "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -11209,7 +14249,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "Deletes your S3 Access Grants instance. You must first delete the access grants and locations\n before S3 Access Grants can delete the instance. See DeleteAccessGrant\n and DeleteAccessGrantsLocation. If you have associated an IAM Identity Center\n instance with your S3 Access Grants instance, you must first dissassociate the Identity Center\n instance from the S3 Access Grants instance before you can delete the S3 Access Grants instance. See AssociateAccessGrantsIdentityCenter and DissociateAccessGrantsIdentityCenter.
\nYou must have the s3:DeleteAccessGrantsInstance permission to use\n this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Deletes your S3 Access Grants instance. You must first delete the access grants and locations before S3 Access Grants can delete the instance. See DeleteAccessGrant and DeleteAccessGrantsLocation. If you have associated an IAM Identity Center instance with your S3 Access Grants instance, you must first dissassociate the Identity Center instance from the S3 Access Grants instance before you can delete the S3 Access Grants instance. See AssociateAccessGrantsIdentityCenter and DissociateAccessGrantsIdentityCenter.
\nYou must have the s3:DeleteAccessGrantsInstance permission to use this operation.
Deletes the resource policy of the S3 Access Grants instance. The resource policy is used to\n manage cross-account access to your S3 Access Grants instance. By deleting the resource policy, you\n delete any cross-account permissions to your S3 Access Grants instance.
\nYou must have the s3:DeleteAccessGrantsInstanceResourcePolicy\n permission to use this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Deletes the resource policy of the S3 Access Grants instance. The resource policy is used to manage cross-account access to your S3 Access Grants instance. By deleting the resource policy, you delete any cross-account permissions to your S3 Access Grants instance.
\nYou must have the s3:DeleteAccessGrantsInstanceResourcePolicy permission to use this operation.
Deregisters a location from your S3 Access Grants instance. You can only delete a location\n registration from an S3 Access Grants instance if there are no grants associated with this location.\n See Delete a grant for\n information on how to delete grants. You need to have at least one registered location in\n your S3 Access Grants instance in order to create access grants.
\nYou must have the s3:DeleteAccessGrantsLocation permission to use\n this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Deregisters a location from your S3 Access Grants instance. You can only delete a location registration from an S3 Access Grants instance if there are no grants associated with this location. See Delete a grant for information on how to delete grants. You need to have at least one registered location in your S3 Access Grants instance in order to create access grants.
\nYou must have the s3:DeleteAccessGrantsLocation permission to use this operation.
The ID of the registered location that you are deregistering from your S3 Access Grants instance.\n S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID\n default to the default location s3:// and assigns an\n auto-generated ID to other locations that you register.
The ID of the registered location that you are deregistering from your S3 Access Grants instance. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
Deletes the specified access point.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteAccessPoint:
\n CreateAccessPoint\n
\n\n GetAccessPoint\n
\n\n ListAccessPoints\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Deletes the specified access point.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteAccessPoint:
\n CreateAccessPoint\n
\n\n GetAccessPoint\n
\n\n ListAccessPoints\n
\nThis operation is not supported by directory buckets.
\nDeletes the specified Object Lambda Access Point.
\nThe following actions are related to\n DeleteAccessPointForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nDeletes the specified Object Lambda Access Point.
\nThe following actions are related to\n DeleteAccessPointForObjectLambda:
Deletes the access point policy for the specified access point.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteAccessPointPolicy:
\n PutAccessPointPolicy\n
\n\n GetAccessPointPolicy\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Deletes the access point policy for the specified access point.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteAccessPointPolicy:
\n PutAccessPointPolicy\n
\n\n GetAccessPointPolicy\n
\nThis operation is not supported by directory buckets.
\nRemoves the resource policy for an Object Lambda Access Point.
\nThe following actions are related to\n DeleteAccessPointPolicyForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nRemoves the resource policy for an Object Lambda Access Point.
\nThe following actions are related to\n DeleteAccessPointPolicyForObjectLambda:
Deletes an existing access point scope for a directory bucket.
\nWhen you delete the scope of an access point, all prefixes and permissions are\n deleted.
\nTo use this operation, you must have the permission to perform the\n s3express:DeleteAccessPointScope\n action.
For information about REST API errors, see REST error responses.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\n Deletes an existing access point scope for a directory bucket.
\nWhen you delete the scope of an access point, all prefixes and permissions are deleted.
\nTo use this operation, you must have the permission to perform the\n s3express:DeleteAccessPointScope action.
For information about REST API errors, see REST error responses.
", "smithy.api#http": { "method": "DELETE", "uri": "/v20180820/accesspoint/{Name}/scope", @@ -11595,7 +14635,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID that owns the access point with the scope that you want to delete.
", + "smithy.api#documentation": "\n The Amazon Web Services account ID that owns the access point with the scope that you want to delete.\n
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -11607,7 +14647,7 @@ "Name": { "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "The name of the access point with the scope that you want to delete.
", + "smithy.api#documentation": "\n The name of the access point with the scope that you want to delete.\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -11654,7 +14694,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.
\nDeletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.
\nTo use this operation, you must have permission to perform the\n s3-outposts:PutLifecycleConfiguration action. By default, the bucket owner\n has this permission and the Outposts bucket owner can grant this permission to\n others.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
For more information about object expiration, see Elements to Describe Lifecycle Actions.
\nRelated actions include:
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.
\nDeletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.
\nTo use this operation, you must have permission to perform the\n s3-outposts:PutLifecycleConfiguration action. By default, the bucket owner\n has this permission and the Outposts bucket owner can grant this permission to\n others.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
For more information about object expiration, see Elements to Describe Lifecycle Actions.
\nRelated actions include:
\nThis action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.
\nThis implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.
If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.
As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.
\nFor more information about bucket policies, see Using Bucket Policies and User\n Policies.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteBucketPolicy:
\n GetBucketPolicy\n
\n\n PutBucketPolicy\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.
\nThis implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.
If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.
As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.
\nFor more information about bucket policies, see Using Bucket Policies and User\n Policies.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteBucketPolicy:
\n GetBucketPolicy\n
\n\n PutBucketPolicy\n
\nThis operation deletes an Amazon S3 on Outposts bucket's replication configuration. To\n delete an S3 bucket's replication configuration, see DeleteBucketReplication in the Amazon S3 API Reference.
\nDeletes the replication configuration from the specified S3 on Outposts bucket.
\nTo use this operation, you must have permissions to perform the\n s3-outposts:PutReplicationConfiguration action. The Outposts bucket owner\n has this permission by default and can grant it to others. For more information about\n permissions, see Setting up IAM with\n S3 on Outposts and Managing access to\n S3 on Outposts buckets in the Amazon S3 User Guide.
It can take a while to propagate PUT or DELETE requests for\n a replication configuration to all S3 on Outposts systems. Therefore, the replication\n configuration that's returned by a GET request soon after a\n PUT or DELETE request might return a more recent result\n than what's on the Outpost. If an Outpost is offline, the delay in updating the\n replication configuration on that Outpost can be significant.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
For information about S3 replication on Outposts configuration, see Replicating objects for S3 on Outposts in the\n Amazon S3 User Guide.
\nThe following operations are related to DeleteBucketReplication:
\n PutBucketReplication\n
\n\n GetBucketReplication\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation deletes an Amazon S3 on Outposts bucket's replication configuration. To\n delete an S3 bucket's replication configuration, see DeleteBucketReplication in the Amazon S3 API Reference.
\nDeletes the replication configuration from the specified S3 on Outposts bucket.
\nTo use this operation, you must have permissions to perform the\n s3-outposts:PutReplicationConfiguration action. The Outposts bucket owner\n has this permission by default and can grant it to others. For more information about\n permissions, see Setting up IAM with\n S3 on Outposts and Managing access to\n S3 on Outposts buckets in the Amazon S3 User Guide.
It can take a while to propagate PUT or DELETE requests for\n a replication configuration to all S3 on Outposts systems. Therefore, the replication\n configuration that's returned by a GET request soon after a\n PUT or DELETE request might return a more recent result\n than what's on the Outpost. If an Outpost is offline, the delay in updating the\n replication configuration on that Outpost can be significant.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
For information about S3 replication on Outposts configuration, see Replicating objects for S3 on Outposts in the\n Amazon S3 User Guide.
\nThe following operations are related to DeleteBucketReplication:
\n PutBucketReplication\n
\n\n GetBucketReplication\n
\nThis action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.
\nDeletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteBucketTagging:
\n GetBucketTagging\n
\n\n PutBucketTagging\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.
\nDeletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to DeleteBucketTagging:
\n GetBucketTagging\n
\n\n PutBucketTagging\n
\nRemoves the entire tag set from the specified S3 Batch Operations job.
\nTo use the DeleteJobTagging operation, you must have permission to\n perform the s3:DeleteJobTagging action. For more information, see\n Controlling access and labeling jobs using tags in the\n Amazon S3 User Guide.
Related actions include:
\n\n CreateJob\n
\n\n GetJobTagging\n
\n\n PutJobTagging\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Removes the entire tag set from the specified S3 Batch Operations job.
\nTo use the\n DeleteJobTagging operation, you must have permission to\n perform the s3:DeleteJobTagging action. For more information, see Controlling\n access and labeling jobs using tags in the\n Amazon S3 User Guide.
Related actions include:
\n\n CreateJob\n
\n\n GetJobTagging\n
\n\n PutJobTagging\n
\nThis operation is not supported by directory buckets.
\nDeletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point,\n only the Multi-Region Access Point itself.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThis request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.
The following actions are related to DeleteMultiRegionAccessPoint:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nDeletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point,\n only the Multi-Region Access Point itself.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThis request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.
The following actions are related to DeleteMultiRegionAccessPoint:
This operation is not supported by directory buckets.
\nRemoves the PublicAccessBlock configuration for an Amazon Web Services account. For more\n information, see Using Amazon S3 block\n public access.
Related actions include:
\n\n GetPublicAccessBlock\n
\n\n PutPublicAccessBlock\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nRemoves the PublicAccessBlock configuration for an Amazon Web Services account. This\n operation might be restricted when the account is managed by organization-level Block\n Public Access policies. You’ll get an Access Denied (403) error when the account is managed\n by organization-level Block Public Access policies. Organization-level policies override\n account-level settings, preventing direct account-level modifications. For more\n information, see Using Amazon S3 block\n public access.
Related actions include:
\n\n GetPublicAccessBlock\n
\n\n PutPublicAccessBlock\n
\nThis operation is not supported by directory buckets.
\nDeletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:DeleteStorageLensConfiguration action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nDeletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:DeleteStorageLensConfiguration action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
This operation is not supported by directory buckets.
\nDeletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:DeleteStorageLensConfigurationTagging action. For more information,\n see Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nDeletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:DeleteStorageLensConfigurationTagging action. For more information,\n see Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
\nDeletes an existing S3 Storage Lens group.
\nTo use this operation, you must have the permission to perform the\n s3:DeleteStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\nDeletes an existing S3 Storage Lens group.
\nTo use this operation, you must have the permission to perform the\n s3:DeleteStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -12327,7 +15367,7 @@ } ], "traits": { - "smithy.api#documentation": "Retrieves the configuration parameters and status for a Batch Operations job. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the DescribeJob operation, you must have permission to\n perform the s3:DescribeJob action.
Related actions include:
\n\n CreateJob\n
\n\n ListJobs\n
\n\n UpdateJobPriority\n
\n\n UpdateJobStatus\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Retrieves the configuration parameters and status for a Batch Operations job. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the DescribeJob operation, you must have permission to perform the s3:DescribeJob action.
Related actions include:
\n\n CreateJob\n
\n\n ListJobs\n
\n\n UpdateJobPriority\n
\n\n UpdateJobStatus\n
\nThis operation is not supported by directory buckets.
\nRetrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information\n about managing Multi-Region Access Points and how asynchronous requests work, see Using Multi-Region Access Points in the\n Amazon S3 User Guide.
\nThe following actions are related to GetMultiRegionAccessPoint:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nRetrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information\n about managing Multi-Region Access Points and how asynchronous requests work, see Using Multi-Region Access Points in the Amazon S3 User Guide.
\nThe following actions are related to GetMultiRegionAccessPoint:
Dissociates the Amazon Web Services IAM Identity Center instance from the S3 Access Grants instance.
\nYou must have the s3:DissociateAccessGrantsIdentityCenter\n permission to use this operation.
You must have the sso:DeleteApplication permission to use this\n operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Dissociates the Amazon Web Services IAM Identity Center instance from the S3 Access Grants instance.
\nYou must have the s3:DissociateAccessGrantsIdentityCenter permission to use this operation.
You must have the sso:DeleteApplication permission to use this operation.
Specifies encryption-related information for an Amazon S3 bucket that is a destination for\n replicated objects. If you're specifying a customer managed KMS key, we recommend using a\n fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves\n the key within the requester’s account. This behavior can result in data that's encrypted\n with a KMS key that belongs to the requester, and not the bucket owner.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nSpecifies encryption-related information for an Amazon S3 bucket that is a destination for\n replicated objects. If you're specifying a customer managed KMS key, we recommend using a fully qualified\n KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the\n requester’s account. This behavior can result in data that's encrypted with a KMS key\n that belongs to the requester, and not the bucket owner.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nGet the details of an access grant from your S3 Access Grants instance.
\nYou must have the s3:GetAccessGrant permission to use this\n operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Get the details of an access grant from your S3 Access Grants instance.
\nYou must have the s3:GetAccessGrant permission to use this operation.
The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access\n grant.
", + "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -12824,7 +15864,7 @@ "AccessGrantId": { "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access\n grant.
" + "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.
" } }, "AccessGrantArn": { @@ -12836,37 +15876,37 @@ "Grantee": { "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an\n IAM user or role. If you have added a corporate directory to Amazon Web Services IAM Identity Center\n and associated this Identity Center instance with the S3 Access Grants instance, the grantee can also\n be a corporate directory user or group.
" + "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added a corporate directory to Amazon Web Services IAM Identity Center and associated this Identity Center instance with the S3 Access Grants instance, the grantee can also be a corporate directory user or group.
" } }, "Permission": { "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "The type of permission that was granted in the access grant. Can be one of the following\n values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The type of permission that was granted in the access grant. Can be one of the following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The configuration options of the grant location. The grant location is the S3 path to\n the data to which you are granting access.
" + "smithy.api#documentation": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.
" } }, "GrantScope": { "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "The S3 path of the data to which you are granting access. It is the result of appending\n the Subprefix to the location scope.
The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.
The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated\n with your Identity Center instance. If the grant includes an application ARN, the grantee\n can only access the S3 data through this application.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.
" } } }, @@ -12883,7 +15923,7 @@ "target": "com.amazonaws.s3control#GetAccessGrantsInstanceResult" }, "traits": { - "smithy.api#documentation": "Retrieves the S3 Access Grants instance for a Region in your account.
\nYou must have the s3:GetAccessGrantsInstance permission to use\n this operation.
\n GetAccessGrantsInstance is not supported for cross-account access. You can only call the API from the account that owns the S3 Access Grants instance.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Retrieves the S3 Access Grants instance for a Region in your account.
\nYou must have the s3:GetAccessGrantsInstance permission to use this operation.
\n GetAccessGrantsInstance is not supported for cross-account access. You can only call the API from the account that owns the S3 Access Grants instance.
Retrieve the S3 Access Grants instance that contains a particular prefix.
\nYou must have the s3:GetAccessGrantsInstanceForPrefix permission\n for the caller account to use this operation.
The prefix owner account must grant you the following permissions to their\n S3 Access Grants instance: s3:GetAccessGrantsInstanceForPrefix.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Retrieve the S3 Access Grants instance that contains a particular prefix.
\nYou must have the s3:GetAccessGrantsInstanceForPrefix permission for the caller account to use this operation.
The prefix owner account must grant you the following permissions to their S3 Access Grants instance: s3:GetAccessGrantsInstanceForPrefix.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants\n instance per Region per account.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.
Returns the resource policy of the S3 Access Grants instance.
\nYou must have the s3:GetAccessGrantsInstanceResourcePolicy\n permission to use this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns the resource policy of the S3 Access Grants instance.
\nYou must have the s3:GetAccessGrantsInstanceResourcePolicy permission to use this operation.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants\n instance per Region per account.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.
If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance,\n this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance\n application; a subresource of the original Identity Center instance. S3 Access Grants creates this\n Identity Center application for the specific S3 Access Grants instance.
" + "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.
" } }, "IdentityCenterInstanceArn": { "target": "com.amazonaws.s3control#IdentityCenterArn", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are\n associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate\n identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center\n instances and their ARNs.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.
" } }, "IdentityCenterApplicationArn": { "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance,\n this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance\n application; a subresource of the original Identity Center instance. S3 Access Grants creates this\n Identity Center application for the specific S3 Access Grants instance.
" + "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.
" } }, "CreatedAt": { @@ -13122,7 +16162,7 @@ "target": "com.amazonaws.s3control#GetAccessGrantsLocationResult" }, "traits": { - "smithy.api#documentation": "Retrieves the details of a particular location registered in your S3 Access Grants instance.
\nYou must have the s3:GetAccessGrantsLocation permission to use\n this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Retrieves the details of a particular location registered in your S3 Access Grants instance.
\nYou must have the s3:GetAccessGrantsLocation permission to use this operation.
The ID of the registered location that you are retrieving. S3 Access Grants assigns this ID when\n you register the location. S3 Access Grants assigns the ID default to the default\n location s3:// and assigns an auto-generated ID to other locations that you\n register.
The ID of the registered location that you are retrieving. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The S3 URI path to the registered location. The location scope can be the default S3\n location s3://, the S3 path to a bucket, or the S3 path to a bucket and\n prefix. A prefix in S3 is a string of characters at the beginning of an object key name\n used to organize the objects that you store in your S3 buckets. For example, object key\n names that start with the engineering/ prefix or object key names that start\n with the marketing/campaigns/ prefix.
The S3 URI path to the registered location. The location scope can be the default S3 location s3://, the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.
The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants\n assumes this role to manage access to the registered location.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.
" } } }, @@ -13214,7 +16254,7 @@ "target": "com.amazonaws.s3control#GetAccessPointResult" }, "traits": { - "smithy.api#documentation": "Returns configuration information about the specified access point.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to GetAccessPoint:
\n CreateAccessPoint\n
\n\n DeleteAccessPoint\n
\n\n ListAccessPoints\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns configuration information about the specified access point.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to GetAccessPoint:
\n CreateAccessPoint\n
\n\n DeleteAccessPoint\n
\n\n ListAccessPoints\n
\nThis operation is not supported by directory buckets.
\nReturns configuration for an Object Lambda Access Point.
\nThe following actions are related to\n GetAccessPointConfigurationForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns configuration for an Object Lambda Access Point.
\nThe following actions are related to\n GetAccessPointConfigurationForObjectLambda:
This operation is not supported by directory buckets.
\nReturns configuration information about the specified Object Lambda Access Point
\nThe following actions are related to GetAccessPointForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns configuration information about the specified Object Lambda Access Point
\nThe following actions are related to GetAccessPointForObjectLambda:
Returns the access point policy associated with the specified access point.
\nThe following actions are related to GetAccessPointPolicy:
\n PutAccessPointPolicy\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns the access point policy associated with the specified access point.
\nThe following actions are related to GetAccessPointPolicy:
\n PutAccessPointPolicy\n
\nThis operation is not supported by directory buckets.
\nReturns the resource policy for an Object Lambda Access Point.
\nThe following actions are related to\n GetAccessPointPolicyForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns the resource policy for an Object Lambda Access Point.
\nThe following actions are related to\n GetAccessPointPolicyForObjectLambda:
This operation is not supported by directory buckets.
\nIndicates whether the specified access point currently has a policy that allows public access.\n For more information about public access through access points, see Managing Data Access with Amazon S3\n access points in the Amazon S3 User Guide.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nIndicates whether the specified access point currently has a policy that allows public access.\n For more information about public access through access points, see Managing Data Access with Amazon S3\n access points in the Amazon S3 User Guide.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -13553,7 +16593,7 @@ "target": "com.amazonaws.s3control#GetAccessPointPolicyStatusForObjectLambdaResult" }, "traits": { - "smithy.api#documentation": "This operation is not supported by directory buckets.
\nReturns the status of the resource policy associated with an Object Lambda Access Point.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns the status of the resource policy associated with an Object Lambda Access Point.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -13770,7 +16810,7 @@ "target": "com.amazonaws.s3control#GetAccessPointScopeResult" }, "traits": { - "smithy.api#documentation": "Returns the access point scope for a directory bucket.
\nTo use this operation, you must have the permission to perform the\n s3express:GetAccessPointScope\n action.
For information about REST API errors, see REST error responses.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\n Returns the access point scope for a directory bucket.
\nTo use this operation, you must have the permission to perform the\n s3express:GetAccessPointScope action.
For information about REST API errors, see REST error responses.
", "smithy.api#http": { "method": "GET", "uri": "/v20180820/accesspoint/{Name}/scope", @@ -13792,7 +16832,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID that owns the access point with the scope that you want to retrieve.\n
", + "smithy.api#documentation": "\n The Amazon Web Services account ID that owns the access point with the scope that you want to retrieve.\n
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -13840,7 +16880,7 @@ "target": "com.amazonaws.s3control#GetBucketResult" }, "traits": { - "smithy.api#documentation": "Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.
\nIf you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the s3-outposts:GetBucket\n permissions on the specified Outposts bucket and belong to the Outposts bucket owner's\n account in order to use this action. Only users from Outposts bucket owner account with\n the right permissions can perform actions on an Outposts bucket.
If you don't have s3-outposts:GetBucket permissions or you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access\n Denied error.
The following actions are related to GetBucket for Amazon S3 on Outposts:
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
\n PutObject\n
\n\n CreateBucket\n
\n\n DeleteBucket\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.
\nIf you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the s3-outposts:GetBucket\n permissions on the specified Outposts bucket and belong to the Outposts bucket owner's\n account in order to use this action. Only users from Outposts bucket owner account with\n the right permissions can perform actions on an Outposts bucket.
If you don't have s3-outposts:GetBucket permissions or you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access\n Denied error.
The following actions are related to GetBucket for Amazon S3 on Outposts:
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
\n PutObject\n
\n\n CreateBucket\n
\n\n DeleteBucket\n
\nThis action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3\n bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.\n
\nReturns the lifecycle configuration information set on the Outposts bucket. For more\n information, see Using Amazon S3 on Outposts and for\n information about lifecycle configuration, see Object Lifecycle\n Management in Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner\n has this permission, by default. The bucket owner can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
\n GetBucketLifecycleConfiguration has the following special error:
Error code: NoSuchLifecycleConfiguration\n
Description: The lifecycle configuration does not exist.
\nHTTP Status Code: 404 Not Found
\nSOAP Fault Code Prefix: Client
\nThe following actions are related to\n GetBucketLifecycleConfiguration:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3\n bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.\n
\nReturns the lifecycle configuration information set on the Outposts bucket. For more\n information, see Using Amazon S3 on Outposts and for\n information about lifecycle configuration, see Object Lifecycle\n Management in Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner\n has this permission, by default. The bucket owner can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
\n GetBucketLifecycleConfiguration has the following special error:
Error code: NoSuchLifecycleConfiguration\n
Description: The lifecycle configuration does not exist.
\nHTTP Status Code: 404 Not Found
\nSOAP Fault Code Prefix: Client
\nThe following actions are related to\n GetBucketLifecycleConfiguration:
This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for\n an S3 bucket, see GetBucketPolicy in the\n Amazon S3 API Reference.
\nReturns the policy of a specified Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.
\nIf you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this\n action.
Only users from Outposts bucket owner account with the right permissions can perform\n actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy\n permissions or you're not using an identity that belongs to the bucket owner's account,\n Amazon S3 returns a 403 Access Denied error.
As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.
\nFor more information about bucket policies, see Using Bucket Policies and User\n Policies.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to GetBucketPolicy:
\n GetObject\n
\n\n PutBucketPolicy\n
\n\n DeleteBucketPolicy\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for\n an S3 bucket, see GetBucketPolicy in the\n Amazon S3 API Reference.
\nReturns the policy of a specified Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.
\nIf you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this\n action.
Only users from Outposts bucket owner account with the right permissions can perform\n actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy\n permissions or you're not using an identity that belongs to the bucket owner's account,\n Amazon S3 returns a 403 Access Denied error.
As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.
\nFor more information about bucket policies, see Using Bucket Policies and User\n Policies.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to GetBucketPolicy:
\n GetObject\n
\n\n PutBucketPolicy\n
\n\n DeleteBucketPolicy\n
\nReturns a temporary access credential from S3 Access Grants to the grantee or client application.\n The temporary credential is an Amazon Web Services STS token that grants them access to the S3 data.
\nYou must have the s3:GetDataAccess permission to use this\n operation.
The IAM role that S3 Access Grants assumes must have the following permissions\n specified in the trust policy when registering the location:\n sts:AssumeRole, for directory users or groups\n sts:SetContext, and for IAM users or roles\n sts:SetSourceIdentity.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns a temporary access credential from S3 Access Grants to the grantee or client application. The temporary credential is an Amazon Web Services STS token that grants them access to the S3 data.
\nYou must have the s3:GetDataAccess permission to use this operation.
The IAM role that S3 Access Grants assumes must have the following permissions specified in the trust policy when registering the location: sts:AssumeRole, for directory users or groups sts:SetContext, and for IAM users or roles sts:SetSourceIdentity.
The S3 URI path of the data to which you are requesting temporary access credentials. If\n the requesting account has an access grant for this data, S3 Access Grants vends temporary access\n credentials in the response.
", + "smithy.api#documentation": "The S3 URI path of the data to which you are requesting temporary access credentials. If the requesting account has an access grant for this data, S3 Access Grants vends temporary access credentials in the response.
", "smithy.api#httpQuery": "target", "smithy.api#required": {} } @@ -14324,7 +17364,7 @@ "Permission": { "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "The type of permission granted to your S3 data, which can be set to one of the following\n values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The type of permission granted to your S3 data, which can be set to one of the following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The session duration, in seconds, of the temporary access credential that S3 Access Grants vends\n to the grantee or client application. The default value is 1 hour, but the grantee can\n specify a range from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the\n grantee requests a value higher than this maximum, the operation fails.
", + "smithy.api#documentation": "The session duration, in seconds, of the temporary access credential that S3 Access Grants vends to the grantee or client application. The default value is 1 hour, but the grantee can specify a range from 900 seconds (15 minutes) up to 43200 seconds (12 hours). If the grantee requests a value higher than this maximum, the operation fails.
", "smithy.api#httpQuery": "durationSeconds" } }, "Privilege": { "target": "com.amazonaws.s3control#Privilege", "traits": { - "smithy.api#documentation": "The scope of the temporary access credential that S3 Access Grants vends to the grantee or client\n application.
\n\n Default – The scope of the returned temporary access token is the scope\n of the grant that is closest to the target scope.
\n Minimal – The scope of the returned temporary access token is the same\n as the requested target scope as long as the requested scope is the same as or a\n subset of the grant scope.
The scope of the temporary access credential that S3 Access Grants vends to the grantee or client application.
\n\n Default – The scope of the returned temporary access token is the scope of the grant that is closest to the target scope.
\n Minimal – The scope of the returned temporary access token is the same as the requested target scope as long as the requested scope is the same as or a subset of the grant scope.
The type of Target. The only possible value is Object. Pass\n this value if the target data that you would like to access is a path to an object. Do not\n pass this value if the target data is a bucket or a bucket and a prefix.
The type of Target. The only possible value is Object. Pass this value if the target data that you would like to access is a path to an object. Do not pass this value if the target data is a bucket or a bucket and a prefix.
The context to identify the job or query associated with the credential request. This information will be displayed in CloudTrail log in your account.
", + "smithy.api#httpQuery": "auditContext" + } } }, "traits": { @@ -14367,13 +17414,13 @@ "MatchedGrantTarget": { "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "The S3 URI path of the data to which you are being granted temporary access credentials.\n
" + "smithy.api#documentation": "The S3 URI path of the data to which you are being granted temporary access credentials.
" } }, "Grantee": { "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#documentation": "The user, group, or role that was granted access to the S3 location scope. For directory\n identities, this API also returns the grants of the IAM role used for the identity-aware\n request. For more information on identity-aware sessions, see Granting permissions to use identity-aware console sessions.
" + "smithy.api#documentation": "The user, group, or role that was granted access to the S3 location scope. For directory identities, this API also returns the grants of the IAM role used for the identity-aware request. For more information on identity-aware sessions, see Granting permissions to use identity-aware console sessions.\n
" } } }, @@ -14401,7 +17448,7 @@ } ], "traits": { - "smithy.api#documentation": "Returns the tags on an S3 Batch Operations job.
\nTo use the GetJobTagging operation, you must have permission to\n perform the s3:GetJobTagging action. For more information, see Controlling access and labeling jobs using tags in the\n Amazon S3 User Guide.
Related actions include:
\n\n CreateJob\n
\n\n PutJobTagging\n
\n\n DeleteJobTagging\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns the tags on an S3 Batch Operations job.
\nTo use the\n GetJobTagging operation, you must have permission to\n perform the s3:GetJobTagging action. For more information, see Controlling\n access and labeling jobs using tags in the\n Amazon S3 User Guide.
Related actions include:
\n\n CreateJob\n
\n\n PutJobTagging\n
\n\n DeleteJobTagging\n
\nThis operation is not supported by directory buckets.
\nReturns configuration information about the specified Multi-Region Access Point.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to GetMultiRegionAccessPoint:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns configuration information about the specified Multi-Region Access Point.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to GetMultiRegionAccessPoint:
This operation is not supported by directory buckets.
\nReturns the access control policy of the specified Multi-Region Access Point.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to\n GetMultiRegionAccessPointPolicy:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns the access control policy of the specified Multi-Region Access Point.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to\n GetMultiRegionAccessPointPolicy:
This operation is not supported by directory buckets.
\nIndicates whether the specified Multi-Region Access Point has an access control policy that allows public\n access.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to\n GetMultiRegionAccessPointPolicyStatus:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nIndicates whether the specified Multi-Region Access Point has an access control policy that allows public\n access.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to\n GetMultiRegionAccessPointPolicyStatus:
This operation is not supported by directory buckets.
\nReturns the routing configuration for a Multi-Region Access Point, indicating which Regions are active or\n passive.
\nTo obtain routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:
\n\n us-east-1\n
\n us-west-2\n
\n ap-southeast-2\n
\n ap-northeast-1\n
\n eu-west-1\n
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns the routing configuration for a Multi-Region Access Point, indicating which Regions are active or\n passive.
\nTo obtain routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:
\n\n us-east-1\n
\n us-west-2\n
\n ap-southeast-2\n
\n ap-northeast-1\n
\n eu-west-1\n
This operation is not supported by directory buckets.
\nRetrieves the PublicAccessBlock configuration for an Amazon Web Services account. For\n more information, see Using Amazon S3 block\n public access.
Related actions include:
\n\n PutPublicAccessBlock\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nRetrieves the PublicAccessBlock configuration for an Amazon Web Services account. This\n operation returns the effective account-level configuration, which may inherit from\n organization-level policies. For more information, see Using Amazon S3 block\n public access.
Related actions include:
\n\n PutPublicAccessBlock\n
\nThis operation is not supported by directory buckets.
\nGets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nGets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
This operation is not supported by directory buckets.
\nGets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:GetStorageLensConfigurationTagging action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nGets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:GetStorageLensConfigurationTagging action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
\nRetrieves the Storage Lens group configuration details.
\nTo use this operation, you must have the permission to perform the\n s3:GetStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\nRetrieves the Storage Lens group configuration details.
\nTo use this operation, you must have the permission to perform the\n s3:GetStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -15023,18 +18070,18 @@ "GranteeType": { "target": "com.amazonaws.s3control#GranteeType", "traits": { - "smithy.api#documentation": "The type of the grantee to which access has been granted. It can be one of the following\n values:
\n\n IAM - An IAM user or role.
\n DIRECTORY_USER - Your corporate directory user. You can use\n this option if you have added your corporate identity directory to IAM Identity\n Center and associated the IAM Identity Center instance with your S3 Access Grants\n instance.
\n DIRECTORY_GROUP - Your corporate directory group. You can use\n this option if you have added your corporate identity directory to IAM Identity\n Center and associated the IAM Identity Center instance with your S3 Access Grants\n instance.
The type of the grantee to which access has been granted. It can be one of the following values:
\n\n IAM - An IAM user or role.
\n DIRECTORY_USER - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.
\n DIRECTORY_GROUP - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.
The unique identifier of the Grantee. If the grantee type is\n IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user\n or role. If the grantee type is a directory user or group, the identifier is 128-bit\n universally unique identifier (UUID) in the format\n a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your\n Amazon Web Services IAM Identity Center instance.
The unique identifier of the Grantee. If the grantee type is IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your Amazon Web Services IAM Identity Center instance.
The user, group, or role to which you are granting access. You can grant access to an\n IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity\n Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee\n can also be a corporate directory user or group.
" + "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.
" } }, "com.amazonaws.s3control#GranteeIdentifier": { @@ -15575,7 +18622,7 @@ "MatchAnyObjectEncryption": { "target": "com.amazonaws.s3control#ObjectEncryptionFilterList", "traits": { - "smithy.api#documentation": "If provided, the generated object list includes \n only source bucket objects with the indicated server-side encryption type (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C, or NOT-SSE). \n If you select SSE-KMS or DSSE-KMS, you can optionally further filter your results by specifying a specific KMS Key ARN. \n If you select SSE-KMS, you can also optionally further filter your results by Bucket Key enabled status.
" + "smithy.api#documentation": "If provided, the generated object list includes only source bucket objects with the indicated server-side encryption type (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C, or NOT-SSE).
" } } }, @@ -15704,7 +18751,13 @@ "S3ComputeObjectChecksum": { "target": "com.amazonaws.s3control#S3ComputeObjectChecksumOperation", "traits": { - "smithy.api#documentation": "Directs the specified job to compute checksum values for every object in the\n manifest.
" + "smithy.api#documentation": "Directs the specified job to compute checksum values for every object in the manifest.
" + } + }, + "S3UpdateObjectEncryption": { + "target": "com.amazonaws.s3control#S3UpdateObjectEncryptionOperation", + "traits": { + "smithy.api#documentation": "Updates the server-side encryption type of an existing encrypted\n object in a general purpose bucket. You can use the UpdateObjectEncryption\n operation to change encrypted objects from server-side encryption with\n Amazon S3 managed keys (SSE-S3) to server-side encryption with Key Management Service (KMS) \n keys (SSE-KMS), or to apply S3 Bucket Keys. You can also use the \n UpdateObjectEncryption operation to change the customer-managed\n KMS key used to encrypt your data so that you can comply with custom \n key-rotation standards.
The Amazon Resource Name (ARN) for the bucket where specified job-completion report will\n be stored.
\n\n Directory buckets - Directory buckets\n aren't supported as a location for Batch Operations to store job completion reports.
\nThe Amazon Resource Name (ARN) for the bucket where specified job-completion report will\n be stored.
\n\n Directory buckets - Directory buckets aren't supported \n as a location for Batch Operations to store job completion reports.
\nIf provided, the generated manifest includes objects where the specified string appears\n at the start of the object key string. Each KeyNameConstraint filter accepts an array of\n strings with a length of 1 string.
" + "smithy.api#documentation": "If provided, the generated manifest includes objects where the specified string appears\n at the start of the object key string. Each KeyNameConstraint filter accepts an array of strings with a length of 1 string.
" } }, "MatchAnySuffix": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", "traits": { - "smithy.api#documentation": "If provided, the generated manifest includes objects where the specified string appears\n at the end of the object key string. Each KeyNameConstraint filter accepts an array of\n strings with a length of 1 string.
" + "smithy.api#documentation": "If provided, the generated manifest includes objects where the specified string appears\n at the end of the object key string. Each KeyNameConstraint filter accepts an array of strings with a length of 1 string.
" } }, "MatchAnySubstring": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024StringList", "traits": { - "smithy.api#documentation": "If provided, the generated manifest includes objects where the specified string appears\n anywhere within the object key string. Each KeyNameConstraint filter accepts an array of\n strings with a length of 1 string.
" + "smithy.api#documentation": "If provided, the generated manifest includes objects where the specified string appears\n anywhere within the object key string. Each KeyNameConstraint filter accepts an array of strings with a length of 1 string.
" } } }, @@ -16024,13 +19077,13 @@ "InvocationSchemaVersion": { "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", "traits": { - "smithy.api#documentation": "Specifies the schema version for the payload that Batch Operations sends when invoking\n an Lambda function. Version 1.0 is the default. Version\n 2.0 is required when you use Batch Operations to invoke Lambda functions that act on directory buckets, or if you need to specify\n UserArguments. For more information, see Automate object processing in Amazon S3 directory buckets with S3 Batch Operations and\n Lambda in the Amazon Web Services Storage Blog.
Ensure that your Lambda function code expects\n InvocationSchemaVersion\n 2.0 and uses bucket name rather than bucket ARN. If the\n InvocationSchemaVersion does not match what your Lambda\n function expects, your function might not work as expected.
\n Directory buckets - To initiate Amazon Web Services Lambda\n function to perform custom actions on objects in directory buckets, you must specify\n 2.0.
Specifies the schema version for the payload that Batch Operations sends when invoking\n an Lambda function. Version 1.0 is the default. Version\n 2.0 is required when you use Batch Operations to invoke Lambda functions that act on directory buckets, or if you need to specify\n UserArguments. For more information, see Automate object processing in Amazon S3 directory buckets with S3 Batch Operations and\n Lambda in the Amazon Web Services Storage Blog.
Ensure that your Lambda function code expects\n InvocationSchemaVersion\n 2.0 and uses bucket name rather than bucket ARN. If the\n InvocationSchemaVersion does not match what your Lambda\n function expects, your function might not work as expected.
\n Directory buckets - To initiate Amazon Web Services Lambda function to perform custom actions on objects in directory buckets, you must specify 2.0.
Key-value pairs that are passed in the payload that Batch Operations sends when invoking\n an Lambda function. You must specify InvocationSchemaVersion\n 2.0 for LambdaInvoke operations that include\n UserArguments. For more information, see Automate object processing in Amazon S3 directory buckets with S3 Batch Operations and\n Lambda in the Amazon Web Services Storage Blog.
Key-value pairs that are passed in the payload that Batch Operations sends when invoking\n an Lambda function. You must specify InvocationSchemaVersion\n 2.0 for LambdaInvoke operations that include\n UserArguments. For more information, see Automate object processing in Amazon S3 directory buckets with S3 Batch Operations and\n Lambda in the Amazon Web Services Storage Blog.
Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n to true, the delete marker will be expired. If set to false, the policy takes no action.\n This cannot be specified with Days or Date in a Lifecycle Expiration Policy. To learn more\n about delete markers, see Working with delete\n markers.
" + "smithy.api#documentation": "Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n to true, the delete marker will be expired. If set to false, the policy takes no action.\n This cannot be specified with Days or Date in a Lifecycle Expiration Policy. To learn more about delete markers, see Working with delete markers.
" } } }, @@ -16117,7 +19170,7 @@ "NoncurrentVersionTransitions": { "target": "com.amazonaws.s3control#NoncurrentVersionTransitionList", "traits": { - "smithy.api#documentation": "Specifies the transition rule for the lifecycle rule that describes when non-current\n objects transition to a specific storage class. If your bucket is versioning-enabled (or\n versioning is suspended), you can set this action to request that Amazon S3 transition\n noncurrent object versions to a specific storage class at a set period in the object's\n lifetime.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nSpecifies the transition rule for the lifecycle rule that describes when noncurrent\n objects transition to a specific storage class. If your bucket is versioning-enabled (or\n versioning is suspended), you can set this action to request that Amazon S3 transition\n noncurrent object versions to a specific storage class at a set period in the object's\n lifetime.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nThe non-inclusive minimum object size for the lifecycle rule. Setting this property to 7\n means the rule applies to objects with a size that is greater than 7.
" + "smithy.api#documentation": "The non-inclusive minimum object size for the lifecycle rule. Setting this property to 7 means the rule applies to objects with a size that is greater than 7.
" } }, "ObjectSizeLessThan": { "target": "com.amazonaws.s3control#ObjectSizeLessThanBytes", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "The non-inclusive maximum object size for the lifecycle rule. Setting this property to\n 77 means the rule applies to objects with a size that is less than 77.
" + "smithy.api#documentation": "The non-inclusive maximum object size for the lifecycle rule. Setting this property to 77 means the rule applies to objects with a size that is less than 77.
" } } }, @@ -16229,7 +19282,7 @@ "AccessGrantId": { "target": "com.amazonaws.s3control#AccessGrantId", "traits": { - "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access\n grant.
" + "smithy.api#documentation": "The ID of the access grant. S3 Access Grants auto-generates this ID when you create the access grant.
" } }, "AccessGrantArn": { @@ -16241,37 +19294,37 @@ "Grantee": { "target": "com.amazonaws.s3control#Grantee", "traits": { - "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an\n IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity\n Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee\n can also be a corporate directory user or group.
" + "smithy.api#documentation": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to Amazon Web Services IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.
" } }, "Permission": { "target": "com.amazonaws.s3control#Permission", "traits": { - "smithy.api#documentation": "The type of access granted to your S3 data, which can be set to one of the following\n values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The type of access granted to your S3 data, which can be set to one of the following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The configuration options of the grant location. The grant location is the S3 path to\n the data to which you are granting access.
" + "smithy.api#documentation": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access.
" } }, "GrantScope": { "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "The S3 path of the data to which you are granting access. It is the result of appending\n the Subprefix to the location scope.
The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.
The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated\n with your Identity Center instance. If the grant includes an application ARN, the grantee\n can only access the S3 data through this application.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.
" } } }, @@ -16288,7 +19341,7 @@ "target": "com.amazonaws.s3control#ListAccessGrantsResult" }, "traits": { - "smithy.api#documentation": "Returns the list of access grants in your S3 Access Grants instance.
\nYou must have the s3:ListAccessGrants permission to use this\n operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns the list of access grants in your S3 Access Grants instance.
\nYou must have the s3:ListAccessGrants permission to use this operation.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants\n instance per Region per account.
The ID of the S3 Access Grants instance. The ID is default. You can have one S3 Access Grants instance per Region per account.
If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance,\n this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance\n application; a subresource of the original Identity Center instance. S3 Access Grants creates this\n Identity Center application for the specific S3 Access Grants instance.
" + "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.
" } }, "IdentityCenterInstanceArn": { "target": "com.amazonaws.s3control#IdentityCenterArn", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are\n associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate\n identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center\n instances and their ARNs.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the Amazon Web Services IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center. You can use the ListInstances API operation to retrieve a list of your Identity Center instances and their ARNs.
" } }, "IdentityCenterApplicationArn": { "target": "com.amazonaws.s3control#IdentityCenterApplicationArn", "traits": { - "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance,\n this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance\n application; a subresource of the original Identity Center instance. S3 Access Grants creates this\n Identity Center application for the specific S3 Access Grants instance.
" + "smithy.api#documentation": "If you associated your S3 Access Grants instance with an Amazon Web Services IAM Identity Center instance, this field returns the Amazon Resource Name (ARN) of the IAM Identity Center instance application; a subresource of the original Identity Center instance. S3 Access Grants creates this Identity Center application for the specific S3 Access Grants instance.
" } } }, @@ -16366,7 +19419,7 @@ "target": "com.amazonaws.s3control#ListAccessGrantsInstancesResult" }, "traits": { - "smithy.api#documentation": "Returns a list of S3 Access Grants instances. An S3 Access Grants instance serves as a logical grouping for\n your individual access grants. You can only have one S3 Access Grants instance per Region per\n account.
\nYou must have the s3:ListAccessGrantsInstances permission to use\n this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns a list of S3 Access Grants instances. An S3 Access Grants instance serves as a logical grouping for your individual access grants. You can only have one S3 Access Grants instance per Region per account.
\nYou must have the s3:ListAccessGrantsInstances permission to use this operation.
A pagination token to request the next page of results. Pass this value into a\n subsequent List Access Grants Instances request in order to retrieve the next\n page of results.
A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Instances request in order to retrieve the next page of results.
The maximum number of access grants that you would like returned in the List\n Access Grants response. If the results include the pagination token\n NextToken, make another call using the NextToken to determine\n if there are more results.
The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.
A pagination token to request the next page of results. Pass this value into a\n subsequent List Access Grants Instances request in order to retrieve the next\n page of results.
A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Instances request in order to retrieve the next page of results.
Returns a list of the locations registered in your S3 Access Grants instance.
\nYou must have the s3:ListAccessGrantsLocations permission to use\n this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns a list of the locations registered in your S3 Access Grants instance.
\nYou must have the s3:ListAccessGrantsLocations permission to use this operation.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this\n ID when you register the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The S3 path to the location that you are registering. The location scope can be the\n default S3 location s3://, the S3 path to a bucket\n s3://, or the S3 path to a bucket and prefix\n s3://. A prefix in S3 is a string of\n characters at the beginning of an object key name used to organize the objects that you\n store in your S3 buckets. For example, object key names that start with the\n engineering/ prefix or object key names that start with the\n marketing/campaigns/ prefix.
The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3://. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.
The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants\n assumes this role to manage access to the registered location.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.
" } } }, @@ -16530,7 +19583,7 @@ "NextToken": { "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "A pagination token to request the next page of results. Pass this value into a\n subsequent List Access Grants Locations request in order to retrieve the next\n page of results.
A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Locations request in order to retrieve the next page of results.
The maximum number of access grants that you would like returned in the List\n Access Grants response. If the results include the pagination token\n NextToken, make another call using the NextToken to determine\n if there are more results.
The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.
The S3 path to the location that you are registering. The location scope can be the\n default S3 location s3://, the S3 path to a bucket\n s3://, or the S3 path to a bucket and prefix\n s3://. A prefix in S3 is a string of\n characters at the beginning of an object key name used to organize the objects that you\n store in your S3 buckets. For example, object key names that start with the\n engineering/ prefix or object key names that start with the\n marketing/campaigns/ prefix.
The S3 path to the location that you are registering. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3://. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the engineering/ prefix or object key names that start with the marketing/campaigns/ prefix.
A pagination token to request the next page of results. Pass this value into a\n subsequent List Access Grants Locations request in order to retrieve the next\n page of results.
A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants Locations request in order to retrieve the next page of results.
A pagination token to request the next page of results. Pass this value into a\n subsequent List Access Grants request in order to retrieve the next page of\n results.
A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants request in order to retrieve the next page of results.
The maximum number of access grants that you would like returned in the List\n Access Grants response. If the results include the pagination token\n NextToken, make another call using the NextToken to determine\n if there are more results.
The maximum number of access grants that you would like returned in the List Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.
The type of the grantee to which access has been granted. It can be one of the following\n values:
\n\n IAM - An IAM user or role.
\n DIRECTORY_USER - Your corporate directory user. You can use\n this option if you have added your corporate identity directory to IAM Identity\n Center and associated the IAM Identity Center instance with your S3 Access Grants\n instance.
\n DIRECTORY_GROUP - Your corporate directory group. You can use\n this option if you have added your corporate identity directory to IAM Identity\n Center and associated the IAM Identity Center instance with your S3 Access Grants\n instance.
The type of the grantee to which access has been granted. It can be one of the following values:
\n\n IAM - An IAM user or role.
\n DIRECTORY_USER - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.
\n DIRECTORY_GROUP - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.
The unique identifer of the Grantee. If the grantee type is\n IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user\n or role. If the grantee type is a directory user or group, the identifier is 128-bit\n universally unique identifier (UUID) in the format\n a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your\n Amazon Web Services IAM Identity Center instance.
The unique identifer of the Grantee. If the grantee type is IAM, the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. You can obtain this UUID from your Amazon Web Services IAM Identity Center instance.
The type of permission granted to your S3 data, which can be set to one of the following\n values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The type of permission granted to your S3 data, which can be set to one of the following values:
\n\n READ – Grant read-only access to the S3 data.
\n WRITE – Grant write-only access to the S3 data.
\n READWRITE – Grant both read and write access to the S3 data.
The S3 path of the data to which you are granting access. It is the result of appending\n the Subprefix to the location scope.
The S3 path of the data to which you are granting access. It is the result of appending the Subprefix to the location scope.
The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated\n with your Identity Center instance. If the grant includes an application ARN, the grantee\n can only access the S3 data through this application.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.
", "smithy.api#httpQuery": "application_arn" } } @@ -16650,7 +19703,7 @@ "NextToken": { "target": "com.amazonaws.s3control#ContinuationToken", "traits": { - "smithy.api#documentation": "A pagination token to request the next page of results. Pass this value into a\n subsequent List Access Grants request in order to retrieve the next page of\n results.
A pagination token to request the next page of results. Pass this value into a subsequent List Access Grants request in order to retrieve the next page of results.
This operation is not supported by directory buckets.
\nReturns a list of the access points. You can retrieve up to 1,000 access points per call. If the call\n returns more than 1,000 access points (or the number specified in maxResults,\n whichever is less), the response will include a continuation token that you can use to list\n the additional access points.
Returns only access points attached to S3 buckets by default. To return all access points specify\n DataSourceType as ALL.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to ListAccessPoints:
\n CreateAccessPoint\n
\n\n DeleteAccessPoint\n
\n\n GetAccessPoint\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns a list of the access points. You can retrieve up to 1,000 access points per call. If the call\n returns more than 1,000 access points (or the number specified in maxResults,\n whichever is less), the response will include a continuation token that you can use to list\n the additional access points.
Returns only access points attached to S3 buckets by default. To return all access points specify\n DataSourceType as ALL.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to ListAccessPoints:
\n CreateAccessPoint\n
\n\n DeleteAccessPoint\n
\n\n GetAccessPoint\n
\nReturns a list of the access points that are owned by the Amazon Web Services account and that are associated\n with the specified directory bucket.
\nTo list access points for general purpose buckets, see ListAccesspoints.
\nTo use this operation, you must have the permission to perform the\n s3express:ListAccessPointsForDirectoryBuckets\n action.
For information about REST API errors, see REST error responses.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Returns a list of the access points that are owned by the Amazon Web Services account and that are associated with the specified directory bucket.
\nTo list access points for general purpose buckets, see ListAccesspoints.
\nTo use this operation, you must have the permission to perform the\n s3express:ListAccessPointsForDirectoryBuckets action.
For information about REST API errors, see REST error responses.
", "smithy.api#http": { "method": "GET", "uri": "/v20180820/accesspointfordirectory", @@ -16750,7 +19803,7 @@ "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": " If NextToken is returned, there are more access points available than requested in\n the maxResults value. The value of NextToken is a unique\n pagination token for each page. Make the call again using the returned token to retrieve\n the next page. Keep all other arguments unchanged. Each pagination token expires after 24\n hours.
\n If NextToken is returned, there are more access points available than requested in the maxResults value. The value of NextToken is a\n unique pagination token for each page. Make the call again using the returned token to\n retrieve the next page. Keep all other arguments unchanged. Each pagination token expires\n after 24 hours.\n
The maximum number of access points that you would like returned in the\n ListAccessPointsForDirectoryBuckets response. If the directory bucket is\n associated with more than this number of access points, the results include the pagination token\n NextToken. Make another call using the NextToken to retrieve\n more results.
The maximum number of access points that you would like returned in the ListAccessPointsForDirectoryBuckets response. If the directory bucket is associated with more than this number of access points, the results include the pagination token NextToken. Make another call using the NextToken to retrieve more results.
Contains identification and configuration information for one or more access points associated\n with the directory bucket.
" + "smithy.api#documentation": "Contains identification and configuration information for one or more access points associated with the directory bucket.
" } }, "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": " If NextToken is returned, there are more access points available than requested in\n the maxResults value. The value of NextToken is a unique\n pagination token for each page. Make the call again using the returned token to retrieve\n the next page. Keep all other arguments unchanged. Each pagination token expires after 24\n hours.
\n If NextToken is returned, there are more access points available than requested in the maxResults value. The value of NextToken is a\n unique pagination token for each page. Make the call again using the returned token to\n retrieve the next page. Keep all other arguments unchanged. Each pagination token expires\n after 24 hours.\n
This operation is not supported by directory buckets.
\nReturns some or all (up to 1,000) access points associated with the Object Lambda Access Point per call. If there\n are more access points than what can be returned in one call, the response will include a\n continuation token that you can use to list the additional access points.
\nThe following actions are related to\n ListAccessPointsForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns some or all (up to 1,000) access points associated with the Object Lambda Access Point per call. If there\n are more access points than what can be returned in one call, the response will include a\n continuation token that you can use to list the additional access points.
\nThe following actions are related to\n ListAccessPointsForObjectLambda:
The type of the data source that the access point is attached to. Returns only access points attached to\n S3 buckets by default. To return all access points specify DataSourceType as\n ALL.
The type of the data source that the access point is attached to. Returns only access points attached to S3 buckets by default. To return all access points specify\n DataSourceType as ALL.
Use this API to list the access grants that grant the caller access to Amazon S3 data through\n S3 Access Grants. The caller (grantee) can be an Identity and Access Management (IAM) identity or Amazon Web Services Identity Center\n corporate directory identity. You must pass the Amazon Web Services account of the S3 data owner\n (grantor) in the request. You can, optionally, narrow the results by\n GrantScope, using a fragment of the data's S3 path, and S3 Access Grants will return\n only the grants with a path that contains the path fragment. You can also pass the\n AllowedByApplication filter in the request, which returns only the grants\n authorized for applications, whether the application is the caller's Identity Center\n application or any other application (ALL). For more information, see List\n the caller's access grants in the Amazon S3 User Guide.
You must have the s3:ListCallerAccessGrants permission to use this\n operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Use this API to list the access grants that grant the caller access to Amazon S3 data through S3 Access Grants. The caller (grantee) can be an Identity and Access Management (IAM) identity or Amazon Web Services Identity Center corporate directory identity. You must pass the Amazon Web Services account of the S3 data owner (grantor) in the request. You can, optionally, narrow the results by GrantScope, using a fragment of the data's S3 path, and S3 Access Grants will return only the grants with a path that contains the path fragment. You can also pass the AllowedByApplication filter in the request, which returns only the grants authorized for applications, whether the application is the caller's Identity Center application or any other application (ALL). For more information, see List the caller's access grants in the Amazon S3 User Guide.
You must have the s3:ListCallerAccessGrants permission to use this operation.
The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated\n with your Identity Center instance. If the grant includes an application ARN, the grantee\n can only access the S3 data through this application.
" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of an Amazon Web Services IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.
" } } }, "traits": { - "smithy.api#documentation": "Part of ListCallerAccessGrantsResult. Each entry includes the permission\n level (READ, WRITE, or READWRITE) and the grant scope of the access grant. If the grant\n also includes an application ARN, the grantee can only access the S3 data through this\n application.
Part of ListCallerAccessGrantsResult. Each entry includes the\n permission level (READ, WRITE, or READWRITE) and the grant scope of the access grant. If the grant also includes an application ARN, the grantee can only access the S3 data through this application.
The S3 path of the data that you would like to access. Must start with\n s3://. You can optionally pass only the beginning characters of a path, and\n S3 Access Grants will search for all applicable grants for the path fragment.
The S3 path of the data that you would like to access. Must start with s3://. You can optionally pass only the beginning characters of a path, and S3 Access Grants will search for all applicable grants for the path fragment.
A pagination token to request the next page of results. Pass this value into a\n subsequent List Caller Access Grants request in order to retrieve the next\n page of results.
A pagination token to request the next page of results. Pass this value into a subsequent List Caller Access Grants request in order to retrieve the next page of results.
The maximum number of access grants that you would like returned in the List\n Caller Access Grants response. If the results include the pagination token\n NextToken, make another call using the NextToken to determine\n if there are more results.
The maximum number of access grants that you would like returned in the List Caller Access Grants response. If the results include the pagination token NextToken, make another call using the NextToken to determine if there are more results.
If this optional parameter is passed in the request, a filter is applied to the results.\n The results will include only the access grants for the caller's Identity Center\n application or for any other applications (ALL).
If this optional parameter is passed in the request, a filter is applied to the results. The results will include only the access grants for the caller's Identity Center application or for any other applications (ALL).
A pagination token that you can use to request the next page of results. Pass this value\n into a subsequent List Caller Access Grants request in order to retrieve the\n next page of results.
A pagination token that you can use to request the next page of results. Pass this value into a subsequent List Caller Access Grants request in order to retrieve the next page of results.
A list of the caller's access grants that were created using S3 Access Grants and that grant the\n caller access to the S3 data of the Amazon Web Services account ID that was specified in the request.\n
" + "smithy.api#documentation": "A list of the caller's access grants that were created using S3 Access Grants and that grant the caller access to the S3 data of the Amazon Web Services account ID that was specified in the request.
" } } }, @@ -17100,7 +20153,7 @@ } ], "traits": { - "smithy.api#documentation": "Lists current S3 Batch Operations jobs as well as the jobs that have ended within the last 90\n days for the Amazon Web Services account making the request. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the ListJobs operation, you must have permission to perform\n the s3:ListJobs action.
Related actions include:
\n \n\n CreateJob\n
\n\n DescribeJob\n
\n\n UpdateJobPriority\n
\n\n UpdateJobStatus\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Lists current S3 Batch Operations jobs as well as the jobs that have ended within the last 90\n days for the Amazon Web Services account making the request. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the\n ListJobs operation, you must have permission to\n perform the s3:ListJobs action.
Related actions include:
\n \n\n CreateJob\n
\n\n DescribeJob\n
\n\n UpdateJobPriority\n
\n\n UpdateJobStatus\n
\nThis operation is not supported by directory buckets.
\nReturns a list of the Multi-Region Access Points currently associated with the specified Amazon Web Services account.\n Each call can return up to 100 Multi-Region Access Points, the maximum number of Multi-Region Access Points that can be\n associated with a single account.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to ListMultiRegionAccessPoint:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns a list of the Multi-Region Access Points currently associated with the specified Amazon Web Services account.\n Each call can return up to 100 Multi-Region Access Points, the maximum number of Multi-Region Access Points that can be\n associated with a single account.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to ListMultiRegionAccessPoint:
This operation is not supported by directory buckets.
\nReturns a list of all Outposts buckets in an Outpost that are owned by the authenticated\n sender of the request. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.
\nFor an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your request, see the Examples section.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nReturns a list of all Outposts buckets in an Outpost that are owned by the authenticated\n sender of the request. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.
\nFor an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your request, see the Examples section.
This operation is not supported by directory buckets.
\nGets a list of Amazon S3 Storage Lens configurations. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:ListStorageLensConfigurations action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nGets a list of Amazon S3 Storage Lens configurations. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:ListStorageLensConfigurations action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
\nLists all the Storage Lens groups in the specified home Region.\n
\nTo use this operation, you must have the permission to perform the\n s3:ListStorageLensGroups action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\nLists all the Storage Lens groups in the specified home Region.\n
\nTo use this operation, you must have the permission to perform the\n s3:ListStorageLensGroups action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -17537,1361 +20590,1850 @@ } } }, - "com.amazonaws.s3control#ListStorageLensGroupsRequest": { + "com.amazonaws.s3control#ListStorageLensGroupsRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "\n The Amazon Web Services account ID that owns the Storage Lens groups.\n
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "NextToken": { + "target": "com.amazonaws.s3control#ContinuationToken", + "traits": { + "smithy.api#documentation": "The token for the next set of results, or null if there are no more results.\n
\n If NextToken is returned, there are more Storage Lens groups results available. The value of NextToken is a\n unique pagination token for each page. Make the call again using the returned token to\n retrieve the next page. Keep all other arguments unchanged. Each pagination token expires\n after 24 hours.\n
\nThe list of Storage Lens groups that exist in the specified home Region.\n
", + "smithy.api#xmlFlattened": {}, + "smithy.api#xmlName": "StorageLensGroup" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.s3control#ListTagsForResourceResult" + }, + "traits": { + "smithy.api#documentation": "This operation allows you to list all of the tags for a specified resource. Each tag is a label consisting of a key and value. Tags can help you organize, track costs for, and control access to resources.
\nThis operation is only supported for the following Amazon S3 resources:
\n\n Directory buckets\n
\n\n S3 Access Grants instances, registered locations, and grants.
\nFor general purpose buckets, access points for general purpose buckets, Storage Lens groups, and S3 Access Grants, you must have the s3:ListTagsForResource permission to use this operation.
For directory buckets, you must have the s3express:ListTagsForResource permission to use this operation. For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/v20180820/tags/{ResourceArn+}", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "\nThe Amazon Web Services account ID of the resource owner.\n
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "ResourceArn": { + "target": "com.amazonaws.s3control#S3ResourceArn", + "traits": { + "smithy.api#documentation": "\nThe Amazon Resource Name (ARN) of the S3 resource that you want to list tags for. The tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.\n
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#ListTagsForResourceResult": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.s3control#TagList", + "traits": { + "smithy.api#documentation": "\nThe Amazon Web Services resource tags that are associated with the resource. \n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#Location": { + "type": "string" + }, + "com.amazonaws.s3control#MFA": { + "type": "string" + }, + "com.amazonaws.s3control#MFADelete": { + "type": "enum", + "members": { + "Enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } + }, + "Disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" + } + } + } + }, + "com.amazonaws.s3control#MFADeleteStatus": { + "type": "enum", + "members": { + "Enabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Enabled" + } + }, + "Disabled": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Disabled" + } + } + } + }, + "com.amazonaws.s3control#ManifestPrefixString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + } + } + }, + "com.amazonaws.s3control#MatchAnyPrefix": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#Prefix", + "traits": { + "smithy.api#xmlName": "Prefix" + } + } + }, + "com.amazonaws.s3control#MatchAnySuffix": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#Suffix", + "traits": { + "smithy.api#xmlName": "Suffix" + } + } + }, + "com.amazonaws.s3control#MatchAnyTag": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#S3Tag", + "traits": { + "smithy.api#xmlName": "Tag" + } + } + }, + "com.amazonaws.s3control#MatchObjectAge": { + "type": "structure", + "members": { + "DaysGreaterThan": { + "target": "com.amazonaws.s3control#ObjectAgeValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "\nSpecifies the maximum object age in days. Must be a positive whole number, greater than the minimum object age and less than or equal to 2,147,483,647. \n
" + } + }, + "DaysLessThan": { + "target": "com.amazonaws.s3control#ObjectAgeValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "\nSpecifies the minimum object age in days. The value must be a positive whole number, greater than 0 and less than or equal to 2,147,483,647.\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "\n A filter condition that specifies the object age range of included objects in days. Only integers are supported.\n
" + } + }, + "com.amazonaws.s3control#MatchObjectSize": { + "type": "structure", + "members": { + "BytesGreaterThan": { + "target": "com.amazonaws.s3control#ObjectSizeValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Specifies the minimum object size in Bytes. The value must be a positive number, greater than\n 0 and less than 50 TB.
" + } + }, + "BytesLessThan": { + "target": "com.amazonaws.s3control#ObjectSizeValue", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Specifies the maximum object size in Bytes. The value must be a positive number, greater than\n the minimum object size and less than 50 TB.
" + } + } + }, + "traits": { + "smithy.api#documentation": "\nA filter condition that specifies the object size range of included objects in bytes. Only integers are supported.\n
" + } + }, + "com.amazonaws.s3control#MaxLength1024String": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + } + } + }, + "com.amazonaws.s3control#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 1000 + } + } + }, + "com.amazonaws.s3control#Metrics": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "Status": { + "target": "com.amazonaws.s3control#MetricsStatus", "traits": { - "smithy.api#documentation": "\n The Amazon Web Services account ID that owns the Storage Lens groups.\n
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "Specifies whether replication metrics are enabled.
", + "smithy.api#required": {} } }, - "NextToken": { - "target": "com.amazonaws.s3control#ContinuationToken", + "EventThreshold": { + "target": "com.amazonaws.s3control#ReplicationTimeValue", "traits": { - "smithy.api#documentation": "The token for the next set of results, or null if there are no more results.\n
A container that specifies the time threshold for emitting the\n s3:Replication:OperationMissedThreshold event.
This is not supported by Amazon S3 on Outposts buckets.
\nA container that specifies replication metrics-related settings.
" } }, - "com.amazonaws.s3control#ListStorageLensGroupsResult": { - "type": "structure", + "com.amazonaws.s3control#MetricsStatus": { + "type": "enum", "members": { - "NextToken": { - "target": "com.amazonaws.s3control#ContinuationToken", + "Enabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "\n If NextToken is returned, there are more Storage Lens groups results available. The value of NextToken is a\n unique pagination token for each page. Make the call again using the returned token to\n retrieve the next page. Keep all other arguments unchanged. Each pagination token expires\n after 24 hours.\n
\nThe list of Storage Lens groups that exist in the specified home Region.\n
", - "smithy.api#xmlFlattened": {}, - "smithy.api#xmlName": "StorageLensGroup" + "smithy.api#enumValue": "Disabled" } } - }, + } + }, + "com.amazonaws.s3control#MinStorageBytesPercentage": { + "type": "double", "traits": { - "smithy.api#output": {} + "smithy.api#range": { + "min": 0.1, + "max": 100 + } } }, - "com.amazonaws.s3control#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.s3control#ListTagsForResourceResult" - }, + "com.amazonaws.s3control#Minutes": { + "type": "integer", "traits": { - "smithy.api#documentation": "This operation allows you to list all of the tags for a specified resource. Each tag is\n a label consisting of a key and value. Tags can help you organize, track costs for, and\n control access to resources.
\nThis operation is only supported for the following Amazon S3 resources:
\n\n Directory buckets\n
\n\n Storage Lens groups\n
\n\n S3 Access Grants instances, registered locations, and grants.
\nFor Storage Lens groups and S3 Access Grants, you must have the\n s3:ListTagsForResource permission to use this operation.
For more information about the required Storage Lens Groups permissions, see\n Setting account permissions to use S3 Storage Lens groups.
\nFor directory buckets and access points for directory buckets, you must have the s3express:ListTagsForResource permission to use this operation. For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The Amazon Web Services account ID of the resource owner.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "The last established policy for the Multi-Region Access Point.
" } }, - "ResourceArn": { - "target": "com.amazonaws.s3control#S3ResourceArn", + "Proposed": { + "target": "com.amazonaws.s3control#ProposedMultiRegionAccessPointPolicy", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the S3 resource that you want to list tags for. The\n tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance,\n registered location, or grant.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The proposed policy for the Multi-Region Access Point.
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "The Multi-Region Access Point access control policy.
\nWhen you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.
" } }, - "com.amazonaws.s3control#ListTagsForResourceResult": { + "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponse": { "type": "structure", "members": { - "Tags": { - "target": "com.amazonaws.s3control#TagList", + "Name": { + "target": "com.amazonaws.s3control#RegionName", + "traits": { + "smithy.api#documentation": "The name of the Region in the Multi-Region Access Point.
" + } + }, + "RequestStatus": { + "target": "com.amazonaws.s3control#AsyncRequestStatus", "traits": { - "smithy.api#documentation": "The Amazon Web Services resource tags that are associated with the resource.
" + "smithy.api#documentation": "The current status of the Multi-Region Access Point in this Region.
" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "Status information for a single Multi-Region Access Point Region.
" } }, - "com.amazonaws.s3control#Location": { - "type": "string" - }, - "com.amazonaws.s3control#MFA": { - "type": "string" + "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponseList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponse", + "traits": { + "smithy.api#xmlName": "Region" + } + } }, - "com.amazonaws.s3control#MFADelete": { - "type": "enum", + "com.amazonaws.s3control#MultiRegionAccessPointReport": { + "type": "structure", "members": { - "Enabled": { - "target": "smithy.api#Unit", + "Name": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointName", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#documentation": "The name of the Multi-Region Access Point.
" } }, - "Disabled": { - "target": "smithy.api#Unit", + "Alias": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointAlias", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#documentation": "The alias for the Multi-Region Access Point. For more information about the distinction between the name\n and the alias of an Multi-Region Access Point, see Rules for naming Amazon S3 Multi-Region Access Points.
" } - } - } - }, - "com.amazonaws.s3control#MFADeleteStatus": { - "type": "enum", - "members": { - "Enabled": { - "target": "smithy.api#Unit", + }, + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#documentation": "When the Multi-Region Access Point create request was received.
" } }, - "Disabled": { - "target": "smithy.api#Unit", + "PublicAccessBlock": { + "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration" + }, + "Status": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointStatus", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#documentation": "The current status of the Multi-Region Access Point.
\n\n CREATING and DELETING are temporary states that exist while\n the request is propagating and being completed. If a Multi-Region Access Point has a status of\n PARTIALLY_CREATED, you can retry creation or send a request to delete the\n Multi-Region Access Point. If a Multi-Region Access Point has a status of PARTIALLY_DELETED, you can retry a delete\n request to finish the deletion of the Multi-Region Access Point.
A collection of the Regions and buckets associated with the Multi-Region Access Point.
" } } - } - }, - "com.amazonaws.s3control#ManifestPrefixString": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 512 - } - } - }, - "com.amazonaws.s3control#MatchAnyPrefix": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#Prefix", - "traits": { - "smithy.api#xmlName": "Prefix" - } - } - }, - "com.amazonaws.s3control#MatchAnySuffix": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#Suffix", - "traits": { - "smithy.api#xmlName": "Suffix" - } + "smithy.api#documentation": "A collection of statuses for a Multi-Region Access Point in the various Regions it supports.
" } }, - "com.amazonaws.s3control#MatchAnyTag": { + "com.amazonaws.s3control#MultiRegionAccessPointReportList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#S3Tag", + "target": "com.amazonaws.s3control#MultiRegionAccessPointReport", "traits": { - "smithy.api#xmlName": "Tag" + "smithy.api#xmlName": "AccessPoint" } } }, - "com.amazonaws.s3control#MatchObjectAge": { + "com.amazonaws.s3control#MultiRegionAccessPointRoute": { "type": "structure", "members": { - "DaysGreaterThan": { - "target": "com.amazonaws.s3control#ObjectAgeValue", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "The name of the Amazon S3 bucket for which you'll submit a routing configuration change.\n Either the Bucket or the Region value must be provided. If both\n are provided, the bucket must be in the specified Region.
\nSpecifies the maximum object age in days. Must be a positive whole number, greater than the minimum object age and less than or equal to 2,147,483,647. \n
" + "smithy.api#documentation": "The Amazon Web Services Region to which you'll be submitting a routing configuration change. Either\n the Bucket or the Region value must be provided. If both are\n provided, the bucket must be in the specified Region.
\nSpecifies the minimum object age in days. The value must be a positive whole number, greater than 0 and less than or equal to 2,147,483,647.\n
" + "smithy.api#documentation": "The traffic state for the specified bucket or Amazon Web Services Region.
\nA value of 0 indicates a passive state, which means that no new traffic\n will be routed to the Region.
A value of 100 indicates an active state, which means that traffic will be\n routed to the specified Region.
When the routing configuration for a Region is changed from active to passive, any\n in-progress operations (uploads, copies, deletes, and so on) to the formerly active Region\n will continue to run to until a final success or failure status is reached.
\nIf all Regions in the routing configuration are designated as passive, you'll receive an\n InvalidRequest error.
\n A filter condition that specifies the object age range of included objects in days. Only integers are supported.\n
" + "smithy.api#documentation": "A structure for a Multi-Region Access Point that indicates where Amazon S3 traffic can be routed. Routes can be\n either active or passive. Active routes can process Amazon S3 requests through the Multi-Region Access Point, but\n passive routes are not eligible to process Amazon S3 requests.
\nEach route contains the Amazon S3 bucket name and the Amazon Web Services Region that the bucket is located\n in. The route also includes the TrafficDialPercentage value, which shows\n whether the bucket and Region are active (indicated by a value of 100) or\n passive (indicated by a value of 0).
\nSpecifies the minimum object size in Bytes. The value must be a positive number, greater than 0 and less than 5 TB.\n
" + "smithy.api#enumValue": "READY" } }, - "BytesLessThan": { - "target": "com.amazonaws.s3control#ObjectSizeValue", + "INCONSISTENT_ACROSS_REGIONS": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "\nSpecifies the maximum object size in Bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.\n
" + "smithy.api#enumValue": "INCONSISTENT_ACROSS_REGIONS" + } + }, + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "PARTIALLY_CREATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PARTIALLY_CREATED" + } + }, + "PARTIALLY_DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PARTIALLY_DELETED" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" } - } - }, - "traits": { - "smithy.api#documentation": "\nA filter condition that specifies the object size range of included objects in bytes. Only integers are supported.\n
" - } - }, - "com.amazonaws.s3control#MaxLength1024String": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - } - } - }, - "com.amazonaws.s3control#MaxResults": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 1000 } } }, - "com.amazonaws.s3control#Metrics": { + "com.amazonaws.s3control#MultiRegionAccessPointsAsyncResponse": { "type": "structure", "members": { - "Status": { - "target": "com.amazonaws.s3control#MetricsStatus", - "traits": { - "smithy.api#documentation": "Specifies whether replication metrics are enabled.
", - "smithy.api#required": {} - } - }, - "EventThreshold": { - "target": "com.amazonaws.s3control#ReplicationTimeValue", + "Regions": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponseList", "traits": { - "smithy.api#documentation": "A container that specifies the time threshold for emitting the\n s3:Replication:OperationMissedThreshold event.
This is not supported by Amazon S3 on Outposts buckets.
\nA collection of status information for the different Regions that a Multi-Region Access Point\n supports.
" } } }, "traits": { - "smithy.api#documentation": "A container that specifies replication metrics-related settings.
" + "smithy.api#documentation": "The Multi-Region Access Point details that are returned when querying about an asynchronous request.
" } }, - "com.amazonaws.s3control#MetricsStatus": { + "com.amazonaws.s3control#NetworkOrigin": { "type": "enum", "members": { - "Enabled": { + "Internet": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#enumValue": "Internet" } }, - "Disabled": { + "VPC": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#enumValue": "VPC" } } } }, - "com.amazonaws.s3control#MinStorageBytesPercentage": { - "type": "double", - "traits": { - "smithy.api#range": { - "min": 0.1, - "max": 100 + "com.amazonaws.s3control#NoSuchPublicAccessBlockConfiguration": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.s3control#NoSuchPublicAccessBlockConfigurationMessage" } + }, + "traits": { + "smithy.api#documentation": "Amazon S3 throws this exception if you make a GetPublicAccessBlock request\n against an account that doesn't have a PublicAccessBlockConfiguration\n set.
The last established policy for the Multi-Region Access Point.
" + "smithy.api#default": 0, + "smithy.api#documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates When an Object Became Noncurrent in the\n Amazon S3 User Guide.
" } }, - "Proposed": { - "target": "com.amazonaws.s3control#ProposedMultiRegionAccessPointPolicy", + "NewerNoncurrentVersions": { + "target": "com.amazonaws.s3control#NoncurrentVersionCount", "traits": { - "smithy.api#documentation": "The proposed policy for the Multi-Region Access Point.
" + "smithy.api#default": null, + "smithy.api#documentation": "Specifies how many noncurrent versions S3 on Outposts will retain. If there are this many\n more recent noncurrent versions, S3 on Outposts will take the associated action. For more\n information about noncurrent versions, see Lifecycle configuration\n elements in the Amazon S3 User Guide.
" } } }, "traits": { - "smithy.api#documentation": "The Multi-Region Access Point access control policy.
\nWhen you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.
" + "smithy.api#documentation": "The container of the noncurrent version expiration.
" } }, - "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponse": { + "com.amazonaws.s3control#NoncurrentVersionTransition": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.s3control#RegionName", + "NoncurrentDays": { + "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#documentation": "The name of the Region in the Multi-Region Access Point.
" + "smithy.api#default": 0, + "smithy.api#documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates How Long an Object Has Been Noncurrent in the\n Amazon S3 User Guide.
" } }, - "RequestStatus": { - "target": "com.amazonaws.s3control#AsyncRequestStatus", + "StorageClass": { + "target": "com.amazonaws.s3control#TransitionStorageClass", "traits": { - "smithy.api#documentation": "The current status of the Multi-Region Access Point in this Region.
" + "smithy.api#documentation": "The class of storage used to store the object.
" } } }, "traits": { - "smithy.api#documentation": "Status information for a single Multi-Region Access Point Region.
" + "smithy.api#documentation": "The container for the noncurrent version transition.
" } }, - "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponseList": { + "com.amazonaws.s3control#NoncurrentVersionTransitionList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponse", + "target": "com.amazonaws.s3control#NoncurrentVersionTransition", "traits": { - "smithy.api#xmlName": "Region" + "smithy.api#xmlName": "NoncurrentVersionTransition" + } + } + }, + "com.amazonaws.s3control#NotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.s3control#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "", + "smithy.api#error": "client" + } + }, + "com.amazonaws.s3control#NotSSEFilter": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "A filter that returns objects that aren't server-side encrypted.
" + } + }, + "com.amazonaws.s3control#ObjectAgeValue": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.s3control#ObjectCreationTime": { + "type": "timestamp" + }, + "com.amazonaws.s3control#ObjectEncryption": { + "type": "structure", + "members": { + "SSEKMS": { + "target": "com.amazonaws.s3control#S3UpdateObjectEncryptionSSEKMS", + "traits": { + "smithy.api#documentation": "Specifies to update the object encryption type to server-side encryption\n with Key Management Service (KMS) keys (SSE-KMS).
", + "smithy.api#xmlName": "SSE-KMS" + } } + }, + "traits": { + "smithy.api#documentation": "The updated server-side encryption type for this object. The\n UpdateObjectEncryption operation supports the\n SSE-KMS encryption type.
Valid Values: SSEKMS\n
The name of the Multi-Region Access Point.
" + "smithy.api#documentation": "Filters for objects that are encrypted by server-side encryption with Amazon S3 managed keys (SSE-S3).
", + "smithy.api#xmlName": "SSE-S3" } }, - "Alias": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointAlias", + "SSEKMS": { + "target": "com.amazonaws.s3control#SSEKMSFilter", "traits": { - "smithy.api#documentation": "The alias for the Multi-Region Access Point. For more information about the distinction between the name\n and the alias of an Multi-Region Access Point, see Rules for naming Amazon S3 Multi-Region Access Points.
" + "smithy.api#documentation": "Filters for objects that are encrypted by server-side encryption with Amazon Web Services Key Management Service (KMS) keys (SSE-KMS).
", + "smithy.api#xmlName": "SSE-KMS" } }, - "CreatedAt": { - "target": "com.amazonaws.s3control#CreationTimestamp", + "DSSEKMS": { + "target": "com.amazonaws.s3control#DSSEKMSFilter", "traits": { - "smithy.api#documentation": "When the Multi-Region Access Point create request was received.
" + "smithy.api#documentation": "Filters for objects that are encrypted by dual-layer server-side encryption with Amazon Web Services Key Management Service (KMS) keys (DSSE-KMS).
", + "smithy.api#xmlName": "DSSE-KMS" } }, - "PublicAccessBlock": { - "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration" - }, - "Status": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointStatus", + "SSEC": { + "target": "com.amazonaws.s3control#SSECFilter", "traits": { - "smithy.api#documentation": "The current status of the Multi-Region Access Point.
\n\n CREATING and DELETING are temporary states that exist while\n the request is propagating and being completed. If a Multi-Region Access Point has a status of\n PARTIALLY_CREATED, you can retry creation or send a request to delete the\n Multi-Region Access Point. If a Multi-Region Access Point has a status of PARTIALLY_DELETED, you can retry a delete\n request to finish the deletion of the Multi-Region Access Point.
Filters for objects that are encrypted by server-side encryption with customer-provided keys (SSE-C).
", + "smithy.api#xmlName": "SSE-C" } }, - "Regions": { - "target": "com.amazonaws.s3control#RegionReportList", + "NOTSSE": { + "target": "com.amazonaws.s3control#NotSSEFilter", "traits": { - "smithy.api#documentation": "A collection of the Regions and buckets associated with the Multi-Region Access Point.
" + "smithy.api#documentation": "Filters for objects that are not encrypted by server-side encryption.
", + "smithy.api#xmlName": "NOT-SSE" } } }, "traits": { - "smithy.api#documentation": "A collection of statuses for a Multi-Region Access Point in the various Regions it supports.
" + "smithy.api#documentation": "An optional filter for the S3JobManifestGenerator that identifies the subset of objects by encryption type.
" } }, - "com.amazonaws.s3control#MultiRegionAccessPointReportList": { + "com.amazonaws.s3control#ObjectEncryptionFilterList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointReport", + "target": "com.amazonaws.s3control#ObjectEncryptionFilter", "traits": { - "smithy.api#xmlName": "AccessPoint" + "smithy.api#xmlName": "ObjectEncryption" + } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 } } }, - "com.amazonaws.s3control#MultiRegionAccessPointRoute": { + "com.amazonaws.s3control#ObjectLambdaAccessPoint": { "type": "structure", "members": { - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "Name": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", "traits": { - "smithy.api#documentation": "The name of the Amazon S3 bucket for which you'll submit a routing configuration change.\n Either the Bucket or the Region value must be provided. If both\n are provided, the bucket must be in the specified Region.
The name of the Object Lambda Access Point.
", + "smithy.api#required": {} } }, - "Region": { - "target": "com.amazonaws.s3control#RegionName", + "ObjectLambdaAccessPointArn": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointArn", "traits": { - "smithy.api#documentation": "The Amazon Web Services Region to which you'll be submitting a routing configuration change. Either\n the Bucket or the Region value must be provided. If both are\n provided, the bucket must be in the specified Region.
Specifies the ARN for the Object Lambda Access Point.
" } }, - "TrafficDialPercentage": { - "target": "com.amazonaws.s3control#TrafficDialPercentage", + "Alias": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAlias", "traits": { - "smithy.api#documentation": "The traffic state for the specified bucket or Amazon Web Services Region.
\nA value of 0 indicates a passive state, which means that no new traffic\n will be routed to the Region.
A value of 100 indicates an active state, which means that traffic will be\n routed to the specified Region.
When the routing configuration for a Region is changed from active to passive, any\n in-progress operations (uploads, copies, deletes, and so on) to the formerly active Region\n will continue to run to until a final success or failure status is reached.
\nIf all Regions in the routing configuration are designated as passive, you'll receive an\n InvalidRequest error.
The alias of the Object Lambda Access Point.
" } } }, "traits": { - "smithy.api#documentation": "A structure for a Multi-Region Access Point that indicates where Amazon S3 traffic can be routed. Routes can be\n either active or passive. Active routes can process Amazon S3 requests through the Multi-Region Access Point, but\n passive routes are not eligible to process Amazon S3 requests.
\nEach route contains the Amazon S3 bucket name and the Amazon Web Services Region that the bucket is located\n in. The route also includes the TrafficDialPercentage value, which shows\n whether the bucket and Region are active (indicated by a value of 100) or\n passive (indicated by a value of 0).
An access point with an attached Lambda function used to access transformed data from an Amazon S3\n bucket.
" } }, - "com.amazonaws.s3control#MultiRegionAccessPointStatus": { + "com.amazonaws.s3control#ObjectLambdaAccessPointAlias": { + "type": "structure", + "members": { + "Value": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAliasValue", + "traits": { + "smithy.api#documentation": "The alias value of the Object Lambda Access Point.
" + } + }, + "Status": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAliasStatus", + "traits": { + "smithy.api#documentation": "The status of the Object Lambda Access Point alias. If the status is PROVISIONING, the Object Lambda Access Point\n is provisioning the alias and the alias is not ready for use yet. If the status is\n READY, the Object Lambda Access Point alias is successfully provisioned and ready for\n use.
The alias of an Object Lambda Access Point. For more information, see How to use a\n bucket-style alias for your S3 bucket Object Lambda Access Point.
" + } + }, + "com.amazonaws.s3control#ObjectLambdaAccessPointAliasStatus": { "type": "enum", "members": { - "READY": { + "PROVISIONING": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "READY" + "smithy.api#enumValue": "PROVISIONING" } }, - "INCONSISTENT_ACROSS_REGIONS": { + "READY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "INCONSISTENT_ACROSS_REGIONS" + "smithy.api#enumValue": "READY" } + } + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 16 + } + } + }, + "com.amazonaws.s3control#ObjectLambdaAccessPointAliasValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 }, - "CREATING": { + "smithy.api#pattern": "^[0-9a-z\\\\-]{3,63}$" + } + }, + "com.amazonaws.s3control#ObjectLambdaAccessPointArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[^:]+:s3-object-lambda:[^:]*:\\d{12}:accesspoint/" + } + }, + "com.amazonaws.s3control#ObjectLambdaAccessPointList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPoint", + "traits": { + "smithy.api#xmlName": "ObjectLambdaAccessPoint" + } + } + }, + "com.amazonaws.s3control#ObjectLambdaAccessPointName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 45 + }, + "smithy.api#pattern": "^[a-z0-9]([a-z0-9\\-]*[a-z0-9])?$" + } + }, + "com.amazonaws.s3control#ObjectLambdaAllowedFeature": { + "type": "enum", + "members": { + "GetObjectRange": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "CREATING" + "smithy.api#enumValue": "GetObject-Range" } }, - "PARTIALLY_CREATED": { + "GetObjectPartNumber": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PARTIALLY_CREATED" + "smithy.api#enumValue": "GetObject-PartNumber" } }, - "PARTIALLY_DELETED": { + "HeadObjectRange": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PARTIALLY_DELETED" + "smithy.api#enumValue": "HeadObject-Range" } }, - "DELETING": { + "HeadObjectPartNumber": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "DELETING" + "smithy.api#enumValue": "HeadObject-PartNumber" } } } }, - "com.amazonaws.s3control#MultiRegionAccessPointsAsyncResponse": { - "type": "structure", - "members": { - "Regions": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponseList", - "traits": { - "smithy.api#documentation": "A collection of status information for the different Regions that a Multi-Region Access Point\n supports.
" - } + "com.amazonaws.s3control#ObjectLambdaAllowedFeaturesList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ObjectLambdaAllowedFeature", + "traits": { + "smithy.api#xmlName": "AllowedFeature" } - }, - "traits": { - "smithy.api#documentation": "The Multi-Region Access Point details that are returned when querying about an asynchronous request.
" } }, - "com.amazonaws.s3control#NetworkOrigin": { - "type": "enum", + "com.amazonaws.s3control#ObjectLambdaConfiguration": { + "type": "structure", "members": { - "Internet": { - "target": "smithy.api#Unit", + "SupportingAccessPoint": { + "target": "com.amazonaws.s3control#ObjectLambdaSupportingAccessPointArn", "traits": { - "smithy.api#enumValue": "Internet" + "smithy.api#documentation": "Standard access point associated with the Object Lambda Access Point.
", + "smithy.api#required": {} } }, - "VPC": { - "target": "smithy.api#Unit", + "CloudWatchMetricsEnabled": { + "target": "com.amazonaws.s3control#Boolean", "traits": { - "smithy.api#enumValue": "VPC" + "smithy.api#default": false, + "smithy.api#documentation": "A container for whether the CloudWatch metrics configuration is enabled.
" } - } - } - }, - "com.amazonaws.s3control#NoSuchPublicAccessBlockConfiguration": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.s3control#NoSuchPublicAccessBlockConfigurationMessage" - } - }, - "traits": { - "smithy.api#documentation": "Amazon S3 throws this exception if you make a GetPublicAccessBlock request\n against an account that doesn't have a PublicAccessBlockConfiguration\n set.
A container for allowed features. Valid inputs are GetObject-Range,\n GetObject-PartNumber, HeadObject-Range, and\n HeadObject-PartNumber.
A container for transformation configurations for an Object Lambda Access Point.
", + "smithy.api#required": {} + } } - } - }, - "com.amazonaws.s3control#NonEmptyMaxLength1024StringList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String" - } - }, - "com.amazonaws.s3control#NonEmptyMaxLength2048String": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - } + "smithy.api#documentation": "A configuration used when creating an Object Lambda Access Point.
" } }, - "com.amazonaws.s3control#NonEmptyMaxLength256String": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 + "com.amazonaws.s3control#ObjectLambdaContentTransformation": { + "type": "union", + "members": { + "AwsLambda": { + "target": "com.amazonaws.s3control#AwsLambdaTransformation", + "traits": { + "smithy.api#documentation": "A container for an Lambda function.
" + } } + }, + "traits": { + "smithy.api#documentation": "A container for AwsLambdaTransformation.
" } }, - "com.amazonaws.s3control#NonEmptyMaxLength64String": { + "com.amazonaws.s3control#ObjectLambdaPolicy": { + "type": "string" + }, + "com.amazonaws.s3control#ObjectLambdaSupportingAccessPointArn": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 64 - } - } - }, - "com.amazonaws.s3control#NoncurrentVersionCount": { - "type": "integer", - "traits": { - "smithy.api#default": 0 + "max": 2048 + }, + "smithy.api#pattern": "^arn:[^:]+:s3:[^:]*:\\d{12}:accesspoint/" } }, - "com.amazonaws.s3control#NoncurrentVersionExpiration": { + "com.amazonaws.s3control#ObjectLambdaTransformationConfiguration": { "type": "structure", "members": { - "NoncurrentDays": { - "target": "com.amazonaws.s3control#Days", + "Actions": { + "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationActionsList", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates When an Object Became Noncurrent in the\n Amazon S3 User Guide.
" + "smithy.api#documentation": "A container for the action of an Object Lambda Access Point configuration. Valid inputs are\n GetObject, ListObjects, HeadObject, and\n ListObjectsV2.
Specifies how many noncurrent versions S3 on Outposts will retain. If there are this many\n more recent noncurrent versions, S3 on Outposts will take the associated action. For more\n information about noncurrent versions, see Lifecycle configuration\n elements in the Amazon S3 User Guide.
" + "smithy.api#documentation": "A container for the content transformation of an Object Lambda Access Point configuration.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "The container of the noncurrent version expiration.
" + "smithy.api#documentation": "A configuration used when creating an Object Lambda Access Point transformation.
" } }, - "com.amazonaws.s3control#NoncurrentVersionTransition": { - "type": "structure", + "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationAction": { + "type": "enum", "members": { - "NoncurrentDays": { - "target": "com.amazonaws.s3control#Days", + "GetObject": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates How Long an Object Has Been Noncurrent in the\n Amazon S3 User Guide.
" + "smithy.api#enumValue": "GetObject" } }, - "StorageClass": { - "target": "com.amazonaws.s3control#TransitionStorageClass", + "HeadObject": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The class of storage used to store the object.
" + "smithy.api#enumValue": "HeadObject" + } + }, + "ListObjects": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ListObjects" + } + }, + "ListObjectsV2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ListObjectsV2" } } - }, - "traits": { - "smithy.api#documentation": "The container for the noncurrent version transition.
" } }, - "com.amazonaws.s3control#NoncurrentVersionTransitionList": { + "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationActionsList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#NoncurrentVersionTransition", + "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationAction", "traits": { - "smithy.api#xmlName": "NoncurrentVersionTransition" + "smithy.api#xmlName": "Action" } } }, - "com.amazonaws.s3control#NotFoundException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.s3control#ExceptionMessage" + "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationsList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfiguration", + "traits": { + "smithy.api#xmlName": "TransformationConfiguration" } - }, + } + }, + "com.amazonaws.s3control#ObjectLockEnabledForBucket": { + "type": "boolean", "traits": { - "smithy.api#documentation": "", - "smithy.api#error": "client" + "smithy.api#default": false } }, - "com.amazonaws.s3control#NotSSEFilter": { - "type": "structure", - "members": {}, + "com.amazonaws.s3control#ObjectSizeGreaterThanBytes": { + "type": "long", "traits": { - "smithy.api#documentation": "A filter that returns objects that aren't server-side encrypted.
" + "smithy.api#default": 0 } }, - "com.amazonaws.s3control#ObjectAgeValue": { - "type": "integer", + "com.amazonaws.s3control#ObjectSizeLessThanBytes": { + "type": "long", "traits": { "smithy.api#default": 0 } }, - "com.amazonaws.s3control#ObjectCreationTime": { - "type": "timestamp" + "com.amazonaws.s3control#ObjectSizeValue": { + "type": "long", + "traits": { + "smithy.api#default": 0 + } }, - "com.amazonaws.s3control#ObjectEncryptionFilter": { - "type": "union", + "com.amazonaws.s3control#OperationName": { + "type": "enum", "members": { - "SSES3": { - "target": "com.amazonaws.s3control#SSES3Filter", + "LambdaInvoke": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Filters for objects that are encrypted by server-side encryption with Amazon S3 managed keys (SSE-S3).
", - "smithy.api#xmlName": "SSE-S3" + "smithy.api#enumValue": "LambdaInvoke" } }, - "SSEKMS": { - "target": "com.amazonaws.s3control#SSEKMSFilter", + "S3PutObjectCopy": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Filters for objects that are encrypted by server-side encryption with Amazon Web Services Key Management Service (KMS) keys (SSE-KMS).
", - "smithy.api#xmlName": "SSE-KMS" + "smithy.api#enumValue": "S3PutObjectCopy" } }, - "DSSEKMS": { - "target": "com.amazonaws.s3control#DSSEKMSFilter", + "S3PutObjectAcl": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Filters for objects that are encrypted by dual-layer server-side encryption with Amazon Web Services Key Management\n Service (KMS) keys (DSSE-KMS).
", - "smithy.api#xmlName": "DSSE-KMS" + "smithy.api#enumValue": "S3PutObjectAcl" } }, - "SSEC": { - "target": "com.amazonaws.s3control#SSECFilter", + "S3PutObjectTagging": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Filters for objects that are encrypted by server-side encryption with customer-provided keys (SSE-C).
", - "smithy.api#xmlName": "SSE-C" + "smithy.api#enumValue": "S3PutObjectTagging" } }, - "NOTSSE": { - "target": "com.amazonaws.s3control#NotSSEFilter", - "traits": { - "smithy.api#documentation": "Filters for objects that are not encrypted by server-side encryption.
", - "smithy.api#xmlName": "NOT-SSE" - } - } - }, - "traits": { - "smithy.api#documentation": "An optional filter for the \n S3JobManifestGenerator that identifies the subset of objects by encryption type. \n This filter is used to create an object list for S3 Batch Operations jobs. If provided, this filter will generate an object list \n that only includes objects with the specified encryption type.
The name of the Object Lambda Access Point.
", - "smithy.api#required": {} + "smithy.api#enumValue": "S3DeleteObjectTagging" } }, - "ObjectLambdaAccessPointArn": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointArn", + "S3InitiateRestoreObject": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Specifies the ARN for the Object Lambda Access Point.
" + "smithy.api#enumValue": "S3InitiateRestoreObject" } }, - "Alias": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAlias", + "S3PutObjectLegalHold": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The alias of the Object Lambda Access Point.
" + "smithy.api#enumValue": "S3PutObjectLegalHold" } - } - }, - "traits": { - "smithy.api#documentation": "An access point with an attached Lambda function used to access transformed data from an Amazon S3\n bucket.
" - } - }, - "com.amazonaws.s3control#ObjectLambdaAccessPointAlias": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAliasValue", + }, + "S3PutObjectRetention": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The alias value of the Object Lambda Access Point.
" + "smithy.api#enumValue": "S3PutObjectRetention" } }, - "Status": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointAliasStatus", + "S3ReplicateObject": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The status of the Object Lambda Access Point alias. If the status is PROVISIONING, the Object Lambda Access Point\n is provisioning the alias and the alias is not ready for use yet. If the status is\n READY, the Object Lambda Access Point alias is successfully provisioned and ready for\n use.
The alias of an Object Lambda Access Point. For more information, see How to use a\n bucket-style alias for your S3 bucket Object Lambda Access Point.
" - } - }, - "com.amazonaws.s3control#ObjectLambdaAccessPointAliasStatus": { - "type": "enum", - "members": { - "PROVISIONING": { + }, + "S3ComputeObjectChecksum": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "PROVISIONING" + "smithy.api#enumValue": "S3ComputeObjectChecksum" } }, - "READY": { + "S3UpdateObjectEncryption": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "READY" + "smithy.api#enumValue": "S3UpdateObjectEncryption" } } - }, - "traits": { - "smithy.api#length": { - "min": 2, - "max": 16 - } - } - }, - "com.amazonaws.s3control#ObjectLambdaAccessPointAliasValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 63 - }, - "smithy.api#pattern": "^[0-9a-z\\\\-]{3,63}$" } }, - "com.amazonaws.s3control#ObjectLambdaAccessPointArn": { + "com.amazonaws.s3control#Organization": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 2048 + "min": 12, + "max": 34 }, - "smithy.api#pattern": "^arn:[^:]+:s3-object-lambda:[^:]*:\\d{12}:accesspoint/" + "smithy.api#pattern": "^o-[a-z0-9]{10,32}$" } }, - "com.amazonaws.s3control#ObjectLambdaAccessPointList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPoint", - "traits": { - "smithy.api#xmlName": "ObjectLambdaAccessPoint" + "com.amazonaws.s3control#OutputSchemaVersion": { + "type": "enum", + "members": { + "V_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "V_1" + } } } }, - "com.amazonaws.s3control#ObjectLambdaAccessPointName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 45 - }, - "smithy.api#pattern": "^[a-z0-9]([a-z0-9\\-]*[a-z0-9])?$" - } - }, - "com.amazonaws.s3control#ObjectLambdaAllowedFeature": { + "com.amazonaws.s3control#OwnerOverride": { "type": "enum", "members": { - "GetObjectRange": { + "Destination": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "GetObject-Range" + "smithy.api#enumValue": "Destination" } - }, - "GetObjectPartNumber": { + } + } + }, + "com.amazonaws.s3control#Permission": { + "type": "enum", + "members": { + "READ": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "GetObject-PartNumber" + "smithy.api#enumValue": "READ" } }, - "HeadObjectRange": { + "WRITE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "HeadObject-Range" + "smithy.api#enumValue": "WRITE" } }, - "HeadObjectPartNumber": { + "READWRITE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "HeadObject-PartNumber" + "smithy.api#enumValue": "READWRITE" } } } }, - "com.amazonaws.s3control#ObjectLambdaAllowedFeaturesList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#ObjectLambdaAllowedFeature", - "traits": { - "smithy.api#xmlName": "AllowedFeature" + "com.amazonaws.s3control#Policy": { + "type": "string" + }, + "com.amazonaws.s3control#PolicyDocument": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 350000 } } }, - "com.amazonaws.s3control#ObjectLambdaConfiguration": { + "com.amazonaws.s3control#PolicyStatus": { "type": "structure", "members": { - "SupportingAccessPoint": { - "target": "com.amazonaws.s3control#ObjectLambdaSupportingAccessPointArn", - "traits": { - "smithy.api#documentation": "Standard access point associated with the Object Lambda Access Point.
", - "smithy.api#required": {} - } - }, - "CloudWatchMetricsEnabled": { - "target": "com.amazonaws.s3control#Boolean", + "IsPublic": { + "target": "com.amazonaws.s3control#IsPublic", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "A container for whether the CloudWatch metrics configuration is enabled.
" - } - }, - "AllowedFeatures": { - "target": "com.amazonaws.s3control#ObjectLambdaAllowedFeaturesList", - "traits": { - "smithy.api#documentation": "A container for allowed features. Valid inputs are GetObject-Range,\n GetObject-PartNumber, HeadObject-Range, and\n HeadObject-PartNumber.
Indicates whether this access point policy is public. For more information about how Amazon S3\n evaluates policies to determine whether they are public, see The Meaning of \"Public\" in the Amazon S3 User Guide.
" + } + }, + "com.amazonaws.s3control#Prefix": { + "type": "string" + }, + "com.amazonaws.s3control#PrefixLevel": { + "type": "structure", + "members": { + "StorageMetrics": { + "target": "com.amazonaws.s3control#PrefixLevelStorageMetrics", "traits": { - "smithy.api#documentation": "A container for transformation configurations for an Object Lambda Access Point.
", + "smithy.api#documentation": "A container for the prefix-level storage metrics for S3 Storage Lens.
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A configuration used when creating an Object Lambda Access Point.
" + "smithy.api#documentation": "A container for the prefix-level configuration.
" } }, - "com.amazonaws.s3control#ObjectLambdaContentTransformation": { - "type": "union", + "com.amazonaws.s3control#PrefixLevelStorageMetrics": { + "type": "structure", "members": { - "AwsLambda": { - "target": "com.amazonaws.s3control#AwsLambdaTransformation", + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", "traits": { - "smithy.api#documentation": "A container for an Lambda function.
" + "smithy.api#default": false, + "smithy.api#documentation": "A container for whether prefix-level storage metrics are enabled.
" } + }, + "SelectionCriteria": { + "target": "com.amazonaws.s3control#SelectionCriteria" } }, "traits": { - "smithy.api#documentation": "A container for AwsLambdaTransformation.
" + "smithy.api#documentation": "A container for the prefix-level storage metrics for S3 Storage Lens.
" } }, - "com.amazonaws.s3control#ObjectLambdaPolicy": { - "type": "string" + "com.amazonaws.s3control#PrefixesList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#Prefix", + "traits": { + "smithy.api#xmlName": "Prefix" + } + } }, - "com.amazonaws.s3control#ObjectLambdaSupportingAccessPointArn": { - "type": "string", + "com.amazonaws.s3control#Priority": { + "type": "integer", "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^arn:[^:]+:s3:[^:]*:\\d{12}:accesspoint/" + "smithy.api#default": 0 } }, - "com.amazonaws.s3control#ObjectLambdaTransformationConfiguration": { - "type": "structure", + "com.amazonaws.s3control#Privilege": { + "type": "enum", "members": { - "Actions": { - "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationActionsList", + "Minimal": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "A container for the action of an Object Lambda Access Point configuration. Valid inputs are\n GetObject, ListObjects, HeadObject, and\n ListObjectsV2.
A container for the content transformation of an Object Lambda Access Point configuration.
", - "smithy.api#required": {} + "smithy.api#enumValue": "Default" } } - }, - "traits": { - "smithy.api#documentation": "A configuration used when creating an Object Lambda Access Point transformation.
" } }, - "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationAction": { - "type": "enum", + "com.amazonaws.s3control#ProposedMultiRegionAccessPointPolicy": { + "type": "structure", "members": { - "GetObject": { - "target": "smithy.api#Unit", + "Policy": { + "target": "com.amazonaws.s3control#Policy", "traits": { - "smithy.api#enumValue": "GetObject" + "smithy.api#documentation": "The details of the proposed policy.
" } - }, - "HeadObject": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#documentation": "The proposed access control policy for the Multi-Region Access Point.
\nWhen you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.
" + } + }, + "com.amazonaws.s3control#PublicAccessBlockConfiguration": { + "type": "structure", + "members": { + "BlockPublicAcls": { + "target": "com.amazonaws.s3control#Setting", "traits": { - "smithy.api#enumValue": "HeadObject" + "smithy.api#default": false, + "smithy.api#documentation": "Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in\n this account. Setting this element to TRUE causes the following\n behavior:
\n PutBucketAcl and PutObjectAcl calls fail if the\n specified ACL is public.
PUT Object calls fail if the request includes a public ACL.
\nPUT Bucket calls fail if the request includes a public ACL.
\nEnabling this setting doesn't affect existing policies or ACLs.
\nThis property is not supported for Amazon S3 on Outposts.
", + "smithy.api#xmlName": "BlockPublicAcls" } }, - "ListObjects": { - "target": "smithy.api#Unit", + "IgnorePublicAcls": { + "target": "com.amazonaws.s3control#Setting", "traits": { - "smithy.api#enumValue": "ListObjects" + "smithy.api#default": false, + "smithy.api#documentation": "Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting\n this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this\n account and any objects that they contain.
Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n prevent new public ACLs from being set.
\nThis property is not supported for Amazon S3 on Outposts.
", + "smithy.api#xmlName": "IgnorePublicAcls" } }, - "ListObjectsV2": { - "target": "smithy.api#Unit", + "BlockPublicPolicy": { + "target": "com.amazonaws.s3control#Setting", "traits": { - "smithy.api#enumValue": "ListObjectsV2" - } - } - } - }, - "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationActionsList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationAction", - "traits": { - "smithy.api#xmlName": "Action" - } - } - }, - "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationsList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfiguration", - "traits": { - "smithy.api#xmlName": "TransformationConfiguration" + "smithy.api#default": false, + "smithy.api#documentation": "Specifies whether Amazon S3 should block public bucket policies for buckets in this account.\n Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy\n if the specified bucket policy allows public access.
Enabling this setting doesn't affect existing bucket policies.
\nThis property is not supported for Amazon S3 on Outposts.
", + "smithy.api#xmlName": "BlockPublicPolicy" + } + }, + "RestrictPublicBuckets": { + "target": "com.amazonaws.s3control#Setting", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "Specifies whether Amazon S3 should restrict public bucket policies for buckets in this\n account. Setting this element to TRUE restricts access to buckets with public\n policies to only Amazon Web Services service principals and authorized users within this\n account.
Enabling this setting doesn't affect previously stored bucket policies, except that\n public and cross-account access within any public bucket policy, including non-public\n delegation to specific accounts, is blocked.
\nThis property is not supported for Amazon S3 on Outposts.
", + "smithy.api#xmlName": "RestrictPublicBuckets" + } } + }, + "traits": { + "smithy.api#documentation": "The PublicAccessBlock configuration that you want to apply to this Amazon S3\n account. You can enable the configuration options in any combination. For more information\n about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.
This data type is not supported for Amazon S3 on Outposts.
" } }, - "com.amazonaws.s3control#ObjectLockEnabledForBucket": { + "com.amazonaws.s3control#PublicAccessBlockEnabled": { "type": "boolean", "traits": { "smithy.api#default": false } }, - "com.amazonaws.s3control#ObjectSizeGreaterThanBytes": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.s3control#ObjectSizeLessThanBytes": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.s3control#ObjectSizeValue": { - "type": "long", + "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyResult" + }, "traits": { - "smithy.api#default": 0 + "smithy.api#documentation": "Updates the resource policy of the S3 Access Grants instance.
\nYou must have the s3:PutAccessGrantsInstanceResourcePolicy permission to use this operation.
The Amazon Web Services account ID of the S3 Access Grants instance.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "S3PutObjectCopy": { - "target": "smithy.api#Unit", + "Policy": { + "target": "com.amazonaws.s3control#PolicyDocument", "traits": { - "smithy.api#enumValue": "S3PutObjectCopy" + "smithy.api#documentation": "The resource policy of the S3 Access Grants instance that you are updating.
", + "smithy.api#required": {} } }, - "S3PutObjectAcl": { - "target": "smithy.api#Unit", + "Organization": { + "target": "com.amazonaws.s3control#Organization", "traits": { - "smithy.api#enumValue": "S3PutObjectAcl" + "smithy.api#documentation": "The Organization of the resource policy of the S3 Access Grants instance.
" } - }, - "S3PutObjectTagging": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyResult": { + "type": "structure", + "members": { + "Policy": { + "target": "com.amazonaws.s3control#PolicyDocument", "traits": { - "smithy.api#enumValue": "S3PutObjectTagging" + "smithy.api#documentation": "The updated resource policy of the S3 Access Grants instance.
" } }, - "S3DeleteObjectTagging": { - "target": "smithy.api#Unit", + "Organization": { + "target": "com.amazonaws.s3control#Organization", "traits": { - "smithy.api#enumValue": "S3DeleteObjectTagging" + "smithy.api#documentation": "The Organization of the resource policy of the S3 Access Grants instance.
" } }, - "S3InitiateRestoreObject": { - "target": "smithy.api#Unit", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#enumValue": "S3InitiateRestoreObject" + "smithy.api#documentation": "The date and time when you created the S3 Access Grants instance resource policy.
" } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambda": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambdaRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "This operation is not supported by directory buckets.
\nReplaces configuration for an Object Lambda Access Point.
\nThe following actions are related to\n PutAccessPointConfigurationForObjectLambda:
The account ID for the account that owns the specified Object Lambda Access Point.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "S3ReplicateObject": { - "target": "smithy.api#Unit", + "Name": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", "traits": { - "smithy.api#enumValue": "S3ReplicateObject" + "smithy.api#documentation": "The name of the Object Lambda Access Point.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "S3ComputeObjectChecksum": { - "target": "smithy.api#Unit", + "Configuration": { + "target": "com.amazonaws.s3control#ObjectLambdaConfiguration", "traits": { - "smithy.api#enumValue": "S3ComputeObjectChecksum" + "smithy.api#documentation": "Object Lambda Access Point configuration document.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.s3control#Organization": { - "type": "string", + "com.amazonaws.s3control#PutAccessPointPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutAccessPointPolicyRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, "traits": { - "smithy.api#length": { - "min": 12, - "max": 34 + "smithy.api#documentation": "Associates an access policy with the specified access point. Each access point can have only one policy,\n so a request made to this API replaces any existing policy associated with the specified\n access point.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to PutAccessPointPolicy:
\n GetAccessPointPolicy\n
\nThis operation is not supported by directory buckets.
\nCreates or replaces resource policy for an Object Lambda Access Point. For an example policy, see Creating Object Lambda Access Points in the Amazon S3 User Guide.
\nThe following actions are related to\n PutAccessPointPolicyForObjectLambda:
The account ID for the account that owns the specified Object Lambda Access Point.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Name": { + "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "traits": { + "smithy.api#documentation": "The name of the Object Lambda Access Point.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Policy": { + "target": "com.amazonaws.s3control#ObjectLambdaPolicy", "traits": { - "smithy.api#enumValue": "Destination" + "smithy.api#documentation": "Object Lambda Access Point resource policy document.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.s3control#Permission": { - "type": "enum", + "com.amazonaws.s3control#PutAccessPointPolicyRequest": { + "type": "structure", "members": { - "READ": { - "target": "smithy.api#Unit", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#enumValue": "READ" + "smithy.api#documentation": "The Amazon Web Services account ID for owner of the bucket associated with the specified access point.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "WRITE": { - "target": "smithy.api#Unit", + "Name": { + "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#enumValue": "WRITE" + "smithy.api#documentation": "The name of the access point that you want to associate with the specified policy.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.
The policy that you want to apply to the specified access point. For more information about access point\n policies, see Managing data access with Amazon S3\n access points or Managing access to shared datasets in directory buckets with access points in the Amazon S3 User Guide.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.s3control#Policy": { - "type": "string" - }, - "com.amazonaws.s3control#PolicyDocument": { - "type": "string", + "com.amazonaws.s3control#PutAccessPointScope": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutAccessPointScopeRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 350000 + "smithy.api#documentation": "Creates or replaces the access point scope for a directory bucket. You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.
\nYou can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.
\nTo use this operation, you must have the permission to perform the\n s3express:PutAccessPointScope action.
For information about REST API errors, see REST error responses.
", + "smithy.api#http": { + "method": "PUT", + "uri": "/v20180820/accesspoint/{Name}/scope", + "code": 200 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + }, + "UseS3ExpressControlEndpoint": { + "value": true + } } } }, - "com.amazonaws.s3control#PolicyStatus": { + "com.amazonaws.s3control#PutAccessPointScopeRequest": { "type": "structure", "members": { - "IsPublic": { - "target": "com.amazonaws.s3control#IsPublic", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "", - "smithy.api#xmlName": "IsPublic" + "smithy.api#documentation": "\n The Amazon Web Services account ID that owns the access point with scope that you want to create or replace.\n
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } - } - }, - "traits": { - "smithy.api#documentation": "Indicates whether this access point policy is public. For more information about how Amazon S3\n evaluates policies to determine whether they are public, see The Meaning of \"Public\" in the Amazon S3 User Guide.
" - } - }, - "com.amazonaws.s3control#Prefix": { - "type": "string" - }, - "com.amazonaws.s3control#PrefixLevel": { - "type": "structure", - "members": { - "StorageMetrics": { - "target": "com.amazonaws.s3control#PrefixLevelStorageMetrics", + }, + "Name": { + "target": "com.amazonaws.s3control#AccessPointName", "traits": { - "smithy.api#documentation": "A container for the prefix-level storage metrics for S3 Storage Lens.
", + "smithy.api#documentation": "The name of the access point with the scope that you want to create or replace.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccessPointName" + } + } + }, + "Scope": { + "target": "com.amazonaws.s3control#Scope", + "traits": { + "smithy.api#documentation": "Object prefixes, API operations, or a combination of both.
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A container for the prefix-level configuration.
" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#PrefixLevelStorageMetrics": { - "type": "structure", - "members": { - "IsEnabled": { - "target": "com.amazonaws.s3control#IsEnabled", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "A container for whether prefix-level storage metrics are enabled.
" - } - }, - "SelectionCriteria": { - "target": "com.amazonaws.s3control#SelectionCriteria" - } + "com.amazonaws.s3control#PutBucketLifecycleConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutBucketLifecycleConfigurationRequest" + }, + "output": { + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "A container for the prefix-level storage metrics for S3 Storage Lens.
" - } - }, - "com.amazonaws.s3control#PrefixesList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#Prefix", - "traits": { - "smithy.api#xmlName": "Prefix" + "smithy.api#documentation": "This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a\n lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.\n
\nCreates a new lifecycle configuration for the S3 on Outposts bucket or replaces an\n existing lifecycle configuration. Outposts buckets only support lifecycle configurations\n that delete/expire objects after a certain period of time and abort incomplete multipart\n uploads.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to\n PutBucketLifecycleConfiguration:
The Amazon Web Services account ID of the Outposts bucket.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "Default": { - "target": "smithy.api#Unit", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#enumValue": "Default" + "smithy.api#documentation": "The name of the bucket for which to set the configuration.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } } - } - } - }, - "com.amazonaws.s3control#ProposedMultiRegionAccessPointPolicy": { - "type": "structure", - "members": { - "Policy": { - "target": "com.amazonaws.s3control#Policy", + }, + "LifecycleConfiguration": { + "target": "com.amazonaws.s3control#LifecycleConfiguration", "traits": { - "smithy.api#documentation": "The details of the proposed policy.
" + "smithy.api#documentation": "Container for lifecycle rules. You can add as many as 1,000 rules.
", + "smithy.api#httpPayload": {}, + "smithy.api#xmlName": "LifecycleConfiguration" } } }, "traits": { - "smithy.api#documentation": "The proposed access control policy for the Multi-Region Access Point.
\nWhen you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.
" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#PublicAccessBlockConfiguration": { + "com.amazonaws.s3control#PutBucketPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutBucketPolicyRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an\n S3 bucket, see PutBucketPolicy in the\n Amazon S3 API Reference.
\nApplies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.
\nIf you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the PutBucketPolicy\n permissions on the specified Outposts bucket and belong to the bucket owner's account in\n order to use this action.
If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.
As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.
\nFor more information about bucket policies, see Using Bucket Policies and User\n Policies.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to PutBucketPolicy:
\n GetBucketPolicy\n
\n\n DeleteBucketPolicy\n
\nSpecifies whether Amazon S3 should block public access control lists (ACLs) for buckets in\n this account. Setting this element to TRUE causes the following\n behavior:
\n PutBucketAcl and PutObjectAcl calls fail if the\n specified ACL is public.
PUT Object calls fail if the request includes a public ACL.
\nPUT Bucket calls fail if the request includes a public ACL.
\nEnabling this setting doesn't affect existing policies or ACLs.
\nThis property is not supported for Amazon S3 on Outposts.
", - "smithy.api#xmlName": "BlockPublicAcls" + "smithy.api#documentation": "The Amazon Web Services account ID of the Outposts bucket.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "IgnorePublicAcls": { - "target": "com.amazonaws.s3control#Setting", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting\n this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this\n account and any objects that they contain.
Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n prevent new public ACLs from being set.
\nThis property is not supported for Amazon S3 on Outposts.
", - "smithy.api#xmlName": "IgnorePublicAcls" + "smithy.api#documentation": "Specifies the bucket.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
Specifies whether Amazon S3 should block public bucket policies for buckets in this account.\n Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy\n if the specified bucket policy allows public access.
Enabling this setting doesn't affect existing bucket policies.
\nThis property is not supported for Amazon S3 on Outposts.
", - "smithy.api#xmlName": "BlockPublicPolicy" + "smithy.api#documentation": "Set this parameter to true to confirm that you want to remove your permissions to change\n this bucket policy in the future.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nSpecifies whether Amazon S3 should restrict public bucket policies for buckets in this\n account. Setting this element to TRUE restricts access to buckets with public\n policies to only Amazon Web Services service principals and authorized users within this\n account.
Enabling this setting doesn't affect previously stored bucket policies, except that\n public and cross-account access within any public bucket policy, including non-public\n delegation to specific accounts, is blocked.
\nThis property is not supported for Amazon S3 on Outposts.
", - "smithy.api#xmlName": "RestrictPublicBuckets" + "smithy.api#documentation": "The bucket policy as a JSON document.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "The PublicAccessBlock configuration that you want to apply to this Amazon S3\n account. You can enable the configuration options in any combination. For more information\n about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.
This data type is not supported for Amazon S3 on Outposts.
" - } - }, - "com.amazonaws.s3control#PublicAccessBlockEnabled": { - "type": "boolean", - "traits": { - "smithy.api#default": false + "smithy.api#input": {} } }, - "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicy": { + "com.amazonaws.s3control#PutBucketReplication": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyRequest" + "target": "com.amazonaws.s3control#PutBucketReplicationRequest" }, "output": { - "target": "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "Updates the resource policy of the S3 Access Grants instance.
\nYou must have the s3:PutAccessGrantsInstanceResourcePolicy\n permission to use this operation.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action creates an Amazon S3 on Outposts bucket's replication configuration. To create\n an S3 bucket's replication configuration, see PutBucketReplication\n in the Amazon S3 API Reference.
\nCreates a replication configuration or replaces an existing one. For information about\n S3 replication on Outposts configuration, see Replicating objects for\n S3 on Outposts in the Amazon S3 User Guide.
\nIt can take a while to propagate PUT or DELETE requests for\n a replication configuration to all S3 on Outposts systems. Therefore, the replication\n configuration that's returned by a GET request soon after a\n PUT or DELETE request might return a more recent result\n than what's on the Outpost. If an Outpost is offline, the delay in updating the\n replication configuration on that Outpost can be significant.
Specify the replication configuration in the request body. In the replication\n configuration, you provide the following information:
\nThe name of the destination bucket or buckets where you want S3 on Outposts to\n replicate objects
\nThe Identity and Access Management (IAM) role that S3 on Outposts can assume to replicate objects on\n your behalf
\nOther relevant information, such as replication rules
\nA replication configuration must include at least one rule and can contain a maximum of\n 100. Each rule identifies a subset of objects to replicate by filtering the objects in the\n source Outposts bucket. To choose additional subsets of objects to replicate, add a rule\n for each subset.
\nTo specify a subset of the objects in the source Outposts bucket to apply a replication\n rule to, add the Filter element as a child of the Rule element.\n You can filter objects based on an object key prefix, one or more object tags, or both.\n When you add the Filter element in the configuration, you must also add the\n following elements: DeleteMarkerReplication, Status, and\n Priority.
Using PutBucketReplication on Outposts requires that both the source and\n destination buckets must have versioning enabled. For information about enabling versioning\n on a bucket, see Managing S3 Versioning\n for your S3 on Outposts bucket.
For information about S3 on Outposts replication failure reasons, see Replication failure reasons in the Amazon S3 User Guide.
\n\n Handling Replication of Encrypted Objects\n
\nOutposts buckets are encrypted at all times. All the objects in the source Outposts\n bucket are encrypted and can be replicated. Also, all the replicas in the destination\n Outposts bucket are encrypted with the same encryption key as the objects in the source\n Outposts bucket.
\n\n Permissions\n
\nTo create a PutBucketReplication request, you must have\n s3-outposts:PutReplicationConfiguration permissions for the bucket. The\n Outposts bucket owner has this permission by default and can grant it to others. For more\n information about permissions, see Setting up IAM with\n S3 on Outposts and Managing access to\n S3 on Outposts buckets.
To perform this operation, the user or role must also have the\n iam:CreateRole and iam:PassRole permissions. For more\n information, see Granting a user permissions to\n pass a role to an Amazon Web Services service.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following operations are related to PutBucketReplication:
\n GetBucketReplication\n
\nThe Amazon Web Services account ID of the S3 Access Grants instance.
", + "smithy.api#documentation": "The Amazon Web Services account ID of the Outposts bucket.
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -18917,17 +22459,24 @@ } } }, - "Policy": { - "target": "com.amazonaws.s3control#PolicyDocument", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "The resource policy of the S3 Access Grants instance that you are updating.
", - "smithy.api#required": {} + "smithy.api#documentation": "Specifies the S3 on Outposts bucket to set the configuration for.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
The Organization of the resource policy of the S3 Access Grants instance.
" + "smithy.api#documentation": "", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "ReplicationConfiguration" } } }, @@ -18935,50 +22484,25 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#PutAccessGrantsInstanceResourcePolicyResult": { - "type": "structure", - "members": { - "Policy": { - "target": "com.amazonaws.s3control#PolicyDocument", - "traits": { - "smithy.api#documentation": "The updated resource policy of the S3 Access Grants instance.
" - } - }, - "Organization": { - "target": "com.amazonaws.s3control#Organization", - "traits": { - "smithy.api#documentation": "The Organization of the resource policy of the S3 Access Grants instance.
" - } - }, - "CreatedAt": { - "target": "com.amazonaws.s3control#CreationTimestamp", - "traits": { - "smithy.api#documentation": "The date and time when you created the S3 Access Grants instance resource policy.
" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambda": { + "com.amazonaws.s3control#PutBucketTagging": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambdaRequest" + "target": "com.amazonaws.s3control#PutBucketTaggingRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "This operation is not supported by directory buckets.
\nReplaces configuration for an Object Lambda Access Point.
\nThe following actions are related to\n PutAccessPointConfigurationForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see\n PutBucketTagging in the Amazon S3 API Reference.
\nSets the tags for an S3 on Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.
\nUse tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this,\n sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost\n of combined resources, organize your billing information according to resources with the\n same tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost allocation and\n tagging.
\nWithin a bucket, if you add a tag that has the same key as an existing tag, the new\n value overwrites the old value. For more information, see Using cost allocation in Amazon S3\n bucket tags.
\nTo use this action, you must have permissions to perform the\n s3-outposts:PutBucketTagging action. The Outposts bucket owner has this\n permission by default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing\n access permissions to your Amazon S3 resources.
\n PutBucketTagging has the following special errors:
Error code: InvalidTagError\n
Description: The tag provided was not a valid tag. This error can occur if\n the tag did not pass input validation. For information about tag restrictions,\n see \n User-Defined Tag Restrictions and \n Amazon Web Services-Generated Cost Allocation Tag Restrictions.
\nError code: MalformedXMLError\n
Description: The XML provided does not match the schema.
\nError code: OperationAbortedError \n
Description: A conflicting conditional action is currently in progress\n against this resource. Try again.
\nError code: InternalError\n
Description: The service was unable to apply the provided tag to the\n bucket.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to PutBucketTagging:
\n GetBucketTagging\n
\n\n DeleteBucketTagging\n
\nThe account ID for the account that owns the specified Object Lambda Access Point.
", + "smithy.api#documentation": "The Amazon Web Services account ID of the Outposts bucket.
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -19001,19 +22525,24 @@ } } }, - "Name": { - "target": "com.amazonaws.s3control#ObjectLambdaAccessPointName", + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "The name of the Object Lambda Access Point.
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the bucket.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
Object Lambda Access Point configuration document.
", - "smithy.api#required": {} + "smithy.api#documentation": "", + "smithy.api#httpPayload": {}, + "smithy.api#required": {}, + "smithy.api#xmlName": "Tagging" } } }, @@ -19021,24 +22550,25 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#PutAccessPointPolicy": { + "com.amazonaws.s3control#PutBucketVersioning": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#PutAccessPointPolicyRequest" + "target": "com.amazonaws.s3control#PutBucketVersioningRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "Associates an access policy with the specified access point. Each access point can have only one policy,\n so a request made to this API replaces any existing policy associated with the specified\n access point.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to PutAccessPointPolicy:
\n GetAccessPointPolicy\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation sets the versioning state\n for\n S3 on Outposts\n buckets\n only. To set the versioning state for an S3 bucket, see PutBucketVersioning in the Amazon S3 API Reference.
\nSets the versioning state for an S3 on Outposts bucket. With\n S3\n Versioning,\n you can save multiple distinct copies of your\n objects\n and recover from unintended user actions and application failures.
\nYou can set the versioning state to one of the following:
\n\n Enabled - Enables versioning for the objects in\n the bucket. All objects added to the bucket receive a unique version ID.
\n\n Suspended - Suspends versioning for the objects\n in the bucket. All objects added to the bucket receive the version ID\n null.
If you've never set versioning on your bucket, it has no versioning state. In that case,\n a \n GetBucketVersioning request does not return a versioning state value.
\nWhen you enable S3 Versioning, for each object in your bucket, you have a current\n version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle\n rules to expire noncurrent versions after a specified time period. For more information,\n see Creating and managing\n a lifecycle configuration for your S3 on Outposts bucket in the Amazon S3\n User Guide.
\nIf you have an object expiration lifecycle configuration in your non-versioned bucket\n and you want to maintain the same permanent delete behavior when you enable versioning, you\n must add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration\n will manage the deletes of the noncurrent object versions in the version-enabled bucket.\n For more information, see Versioning in the Amazon S3\n User Guide.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following operations are related to PutBucketVersioning for\n S3 on Outposts.
\n GetBucketVersioning\n
\nThe Amazon Web Services account ID of the S3 on Outposts bucket.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#BucketName", + "traits": { + "smithy.api#documentation": "The S3 on Outposts bucket to set the versioning state for.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "Bucket" + } + } + }, + "MFA": { + "target": "com.amazonaws.s3control#MFA", + "traits": { + "smithy.api#documentation": "The concatenation of the authentication device's serial number, a space, and the value\n that is displayed on your authentication device.
", + "smithy.api#httpHeader": "x-amz-mfa" + } + }, + "VersioningConfiguration": { + "target": "com.amazonaws.s3control#VersioningConfiguration", + "traits": { + "smithy.api#documentation": "The root-level tag for the VersioningConfiguration parameters.
This operation is not supported by directory buckets.
\nCreates or replaces resource policy for an Object Lambda Access Point. For an example policy, see Creating Object Lambda Access Points in the Amazon S3 User Guide.
\nThe following actions are related to\n PutAccessPointPolicyForObjectLambda:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Sets the supplied tag-set on an S3 Batch Operations job.
\nA tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending\n a PUT request against the tagging subresource that is associated with the job. To modify\n the existing tag set, you can either replace the existing tag set entirely, or make changes\n within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this operation to replace the tag set\n with the one you modified. For more information, see Controlling\n access and labeling jobs using tags in the Amazon S3 User Guide.
\nIf you send this request with an empty tag set, Amazon S3 deletes the existing\n tag set on the Batch Operations job. If you use this method, you are charged for a Tier\n 1 Request (PUT). For more information, see Amazon S3 pricing.
\nFor deleting existing tags for your Batch Operations job, a DeleteJobTagging request is preferred because it achieves the same\n result without incurring charges.
\nA few things to consider about using tags:
\nAmazon S3 limits the maximum number of tags to 50 tags per job.
\nYou can associate up to 50 tags with a job as long as they have unique\n tag keys.
\nA tag key can be up to 128 Unicode characters in length, and tag values\n can be up to 256 Unicode characters in length.
\nThe key and values are case sensitive.
\nFor tagging-related restrictions related to characters and encodings, see\n User-Defined Tag Restrictions in the Billing and Cost Management User Guide.
\nTo use the\n PutJobTagging operation, you must have permission to\n perform the s3:PutJobTagging action.
Related actions include:
\n\n CreateJob\n
\n\n GetJobTagging\n
\n\n DeleteJobTagging\n
\nThe account ID for the account that owns the specified Object Lambda Access Point.
", + "smithy.api#documentation": "The Amazon Web Services account ID associated with the S3 Batch Operations job.
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -19085,34 +22676,89 @@ "name": "AccountId" } } - }, + }, + "JobId": { + "target": "com.amazonaws.s3control#JobId", + "traits": { + "smithy.api#documentation": "The ID for the S3 Batch Operations job whose tags you want to replace.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.s3control#S3TagSet", + "traits": { + "smithy.api#documentation": "The set of tags to associate with the S3 Batch Operations job.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.s3control#PutJobTaggingResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#PutMultiRegionAccessPointPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyRequest" + }, + "output": { + "target": "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyResult" + }, + "traits": { + "smithy.api#documentation": "This operation is not supported by directory buckets.
\nAssociates an access control policy with the specified Multi-Region Access Point. Each Multi-Region Access Point can have only\n one policy, so a request made to this action replaces any existing policy that is\n associated with the specified Multi-Region Access Point.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to\n PutMultiRegionAccessPointPolicy:
The name of the Object Lambda Access Point.
", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "The name of the Multi-Region Access Point associated with the request.
", "smithy.api#required": {} } }, "Policy": { - "target": "com.amazonaws.s3control#ObjectLambdaPolicy", + "target": "com.amazonaws.s3control#Policy", "traits": { - "smithy.api#documentation": "Object Lambda Access Point resource policy document.
", + "smithy.api#documentation": "The policy details for the PutMultiRegionAccessPoint request.
A container for the information associated with a PutMultiRegionAccessPoint request.
" } }, - "com.amazonaws.s3control#PutAccessPointPolicyRequest": { + "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyRequest": { "type": "structure", "members": { "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID for owner of the bucket associated with the specified access point.
", + "smithy.api#documentation": "The Amazon Web Services account ID for the owner of the Multi-Region Access Point.
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -19121,21 +22767,18 @@ } } }, - "Name": { - "target": "com.amazonaws.s3control#AccessPointName", + "ClientToken": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", "traits": { - "smithy.api#documentation": "The name of the access point that you want to associate with the specified policy.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:. For example, to access the access point reports-ap through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.
An idempotency token used to identify the request and guarantee that requests are\n unique.
", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} } }, - "Policy": { - "target": "com.amazonaws.s3control#Policy", + "Details": { + "target": "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyInput", "traits": { - "smithy.api#documentation": "The policy that you want to apply to the specified access point. For more information about access point\n policies, see Managing data access with Amazon S3\n access points or Managing access to\n shared datasets in directory buckets with access points in the\n Amazon S3 User Guide.
", + "smithy.api#documentation": "A container element containing the details of the policy for the Multi-Region Access Point.
", "smithy.api#required": {} } } @@ -19144,38 +22787,61 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#PutAccessPointScope": { + "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyResult": { + "type": "structure", + "members": { + "RequestTokenARN": { + "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "traits": { + "smithy.api#documentation": "The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#PutPublicAccessBlock": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#PutAccessPointScopeRequest" + "target": "com.amazonaws.s3control#PutPublicAccessBlockRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "Creates or replaces the access point scope for a directory bucket. You can use the access point\n scope to restrict access to specific prefixes, API operations, or a combination of\n both.
\nYou can specify any amount of prefixes, but the total length of characters of all\n prefixes must be less than 256 bytes in size.
\nTo use this operation, you must have the permission to perform the\n s3express:PutAccessPointScope\n action.
For information about REST API errors, see REST error responses.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
This operation is not supported by directory buckets.
\nCreates or modifies the PublicAccessBlock configuration for an\n Amazon Web Services account. This operation may be restricted when the account is managed by\n organization-level Block Public Access policies. You might get an Access Denied (403) error\n when the account is managed by organization-level Block Public Access policies.\n Organization-level policies override account-level settings, preventing direct\n account-level modifications. For this operation, users must have the\n s3:PutAccountPublicAccessBlock permission. For more information, see \n Using Amazon S3 block public access.
Related actions include:
\n\n GetPublicAccessBlock\n
\nThe PublicAccessBlock configuration that you want to apply to the specified\n Amazon Web Services account.
The Amazon Web Services account ID that owns the access point with scope that you want to create or replace.\n
", + "smithy.api#documentation": "The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to set.
The name of the access point with the scope that you want to create or replace.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccessPointName" - } - } - }, - "Scope": { - "target": "com.amazonaws.s3control#Scope", - "traits": { - "smithy.api#documentation": "Object prefixes, API operations, or a combination of both.
", - "smithy.api#required": {} - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.s3control#PutBucketLifecycleConfiguration": { + "com.amazonaws.s3control#PutStorageLensConfiguration": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#PutBucketLifecycleConfigurationRequest" + "target": "com.amazonaws.s3control#PutStorageLensConfigurationRequest" }, "output": { "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a\n lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.\n
\nCreates a new lifecycle configuration for the S3 on Outposts bucket or replaces an\n existing lifecycle configuration. Outposts buckets only support lifecycle configurations\n that delete/expire objects after a certain period of time and abort incomplete multipart\n uploads.
\n \nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to\n PutBucketLifecycleConfiguration:
This operation is not supported by directory buckets.
\nPuts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with\n Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
The ID of the S3 Storage Lens configuration.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID of the Outposts bucket.
", + "smithy.api#documentation": "The account ID of the requester.
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -19248,23 +22903,17 @@ } } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "StorageLensConfiguration": { + "target": "com.amazonaws.s3control#StorageLensConfiguration", "traits": { - "smithy.api#documentation": "The name of the bucket for which to set the configuration.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } + "smithy.api#documentation": "The S3 Storage Lens configuration.
", + "smithy.api#required": {} } }, - "LifecycleConfiguration": { - "target": "com.amazonaws.s3control#LifecycleConfiguration", + "Tags": { + "target": "com.amazonaws.s3control#StorageLensTags", "traits": { - "smithy.api#documentation": "Container for lifecycle rules. You can add as many as 1,000 rules.
", - "smithy.api#httpPayload": {}, - "smithy.api#xmlName": "LifecycleConfiguration" + "smithy.api#documentation": "The tag set of the S3 Storage Lens configuration.
\nYou can set up to a maximum of 50 tags.
\nThis action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an\n S3 bucket, see PutBucketPolicy in the\n Amazon S3 API Reference.
\nApplies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.
\nIf you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the PutBucketPolicy\n permissions on the specified Outposts bucket and belong to the bucket owner's account in\n order to use this action.
If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.
As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.
\nFor more information about bucket policies, see Using Bucket Policies and User\n Policies.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to PutBucketPolicy:
\n GetBucketPolicy\n
\n\n DeleteBucketPolicy\n
\nThis operation is not supported by directory buckets.
\nPut or replace tags on an existing Amazon S3 Storage Lens configuration. For more information\n about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:PutStorageLensConfigurationTagging action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
The ID of the S3 Storage Lens configuration.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID of the Outposts bucket.
", + "smithy.api#documentation": "The account ID of the requester.
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -19313,2905 +22969,3167 @@ } } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "Tags": { + "target": "com.amazonaws.s3control#StorageLensTags", "traits": { - "smithy.api#documentation": "Specifies the bucket.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
The tag set of the S3 Storage Lens configuration.
\nYou can set up to a maximum of 50 tags.
\nSet this parameter to true to confirm that you want to remove your permissions to change\n this bucket policy in the future.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nThe name of the associated bucket for the Region.
", + "smithy.api#required": {} } }, - "Policy": { - "target": "com.amazonaws.s3control#Policy", + "BucketAccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The bucket policy as a JSON document.
", - "smithy.api#required": {} + "smithy.api#documentation": "The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this\n Multi-Region Access Point.
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A Region that supports a Multi-Region Access Point as well as the associated bucket for the Region.
" } }, - "com.amazonaws.s3control#PutBucketReplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#PutBucketReplicationRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, + "com.amazonaws.s3control#RegionCreationList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#Region", + "traits": { + "smithy.api#xmlName": "Region" + } + } + }, + "com.amazonaws.s3control#RegionName": { + "type": "string", "traits": { - "smithy.api#documentation": "This action creates an Amazon S3 on Outposts bucket's replication configuration. To create\n an S3 bucket's replication configuration, see PutBucketReplication\n in the Amazon S3 API Reference.
\nCreates a replication configuration or replaces an existing one. For information about\n S3 replication on Outposts configuration, see Replicating objects for\n S3 on Outposts in the Amazon S3 User Guide.
\nIt can take a while to propagate PUT or DELETE requests for\n a replication configuration to all S3 on Outposts systems. Therefore, the replication\n configuration that's returned by a GET request soon after a\n PUT or DELETE request might return a more recent result\n than what's on the Outpost. If an Outpost is offline, the delay in updating the\n replication configuration on that Outpost can be significant.
Specify the replication configuration in the request body. In the replication\n configuration, you provide the following information:
\nThe name of the destination bucket or buckets where you want S3 on Outposts to\n replicate objects
\nThe Identity and Access Management (IAM) role that S3 on Outposts can assume to replicate objects on\n your behalf
\nOther relevant information, such as replication rules
\nA replication configuration must include at least one rule and can contain a maximum of\n 100. Each rule identifies a subset of objects to replicate by filtering the objects in the\n source Outposts bucket. To choose additional subsets of objects to replicate, add a rule\n for each subset.
\nTo specify a subset of the objects in the source Outposts bucket to apply a replication\n rule to, add the Filter element as a child of the Rule element.\n You can filter objects based on an object key prefix, one or more object tags, or both.\n When you add the Filter element in the configuration, you must also add the\n following elements: DeleteMarkerReplication, Status, and\n Priority.
Using PutBucketReplication on Outposts requires that both the source and\n destination buckets must have versioning enabled. For information about enabling versioning\n on a bucket, see Managing S3 Versioning\n for your S3 on Outposts bucket.
For information about S3 on Outposts replication failure reasons, see Replication failure reasons in the Amazon S3 User Guide.
\n\n Handling Replication of Encrypted Objects\n
\nOutposts buckets are encrypted at all times. All the objects in the source Outposts\n bucket are encrypted and can be replicated. Also, all the replicas in the destination\n Outposts bucket are encrypted with the same encryption key as the objects in the source\n Outposts bucket.
\n\n Permissions\n
\nTo create a PutBucketReplication request, you must have\n s3-outposts:PutReplicationConfiguration permissions for the bucket. The\n Outposts bucket owner has this permission by default and can grant it to others. For more\n information about permissions, see Setting up IAM with\n S3 on Outposts and Managing access to\n S3 on Outposts buckets.
To perform this operation, the user or role must also have the\n iam:CreateRole and iam:PassRole permissions. For more\n information, see Granting a user permissions to\n pass a role to an Amazon Web Services service.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following operations are related to PutBucketReplication:
\n GetBucketReplication\n
\nThe Amazon Web Services account ID of the Outposts bucket.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "Specifies the S3 on Outposts bucket to set the configuration for.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
The name of the bucket.
" } }, - "ReplicationConfiguration": { - "target": "com.amazonaws.s3control#ReplicationConfiguration", + "Region": { + "target": "com.amazonaws.s3control#RegionName", "traits": { - "smithy.api#documentation": "", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "ReplicationConfiguration" + "smithy.api#documentation": "The name of the Region.
" + } + }, + "BucketAccountId": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this\n Multi-Region Access Point.
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A combination of a bucket and Region that's part of a Multi-Region Access Point.
" } }, - "com.amazonaws.s3control#PutBucketTagging": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#PutBucketTaggingRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see\n PutBucketTagging in the Amazon S3 API Reference.
\nSets the tags for an S3 on Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.
\nUse tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this,\n sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost\n of combined resources, organize your billing information according to resources with the\n same tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost allocation and\n tagging.
\nWithin a bucket, if you add a tag that has the same key as an existing tag, the new\n value overwrites the old value. For more information, see Using cost allocation in Amazon S3\n bucket tags.
\nTo use this action, you must have permissions to perform the\n s3-outposts:PutBucketTagging action. The Outposts bucket owner has this\n permission by default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing\n access permissions to your Amazon S3 resources.
\n PutBucketTagging has the following special errors:
Error code: InvalidTagError\n
Description: The tag provided was not a valid tag. This error can occur if\n the tag did not pass input validation. For information about tag restrictions,\n see \n User-Defined Tag Restrictions and \n Amazon Web Services-Generated Cost Allocation Tag Restrictions.
\nError code: MalformedXMLError\n
Description: The XML provided does not match the schema.
\nError code: OperationAbortedError \n
Description: A conflicting conditional action is currently in progress\n against this resource. Try again.
\nError code: InternalError\n
Description: The service was unable to apply the provided tag to the\n bucket.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to PutBucketTagging:
\n GetBucketTagging\n
\n\n DeleteBucketTagging\n
\nThe Amazon Web Services account ID of the Outposts bucket.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "", + "smithy.api#required": {} } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "BucketArn": { + "target": "com.amazonaws.s3control#S3RegionalBucketArn", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the bucket.
\nFor using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
\nFor using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
The Amazon Resource Name (ARN) for the regional bucket.
" } }, - "Tagging": { - "target": "com.amazonaws.s3control#Tagging", + "PublicAccessBlockEnabled": { + "target": "com.amazonaws.s3control#PublicAccessBlockEnabled", "traits": { + "smithy.api#default": false, "smithy.api#documentation": "", - "smithy.api#httpPayload": {}, - "smithy.api#required": {}, - "smithy.api#xmlName": "Tagging" + "smithy.api#required": {} + } + }, + "CreationDate": { + "target": "com.amazonaws.s3control#CreationDate", + "traits": { + "smithy.api#documentation": "The creation date of the regional bucket
", + "smithy.api#required": {} + } + }, + "OutpostId": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", + "traits": { + "smithy.api#documentation": "The Outposts ID of the regional bucket.
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "The container for the regional bucket.
" } }, - "com.amazonaws.s3control#PutBucketVersioning": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#PutBucketVersioningRequest" - }, - "output": { - "target": "smithy.api#Unit" + "com.amazonaws.s3control#RegionalBucketList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#RegionalBucket", + "traits": { + "smithy.api#xmlName": "RegionalBucket" + } + } + }, + "com.amazonaws.s3control#Regions": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#S3AWSRegion", + "traits": { + "smithy.api#xmlName": "Region" + } + } + }, + "com.amazonaws.s3control#ReplicaKmsKeyID": { + "type": "string" + }, + "com.amazonaws.s3control#ReplicaModifications": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.s3control#ReplicaModificationsStatus", + "traits": { + "smithy.api#documentation": "Specifies whether S3 on Outposts replicates modifications to object metadata on\n replicas.
", + "smithy.api#required": {} + } + } }, "traits": { - "smithy.api#documentation": "This operation sets the versioning state\n for\n S3 on Outposts\n buckets\n only. To set the versioning state for an S3 bucket, see PutBucketVersioning in the Amazon S3 API Reference.
\nSets the versioning state for an S3 on Outposts bucket. With\n S3\n Versioning,\n you can save multiple distinct copies of your\n objects\n and recover from unintended user actions and application failures.
\nYou can set the versioning state to one of the following:
\n\n Enabled - Enables versioning for the objects in\n the bucket. All objects added to the bucket receive a unique version ID.
\n\n Suspended - Suspends versioning for the objects\n in the bucket. All objects added to the bucket receive the version ID\n null.
If you've never set versioning on your bucket, it has no versioning state. In that case,\n a \n GetBucketVersioning request does not return a versioning state value.
\nWhen you enable S3 Versioning, for each object in your bucket, you have a current\n version and zero or more noncurrent versions. You can configure your bucket S3 Lifecycle\n rules to expire noncurrent versions after a specified time period. For more information,\n see Creating and managing\n a lifecycle configuration for your S3 on Outposts bucket in the Amazon S3\n User Guide.
\nIf you have an object expiration lifecycle configuration in your non-versioned bucket\n and you want to maintain the same permanent delete behavior when you enable versioning, you\n must add a noncurrent expiration policy. The noncurrent expiration lifecycle configuration\n will manage the deletes of the noncurrent object versions in the version-enabled bucket.\n For more information, see Versioning in the Amazon S3\n User Guide.
\nAll Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following operations are related to PutBucketVersioning for\n S3 on Outposts.
\n GetBucketVersioning\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
A filter that you can use to specify whether replica modification sync is enabled.\n S3 on Outposts replica modification sync can help you keep object metadata synchronized\n between replicas and source objects. By default, S3 on Outposts replicates metadata from the\n source objects to the replicas only. When replica modification sync is enabled,\n S3 on Outposts replicates metadata changes made to the replica copies back to the source\n object, making the replication bidirectional.
\nTo replicate object metadata modifications on replicas, you can specify this element and\n set the Status of this element to Enabled.
You must enable replica modification sync on the source and destination buckets to\n replicate replica metadata changes between the source and the replicas.
\nThe Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that S3 on Outposts assumes\n when replicating objects. For information about S3 replication on Outposts configuration,\n see Setting up\n replication in the Amazon S3 User Guide.
", + "smithy.api#required": {} + } }, - "smithy.api#httpChecksumRequired": {}, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true + "Rules": { + "target": "com.amazonaws.s3control#ReplicationRules", + "traits": { + "smithy.api#documentation": "A container for one or more replication rules. A replication configuration must have at\n least one rule and can contain an array of 100 rules at the most.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "A container for one or more replication rules. A replication configuration must have at\n least one rule and you can add up to 100 rules. The maximum size of a replication\n configuration is 128 KB.
" } }, - "com.amazonaws.s3control#PutBucketVersioningRequest": { + "com.amazonaws.s3control#ReplicationRule": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "ID": { + "target": "com.amazonaws.s3control#ID", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID of the S3 on Outposts bucket.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "A unique identifier for the rule. The maximum value is 255 characters.
" } }, - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "Priority": { + "target": "com.amazonaws.s3control#Priority", "traits": { - "smithy.api#documentation": "The S3 on Outposts bucket to set the versioning state for.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "Bucket" - } + "smithy.api#default": null, + "smithy.api#documentation": "The priority indicates which rule has precedence whenever two or more replication rules\n conflict. S3 on Outposts attempts to replicate objects according to all replication rules.\n However, if there are two or more rules with the same destination Outposts bucket, then\n objects will be replicated according to the rule with the highest priority. The higher the\n number, the higher the priority.
\nFor more information, see Creating replication\n rules on Outposts in the Amazon S3 User Guide.
" } }, - "MFA": { - "target": "com.amazonaws.s3control#MFA", + "Prefix": { + "target": "com.amazonaws.s3control#Prefix", "traits": { - "smithy.api#documentation": "The concatenation of the authentication device's serial number, a space, and the value\n that is displayed on your authentication device.
", - "smithy.api#httpHeader": "x-amz-mfa" + "smithy.api#deprecated": { + "message": "Prefix has been deprecated" + }, + "smithy.api#documentation": "An object key name prefix that identifies the object or objects to which the rule\n applies. The maximum prefix length is 1,024 characters. To include all objects in an\n Outposts bucket, specify an empty string.
\nWhen you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.
\nThe root-level tag for the VersioningConfiguration parameters.
A filter that identifies the subset of objects to which the replication rule applies. A\n Filter element must specify exactly one Prefix,\n Tag, or And child element.
Specifies whether the rule is enabled.
", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.s3control#PutJobTagging": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#PutJobTaggingRequest" - }, - "output": { - "target": "com.amazonaws.s3control#PutJobTaggingResult" - }, - "errors": [ - { - "target": "com.amazonaws.s3control#InternalServiceException" }, - { - "target": "com.amazonaws.s3control#NotFoundException" + "SourceSelectionCriteria": { + "target": "com.amazonaws.s3control#SourceSelectionCriteria", + "traits": { + "smithy.api#documentation": "A container that describes additional filters for identifying the source Outposts\n objects that you want to replicate. You can choose to enable or disable the replication of\n these objects.
" + } }, - { - "target": "com.amazonaws.s3control#TooManyRequestsException" + "ExistingObjectReplication": { + "target": "com.amazonaws.s3control#ExistingObjectReplication", + "traits": { + "smithy.api#documentation": "An optional configuration to replicate existing source bucket objects.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nSets the supplied tag-set on an S3 Batch Operations job.
\nA tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending\n a PUT request against the tagging subresource that is associated with the job. To modify\n the existing tag set, you can either replace the existing tag set entirely, or make changes\n within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this operation to replace the tag\n set with the one you modified. For more information, see Controlling\n access and labeling jobs using tags in the Amazon S3 User Guide.
\nIf you send this request with an empty tag set, Amazon S3 deletes the existing\n tag set on the Batch Operations job. If you use this method, you are charged for a Tier\n 1 Request (PUT). For more information, see Amazon S3 pricing.
\nFor deleting existing tags for your Batch Operations job, a DeleteJobTagging request is preferred because it achieves the same\n result without incurring charges.
\nA few things to consider about using tags:
\nAmazon S3 limits the maximum number of tags to 50 tags per job.
\nYou can associate up to 50 tags with a job as long as they have unique\n tag keys.
\nA tag key can be up to 128 Unicode characters in length, and tag values\n can be up to 256 Unicode characters in length.
\nThe key and values are case sensitive.
\nFor tagging-related restrictions related to characters and encodings, see\n User-Defined Tag Restrictions in the Billing and Cost Management User Guide.
\nTo use the PutJobTagging operation, you must have permission to\n perform the s3:PutJobTagging action.
Related actions include:
\n\n CreateJob\n
\n\n GetJobTagging\n
\n\n DeleteJobTagging\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
A container for information about the replication destination and its\n configurations.
", + "smithy.api#required": {} + } }, - "smithy.api#http": { - "method": "PUT", - "uri": "/v20180820/jobs/{JobId}/tagging", - "code": 200 + "DeleteMarkerReplication": { + "target": "com.amazonaws.s3control#DeleteMarkerReplication", + "traits": { + "smithy.api#documentation": "Specifies whether S3 on Outposts replicates delete markers. If you specify a\n Filter element in your replication configuration, you must also include a\n DeleteMarkerReplication element. If your Filter includes a\n Tag element, the DeleteMarkerReplication element's\n Status child element must be set to Disabled, because\n S3 on Outposts doesn't support replicating delete markers for tag-based rules.
For more information about delete marker replication, see How delete operations affect replication in the\n Amazon S3 User Guide.
" + } }, - "smithy.rules#staticContextParams": { - "RequiresAccountId": { - "value": true + "Bucket": { + "target": "com.amazonaws.s3control#BucketIdentifierString", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the access point for the source Outposts bucket that you want\n S3 on Outposts to replicate the objects from.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "Specifies which S3 on Outposts objects to replicate and where to store the\n replicas.
" } }, - "com.amazonaws.s3control#PutJobTaggingRequest": { + "com.amazonaws.s3control#ReplicationRuleAndOperator": { "type": "structure", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", - "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID associated with the S3 Batch Operations job.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "Prefix": { + "target": "com.amazonaws.s3control#Prefix", "traits": { - "smithy.api#documentation": "The ID for the S3 Batch Operations job whose tags you want to replace.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "An object key name prefix that identifies the subset of objects that the rule applies\n to.
" } }, "Tags": { "target": "com.amazonaws.s3control#S3TagSet", "traits": { - "smithy.api#documentation": "The set of tags to associate with the S3 Batch Operations job.
", - "smithy.api#required": {} + "smithy.api#documentation": "An array of tags that contain key and value pairs.
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A container for specifying rule filters. The filters determine the subset of objects to\n which the rule applies. This element is required only if you specify more than one filter.
\nFor example:
\nIf you specify both a Prefix and a Tag filter, wrap\n these filters in an And element.
If you specify a filter based on multiple tags, wrap the Tag elements\n in an And element.
This operation is not supported by directory buckets.
\nAssociates an access control policy with the specified Multi-Region Access Point. Each Multi-Region Access Point can have only\n one policy, so a request made to this action replaces any existing policy that is\n associated with the specified Multi-Region Access Point.
\nThis action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around working with Multi-Region Access Points, see Multi-Region Access Point\n restrictions and limitations in the Amazon S3 User Guide.
\nThe following actions are related to\n PutMultiRegionAccessPointPolicy:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
An object key name prefix that identifies the subset of objects that the rule applies\n to.
\nWhen you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.
\nA container for specifying rule filters. The filters determine the subset of objects\n that the rule applies to. This element is required only if you specify more than one\n filter. For example:
\nIf you specify both a Prefix and a Tag filter, wrap\n these filters in an And element.
If you specify a filter based on multiple tags, wrap the Tag elements\n in an And element.
A filter that identifies the subset of objects to which the replication rule applies. A\n Filter element must specify exactly one Prefix,\n Tag, or And child element.
The name of the Multi-Region Access Point associated with the request.
", - "smithy.api#required": {} + "smithy.api#enumValue": "Enabled" } }, - "Policy": { - "target": "com.amazonaws.s3control#Policy", + "Disabled": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The policy details for the PutMultiRegionAccessPoint request.
A container for the information associated with a PutMultiRegionAccessPoint request.
" } }, - "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyRequest": { - "type": "structure", + "com.amazonaws.s3control#ReplicationRules": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ReplicationRule", + "traits": { + "smithy.api#xmlName": "Rule" + } + } + }, + "com.amazonaws.s3control#ReplicationStatus": { + "type": "enum", "members": { - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "COMPLETED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID for the owner of the Multi-Region Access Point.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#enumValue": "COMPLETED" } }, - "ClientToken": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", + "FAILED": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "An idempotency token used to identify the request and guarantee that requests are\n unique.
", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} + "smithy.api#enumValue": "FAILED" } }, - "Details": { - "target": "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyInput", + "REPLICA": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "A container element containing the details of the policy for the Multi-Region Access Point.
", - "smithy.api#required": {} + "smithy.api#enumValue": "REPLICA" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" } } - }, - "traits": { - "smithy.api#input": {} } }, - "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyResult": { - "type": "structure", + "com.amazonaws.s3control#ReplicationStatusFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ReplicationStatus" + } + }, + "com.amazonaws.s3control#ReplicationStorageClass": { + "type": "enum", "members": { - "RequestTokenARN": { - "target": "com.amazonaws.s3control#AsyncRequestTokenARN", + "STANDARD": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.
" + "smithy.api#enumValue": "STANDARD" } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.s3control#PutPublicAccessBlock": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#PutPublicAccessBlockRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "traits": { - "smithy.api#documentation": "This operation is not supported by directory buckets.
\nCreates or modifies the PublicAccessBlock configuration for an\n Amazon Web Services account. For this operation, users must have the\n s3:PutAccountPublicAccessBlock permission. For more information, see \n Using Amazon S3 block public access.
Related actions include:
\n\n GetPublicAccessBlock\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The PublicAccessBlock configuration that you want to apply to the specified\n Amazon Web Services account.
The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to set.
This operation is not supported by directory buckets.
\nPuts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with\n Amazon S3 Storage Lens in the Amazon S3 User Guide. For a complete list of S3 Storage Lens metrics, see S3 Storage Lens metrics glossary in the Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The ID of the S3 Storage Lens configuration.
", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "Specifies whether S3 Replication Time Control (S3 RTC) is enabled.
", "smithy.api#required": {} } }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", - "traits": { - "smithy.api#documentation": "The account ID of the requester.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "StorageLensConfiguration": { - "target": "com.amazonaws.s3control#StorageLensConfiguration", + "Time": { + "target": "com.amazonaws.s3control#ReplicationTimeValue", "traits": { - "smithy.api#documentation": "The S3 Storage Lens configuration.
", + "smithy.api#documentation": "A container that specifies the time by which replication should be complete for all\n objects and operations on objects.
", "smithy.api#required": {} } - }, - "Tags": { - "target": "com.amazonaws.s3control#StorageLensTags", - "traits": { - "smithy.api#documentation": "The tag set of the S3 Storage Lens configuration.
\nYou can set up to a maximum of 50 tags.
\nA container that specifies S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC\n is enabled and the time when all objects and operations on objects must be\n replicated.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nThis operation is not supported by directory buckets.
\nPut or replace tags on an existing Amazon S3 Storage Lens configuration. For more information\n about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.
\nTo use this action, you must have permission to perform the\n s3:PutStorageLensConfigurationTagging action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The ID of the S3 Storage Lens configuration.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", - "traits": { - "smithy.api#documentation": "The account ID of the requester.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "Tags": { - "target": "com.amazonaws.s3control#StorageLensTags", + "Minutes": { + "target": "com.amazonaws.s3control#Minutes", "traits": { - "smithy.api#documentation": "The tag set of the S3 Storage Lens configuration.
\nYou can set up to a maximum of 50 tags.
\nContains an integer that specifies the time period in minutes.
\nValid value: 15
" } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A container that specifies the time value for S3 Replication Time Control (S3 RTC). This value is also used for\n the replication metrics EventThreshold element.
This is not supported by Amazon S3 on Outposts buckets.
\nThe name of the associated bucket for the Region.
", - "smithy.api#required": {} + "smithy.api#enumValue": "Cancelled" } }, - "BucketAccountId": { - "target": "com.amazonaws.s3control#AccountId", + "Ready": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this\n Multi-Region Access Point.
" + "smithy.api#enumValue": "Ready" } } - }, - "traits": { - "smithy.api#documentation": "A Region that supports a Multi-Region Access Point as well as the associated bucket for the Region.
" } }, - "com.amazonaws.s3control#RegionCreationList": { + "com.amazonaws.s3control#Role": { + "type": "string" + }, + "com.amazonaws.s3control#RouteList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#Region", + "target": "com.amazonaws.s3control#MultiRegionAccessPointRoute", "traits": { - "smithy.api#xmlName": "Region" + "smithy.api#xmlName": "Route" } } }, - "com.amazonaws.s3control#RegionName": { + "com.amazonaws.s3control#S3AWSRegion": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 64 - } + "min": 5, + "max": 30 + }, + "smithy.api#pattern": "^[a-z0-9\\-]+$" } }, - "com.amazonaws.s3control#RegionReport": { + "com.amazonaws.s3control#S3AccessControlList": { "type": "structure", "members": { - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "Owner": { + "target": "com.amazonaws.s3control#S3ObjectOwner", "traits": { - "smithy.api#documentation": "The name of the bucket.
" + "smithy.api#documentation": "", + "smithy.api#required": {} } }, - "Region": { - "target": "com.amazonaws.s3control#RegionName", + "Grants": { + "target": "com.amazonaws.s3control#S3GrantList", "traits": { - "smithy.api#documentation": "The name of the Region.
" + "smithy.api#documentation": "" + } + } + }, + "traits": { + "smithy.api#documentation": "" + } + }, + "com.amazonaws.s3control#S3AccessControlPolicy": { + "type": "structure", + "members": { + "AccessControlList": { + "target": "com.amazonaws.s3control#S3AccessControlList", + "traits": { + "smithy.api#documentation": "" } }, - "BucketAccountId": { - "target": "com.amazonaws.s3control#AccountId", + "CannedAccessControlList": { + "target": "com.amazonaws.s3control#S3CannedAccessControlList", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID that owns the Amazon S3 bucket that's associated with this\n Multi-Region Access Point.
" + "smithy.api#documentation": "" } } }, "traits": { - "smithy.api#documentation": "A combination of a bucket and Region that's part of a Multi-Region Access Point.
" + "smithy.api#documentation": "" } }, - "com.amazonaws.s3control#RegionReportList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#RegionReport", - "traits": { - "smithy.api#xmlName": "Region" + "com.amazonaws.s3control#S3AccessPointArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 4, + "max": 128 } } }, - "com.amazonaws.s3control#RegionalBucket": { + "com.amazonaws.s3control#S3BucketArnString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^arn:[^:]+:s3:" + } + }, + "com.amazonaws.s3control#S3BucketDestination": { "type": "structure", "members": { - "Bucket": { - "target": "com.amazonaws.s3control#BucketName", + "Format": { + "target": "com.amazonaws.s3control#Format", "traits": { "smithy.api#documentation": "", "smithy.api#required": {} } }, - "BucketArn": { - "target": "com.amazonaws.s3control#S3RegionalBucketArn", + "OutputSchemaVersion": { + "target": "com.amazonaws.s3control#OutputSchemaVersion", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) for the regional bucket.
" + "smithy.api#documentation": "The schema version of the export file.
", + "smithy.api#required": {} } }, - "PublicAccessBlockEnabled": { - "target": "com.amazonaws.s3control#PublicAccessBlockEnabled", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "", + "smithy.api#documentation": "The account ID of the owner of the S3 Storage Lens metrics export bucket.
", "smithy.api#required": {} } }, - "CreationDate": { - "target": "com.amazonaws.s3control#CreationDate", + "Arn": { + "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#documentation": "The creation date of the regional bucket
", + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the bucket. This property is read-only and follows the\n following format: \n arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name\n \n
The Outposts ID of the regional bucket.
" + "smithy.api#documentation": "The prefix of the destination bucket where the metrics export will be delivered.
" + } + }, + "Encryption": { + "target": "com.amazonaws.s3control#StorageLensDataExportEncryption", + "traits": { + "smithy.api#documentation": "The container for the type encryption of the metrics exports in this bucket.
" } } }, "traits": { - "smithy.api#documentation": "The container for the regional bucket.
" - } - }, - "com.amazonaws.s3control#RegionalBucketList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#RegionalBucket", - "traits": { - "smithy.api#xmlName": "RegionalBucket" - } - } - }, - "com.amazonaws.s3control#Regions": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#S3AWSRegion", - "traits": { - "smithy.api#xmlName": "Region" - } + "smithy.api#documentation": "A container for the bucket where the Amazon S3 Storage Lens metrics export files are\n located.
" } }, - "com.amazonaws.s3control#ReplicaKmsKeyID": { - "type": "string" - }, - "com.amazonaws.s3control#ReplicaModifications": { - "type": "structure", + "com.amazonaws.s3control#S3CannedAccessControlList": { + "type": "enum", "members": { - "Status": { - "target": "com.amazonaws.s3control#ReplicaModificationsStatus", + "PRIVATE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Specifies whether S3 on Outposts replicates modifications to object metadata on\n replicas.
", - "smithy.api#required": {} + "smithy.api#enumValue": "private" + } + }, + "PUBLIC_READ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "public-read" + } + }, + "PUBLIC_READ_WRITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "public-read-write" + } + }, + "AWS_EXEC_READ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "aws-exec-read" + } + }, + "AUTHENTICATED_READ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "authenticated-read" + } + }, + "BUCKET_OWNER_READ": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "bucket-owner-read" + } + }, + "BUCKET_OWNER_FULL_CONTROL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "bucket-owner-full-control" } } - }, - "traits": { - "smithy.api#documentation": "A filter that you can use to specify whether replica modification sync is enabled.\n S3 on Outposts replica modification sync can help you keep object metadata synchronized\n between replicas and source objects. By default, S3 on Outposts replicates metadata from the\n source objects to the replicas only. When replica modification sync is enabled,\n S3 on Outposts replicates metadata changes made to the replica copies back to the source\n object, making the replication bidirectional.
\nTo replicate object metadata modifications on replicas, you can specify this element and\n set the Status of this element to Enabled.
You must enable replica modification sync on the source and destination buckets to\n replicate replica metadata changes between the source and the replicas.
\nThe Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that S3 on Outposts assumes\n when replicating objects. For information about S3 replication on Outposts configuration,\n see Setting up\n replication in the Amazon S3 User Guide.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates the algorithm that you want Amazon S3 to use to create the checksum. For more information, see Checking object integrity in the Amazon S3 User Guide.
" } }, - "Rules": { - "target": "com.amazonaws.s3control#ReplicationRules", + "ChecksumType": { + "target": "com.amazonaws.s3control#ComputeObjectChecksumType", "traits": { - "smithy.api#documentation": "A container for one or more replication rules. A replication configuration must have at\n least one rule and can contain an array of 100 rules at the most.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates the checksum type that you want Amazon S3 to use to calculate the object's checksum value. For more information, see Checking object integrity in the Amazon S3 User Guide.
" } } }, "traits": { - "smithy.api#documentation": "A container for one or more replication rules. A replication configuration must have at\n least one rule and you can add up to 100 rules. The maximum size of a replication\n configuration is 128 KB.
" + "smithy.api#documentation": "Directs the specified job to invoke the ComputeObjectChecksum operation on every object listed in the job's manifest.
" } }, - "com.amazonaws.s3control#ReplicationRule": { + "com.amazonaws.s3control#S3ContentLength": { + "type": "long", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.s3control#S3CopyObjectOperation": { "type": "structure", "members": { - "ID": { - "target": "com.amazonaws.s3control#ID", + "TargetResource": { + "target": "com.amazonaws.s3control#S3RegionalOrS3ExpressBucketArnString", "traits": { - "smithy.api#documentation": "A unique identifier for the rule. The maximum value is 255 characters.
" + "smithy.api#documentation": "Specifies the destination bucket\n Amazon Resource Name\n (ARN)\n for the batch copy operation.
\n\n General purpose buckets - For example, to copy objects to a general purpose bucket named\n destinationBucket, set the TargetResource property to\n arn:aws:s3:::destinationBucket.
\n Directory buckets - For example, to copy objects to a directory bucket named\n destinationBucket in the Availability Zone identified by the AZ ID usw2-az1, set the TargetResource property to\n arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3. A directory bucket as a destination bucket can be in Availability Zone or Local Zone.
Copying objects across different Amazon Web Services Regions isn't supported when the source or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must have the same parent Amazon Web Services Region. Otherwise, \n you get an HTTP 400 Bad Request error with the error code InvalidRequest.
The priority indicates which rule has precedence whenever two or more replication rules\n conflict. S3 on Outposts attempts to replicate objects according to all replication rules.\n However, if there are two or more rules with the same destination Outposts bucket, then\n objects will be replicated according to the rule with the highest priority. The higher the\n number, the higher the priority.
\nFor more information, see Creating replication\n rules on Outposts in the Amazon S3 User Guide.
" + "smithy.api#documentation": "\nThis functionality is not supported by directory buckets.
\nAn object key name prefix that identifies the object or objects to which the rule\n applies. The maximum prefix length is 1,024 characters. To include all objects in an\n Outposts bucket, specify an empty string.
\nWhen you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.
\nThis functionality is not supported by directory buckets.
\nIf you don't provide this parameter, Amazon S3 copies all the metadata from the original\n objects. If you specify an empty set, the new objects will have no tags. Otherwise, Amazon S3\n assigns the supplied tags to the new objects.
" + } + }, + "NewObjectTagging": { + "target": "com.amazonaws.s3control#S3TagSet", + "traits": { + "smithy.api#documentation": "Specifies a list of tags to add to the destination objects after they are copied. \n If NewObjectTagging is not specified, the tags of the source objects are copied to destination objects by default.
\n Directory buckets - Tags aren't supported by directory buckets. \n If your source objects have tags and your destination bucket is a directory bucket, specify an empty tag set in the NewObjectTagging field \n to prevent copying the source object tags to the directory bucket.
If the destination bucket is configured as a website, specifies an optional metadata property for website redirects,\n x-amz-website-redirect-location. Allows webpage redirects if the object copy is\n accessed through a website endpoint.
This functionality is not supported by directory buckets.
\nThis functionality is not supported by directory buckets.
\nSpecify the storage class for the destination objects in a Copy operation.
\n Directory buckets - This functionality is not supported by directory buckets.
\nA filter that identifies the subset of objects to which the replication rule applies. A\n Filter element must specify exactly one Prefix,\n Tag, or And child element.
Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same\n account that's issuing the command, you must use the full Key ARN not the Key ID.
\n\n Directory buckets - If you specify SSEAlgorithm with KMS, you must specify the \n SSEAwsKmsKeyId parameter with the ID (Key ID or Key ARN) of the KMS \n symmetric encryption customer managed key to use. Otherwise, you get an HTTP 400 Bad Request error. The key alias format of the KMS key isn't supported. To encrypt new object copies in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). \n The Amazon Web Services managed key (aws/s3) isn't supported. Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. \nAfter you specify a customer managed key for SSE-KMS as the bucket default encryption, you can't override the customer managed key for the bucket's SSE-KMS configuration. \nThen, when you specify server-side encryption settings for new object copies with SSE-KMS, you must make sure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration. \n
Specifies whether the rule is enabled.
", - "smithy.api#required": {} + "smithy.api#documentation": "Specifies the folder prefix\n that\n you\n want\n the objects to be\n copied\n into. For example, to copy objects into a folder named\n Folder1 in the destination bucket, set the\n TargetKeyPrefix\n property\n to Folder1.
A container that describes additional filters for identifying the source Outposts\n objects that you want to replicate. You can choose to enable or disable the replication of\n these objects.
" + "smithy.api#documentation": "The legal hold status to be applied to all objects in the Batch Operations job.
\nThis functionality is not supported by directory buckets.
\nAn optional configuration to replicate existing source bucket objects.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nThe retention mode to be applied to all objects in the Batch Operations job.
\nThis functionality is not supported by directory buckets.
\nA container for information about the replication destination and its\n configurations.
", - "smithy.api#required": {} + "smithy.api#documentation": "The date when the applied object retention configuration expires on all objects in the\n Batch Operations job.
\nThis functionality is not supported by directory buckets.
\nSpecifies whether S3 on Outposts replicates delete markers. If you specify a\n Filter element in your replication configuration, you must also include a\n DeleteMarkerReplication element. If your Filter includes a\n Tag element, the DeleteMarkerReplication element's\n Status child element must be set to Disabled, because\n S3 on Outposts doesn't support replicating delete markers for tag-based rules.
For more information about delete marker replication, see How delete operations affect replication in the\n Amazon S3 User Guide.
" + "smithy.api#default": false, + "smithy.api#documentation": "Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with\n server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true\n causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
Specifying this header with an Copy action doesn’t affect\n bucket-level settings for S3 Bucket Key.
\n\n Directory buckets - S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through the Copy operation in Batch Operations. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.
\nThe Amazon Resource Name (ARN) of the access point for the source Outposts bucket that you want\n S3 on Outposts to replicate the objects from.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates the algorithm\n that\n you want Amazon S3 to use to create the checksum. For more\n information,\n see Checking object\n integrity in the Amazon S3 User Guide.
" } } }, "traits": { - "smithy.api#documentation": "Specifies which S3 on Outposts objects to replicate and where to store the\n replicas.
" + "smithy.api#documentation": "Contains\n the configuration parameters for a PUT Copy object operation. S3 Batch Operations passes every\n object to the underlying\n CopyObject\n API\n operation. For more information about the parameters for this operation,\n see CopyObject.
Contains no configuration parameters because the DELETE Object tagging\n (DeleteObjectTagging)\n API\n operation\n accepts\n only\n the bucket name and key name as parameters, which are defined in the\n job's manifest.
An object key name prefix that identifies the subset of objects that the rule applies\n to.
" + "smithy.api#documentation": "The format of the generated manifest.
" } }, - "Tags": { - "target": "com.amazonaws.s3control#S3TagSet", - "traits": { - "smithy.api#documentation": "An array of tags that contain key and value pairs.
" - } + "Location": { + "target": "com.amazonaws.s3control#JobManifestLocation" } }, "traits": { - "smithy.api#documentation": "A container for specifying rule filters. The filters determine the subset of objects to\n which the rule applies. This element is required only if you specify more than one filter.
\nFor example:
\nIf you specify both a Prefix and a Tag filter, wrap\n these filters in an And element.
If you specify a filter based on multiple tags, wrap the Tag elements\n in an And element.
Describes the specified job's generated manifest. Batch Operations jobs created with a\n ManifestGenerator populate details of this descriptor after execution of the\n ManifestGenerator.
" } }, - "com.amazonaws.s3control#ReplicationRuleFilter": { - "type": "structure", + "com.amazonaws.s3control#S3GlacierJobTier": { + "type": "enum", "members": { - "Prefix": { - "target": "com.amazonaws.s3control#Prefix", + "BULK": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "An object key name prefix that identifies the subset of objects that the rule applies\n to.
\nWhen you're using XML requests, you must \nreplace special characters (such as carriage returns) in object keys with their equivalent XML entity codes. \nFor more information, see \n XML-related object key constraints in the Amazon S3 User Guide.
\nA container for specifying rule filters. The filters determine the subset of objects\n that the rule applies to. This element is required only if you specify more than one\n filter. For example:
\nIf you specify both a Prefix and a Tag filter, wrap\n these filters in an And element.
If you specify a filter based on multiple tags, wrap the Tag elements\n in an And element.
A filter that identifies the subset of objects to which the replication rule applies. A\n Filter element must specify exactly one Prefix,\n Tag, or And child element.
This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive object remains\n available in Amazon S3. S3 Initiate Restore Object jobs that target S3 Glacier and S3 Glacier Deep Archive\n objects require ExpirationInDays set to 1 or greater.
Conversely, do not set ExpirationInDays when creating\n S3 Initiate Restore Object jobs that target S3 Intelligent-Tiering Archive Access and\n Deep Archive Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers are\n not subject to restore expiry, so specifying ExpirationInDays results in\n restore request failure.
S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier Deep Archive storage class\n objects or on S3 Intelligent-Tiering Archive Access and Deep Archive Access storage tier\n objects, but not both types in the same job. If you need to restore objects of both types\n you must create separate Batch Operations jobs.
" + } + }, + "GlacierJobTier": { + "target": "com.amazonaws.s3control#S3GlacierJobTier", + "traits": { + "smithy.api#documentation": "S3 Batch Operations supports STANDARD and BULK retrieval tiers, but\n not the EXPEDITED retrieval tier.
Contains the configuration parameters for\n a\n POST Object restore job. S3 Batch Operations passes every object to the\n underlying\n RestoreObject\n API\n operation. For more information about the parameters for this operation,\n see RestoreObject.
The Amazon Web Services account ID that owns the bucket the generated manifest is written to. If\n provided the generated manifest bucket's owner Amazon Web Services account ID must match this value, else\n the job fails.
" } }, - "REDUCED_REDUNDANCY": { - "target": "smithy.api#Unit", + "SourceBucket": { + "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#enumValue": "REDUCED_REDUNDANCY" + "smithy.api#documentation": "The ARN of the source bucket used by the ManifestGenerator.
\n\n Directory buckets - Directory buckets aren't supported \n as the source buckets used by S3JobManifestGenerator to generate the job manifest.
Specifies the location the generated manifest will be written to. Manifests can't be\n written to directory buckets. For more information, see Directory\n buckets.
" } }, - "ONEZONE_IA": { - "target": "smithy.api#Unit", + "Filter": { + "target": "com.amazonaws.s3control#JobManifestGeneratorFilter", "traits": { - "smithy.api#enumValue": "ONEZONE_IA" + "smithy.api#documentation": "Specifies rules the S3JobManifestGenerator should use to decide whether an object\n in the source bucket should or should not be included in the generated job manifest.
" } }, - "INTELLIGENT_TIERING": { - "target": "smithy.api#Unit", + "EnableManifestOutput": { + "target": "com.amazonaws.s3control#Boolean", "traits": { - "smithy.api#enumValue": "INTELLIGENT_TIERING" + "smithy.api#default": false, + "smithy.api#documentation": "Determines whether or not to write the job's generated manifest to a bucket.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The container for the service that will create the S3 manifest.
" + } + }, + "com.amazonaws.s3control#S3KeyArnString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + }, + "smithy.api#pattern": "^arn:[^:]+:s3:" + } + }, + "com.amazonaws.s3control#S3ManifestOutputLocation": { + "type": "structure", + "members": { + "ExpectedManifestBucketOwner": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "The Account ID that owns the bucket the generated manifest is written to.
" + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#S3BucketArnString", + "traits": { + "smithy.api#documentation": "The bucket ARN the generated manifest should be written to.
\n\n Directory buckets - Directory buckets aren't supported \n as the buckets to store the generated manifest.
\nPrefix identifying one or more objects to which the manifest applies.
" } }, - "DEEP_ARCHIVE": { - "target": "smithy.api#Unit", + "ManifestEncryption": { + "target": "com.amazonaws.s3control#GeneratedManifestEncryption", "traits": { - "smithy.api#enumValue": "DEEP_ARCHIVE" + "smithy.api#documentation": "Specifies what encryption should be used when the generated manifest objects are\n written.
" } }, - "OUTPOSTS": { + "ManifestFormat": { + "target": "com.amazonaws.s3control#GeneratedManifestFormat", + "traits": { + "smithy.api#documentation": "The format of the generated manifest.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Location details for where the generated manifest should be written.
" + } + }, + "com.amazonaws.s3control#S3MetadataDirective": { + "type": "enum", + "members": { + "COPY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "OUTPOSTS" + "smithy.api#enumValue": "COPY" } }, - "GLACIER_IR": { + "REPLACE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "GLACIER_IR" + "smithy.api#enumValue": "REPLACE" } } } }, - "com.amazonaws.s3control#ReplicationTime": { + "com.amazonaws.s3control#S3ObjectLockLegalHold": { "type": "structure", "members": { "Status": { - "target": "com.amazonaws.s3control#ReplicationTimeStatus", - "traits": { - "smithy.api#documentation": "Specifies whether S3 Replication Time Control (S3 RTC) is enabled.
", - "smithy.api#required": {} - } - }, - "Time": { - "target": "com.amazonaws.s3control#ReplicationTimeValue", + "target": "com.amazonaws.s3control#S3ObjectLockLegalHoldStatus", "traits": { - "smithy.api#documentation": "A container that specifies the time by which replication should be complete for all\n objects and operations on objects.
", + "smithy.api#documentation": "The Object Lock legal hold status to be applied to all objects in the Batch Operations\n job.
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A container that specifies S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC\n is enabled and the time when all objects and operations on objects must be\n replicated.
\nThis is not supported by Amazon S3 on Outposts buckets.
\nWhether S3 Object Lock legal hold will be applied to objects in an S3 Batch Operations\n job.
" } }, - "com.amazonaws.s3control#ReplicationTimeStatus": { + "com.amazonaws.s3control#S3ObjectLockLegalHoldStatus": { "type": "enum", "members": { - "Enabled": { + "OFF": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#enumValue": "OFF" } }, - "Disabled": { + "ON": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#enumValue": "ON" } } } }, - "com.amazonaws.s3control#ReplicationTimeValue": { - "type": "structure", + "com.amazonaws.s3control#S3ObjectLockMode": { + "type": "enum", "members": { - "Minutes": { - "target": "com.amazonaws.s3control#Minutes", + "COMPLIANCE": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "Contains an integer that specifies the time period in minutes.
\nValid value: 15
" + "smithy.api#enumValue": "COMPLIANCE" + } + }, + "GOVERNANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GOVERNANCE" } - } - }, - "traits": { - "smithy.api#documentation": "A container that specifies the time value for S3 Replication Time Control (S3 RTC). This value is also used for\n the replication metrics EventThreshold element.
This is not supported by Amazon S3 on Outposts buckets.
\nThe schema version of the export file.
", - "smithy.api#required": {} + "smithy.api#default": null, + "smithy.api#documentation": "\n This member has been deprecated.\n
\n " } }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "ContentMD5": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "The account ID of the owner of the S3 Storage Lens metrics export bucket.
", - "smithy.api#required": {} + "smithy.api#documentation": "\n This member has been deprecated.\n
\n " } }, - "Arn": { - "target": "com.amazonaws.s3control#S3BucketArnString", + "ContentType": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the bucket. This property is read-only and follows the\n following format: \n arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name\n \n
The prefix of the destination bucket where the metrics export will be delivered.
" + "smithy.api#documentation": "" } }, - "Encryption": { - "target": "com.amazonaws.s3control#StorageLensDataExportEncryption", + "RequesterCharged": { + "target": "com.amazonaws.s3control#Boolean", "traits": { - "smithy.api#documentation": "The container for the type encryption of the metrics exports in this bucket.
" + "smithy.api#default": false, + "smithy.api#documentation": "\n This member has been deprecated.\n
\n " + } + }, + "SSEAlgorithm": { + "target": "com.amazonaws.s3control#S3SSEAlgorithm", + "traits": { + "smithy.api#documentation": "The server-side encryption algorithm used when storing objects in Amazon S3.
\n\n Directory buckets - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (KMS). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For the Copy operation in Batch Operations, see S3CopyObjectOperation.
A container for the bucket where the Amazon S3 Storage Lens metrics export files are\n located.
" + "smithy.api#documentation": "" } }, - "com.amazonaws.s3control#S3CannedAccessControlList": { - "type": "enum", + "com.amazonaws.s3control#S3ObjectOwner": { + "type": "structure", "members": { - "PRIVATE": { - "target": "smithy.api#Unit", + "ID": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#enumValue": "private" + "smithy.api#documentation": "" } }, - "PUBLIC_READ": { - "target": "smithy.api#Unit", + "DisplayName": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#enumValue": "public-read" + "smithy.api#documentation": "" } - }, - "PUBLIC_READ_WRITE": { + } + }, + "traits": { + "smithy.api#documentation": "" + } + }, + "com.amazonaws.s3control#S3ObjectVersionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + } + } + }, + "com.amazonaws.s3control#S3Permission": { + "type": "enum", + "members": { + "FULL_CONTROL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "public-read-write" + "smithy.api#enumValue": "FULL_CONTROL" } }, - "AWS_EXEC_READ": { + "READ": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "aws-exec-read" + "smithy.api#enumValue": "READ" } }, - "AUTHENTICATED_READ": { + "WRITE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "authenticated-read" + "smithy.api#enumValue": "WRITE" } }, - "BUCKET_OWNER_READ": { + "READ_ACP": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "bucket-owner-read" + "smithy.api#enumValue": "READ_ACP" } }, - "BUCKET_OWNER_FULL_CONTROL": { + "WRITE_ACP": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "bucket-owner-full-control" + "smithy.api#enumValue": "WRITE_ACP" } } } }, - "com.amazonaws.s3control#S3ChecksumAlgorithm": { + "com.amazonaws.s3control#S3Prefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + }, + "smithy.api#pattern": "^.+$" + } + }, + "com.amazonaws.s3control#S3PrefixType": { "type": "enum", "members": { - "CRC32": { + "Object": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "CRC32" + "smithy.api#enumValue": "Object" } + } + } + }, + "com.amazonaws.s3control#S3RegionalBucketArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 4, + "max": 128 + } + } + }, + "com.amazonaws.s3control#S3RegionalOrS3ExpressBucketArnString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 }, - "CRC32C": { - "target": "smithy.api#Unit", + "smithy.api#pattern": "^arn:[^:]+:(s3|s3express):" + } + }, + "com.amazonaws.s3control#S3ReplicateObjectOperation": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Directs the specified job to invoke ReplicateObject on every object in the\n job's manifest.
The date when the applied Object Lock retention will expire on all objects set by the\n Batch Operations job.
" } }, - "SHA1": { - "target": "smithy.api#Unit", + "Mode": { + "target": "com.amazonaws.s3control#S3ObjectLockRetentionMode", "traits": { - "smithy.api#enumValue": "SHA1" + "smithy.api#documentation": "The Object Lock retention mode to be applied to all objects in the Batch Operations\n job.
" } - }, - "SHA256": { + } + }, + "traits": { + "smithy.api#documentation": "Contains the S3 Object Lock retention mode to be applied to all objects in the\n S3 Batch Operations job. If you don't provide Mode and RetainUntilDate\n data types in your operation, you will remove the retention from your objects. For more\n information, see Using S3 Object Lock retention\n with S3 Batch Operations in the Amazon S3 User Guide.
Indicates the algorithm that you want Amazon S3 to use to create the checksum. For more\n information, see Checking object\n integrity in the Amazon S3 User Guide.
" - } - }, - "ChecksumType": { - "target": "com.amazonaws.s3control#ComputeObjectChecksumType", + "AccessControlPolicy": { + "target": "com.amazonaws.s3control#S3AccessControlPolicy", "traits": { - "smithy.api#documentation": "Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum\n value. For more information, see Checking object\n integrity in the Amazon S3 User Guide.
" + "smithy.api#documentation": "" } } }, "traits": { - "smithy.api#documentation": "Directs the specified job to invoke the ComputeObjectChecksum operation on every object listed in the job's manifest.
Contains the configuration parameters for a\n PUT\n Object ACL operation. S3 Batch Operations passes every object to the underlying\n PutObjectAcl\n API\n operation. For more information about the parameters for this operation,\n see PutObjectAcl.
Contains the Object Lock legal hold status to be applied to all objects in the\n Batch Operations job.
", + "smithy.api#required": {} + } } + }, + "traits": { + "smithy.api#documentation": "Contains the configuration for an S3 Object Lock legal hold operation that an\n S3 Batch Operations job passes\n to\n every object to the underlying\n PutObjectLegalHold\n API\n operation. For more information, see Using S3 Object Lock legal hold\n with S3 Batch Operations in the Amazon S3 User Guide.
This functionality is not supported by directory buckets.
\nSpecifies the destination bucket\n Amazon Resource Name\n (ARN)\n for the batch copy operation.
\n\n General purpose buckets - For example, to copy\n objects to a general purpose bucket named destinationBucket, set the\n TargetResource property to\n arn:aws:s3:::destinationBucket.
\n Directory buckets - For example, to copy\n objects to a directory bucket named destinationBucket in the Availability Zone\n identified by the AZ ID usw2-az1, set the TargetResource\n property to\n arn:aws:s3express:region:account_id:/bucket/destination_bucket_base_name--usw2-az1--x-s3.\n A directory bucket as a destination bucket can be in Availability Zone or Local Zone.
Copying objects across different Amazon Web Services Regions isn't supported when the source\n or destination bucket is in Amazon Web Services Local Zones. The source and destination buckets must\n have the same parent Amazon Web Services Region. Otherwise, you get an HTTP 400 Bad\n Request error with the error code InvalidRequest.
This functionality is not supported by directory buckets.
\nThis functionality is not supported by directory buckets.
\nIndicates if the action should be applied to objects in the Batch Operations job even if they\n have Object Lock GOVERNANCE type in place.
Contains the Object Lock retention mode to be applied to all objects in the Batch Operations\n job. For more information, see Using S3 Object Lock retention\n with S3 Batch Operations in the Amazon S3 User Guide.
", + "smithy.api#required": {} } - }, - "ModifiedSinceConstraint": { - "target": "com.amazonaws.s3control#TimeStamp", + } + }, + "traits": { + "smithy.api#documentation": "Contains the configuration parameters for the Object Lock retention action for an\n S3 Batch Operations job. Batch Operations passes every object to the underlying\n PutObjectRetention\n API\n operation. For more information, see Using S3 Object Lock retention\n with S3 Batch Operations in the Amazon S3 User Guide.
This functionality is not supported by directory buckets.
\nContains the configuration parameters for a\n PUT\n Object Tagging operation. S3 Batch Operations passes every object to the underlying\n PutObjectTagging\n API\n operation. For more information about the parameters for this operation,\n see PutObjectTagging.
If you don't provide this parameter, Amazon S3 copies all the metadata from the original\n objects. If you specify an empty set, the new objects will have no tags. Otherwise, Amazon S3\n assigns the supplied tags to the new objects.
" + "smithy.api#enumValue": "STANDARD" } }, - "NewObjectTagging": { - "target": "com.amazonaws.s3control#S3TagSet", + "STANDARD_IA": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Specifies a list of tags to add to the destination objects after they are copied. If\n NewObjectTagging is not specified, the tags of the source objects are\n copied to destination objects by default.
\n Directory buckets - Tags aren't supported by\n directory buckets. If your source objects have tags and your destination bucket is a\n directory bucket, specify an empty tag set in the NewObjectTagging field\n to prevent copying the source object tags to the directory bucket.
If the destination bucket is configured as a website, specifies an optional metadata\n property for website redirects, x-amz-website-redirect-location. Allows\n webpage redirects if the object copy is accessed through a website endpoint.
This functionality is not supported by directory buckets.
\nThis functionality is not supported by directory buckets.
\nSpecify the storage class for the destination objects in a Copy\n operation.
\n Directory buckets -\n This functionality is not supported by directory buckets.
\nSpecifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same\n account that's issuing the command, you must use the full Key ARN not the Key ID.
\n\n Directory buckets - If you specify SSEAlgorithm with KMS, you must specify the \n SSEAwsKmsKeyId parameter with the ID (Key ID or Key ARN) of the KMS \n symmetric encryption customer managed key to use. Otherwise, you get an HTTP 400 Bad Request error. The key alias format of the KMS key isn't supported. To encrypt new object copies in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). \n The Amazon Web Services managed key (aws/s3) isn't supported. Your SSE-KMS configuration can only support 1 customer managed key per directory bucket for the lifetime of the bucket. \nAfter you specify a customer managed key for SSE-KMS as the bucket default encryption, you can't override the customer managed key for the bucket's SSE-KMS configuration. \nThen, when you specify server-side encryption settings for new object copies with SSE-KMS, you must make sure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration. \n
Specifies the folder prefix\n that\n you\n want\n the objects to be\n copied\n into. For example, to copy objects into a folder named\n Folder1 in the destination bucket, set the\n TargetKeyPrefix\n property\n to Folder1.
Key of the tag
", + "smithy.api#required": {} } }, - "ObjectLockLegalHoldStatus": { - "target": "com.amazonaws.s3control#S3ObjectLockLegalHoldStatus", + "Value": { + "target": "com.amazonaws.s3control#TagValueString", "traits": { - "smithy.api#documentation": "The legal hold status to be applied to all objects in the Batch Operations job.
\nThis functionality is not supported by directory buckets.
\nValue of the tag
", + "smithy.api#required": {} } - }, - "ObjectLockMode": { - "target": "com.amazonaws.s3control#S3ObjectLockMode", + } + }, + "traits": { + "smithy.api#documentation": "A container for a key-value name pair.
" + } + }, + "com.amazonaws.s3control#S3TagSet": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#S3Tag" + } + }, + "com.amazonaws.s3control#S3UpdateObjectEncryptionOperation": { + "type": "structure", + "members": { + "ObjectEncryption": { + "target": "com.amazonaws.s3control#ObjectEncryption", "traits": { - "smithy.api#documentation": "The retention mode to be applied to all objects in the Batch Operations job.
\nThis functionality is not supported by directory buckets.
\nThe updated server-side encryption type for this S3 object. The\n UpdateObjectEncryption operation supports the\n SSE-KMS encryption type.
With the UpdateObjectEncryption operation, you can atomically\n update the server-side encryption type of an existing object in a general\n purpose bucket without any data movement.
The date when the applied object retention configuration expires on all objects in the\n Batch Operations job.
\nThis functionality is not supported by directory buckets.
\nSpecifies the Amazon Web Services KMS key Amazon Resource Name (ARN) to use for the\n updated server-side encryption type. Required if UpdateObjectEncryption\n specifies SSEKMS.
Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with\n server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true\n causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
Specifying this header with an Copy action doesn’t affect\n bucket-level settings for S3 Bucket Key.
\n\n Directory buckets - S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through the Copy operation in Batch Operations. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.
\nIndicates the algorithm\n that\n you want Amazon S3 to use to create the checksum. For more\n information,\n see Checking object\n integrity in the Amazon S3 User Guide.
" + "smithy.api#default": null, + "smithy.api#documentation": "Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption\n with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). If this\n value isn't specified, it defaults to false. Setting this value\n to true causes Amazon S3 to use an S3 Bucket Key for update object\n encryption with SSE-KMS.
Contains\n the configuration parameters for a PUT Copy object operation. S3 Batch Operations passes every\n object to the underlying\n CopyObject\n API\n operation. For more information about the parameters for this operation,\n see CopyObject.
If SSEKMS is specified for UpdateObjectEncryption,\n this data type specifies the Amazon Web Services KMS key Amazon Resource Name (ARN) to use\n and whether to use an S3 Bucket Key for server-side encryption using \n Key Management Service (KMS) keys (SSE-KMS).
Contains no configuration parameters because the DELETE Object tagging\n (DeleteObjectTagging)\n API\n operation\n accepts\n only\n the bucket name and key name as parameters, which are defined in the\n job's manifest.
A filter that returns objects that are encrypted by server-side encryption with customer-provided keys (SSE-C).
" } }, - "com.amazonaws.s3control#S3GeneratedManifestDescriptor": { + "com.amazonaws.s3control#SSEKMS": { "type": "structure", "members": { - "Format": { - "target": "com.amazonaws.s3control#GeneratedManifestFormat", + "KeyId": { + "target": "com.amazonaws.s3control#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "The format of the generated manifest.
" + "smithy.api#documentation": "A container for the ARN of the SSE-KMS encryption. This property is read-only and\n follows the following format: \n arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e\n \n
Describes the specified job's generated manifest. Batch Operations jobs created with a\n ManifestGenerator populate details of this descriptor after execution of the\n ManifestGenerator.
" + "smithy.api#documentation": "", + "smithy.api#xmlName": "SSE-KMS" } }, - "com.amazonaws.s3control#S3GlacierJobTier": { - "type": "enum", + "com.amazonaws.s3control#SSEKMSEncryption": { + "type": "structure", "members": { - "BULK": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BULK" - } - }, - "STANDARD": { - "target": "smithy.api#Unit", + "KeyId": { + "target": "com.amazonaws.s3control#KmsKeyArnString", "traits": { - "smithy.api#enumValue": "STANDARD" + "smithy.api#documentation": "Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption\n customer managed key to use for encrypting generated manifest objects.
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#documentation": "Configuration for the use of SSE-KMS to encrypt generated manifest objects.
", + "smithy.api#xmlName": "SSE-KMS" } }, - "com.amazonaws.s3control#S3Grant": { + "com.amazonaws.s3control#SSEKMSFilter": { "type": "structure", "members": { - "Grantee": { - "target": "com.amazonaws.s3control#S3Grantee", + "KmsKeyArn": { + "target": "com.amazonaws.s3control#NonEmptyKmsKeyArnString", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the customer managed KMS key to use for the filter to return objects that are encrypted by the specified key. For best performance, use keys in the same Region as the S3 Batch Operations job.
" } }, - "Permission": { - "target": "com.amazonaws.s3control#S3Permission", + "BucketKeyEnabled": { + "target": "com.amazonaws.s3control#Boolean", "traits": { - "smithy.api#documentation": "" + "smithy.api#default": null, + "smithy.api#documentation": "Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Amazon Web Services Key Management Service (Amazon Web Services KMS) keys (SSE-KMS). If specified, will filter SSE-KMS encrypted objects by S3 Bucket Key status.
" } } }, "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "A filter that returns objects that are encrypted by server-side encryption with Amazon Web Services KMS (SSE-KMS).
" } }, - "com.amazonaws.s3control#S3GrantList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#S3Grant" + "com.amazonaws.s3control#SSEKMSKeyId": { + "type": "string" + }, + "com.amazonaws.s3control#SSES3": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "", + "smithy.api#xmlName": "SSE-S3" } }, - "com.amazonaws.s3control#S3Grantee": { + "com.amazonaws.s3control#SSES3Encryption": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "Configuration for the use of SSE-S3 to encrypt generated manifest objects.
", + "smithy.api#xmlName": "SSE-S3" + } + }, + "com.amazonaws.s3control#SSES3Filter": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "A filter that returns objects that are encrypted by server-side encryption with Amazon S3 managed keys (SSE-S3).
" + } + }, + "com.amazonaws.s3control#Scope": { "type": "structure", "members": { - "TypeIdentifier": { - "target": "com.amazonaws.s3control#S3GranteeTypeIdentifier", - "traits": { - "smithy.api#documentation": "" - } - }, - "Identifier": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "Prefixes": { + "target": "com.amazonaws.s3control#PrefixesList", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.
", + "smithy.api#xmlName": "Prefixes" } }, - "DisplayName": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "Permissions": { + "target": "com.amazonaws.s3control#ScopePermissionList", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "You can include one or more API operations as permissions.
", + "smithy.api#xmlName": "Permissions" } } }, "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.
\nFor more information, see Manage the scope of your access points for directory buckets.
" } }, - "com.amazonaws.s3control#S3GranteeTypeIdentifier": { + "com.amazonaws.s3control#ScopePermission": { "type": "enum", "members": { - "CANONICAL": { + "GetObject": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "id" + "smithy.api#enumValue": "GetObject" } }, - "EMAIL_ADDRESS": { + "GetObjectAttributes": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "emailAddress" + "smithy.api#enumValue": "GetObjectAttributes" } }, - "GROUP": { + "ListMultipartUploadParts": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "uri" - } - } - } - }, - "com.amazonaws.s3control#S3InitiateRestoreObjectOperation": { - "type": "structure", - "members": { - "ExpirationInDays": { - "target": "com.amazonaws.s3control#S3ExpirationInDays", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive object remains\n available in Amazon S3. S3 Initiate Restore Object jobs that target S3 Glacier and S3 Glacier Deep Archive\n objects require ExpirationInDays set to 1 or greater.
Conversely, do not set ExpirationInDays when creating\n S3 Initiate Restore Object jobs that target S3 Intelligent-Tiering Archive Access and\n Deep Archive Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers are\n not subject to restore expiry, so specifying ExpirationInDays results in\n restore request failure.
S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier Deep Archive storage class\n objects or on S3 Intelligent-Tiering Archive Access and Deep Archive Access storage tier\n objects, but not both types in the same job. If you need to restore objects of both types\n you must create separate Batch Operations jobs.
" + "smithy.api#enumValue": "ListMultipartUploadParts" } }, - "GlacierJobTier": { - "target": "com.amazonaws.s3control#S3GlacierJobTier", - "traits": { - "smithy.api#documentation": "S3 Batch Operations supports STANDARD and BULK retrieval tiers, but\n not the EXPEDITED retrieval tier.
Contains the configuration parameters for\n a\n POST Object restore job. S3 Batch Operations passes every object to the\n underlying\n RestoreObject\n API\n operation. For more information about the parameters for this operation,\n see RestoreObject.
The Amazon Web Services account ID that owns the bucket the generated manifest is written to. If\n provided the generated manifest bucket's owner Amazon Web Services account ID must match this value, else\n the job fails.
" + "smithy.api#enumValue": "ListBucket" } }, - "SourceBucket": { - "target": "com.amazonaws.s3control#S3BucketArnString", + "ListBucketMultipartUploads": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The ARN of the source bucket used by the ManifestGenerator.
\n\n Directory buckets - Directory buckets\n aren't supported as the source buckets used by S3JobManifestGenerator to\n generate the job manifest.
Specifies the location the generated manifest will be written to. Manifests can't be\n written to directory buckets. For more information, see Directory\n buckets.
" + "smithy.api#enumValue": "PutObject" } }, - "Filter": { - "target": "com.amazonaws.s3control#JobManifestGeneratorFilter", + "DeleteObject": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "Specifies rules the S3JobManifestGenerator should use to decide whether an object in the\n source bucket should or should not be included in the generated job manifest.
" + "smithy.api#enumValue": "DeleteObject" } }, - "EnableManifestOutput": { - "target": "com.amazonaws.s3control#Boolean", + "AbortMultipartUpload": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "Determines whether or not to write the job's generated manifest to a bucket.
", - "smithy.api#required": {} + "smithy.api#enumValue": "AbortMultipartUpload" } } - }, - "traits": { - "smithy.api#documentation": "The container for the service that will create the S3 manifest.
" } }, - "com.amazonaws.s3control#S3KeyArnString": { + "com.amazonaws.s3control#ScopePermissionList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ScopePermission", + "traits": { + "smithy.api#xmlName": "Permission" + } + } + }, + "com.amazonaws.s3control#SecretAccessKey": { "type": "string", "traits": { - "smithy.api#length": { - "min": 1, - "max": 2000 - }, - "smithy.api#pattern": "^arn:[^:]+:s3:" + "smithy.api#sensitive": {} } }, - "com.amazonaws.s3control#S3ManifestOutputLocation": { + "com.amazonaws.s3control#SelectionCriteria": { "type": "structure", "members": { - "ExpectedManifestBucketOwner": { - "target": "com.amazonaws.s3control#AccountId", - "traits": { - "smithy.api#documentation": "The Account ID that owns the bucket the generated manifest is written to.
" - } - }, - "Bucket": { - "target": "com.amazonaws.s3control#S3BucketArnString", - "traits": { - "smithy.api#documentation": "The bucket ARN the generated manifest should be written to.
\n\n Directory buckets - Directory buckets\n aren't supported as the buckets to store the generated manifest.
\nPrefix identifying one or more objects to which the manifest applies.
" + "smithy.api#documentation": "A container for the delimiter of the selection criteria being used.
" } }, - "ManifestEncryption": { - "target": "com.amazonaws.s3control#GeneratedManifestEncryption", + "MaxDepth": { + "target": "com.amazonaws.s3control#StorageLensPrefixLevelMaxDepth", "traits": { - "smithy.api#documentation": "Specifies what encryption should be used when the generated manifest objects are\n written.
" + "smithy.api#documentation": "The max depth of the selection criteria
" } }, - "ManifestFormat": { - "target": "com.amazonaws.s3control#GeneratedManifestFormat", + "MinStorageBytesPercentage": { + "target": "com.amazonaws.s3control#MinStorageBytesPercentage", "traits": { - "smithy.api#documentation": "The format of the generated manifest.
", - "smithy.api#required": {} + "smithy.api#documentation": "The minimum number of storage bytes percentage whose metrics will be selected.
\nYou must choose a value greater than or equal to 1.0.
Location details for where the generated manifest should be written.
" + "smithy.api#documentation": "" } }, - "com.amazonaws.s3control#S3MetadataDirective": { - "type": "enum", + "com.amazonaws.s3control#SessionToken": { + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.s3control#Setting": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.s3control#SourceSelectionCriteria": { + "type": "structure", "members": { - "COPY": { - "target": "smithy.api#Unit", + "SseKmsEncryptedObjects": { + "target": "com.amazonaws.s3control#SseKmsEncryptedObjects", "traits": { - "smithy.api#enumValue": "COPY" + "smithy.api#documentation": "A filter that you can use to select Amazon S3 objects that are encrypted with server-side\n encryption by using Key Management Service (KMS) keys. If you include\n SourceSelectionCriteria in the replication configuration, this element is\n required.
This is not supported by Amazon S3 on Outposts buckets.
\nA filter that you can use to specify whether replica modification sync is enabled.\n S3 on Outposts replica modification sync can help you keep object metadata synchronized\n between replicas and source objects. By default, S3 on Outposts replicates metadata from the\n source objects to the replicas only. When replica modification sync is enabled,\n S3 on Outposts replicates metadata changes made to the replica copies back to the source\n object, making the replication bidirectional.
\nTo replicate object metadata modifications on replicas, you can specify this element and\n set the Status of this element to Enabled.
You must enable replica modification sync on the source and destination buckets to\n replicate replica metadata changes between the source and the replicas.
\nA container that describes additional filters for identifying the source objects that\n you want to replicate. You can choose to enable or disable the replication of these\n objects.
" } }, - "com.amazonaws.s3control#S3ObjectLockLegalHold": { + "com.amazonaws.s3control#SseKmsEncryptedObjects": { "type": "structure", "members": { "Status": { - "target": "com.amazonaws.s3control#S3ObjectLockLegalHoldStatus", + "target": "com.amazonaws.s3control#SseKmsEncryptedObjectsStatus", "traits": { - "smithy.api#documentation": "The Object Lock legal hold status to be applied to all objects in the Batch Operations\n job.
", + "smithy.api#documentation": "Specifies whether Amazon S3 replicates objects that are created with server-side encryption\n by using an KMS key stored in Key Management Service.
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch Operations\n job.
" + "smithy.api#documentation": "A container for filter information that you can use to select S3 objects that are\n encrypted with Key Management Service (KMS).
\nThis is not supported by Amazon S3 on Outposts buckets.
\nA container for the Amazon Resource Name (ARN) of the Amazon Web Services organization. This property\n is read-only and follows the following format: \n arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck\n \n
The Amazon Web Services organization for your S3 Storage Lens.
" } }, - "com.amazonaws.s3control#S3ObjectLockRetentionMode": { - "type": "enum", + "com.amazonaws.s3control#StorageLensConfiguration": { + "type": "structure", "members": { - "COMPLIANCE": { - "target": "smithy.api#Unit", + "Id": { + "target": "com.amazonaws.s3control#ConfigId", "traits": { - "smithy.api#enumValue": "COMPLIANCE" + "smithy.api#documentation": "A container for the Amazon S3 Storage Lens configuration ID.
", + "smithy.api#required": {} } }, - "GOVERNANCE": { - "target": "smithy.api#Unit", + "AccountLevel": { + "target": "com.amazonaws.s3control#AccountLevel", "traits": { - "smithy.api#enumValue": "GOVERNANCE" + "smithy.api#documentation": "A container for all the account-level configurations of your S3 Storage Lens\n configuration.
", + "smithy.api#required": {} } - } - } - }, - "com.amazonaws.s3control#S3ObjectMetadata": { - "type": "structure", - "members": { - "CacheControl": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + }, + "Include": { + "target": "com.amazonaws.s3control#Include", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "A container for what is included in this configuration. This container can only be valid\n if there is no Exclude container submitted, and it's not empty.
A container for what is excluded in this configuration. This container can only be valid\n if there is no Include container submitted, and it's not empty.
A container to specify the properties of your S3 Storage Lens metrics export including, the\n destination, schema and format.
" } }, - "ContentLanguage": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "ExpandedPrefixesDataExport": { + "target": "com.amazonaws.s3control#StorageLensExpandedPrefixesDataExport", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "A container that configures your S3 Storage Lens expanded prefixes metrics report.\n
" } }, - "UserMetadata": { - "target": "com.amazonaws.s3control#S3UserMetadata", + "IsEnabled": { + "target": "com.amazonaws.s3control#IsEnabled", "traits": { - "smithy.api#documentation": "" + "smithy.api#default": false, + "smithy.api#documentation": "A container for whether the S3 Storage Lens configuration is enabled.
", + "smithy.api#required": {} } }, - "ContentLength": { - "target": "com.amazonaws.s3control#S3ContentLength", + "AwsOrg": { + "target": "com.amazonaws.s3control#StorageLensAwsOrg", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "\n This member has been deprecated.\n
\n " + "smithy.api#documentation": "A container for the Amazon Web Services organization for this S3 Storage Lens configuration.
" } }, - "ContentMD5": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "StorageLensArn": { + "target": "com.amazonaws.s3control#StorageLensArn", "traits": { - "smithy.api#documentation": "\n This member has been deprecated.\n
\n " + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This property is read-only\n and follows the following format: \n arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name\n \n
A container for all prefix delimiters that are used for object keys in this S3 Storage Lens\n configuration. The prefix delimiters determine how S3 Storage Lens counts prefix depth, by\n separating the hierarchical levels in object keys.
\nIf either a prefix delimiter or existing delimiter is undefined, Amazon S3 uses the\n delimiter that’s defined.
\nIf both the prefix delimiter and existing delimiter are undefined, S3 uses /\n as the default delimiter.
When custom delimiters are used, both the prefix delimiter and existing\n delimiter must specify the same special character. Otherwise, your request results\n in an error.
\nA container for the Amazon S3 Storage Lens configuration.
" + } + }, + "com.amazonaws.s3control#StorageLensConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ListStorageLensConfigurationEntry", + "traits": { + "smithy.api#xmlName": "StorageLensConfiguration" + } + } + }, + "com.amazonaws.s3control#StorageLensDataExport": { + "type": "structure", + "members": { + "S3BucketDestination": { + "target": "com.amazonaws.s3control#S3BucketDestination", + "traits": { + "smithy.api#documentation": "A container for the bucket where the S3 Storage Lens metrics export will be located.
\nThis bucket must be located in the same Region as the storage lens configuration.\n
\nA container for enabling Amazon CloudWatch publishing for S3 Storage Lens metrics.
" } }, - "RequesterCharged": { - "target": "com.amazonaws.s3control#Boolean", + "StorageLensTableDestination": { + "target": "com.amazonaws.s3control#StorageLensTableDestination", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "\n This member has been deprecated.\n
\n " + "smithy.api#documentation": "A container for configuring S3 Storage Lens data exports to read-only S3 table buckets.
" + } + } + }, + "traits": { + "smithy.api#documentation": "A container to specify the properties of your S3 Storage Lens metrics export, including the\n destination, schema, and format.
" + } + }, + "com.amazonaws.s3control#StorageLensDataExportEncryption": { + "type": "structure", + "members": { + "SSES3": { + "target": "com.amazonaws.s3control#SSES3", + "traits": { + "smithy.api#documentation": "", + "smithy.api#xmlName": "SSE-S3" + } + }, + "SSEKMS": { + "target": "com.amazonaws.s3control#SSEKMS", + "traits": { + "smithy.api#documentation": "", + "smithy.api#xmlName": "SSE-KMS" } + } + }, + "traits": { + "smithy.api#documentation": "A container for the encryption of the S3 Storage Lens metrics exports.
" + } + }, + "com.amazonaws.s3control#StorageLensExpandedPrefixesDataExport": { + "type": "structure", + "members": { + "S3BucketDestination": { + "target": "com.amazonaws.s3control#S3BucketDestination" }, - "SSEAlgorithm": { - "target": "com.amazonaws.s3control#S3SSEAlgorithm", + "StorageLensTableDestination": { + "target": "com.amazonaws.s3control#StorageLensTableDestination", "traits": { - "smithy.api#documentation": "The server-side encryption algorithm used when storing objects in Amazon S3.
\n\n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (KMS). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.\n For the Copy operation in Batch Operations, see S3CopyObjectOperation.
A container for the bucket where the S3 Storage Lens metric export files are located. At least one export destination must be specified.
" } } }, "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "A container for your S3 Storage Lens expanded prefix metrics report configuration. Unlike the\n default Storage Lens metrics report, the enhanced prefix metrics report includes all\n S3 Storage Lens storage and activity data related to the full list of prefixes in your Storage\n Lens configuration.
" } }, - "com.amazonaws.s3control#S3ObjectOwner": { + "com.amazonaws.s3control#StorageLensGroup": { "type": "structure", "members": { - "ID": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "Name": { + "target": "com.amazonaws.s3control#StorageLensGroupName", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "Contains the name of the Storage Lens group.
", + "smithy.api#required": {} } }, - "DisplayName": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", + "Filter": { + "target": "com.amazonaws.s3control#StorageLensGroupFilter", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "Sets the criteria for the Storage Lens group data that is displayed. For multiple filter\n conditions, the AND or OR logical operator is used.
Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is\n read-only.
" } } }, "traits": { - "smithy.api#documentation": "" - } - }, - "com.amazonaws.s3control#S3ObjectVersionId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2000 - } + "smithy.api#documentation": "A custom grouping of objects that include filters for prefixes, suffixes, object tags,\n object size, or object age. You can create an S3 Storage Lens group that includes a single\n filter or multiple filter conditions. To specify multiple filter conditions, you use\n AND or OR logical operators.
Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.
" } }, - "READ": { - "target": "smithy.api#Unit", + "MatchAnySuffix": { + "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#enumValue": "READ" + "smithy.api#documentation": "Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.
" } }, - "WRITE": { - "target": "smithy.api#Unit", + "MatchAnyTag": { + "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#enumValue": "WRITE" + "smithy.api#documentation": "Contains the list of object tags. At least one object tag must be specified. Up to 10\n object tags are allowed.
" } }, - "READ_ACP": { - "target": "smithy.api#Unit", + "MatchObjectAge": { + "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#enumValue": "READ_ACP" + "smithy.api#documentation": " Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).
Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).
A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data.
" } }, - "com.amazonaws.s3control#S3Prefix": { + "com.amazonaws.s3control#StorageLensGroupArn": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 2000 + "min": 4, + "max": 1024 }, - "smithy.api#pattern": "^.+$" + "smithy.api#pattern": "^arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:storage\\-lens\\-group\\/" } }, - "com.amazonaws.s3control#S3PrefixType": { - "type": "enum", + "com.amazonaws.s3control#StorageLensGroupFilter": { + "type": "structure", "members": { - "Object": { - "target": "smithy.api#Unit", + "MatchAnyPrefix": { + "target": "com.amazonaws.s3control#MatchAnyPrefix", "traits": { - "smithy.api#enumValue": "Object" + "smithy.api#documentation": "Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.
" } - } - } - }, - "com.amazonaws.s3control#S3RegionalBucketArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 4, - "max": 128 - } - } - }, - "com.amazonaws.s3control#S3RegionalOrS3ExpressBucketArnString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 }, - "smithy.api#pattern": "^arn:[^:]+:(s3|s3express):" - } - }, - "com.amazonaws.s3control#S3ReplicateObjectOperation": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "Directs the specified job to invoke ReplicateObject on every object in the\n job's manifest.
Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.
" + } }, - "smithy.api#pattern": "^arn:[^:]+:s3(express)?:[^:]" - } - }, - "com.amazonaws.s3control#S3Retention": { - "type": "structure", - "members": { - "RetainUntilDate": { - "target": "com.amazonaws.s3control#TimeStamp", + "MatchAnyTag": { + "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#documentation": "The date when the applied Object Lock retention will expire on all objects set by the\n Batch Operations job.
" + "smithy.api#documentation": "Contains the list of S3 object tags. At least one object tag must be specified. Up to\n 10 object tags are allowed.
" } }, - "Mode": { - "target": "com.amazonaws.s3control#S3ObjectLockRetentionMode", + "MatchObjectAge": { + "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "The Object Lock retention mode to be applied to all objects in the Batch Operations\n job.
" + "smithy.api#documentation": " Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).
Contains the S3 Object Lock retention mode to be applied to all objects in the\n S3 Batch Operations job. If you don't provide Mode and RetainUntilDate\n data types in your operation, you will remove the retention from your objects. For more\n information, see Using S3 Object Lock retention\n with S3 Batch Operations in the Amazon S3 User Guide.
Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).
A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data. Objects must match all of the listed filter\n conditions that are joined by the And logical operator. Only one of each\n filter condition is allowed.
A single logical operator that allows multiple filter conditions to be joined. Objects\n can match any of the listed filter conditions, which are joined by the Or\n logical operator. Only one of each filter condition is allowed.
Contains the configuration parameters for a\n PUT\n Object ACL operation. S3 Batch Operations passes every object to the underlying\n PutObjectAcl\n API\n operation. For more information about the parameters for this operation,\n see PutObjectAcl.
The filter element sets the criteria for the Storage Lens group data that is displayed.\n For multiple filter conditions, the AND or OR logical operator is\n used.
Contains the Object Lock legal hold status to be applied to all objects in the\n Batch Operations job.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group\n aggregation. If this value is left null, then all Storage Lens groups are selected.
" } } }, "traits": { - "smithy.api#documentation": "Contains the configuration for an S3 Object Lock legal hold operation that an\n S3 Batch Operations job passes\n to\n every object to the underlying\n PutObjectLegalHold\n API\n operation. For more information, see Using S3 Object Lock legal hold\n with S3 Batch Operations in the Amazon S3 User Guide.
This functionality is not supported by directory buckets.
\nSpecifies the Storage Lens groups to include in the Storage Lens group aggregation.\n
" } }, - "com.amazonaws.s3control#S3SetObjectRetentionOperation": { + "com.amazonaws.s3control#StorageLensGroupLevelExclude": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#StorageLensGroupArn", + "traits": { + "smithy.api#xmlName": "Arn" + } + } + }, + "com.amazonaws.s3control#StorageLensGroupLevelInclude": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#StorageLensGroupArn", + "traits": { + "smithy.api#xmlName": "Arn" + } + } + }, + "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria": { "type": "structure", "members": { - "BypassGovernanceRetention": { - "target": "com.amazonaws.s3control#Boolean", + "Include": { + "target": "com.amazonaws.s3control#StorageLensGroupLevelInclude", "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "Indicates if the action should be applied to objects in the Batch Operations job even if they\n have Object Lock GOVERNANCE type in place.
Indicates which Storage Lens group ARNs to include in the Storage Lens group\n aggregation.
" } }, - "Retention": { - "target": "com.amazonaws.s3control#S3Retention", + "Exclude": { + "target": "com.amazonaws.s3control#StorageLensGroupLevelExclude", "traits": { - "smithy.api#documentation": "Contains the Object Lock retention mode to be applied to all objects in the Batch Operations\n job. For more information, see Using S3 Object Lock retention\n with S3 Batch Operations in the Amazon S3 User Guide.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates which Storage Lens group ARNs to exclude from the Storage Lens group\n aggregation.
" } } }, "traits": { - "smithy.api#documentation": "Contains the configuration parameters for the Object Lock retention action for an\n S3 Batch Operations job. Batch Operations passes every object to the underlying\n PutObjectRetention\n API\n operation. For more information, see Using S3 Object Lock retention\n with S3 Batch Operations in the Amazon S3 User Guide.
This functionality is not supported by directory buckets.
\nIndicates which Storage Lens group ARNs to include or exclude in the Storage Lens group\n aggregation. You can only attach Storage Lens groups to your Storage Lens dashboard if\n they're included in your Storage Lens group aggregation. If this value is left null, then\n all Storage Lens groups are selected.
" } }, - "com.amazonaws.s3control#S3SetObjectTaggingOperation": { - "type": "structure", - "members": { - "TagSet": { - "target": "com.amazonaws.s3control#S3TagSet", - "traits": { - "smithy.api#documentation": "" - } + "com.amazonaws.s3control#StorageLensGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ListStorageLensGroupEntry", + "traits": { + "smithy.api#xmlName": "StorageLensGroup" } - }, + } + }, + "com.amazonaws.s3control#StorageLensGroupName": { + "type": "string", "traits": { - "smithy.api#documentation": "Contains the configuration parameters for a\n PUT\n Object Tagging operation. S3 Batch Operations passes every object to the underlying\n PutObjectTagging\n API\n operation. For more information about the parameters for this operation,\n see PutObjectTagging.
Filters objects that match any of the specified prefixes.
" } }, - "INTELLIGENT_TIERING": { - "target": "smithy.api#Unit", + "MatchAnySuffix": { + "target": "com.amazonaws.s3control#MatchAnySuffix", "traits": { - "smithy.api#enumValue": "INTELLIGENT_TIERING" + "smithy.api#documentation": "\nFilters objects that match any of the specified suffixes.\n
" } }, - "DEEP_ARCHIVE": { - "target": "smithy.api#Unit", + "MatchAnyTag": { + "target": "com.amazonaws.s3control#MatchAnyTag", "traits": { - "smithy.api#enumValue": "DEEP_ARCHIVE" + "smithy.api#documentation": "\nFilters objects that match any of the specified S3 object tags.\n
" } }, - "GLACIER_IR": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GLACIER_IR" - } - } - } - }, - "com.amazonaws.s3control#S3Tag": { - "type": "structure", - "members": { - "Key": { - "target": "com.amazonaws.s3control#TagKeyString", + "MatchObjectAge": { + "target": "com.amazonaws.s3control#MatchObjectAge", "traits": { - "smithy.api#documentation": "Key of the tag
", - "smithy.api#required": {} + "smithy.api#documentation": "\nFilters objects that match the specified object age range.\n
" } }, - "Value": { - "target": "com.amazonaws.s3control#TagValueString", + "MatchObjectSize": { + "target": "com.amazonaws.s3control#MatchObjectSize", "traits": { - "smithy.api#documentation": "Value of the tag
", - "smithy.api#required": {} + "smithy.api#documentation": "\nFilters objects that match the specified object size range.\n
" } } }, "traits": { - "smithy.api#documentation": "A container for a key-value name pair.
" - } - }, - "com.amazonaws.s3control#S3TagSet": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#S3Tag" + "smithy.api#documentation": "A container element for specifying Or rule conditions. The rule conditions\n determine the subset of objects to which the Or rule applies. Objects can\n match any of the listed filter conditions, which are joined by the Or logical\n operator. Only one of each filter condition is allowed.
A filter that returns objects that are encrypted by server-side encryption with customer-provided keys (SSE-C).
" - } - }, - "com.amazonaws.s3control#SSEKMS": { - "type": "structure", - "members": { - "KeyId": { - "target": "com.amazonaws.s3control#SSEKMSKeyId", - "traits": { - "smithy.api#documentation": "A container for the ARN of the SSE-KMS encryption. This property is read-only and\n follows the following format: \n arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e\n \n
Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption\n customer managed key to use for encrypting generated manifest objects.
", + "smithy.api#default": false, + "smithy.api#documentation": "A container that indicates whether the export to read-only S3 table buckets is enabled\n for your S3 Storage Lens configuration. When set to true, Storage Lens reports are automatically\n exported to tables in addition to other configured destinations.
", "smithy.api#required": {} } + }, + "Encryption": { + "target": "com.amazonaws.s3control#StorageLensDataExportEncryption" } }, "traits": { - "smithy.api#documentation": "Configuration for the use of SSE-KMS to encrypt generated manifest objects.
", - "smithy.api#xmlName": "SSE-KMS" + "smithy.api#documentation": "A container for configuring your S3 Storage Lens reports to export to read-only S3 table\n buckets. This parameter enables you to store your Storage Lens metrics in a structured,\n queryable table format in Apache Iceberg.
\nFor more information about S3 Storage Lens, see Assessing your storage activity and usage with S3 Storage Lens in the Amazon S3 User Guide.
" } }, - "com.amazonaws.s3control#SSEKMSFilter": { + "com.amazonaws.s3control#StorageLensTag": { "type": "structure", "members": { - "KmsKeyArn": { - "target": "com.amazonaws.s3control#NonEmptyKmsKeyArnString", + "Key": { + "target": "com.amazonaws.s3control#TagKeyString", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the customer managed KMS key to use for the filter \n to return objects that are encrypted by the specified key. For best performance, \n we recommend using the KMSKeyArn filter in conjunction with other object metadata filters, like MatchAnyPrefix, CreatedAfter, or \n MatchAnyStorageClass.
You must provide the full KMS Key ARN. You can't use an alias name or alias ARN. \n For more information, see \n KMS keys in the Amazon Web Services Key Management Service Developer Guide.
\nSpecifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption \n using Amazon Web Services Key Management Service (Amazon Web Services KMS) keys (SSE-KMS). If specified, will filter SSE-KMS encrypted objects by S3 Bucket Key status. \n For more information, see Reducing the cost of SSE-KMS with Amazon S3 Bucket Keys\n in the Amazon S3 User Guide.
" + "smithy.api#documentation": "", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A filter that returns objects that are encrypted by server-side encryption with Amazon Web Services KMS (SSE-KMS).
" + "smithy.api#documentation": "" } }, - "com.amazonaws.s3control#SSEKMSKeyId": { - "type": "string" - }, - "com.amazonaws.s3control#SSES3": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "", - "smithy.api#xmlName": "SSE-S3" + "com.amazonaws.s3control#StorageLensTags": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#StorageLensTag", + "traits": { + "smithy.api#xmlName": "Tag" + } } }, - "com.amazonaws.s3control#SSES3Encryption": { - "type": "structure", - "members": {}, + "com.amazonaws.s3control#StringForNextToken": { + "type": "string", "traits": { - "smithy.api#documentation": "Configuration for the use of SSE-S3 to encrypt generated manifest objects.
", - "smithy.api#xmlName": "SSE-S3" + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[A-Za-z0-9\\+\\:\\/\\=\\?\\#-_]+$" } }, - "com.amazonaws.s3control#SSES3Filter": { - "type": "structure", - "members": {}, + "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutes": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesRequest" + }, + "output": { + "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesResult" + }, "traits": { - "smithy.api#documentation": "A filter that returns objects that are encrypted by server-side encryption with Amazon S3 managed keys (SSE-S3).
" - } - }, - "com.amazonaws.s3control#Scope": { - "type": "structure", - "members": { - "Prefixes": { - "target": "com.amazonaws.s3control#PrefixesList", - "traits": { - "smithy.api#documentation": "You can specify any amount of prefixes, but the total length of characters of all\n prefixes must be less than 256 bytes in size.
", - "smithy.api#xmlName": "Prefixes" - } + "smithy.api#documentation": "This operation is not supported by directory buckets.
\nSubmits an updated route configuration for a Multi-Region Access Point. This API operation updates the\n routing status for the specified Regions from active to passive, or from passive to active.\n A value of 0 indicates a passive status, which means that traffic won't be\n routed to the specified Region. A value of 100 indicates an active status,\n which means that traffic will be routed to the specified Region. At least one Region must\n be active at all times.
When the routing configuration is changed, any in-progress operations (uploads, copies,\n deletes, and so on) to formerly active Regions will continue to run to their final\n completion state (success or failure). The routing configurations of any Regions that\n aren’t specified remain unchanged.
\nUpdated routing configurations might not be immediately applied. It can take up to 2\n minutes for your changes to take effect.
\nTo submit routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:
\n\n us-east-1\n
\n us-west-2\n
\n ap-southeast-2\n
\n ap-northeast-1\n
\n eu-west-1\n
You can include one or more API operations as permissions.
", - "smithy.api#xmlName": "Permissions" + "smithy.api#http": { + "method": "PATCH", + "uri": "/v20180820/mrap/instances/{Mrap+}/routes", + "code": 200 + }, + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true } } - }, - "traits": { - "smithy.api#documentation": "You can use the access point scope to restrict access to specific prefixes, API operations, or a\n combination of both.
\nFor more information, see Manage\n the scope of your access points for directory buckets.
" } }, - "com.amazonaws.s3control#ScopePermission": { - "type": "enum", + "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesRequest": { + "type": "structure", "members": { - "GetObject": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GetObject" - } - }, - "GetObjectAttributes": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GetObjectAttributes" - } - }, - "ListMultipartUploadParts": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ListMultipartUploadParts" - } - }, - "ListBucket": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ListBucket" - } - }, - "ListBucketMultipartUploads": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ListBucketMultipartUploads" - } - }, - "PutObject": { - "target": "smithy.api#Unit", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#enumValue": "PutObject" + "smithy.api#documentation": "The Amazon Web Services account ID for the owner of the Multi-Region Access Point.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "DeleteObject": { - "target": "smithy.api#Unit", + "Mrap": { + "target": "com.amazonaws.s3control#MultiRegionAccessPointId", "traits": { - "smithy.api#enumValue": "DeleteObject" + "smithy.api#documentation": "The Multi-Region Access Point ARN.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "AbortMultipartUpload": { - "target": "smithy.api#Unit", + "RouteUpdates": { + "target": "com.amazonaws.s3control#RouteList", "traits": { - "smithy.api#enumValue": "AbortMultipartUpload" + "smithy.api#documentation": "The different routes that make up the new route configuration. Active routes return a\n value of 100, and passive routes return a value of 0.
A container for the delimiter of the selection criteria being used.
" - } - }, - "MaxDepth": { - "target": "com.amazonaws.s3control#StorageLensPrefixLevelMaxDepth", + "Key": { + "target": "com.amazonaws.s3control#TagKeyString", "traits": { - "smithy.api#documentation": "The max depth of the selection criteria
" + "smithy.api#documentation": "The key of the key-value pair of a tag added to your Amazon Web Services resource. A tag key can be up to 128 Unicode characters in length and is case-sensitive. System created tags that begin with aws: aren’t supported.\n
The minimum number of storage bytes percentage whose metrics will be selected.
\nYou must choose a value greater than or equal to 1.0.
\n The value of the key-value pair of a tag added to your Amazon Web Services resource. A tag value can be up to 256 Unicode characters in length and is case-sensitive.\n
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "\n A key-value pair that you use to label your resources. You can add tags to new resources when you create them, or you can add tags to existing resources. Tags can help you organize, track costs for, and control access to resources.\n
" } }, - "com.amazonaws.s3control#SessionToken": { - "type": "string", + "com.amazonaws.s3control#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#TagKeyString" + }, "traits": { - "smithy.api#sensitive": {} + "smithy.api#length": { + "min": 0, + "max": 50 + } } }, - "com.amazonaws.s3control#Setting": { - "type": "boolean", + "com.amazonaws.s3control#TagKeyString": { + "type": "string", "traits": { - "smithy.api#default": false + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" } }, - "com.amazonaws.s3control#SourceSelectionCriteria": { - "type": "structure", - "members": { - "SseKmsEncryptedObjects": { - "target": "com.amazonaws.s3control#SseKmsEncryptedObjects", - "traits": { - "smithy.api#documentation": "A filter that you can use to select Amazon S3 objects that are encrypted with server-side\n encryption by using Key Management Service (KMS) keys. If you include\n SourceSelectionCriteria in the replication configuration, this element is\n required.
This is not supported by Amazon S3 on Outposts buckets.
\nA filter that you can use to specify whether replica modification sync is enabled.\n S3 on Outposts replica modification sync can help you keep object metadata synchronized\n between replicas and source objects. By default, S3 on Outposts replicates metadata from the\n source objects to the replicas only. When replica modification sync is enabled,\n S3 on Outposts replicates metadata changes made to the replica copies back to the source\n object, making the replication bidirectional.
\nTo replicate object metadata modifications on replicas, you can specify this element and\n set the Status of this element to Enabled.
You must enable replica modification sync on the source and destination buckets to\n replicate replica metadata changes between the source and the replicas.
\nA container that describes additional filters for identifying the source objects that\n you want to replicate. You can choose to enable or disable the replication of these\n objects.
" + "smithy.api#length": { + "min": 0, + "max": 50 + } } }, - "com.amazonaws.s3control#SseKmsEncryptedObjects": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.s3control#SseKmsEncryptedObjectsStatus", - "traits": { - "smithy.api#documentation": "Specifies whether Amazon S3 replicates objects that are created with server-side encryption\n by using an KMS key stored in Key Management Service.
", - "smithy.api#required": {} - } - } + "com.amazonaws.s3control#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.s3control#TagResourceResult" }, "traits": { - "smithy.api#documentation": "A container for filter information that you can use to select S3 objects that are\n encrypted with Key Management Service (KMS).
\nThis is not supported by Amazon S3 on Outposts buckets.
\nCreates a new user-defined tag or updates an existing tag. Each tag is a label consisting of a key and value that is applied to your resource. Tags can help you organize, track costs for, and control access to your resources. You can add up to 50 Amazon Web Services resource tags for each S3 resource.
\nThis operation is only supported for the following Amazon S3 resource:
\n\n Directory buckets\n
\n\n S3 Access Grants instances, registered locations, or grants.
\nFor general purpose buckets, access points for general purpose buckets, Storage Lens groups, and S3 Access Grants, you must have the s3:TagResource permission to use this operation.
For directory buckets, you must have the s3express:TagResource permission to use this operation. For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v20180820/tags/{ResourceArn+}", + "code": 204 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } } }, - "com.amazonaws.s3control#SseKmsEncryptedObjectsStatus": { - "type": "enum", + "com.amazonaws.s3control#TagResourceRequest": { + "type": "structure", "members": { - "Enabled": { - "target": "smithy.api#Unit", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#enumValue": "Enabled" + "smithy.api#documentation": "\nThe Amazon Web Services account ID that created the S3 resource that you're trying to add tags to or the requester's account ID. \n
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "Disabled": { - "target": "smithy.api#Unit", + "ResourceArn": { + "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#enumValue": "Disabled" + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the S3 resource that you're applying tags to. The tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } + } + }, + "Tags": { + "target": "com.amazonaws.s3control#TagList", + "traits": { + "smithy.api#documentation": "\nThe Amazon Web Services resource tags that you want to add to the specified S3 resource. \n
", + "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.s3control#StorageClassList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#S3StorageClass" + "com.amazonaws.s3control#TagResourceResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.s3control#StorageLensArn": { + "com.amazonaws.s3control#TagValueString": { "type": "string", "traits": { "smithy.api#length": { - "min": 1, - "max": 1024 + "min": 0, + "max": 256 }, - "smithy.api#pattern": "^arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:storage\\-lens\\/" + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" } }, - "com.amazonaws.s3control#StorageLensAwsOrg": { + "com.amazonaws.s3control#Tagging": { "type": "structure", "members": { - "Arn": { - "target": "com.amazonaws.s3control#AwsOrgArn", + "TagSet": { + "target": "com.amazonaws.s3control#S3TagSet", "traits": { - "smithy.api#documentation": "A container for the Amazon Resource Name (ARN) of the Amazon Web Services organization. This property\n is read-only and follows the following format: \n arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck\n \n
A collection for a set of tags.
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "The Amazon Web Services organization for your S3 Storage Lens.
" + "smithy.api#documentation": "" } }, - "com.amazonaws.s3control#StorageLensConfiguration": { + "com.amazonaws.s3control#TimeStamp": { + "type": "timestamp" + }, + "com.amazonaws.s3control#TooManyRequestsException": { "type": "structure", "members": { - "Id": { - "target": "com.amazonaws.s3control#ConfigId", - "traits": { - "smithy.api#documentation": "A container for the Amazon S3 Storage Lens configuration ID.
", - "smithy.api#required": {} - } - }, - "AccountLevel": { - "target": "com.amazonaws.s3control#AccountLevel", - "traits": { - "smithy.api#documentation": "A container for all the account-level configurations of your S3 Storage Lens\n configuration.
", - "smithy.api#required": {} - } - }, - "Include": { - "target": "com.amazonaws.s3control#Include", - "traits": { - "smithy.api#documentation": "A container for what is included in this configuration. This container can only be valid\n if there is no Exclude container submitted, and it's not empty.
A container for what is excluded in this configuration. This container can only be valid\n if there is no Include container submitted, and it's not empty.
A container to specify the properties of your S3 Storage Lens metrics export including, the\n destination, schema and format.
" - } - }, - "IsEnabled": { - "target": "com.amazonaws.s3control#IsEnabled", + "Message": { + "target": "com.amazonaws.s3control#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "", + "smithy.api#error": "client" + } + }, + "com.amazonaws.s3control#TooManyTagsException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.s3control#ExceptionMessage" + } + }, + "traits": { + "smithy.api#documentation": "Amazon S3 throws this exception if you have too many tags in your tag set.
", + "smithy.api#error": "client" + } + }, + "com.amazonaws.s3control#TrafficDialPercentage": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.s3control#Transition": { + "type": "structure", + "members": { + "Date": { + "target": "com.amazonaws.s3control#Date", "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "A container for whether the S3 Storage Lens configuration is enabled.
", - "smithy.api#required": {} + "smithy.api#documentation": "Indicates when objects are transitioned to the specified storage class. The date value\n must be in ISO 8601 format. The time is always midnight UTC.
" } }, - "AwsOrg": { - "target": "com.amazonaws.s3control#StorageLensAwsOrg", + "Days": { + "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#documentation": "A container for the Amazon Web Services organization for this S3 Storage Lens configuration.
" + "smithy.api#default": 0, + "smithy.api#documentation": "Indicates the number of days after creation when objects are transitioned to the\n specified storage class. The value must be a positive integer.
" } }, - "StorageLensArn": { - "target": "com.amazonaws.s3control#StorageLensArn", + "StorageClass": { + "target": "com.amazonaws.s3control#TransitionStorageClass", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This property is read-only\n and follows the following format: \n arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name\n \n
The storage class to which you want the object to transition.
" } } }, "traits": { - "smithy.api#documentation": "A container for the Amazon S3 Storage Lens configuration.
" + "smithy.api#documentation": "Specifies when an object transitions to a specified storage class. For more information\n about Amazon S3 Lifecycle configuration rules, see \n Transitioning objects using Amazon S3 Lifecycle in the\n Amazon S3 User Guide.
" } }, - "com.amazonaws.s3control#StorageLensConfigurationList": { + "com.amazonaws.s3control#TransitionList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#ListStorageLensConfigurationEntry", + "target": "com.amazonaws.s3control#Transition", "traits": { - "smithy.api#xmlName": "StorageLensConfiguration" + "smithy.api#xmlName": "Transition" } } }, - "com.amazonaws.s3control#StorageLensDataExport": { - "type": "structure", + "com.amazonaws.s3control#TransitionStorageClass": { + "type": "enum", "members": { - "S3BucketDestination": { - "target": "com.amazonaws.s3control#S3BucketDestination", + "GLACIER": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "A container for the bucket where the S3 Storage Lens metrics export will be located.
\nThis bucket must be located in the same Region as the storage lens configuration.\n
\nA container for enabling Amazon CloudWatch publishing for S3 Storage Lens metrics.
" + "smithy.api#enumValue": "STANDARD_IA" } - } - }, - "traits": { - "smithy.api#documentation": "A container to specify the properties of your S3 Storage Lens metrics export, including the\n destination, schema, and format.
" - } - }, - "com.amazonaws.s3control#StorageLensDataExportEncryption": { - "type": "structure", - "members": { - "SSES3": { - "target": "com.amazonaws.s3control#SSES3", + }, + "ONEZONE_IA": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "", - "smithy.api#xmlName": "SSE-S3" + "smithy.api#enumValue": "ONEZONE_IA" } }, - "SSEKMS": { - "target": "com.amazonaws.s3control#SSEKMS", + "INTELLIGENT_TIERING": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "", - "smithy.api#xmlName": "SSE-KMS" + "smithy.api#enumValue": "INTELLIGENT_TIERING" + } + }, + "DEEP_ARCHIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEEP_ARCHIVE" } } + } + }, + "com.amazonaws.s3control#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.s3control#UntagResourceResult" }, "traits": { - "smithy.api#documentation": "A container for the encryption of the S3 Storage Lens metrics exports.
" + "smithy.api#documentation": "This operation removes the specified user-defined tags from an S3 resource. You can pass one or more tag keys.
\nThis operation is only supported for the following Amazon S3 resources:
\n\n Directory buckets\n
\n\n S3 Access Grants instances, registered locations, and grants.
\nFor general purpose buckets, access points for general purpose buckets, Storage Lens groups, and S3 Access Grants, you must have the s3:UntagResource permission to use this operation.
For directory buckets, you must have the s3express:UntagResource permission to use this operation. For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.
", + "smithy.api#endpoint": { + "hostPrefix": "{AccountId}." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/v20180820/tags/{ResourceArn+}", + "code": 204 + }, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } } }, - "com.amazonaws.s3control#StorageLensGroup": { + "com.amazonaws.s3control#UntagResourceRequest": { "type": "structure", "members": { - "Name": { - "target": "com.amazonaws.s3control#StorageLensGroupName", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "Contains the name of the Storage Lens group.
", - "smithy.api#required": {} + "smithy.api#documentation": "\n The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.\n
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "Filter": { - "target": "com.amazonaws.s3control#StorageLensGroupFilter", + "ResourceArn": { + "target": "com.amazonaws.s3control#S3ResourceArn", "traits": { - "smithy.api#documentation": "Sets the criteria for the Storage Lens group data that is displayed. For multiple filter\n conditions, the AND or OR logical operator is used.
The Amazon Resource Name (ARN) of the S3 resource that you're removing tags from. The tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "ResourceArn" + } } }, - "StorageLensGroupArn": { - "target": "com.amazonaws.s3control#StorageLensGroupArn", + "TagKeys": { + "target": "com.amazonaws.s3control#TagKeyList", "traits": { - "smithy.api#documentation": "Contains the Amazon Resource Name (ARN) of the Storage Lens group. This property is\n read-only.
" + "smithy.api#documentation": "\n The array of tag key-value pairs that you're trying to remove from of the S3 resource.\n
", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A custom grouping of objects that include filters for prefixes, suffixes, object tags,\n object size, or object age. You can create an S3 Storage Lens group that includes a single\n filter or multiple filter conditions. To specify multiple filter conditions, you use\n AND or OR logical operators.
Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.
" - } + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.s3control#UpdateAccessGrantsLocation": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#UpdateAccessGrantsLocationRequest" + }, + "output": { + "target": "com.amazonaws.s3control#UpdateAccessGrantsLocationResult" + }, + "traits": { + "smithy.api#documentation": "Updates the IAM role of a registered location in your S3 Access Grants instance.
\nYou must have the s3:UpdateAccessGrantsLocation permission to use this operation.
You must also have the following permission: iam:PassRole\n
Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.
" - } + "smithy.api#http": { + "method": "PUT", + "uri": "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}", + "code": 200 }, - "MatchAnyTag": { - "target": "com.amazonaws.s3control#MatchAnyTag", + "smithy.api#httpChecksumRequired": {}, + "smithy.rules#staticContextParams": { + "RequiresAccountId": { + "value": true + } + } + } + }, + "com.amazonaws.s3control#UpdateAccessGrantsLocationRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "Contains the list of object tags. At least one object tag must be specified. Up to 10\n object tags are allowed.
" + "smithy.api#documentation": "The Amazon Web Services account ID of the S3 Access Grants instance.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "MatchObjectAge": { - "target": "com.amazonaws.s3control#MatchObjectAge", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": " Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).
The ID of the registered location that you are updating. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
The ID of the registered location to which you are granting access. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
If you are passing the default location, you cannot create an access grant for the entire default location. You must also specify a bucket or a bucket and prefix in the Subprefix field.
Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).
The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data.
" - } - }, - "com.amazonaws.s3control#StorageLensGroupArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 4, - "max": 1024 - }, - "smithy.api#pattern": "^arn:[a-z\\-]+:s3:[a-z0-9\\-]+:\\d{12}:storage\\-lens\\-group\\/" + "smithy.api#input": {} } }, - "com.amazonaws.s3control#StorageLensGroupFilter": { + "com.amazonaws.s3control#UpdateAccessGrantsLocationResult": { "type": "structure", "members": { - "MatchAnyPrefix": { - "target": "com.amazonaws.s3control#MatchAnyPrefix", - "traits": { - "smithy.api#documentation": "Contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes\n are allowed.
" - } - }, - "MatchAnySuffix": { - "target": "com.amazonaws.s3control#MatchAnySuffix", - "traits": { - "smithy.api#documentation": "Contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes\n are allowed.
" - } - }, - "MatchAnyTag": { - "target": "com.amazonaws.s3control#MatchAnyTag", + "CreatedAt": { + "target": "com.amazonaws.s3control#CreationTimestamp", "traits": { - "smithy.api#documentation": "Contains the list of S3 object tags. At least one object tag must be specified. Up to\n 10 object tags are allowed.
" + "smithy.api#documentation": "The date and time when you registered the location.
" } }, - "MatchObjectAge": { - "target": "com.amazonaws.s3control#MatchObjectAge", + "AccessGrantsLocationId": { + "target": "com.amazonaws.s3control#AccessGrantsLocationId", "traits": { - "smithy.api#documentation": " Contains DaysGreaterThan and DaysLessThan to define the\n object age range (minimum and maximum number of days).
The ID of the registered location to which you are granting access. S3 Access Grants assigned this ID when you registered the location. S3 Access Grants assigns the ID default to the default location s3:// and assigns an auto-generated ID to other locations that you register.
Contains BytesGreaterThan and BytesLessThan to define the\n object size range (minimum and maximum number of Bytes).
The Amazon Resource Name (ARN) of the registered location that you are updating.
" } }, - "And": { - "target": "com.amazonaws.s3control#StorageLensGroupAndOperator", + "LocationScope": { + "target": "com.amazonaws.s3control#S3Prefix", "traits": { - "smithy.api#documentation": "A logical operator that allows multiple filter conditions to be joined for more complex\n comparisons of Storage Lens group data. Objects must match all of the listed filter\n conditions that are joined by the And logical operator. Only one of each\n filter condition is allowed.
The S3 URI path of the location that you are updating. You cannot update the scope of the registered location. The location scope can be the default S3 location s3://, the S3 path to a bucket s3://, or the S3 path to a bucket and prefix s3://.
A single logical operator that allows multiple filter conditions to be joined. Objects\n can match any of the listed filter conditions, which are joined by the Or\n logical operator. Only one of each filter condition is allowed.
The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 Access Grants assumes this role to manage access to the registered location.
" } } }, "traits": { - "smithy.api#documentation": "The filter element sets the criteria for the Storage Lens group data that is displayed.\n For multiple filter conditions, the AND or OR logical operator is\n used.
Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the\n UpdateJobPriority operation, you must have permission to\n perform the s3:UpdateJobPriority action.
Related actions include:
\n\n CreateJob\n
\n\n ListJobs\n
\n\n DescribeJob\n
\n\n UpdateJobStatus\n
\nIndicates which Storage Lens group ARNs to include or exclude in the Storage Lens group\n aggregation. If this value is left null, then all Storage Lens groups are selected.
" + "smithy.api#documentation": "The Amazon Web Services account ID associated with the S3 Batch Operations job.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } + } + }, + "JobId": { + "target": "com.amazonaws.s3control#JobId", + "traits": { + "smithy.api#documentation": "The ID for the job whose priority you want to update.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Priority": { + "target": "com.amazonaws.s3control#JobPriority", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The priority you want to assign to this job.
", + "smithy.api#httpQuery": "priority", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Specifies the Storage Lens groups to include in the Storage Lens group aggregation.\n
" - } - }, - "com.amazonaws.s3control#StorageLensGroupLevelExclude": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#StorageLensGroupArn", - "traits": { - "smithy.api#xmlName": "Arn" - } - } - }, - "com.amazonaws.s3control#StorageLensGroupLevelInclude": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#StorageLensGroupArn", - "traits": { - "smithy.api#xmlName": "Arn" - } + "smithy.api#input": {} } }, - "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria": { + "com.amazonaws.s3control#UpdateJobPriorityResult": { "type": "structure", "members": { - "Include": { - "target": "com.amazonaws.s3control#StorageLensGroupLevelInclude", + "JobId": { + "target": "com.amazonaws.s3control#JobId", "traits": { - "smithy.api#documentation": "Indicates which Storage Lens group ARNs to include in the Storage Lens group\n aggregation.
" + "smithy.api#documentation": "The ID for the job whose priority Amazon S3 updated.
", + "smithy.api#required": {} } }, - "Exclude": { - "target": "com.amazonaws.s3control#StorageLensGroupLevelExclude", + "Priority": { + "target": "com.amazonaws.s3control#JobPriority", "traits": { - "smithy.api#documentation": "Indicates which Storage Lens group ARNs to exclude from the Storage Lens group\n aggregation.
" + "smithy.api#default": 0, + "smithy.api#documentation": "The new priority assigned to the specified job.
", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group\n aggregation. You can only attach Storage Lens groups to your Storage Lens dashboard if\n they're included in your Storage Lens group aggregation. If this value is left null, then\n all Storage Lens groups are selected.
" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#StorageLensGroupList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#ListStorageLensGroupEntry", - "traits": { - "smithy.api#xmlName": "StorageLensGroup" + "com.amazonaws.s3control#UpdateJobStatus": { + "type": "operation", + "input": { + "target": "com.amazonaws.s3control#UpdateJobStatusRequest" + }, + "output": { + "target": "com.amazonaws.s3control#UpdateJobStatusResult" + }, + "errors": [ + { + "target": "com.amazonaws.s3control#BadRequestException" + }, + { + "target": "com.amazonaws.s3control#InternalServiceException" + }, + { + "target": "com.amazonaws.s3control#JobStatusException" + }, + { + "target": "com.amazonaws.s3control#NotFoundException" + }, + { + "target": "com.amazonaws.s3control#TooManyRequestsException" } - } - }, - "com.amazonaws.s3control#StorageLensGroupName": { - "type": "string", + ], "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 + "smithy.api#documentation": "Updates the status for the specified job. Use this operation to confirm that you want to\n run a job or to cancel an existing job. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the\n UpdateJobStatus operation, you must have permission to\n perform the s3:UpdateJobStatus action.
Related actions include:
\n\n CreateJob\n
\n\n ListJobs\n
\n\n DescribeJob\n
\n\n UpdateJobStatus\n
\nFilters objects that match any of the specified prefixes.
" - } - }, - "MatchAnySuffix": { - "target": "com.amazonaws.s3control#MatchAnySuffix", + "AccountId": { + "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "Filters objects that match any of the specified suffixes.
" + "smithy.api#documentation": "The Amazon Web Services account ID associated with the S3 Batch Operations job.
", + "smithy.api#hostLabel": {}, + "smithy.api#httpHeader": "x-amz-account-id", + "smithy.api#required": {}, + "smithy.rules#contextParam": { + "name": "AccountId" + } } }, - "MatchAnyTag": { - "target": "com.amazonaws.s3control#MatchAnyTag", + "JobId": { + "target": "com.amazonaws.s3control#JobId", "traits": { - "smithy.api#documentation": "Filters objects that match any of the specified S3 object tags.
" + "smithy.api#documentation": "The ID of the job whose status you want to update.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "MatchObjectAge": { - "target": "com.amazonaws.s3control#MatchObjectAge", + "RequestedJobStatus": { + "target": "com.amazonaws.s3control#RequestedJobStatus", "traits": { - "smithy.api#documentation": "Filters objects that match the specified object age range.
" + "smithy.api#documentation": "The status that you want to move the specified job to.
", + "smithy.api#httpQuery": "requestedJobStatus", + "smithy.api#required": {} } }, - "MatchObjectSize": { - "target": "com.amazonaws.s3control#MatchObjectSize", + "StatusUpdateReason": { + "target": "com.amazonaws.s3control#JobStatusUpdateReason", "traits": { - "smithy.api#documentation": "Filters objects that match the specified object size range.
" + "smithy.api#documentation": "A description of the reason why you want to change the specified job's status. This\n field can be any string up to the maximum length.
", + "smithy.api#httpQuery": "statusUpdateReason" } } }, "traits": { - "smithy.api#documentation": "A container element for specifying Or rule conditions. The rule conditions\n determine the subset of objects to which the Or rule applies. Objects can\n match any of the listed filter conditions, which are joined by the Or logical\n operator. Only one of each filter condition is allowed.
The ID for the job whose status was updated.
" } }, - "Value": { - "target": "com.amazonaws.s3control#TagValueString", + "Status": { + "target": "com.amazonaws.s3control#JobStatus", "traits": { - "smithy.api#documentation": "", - "smithy.api#required": {} + "smithy.api#documentation": "The current status for the specified job.
" + } + }, + "StatusUpdateReason": { + "target": "com.amazonaws.s3control#JobStatusUpdateReason", + "traits": { + "smithy.api#documentation": "The reason that the specified job's status was updated.
" } } }, "traits": { - "smithy.api#documentation": "" - } - }, - "com.amazonaws.s3control#StorageLensTags": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#StorageLensTag", - "traits": { - "smithy.api#xmlName": "Tag" - } - } - }, - "com.amazonaws.s3control#StringForNextToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": "^[A-Za-z0-9\\+\\:\\/\\=\\?\\#-_]+$" + "smithy.api#output": {} } }, - "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutes": { + "com.amazonaws.s3control#UpdateStorageLensGroup": { "type": "operation", "input": { - "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesRequest" + "target": "com.amazonaws.s3control#UpdateStorageLensGroupRequest" }, "output": { - "target": "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesResult" + "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "This operation is not supported by directory buckets.
\nSubmits an updated route configuration for a Multi-Region Access Point. This API operation updates the\n routing status for the specified Regions from active to passive, or from passive to active.\n A value of 0 indicates a passive status, which means that traffic won't be\n routed to the specified Region. A value of 100 indicates an active status,\n which means that traffic will be routed to the specified Region. At least one Region must\n be active at all times.
When the routing configuration is changed, any in-progress operations (uploads, copies,\n deletes, and so on) to formerly active Regions will continue to run to their final\n completion state (success or failure). The routing configurations of any Regions that\n aren’t specified remain unchanged.
\nUpdated routing configurations might not be immediately applied. It can take up to 2\n minutes for your changes to take effect.
\nTo submit routing control changes and failover requests, use the Amazon S3 failover control\n infrastructure endpoints in these five Amazon Web Services Regions:
\n\n us-east-1\n
\n us-west-2\n
\n ap-southeast-2\n
\n ap-northeast-1\n
\n eu-west-1\n
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\nUpdates the existing Storage Lens group.
\nTo use this operation, you must have the permission to perform the\n s3:UpdateStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, "smithy.api#http": { - "method": "PATCH", - "uri": "/v20180820/mrap/instances/{Mrap+}/routes", - "code": 200 + "method": "PUT", + "uri": "/v20180820/storagelensgroup/{Name}", + "code": 204 }, - "smithy.api#httpChecksumRequired": {}, "smithy.rules#staticContextParams": { "RequiresAccountId": { "value": true @@ -22219,13 +26137,21 @@ } } }, - "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesRequest": { + "com.amazonaws.s3control#UpdateStorageLensGroupRequest": { "type": "structure", "members": { + "Name": { + "target": "com.amazonaws.s3control#StorageLensGroupName", + "traits": { + "smithy.api#documentation": "\nThe name of the Storage Lens group that you want to update.\n
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "The Amazon Web Services account ID for the owner of the Multi-Region Access Point.
", + "smithy.api#documentation": "\nThe Amazon Web Services account ID of the Storage Lens group owner.\n
", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {}, @@ -22234,18 +26160,10 @@ } } }, - "Mrap": { - "target": "com.amazonaws.s3control#MultiRegionAccessPointId", - "traits": { - "smithy.api#documentation": "The Multi-Region Access Point ARN.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "RouteUpdates": { - "target": "com.amazonaws.s3control#RouteList", + "StorageLensGroup": { + "target": "com.amazonaws.s3control#StorageLensGroup", "traits": { - "smithy.api#documentation": "The different routes that make up the new route configuration. Active routes return a\n value of 100, and passive routes return a value of 0.
\nThe JSON file that contains the Storage Lens group configuration.\n
", "smithy.api#required": {} } } @@ -22254,787 +26172,828 @@ "smithy.api#input": {} } }, - "com.amazonaws.s3control#SubmitMultiRegionAccessPointRoutesResult": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.s3control#Suffix": { - "type": "string" - }, - "com.amazonaws.s3control#SuspendedCause": { - "type": "string", + "com.amazonaws.s3control#UserArguments": { + "type": "map", + "key": { + "target": "com.amazonaws.s3control#NonEmptyMaxLength64String" + }, + "value": { + "target": "com.amazonaws.s3control#MaxLength1024String" + }, "traits": { "smithy.api#length": { "min": 1, - "max": 1024 + "max": 10 } } }, - "com.amazonaws.s3control#SuspendedDate": { - "type": "timestamp" - }, - "com.amazonaws.s3control#Tag": { + "com.amazonaws.s3control#VersioningConfiguration": { "type": "structure", "members": { - "Key": { - "target": "com.amazonaws.s3control#TagKeyString", + "MFADelete": { + "target": "com.amazonaws.s3control#MFADelete", "traits": { - "smithy.api#documentation": "The key of the key-value pair of a tag added to your Amazon Web Services resource. A tag key can be up\n to 128 Unicode characters in length and is case-sensitive. System created tags that begin\n with aws: aren’t supported.
Specifies whether MFA delete is enabled or disabled in the bucket versioning\n configuration for the S3 on Outposts bucket.
", + "smithy.api#xmlName": "MfaDelete" } }, - "Value": { - "target": "com.amazonaws.s3control#TagValueString", + "Status": { + "target": "com.amazonaws.s3control#BucketVersioningStatus", "traits": { - "smithy.api#documentation": "The value of the key-value pair of a tag added to your Amazon Web Services resource. A tag value can\n be up to 256 Unicode characters in length and is case-sensitive.
", - "smithy.api#required": {} + "smithy.api#documentation": "Sets the versioning state of the S3 on Outposts bucket.
" } } }, "traits": { - "smithy.api#documentation": "A key-value pair that you use to label your resources. You can add tags to new\n resources when you create them, or you can add tags to existing resources. Tags can help\n you organize, track costs for, and control access to resources.
" + "smithy.api#documentation": "Describes the versioning state of an Amazon S3 on Outposts bucket. For more information, see\n PutBucketVersioning.
" } }, - "com.amazonaws.s3control#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.s3control#TagKeyString" + "com.amazonaws.s3control#VpcConfiguration": { + "type": "structure", + "members": { + "VpcId": { + "target": "com.amazonaws.s3control#VpcId", + "traits": { + "smithy.api#documentation": "If this field is specified, this access point will only allow connections from the specified VPC\n ID.
", + "smithy.api#required": {} + } + } }, "traits": { - "smithy.api#length": { - "min": 0, - "max": 50 - } + "smithy.api#documentation": "The virtual private cloud (VPC) configuration for an access point.
" } }, - "com.amazonaws.s3control#TagKeyString": { + "com.amazonaws.s3control#VpcId": { "type": "string", "traits": { "smithy.api#length": { "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "max": 1024 + } } }, - "com.amazonaws.s3control#TagList": { + "smithy.protocols#StringList": { "type": "list", "member": { - "target": "com.amazonaws.s3control#Tag", - "traits": { - "smithy.api#xmlName": "Tag" - } + "target": "smithy.api#String" }, "traits": { - "smithy.api#length": { - "min": 0, - "max": 50 - } + "smithy.api#documentation": "A list of String shapes.", + "smithy.api#private": {} } }, - "com.amazonaws.s3control#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.s3control#TagResourceResult" + "smithy.protocols#rpcv2Cbor": { + "type": "structure", + "members": { + "http": { + "target": "smithy.protocols#StringList", + "traits": { + "smithy.api#documentation": "Priority ordered list of supported HTTP protocol versions." + } + }, + "eventStreamHttp": { + "target": "smithy.protocols#StringList", + "traits": { + "smithy.api#documentation": "Priority ordered list of supported HTTP protocol versions\nthat are required when using event streams." + } + } }, "traits": { - "smithy.api#documentation": "Creates a new user-defined tag or updates an existing tag. Each tag is a label consisting of a key and value that is applied to your resource. Tags can help you organize, track costs for, and control access to your resources. You can add up to 50 Amazon Web Services resource tags for each S3 resource.
\nThis operation is only supported for the following Amazon S3 resource:
\n\n Directory buckets\n
\n\n S3 Access Grants instances, registered locations, or grants.
\nThis operation is only supported for the following Amazon S3 resource:
\n\n Directory\n buckets\n
\n\n S3 Access Grants instances,\n registered locations, or grants.
\nFor Storage Lens groups and S3 Access Grants, you must have the\n s3:TagResource permission to use this operation.
For more information about the required Storage Lens Groups permissions, see\n Setting account permissions to use S3 Storage Lens groups.
\nFor directory buckets and access points for directory buckets, you must have the s3express:TagResource permission to use this operation. For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\nThe Amazon Web Services account ID that created the S3 resource that you're trying to add tags to or the requester's account ID. \n
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "ResourceArn": { - "target": "com.amazonaws.s3control#S3ResourceArn", + "type": { + "target": "smithy.rules#ShapeType", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the S3 resource that you're applying tags to. The\n tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance,\n registered location, or grant.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "The Smithy shape type that should be used to generate a client configurable for the rule-set parameter.", + "smithy.api#required": {} } }, - "Tags": { - "target": "com.amazonaws.s3control#TagList", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The Amazon Web Services resource tags that you want to add to the specified S3 resource.
", - "smithy.api#required": {} + "smithy.api#documentation": "Documentation string to be generated with the client parameter." } } }, "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.s3control#TagResourceResult": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.s3control#TagValueString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "smithy.api#documentation": "A client context parameter definition.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#Tagging": { + "smithy.rules#Condition": { "type": "structure", "members": { - "TagSet": { - "target": "com.amazonaws.s3control#S3TagSet", + "fn": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "A collection for a set of tags.
", + "smithy.api#documentation": "The name of the function to be executed.", + "smithy.api#required": {} + } + }, + "argv": { + "target": "smithy.rules#DocumentList", + "traits": { + "smithy.api#documentation": "The arguments for the function.\nAn array of one or more of the following types: string, bool, array, Reference object, or Function object", "smithy.api#required": {} } + }, + "assign": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The optional destination variable to assign the functions result to." + } } }, "traits": { - "smithy.api#documentation": "" + "smithy.api#private": {} } }, - "com.amazonaws.s3control#TimeStamp": { - "type": "timestamp" - }, - "com.amazonaws.s3control#TooManyRequestsException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.s3control#ExceptionMessage" - } + "smithy.rules#Conditions": { + "type": "list", + "member": { + "target": "smithy.rules#Condition" }, "traits": { - "smithy.api#documentation": "", - "smithy.api#error": "client" + "smithy.api#private": {} } }, - "com.amazonaws.s3control#TooManyTagsException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.s3control#ExceptionMessage" - } + "smithy.rules#DocumentList": { + "type": "list", + "member": { + "target": "smithy.api#Document" }, "traits": { - "smithy.api#documentation": "Amazon S3 throws this exception if you have too many tags in your tag set.
", - "smithy.api#error": "client" - } - }, - "com.amazonaws.s3control#TrafficDialPercentage": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 100 - } + "smithy.api#private": {} } }, - "com.amazonaws.s3control#Transition": { + "smithy.rules#EndpointExpectation": { "type": "structure", "members": { - "Date": { - "target": "com.amazonaws.s3control#Date", + "url": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Indicates when objects are transitioned to the specified storage class. The date value\n must be in ISO 8601 format. The time is always midnight UTC.
" + "smithy.api#documentation": "The expected endpoint URL to be resolved for this test case." } }, - "Days": { - "target": "com.amazonaws.s3control#Days", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "Indicates the number of days after creation when objects are transitioned to the\n specified storage class. The value must be a positive integer.
" + "headers": { + "target": "smithy.rules#EndpointHeaders", + "traits": { + "smithy.api#documentation": "The transport headers to be set for this test case." } }, - "StorageClass": { - "target": "com.amazonaws.s3control#TransitionStorageClass", + "properties": { + "target": "smithy.rules#Properties", "traits": { - "smithy.api#documentation": "The storage class to which you want the object to transition.
" + "smithy.api#documentation": "The properties for the endpoint for this test case." } } }, "traits": { - "smithy.api#documentation": "Specifies when an object transitions to a specified storage class. For more information\n about Amazon S3 Lifecycle configuration rules, see \n Transitioning objects using Amazon S3 Lifecycle in the\n Amazon S3 User Guide.
" + "smithy.api#documentation": "A description of an expected endpoint to be resolved for an endpoint rule-set test case.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#TransitionList": { + "smithy.rules#EndpointHeaderValue": { "type": "list", "member": { - "target": "com.amazonaws.s3control#Transition", + "target": "smithy.api#String", "traits": { - "smithy.api#xmlName": "Transition" + "smithy.api#documentation": "A transport header value." } + }, + "traits": { + "smithy.api#documentation": "A list of transport header values.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#TransitionStorageClass": { - "type": "enum", + "smithy.rules#EndpointHeaders": { + "type": "map", + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The transport header name." + } + }, + "value": { + "target": "smithy.rules#EndpointHeaderValue", + "traits": { + "smithy.api#documentation": "The transport header values." + } + }, + "traits": { + "smithy.api#documentation": "A map of header names to list of values.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#EndpointObject": { + "type": "structure", "members": { - "GLACIER": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GLACIER" - } - }, - "STANDARD_IA": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "STANDARD_IA" - } - }, - "ONEZONE_IA": { - "target": "smithy.api#Unit", + "url": { + "target": "smithy.api#Document", "traits": { - "smithy.api#enumValue": "ONEZONE_IA" + "smithy.api#documentation": "The endpoint url. This MUST specify a scheme and hostname and MAY contain port and base path components.\nA string value MAY be a Template string. Any value for this property MUST resolve to a string.", + "smithy.api#required": {} } }, - "INTELLIGENT_TIERING": { - "target": "smithy.api#Unit", + "properties": { + "target": "smithy.rules#EndpointProperties", "traits": { - "smithy.api#enumValue": "INTELLIGENT_TIERING" + "smithy.api#documentation": "A map containing zero or more key value property pairs. Endpoint properties MAY be arbitrarily deep and\ncontain other maps and arrays." } }, - "DEEP_ARCHIVE": { - "target": "smithy.api#Unit", + "headers": { + "target": "smithy.rules#EndpointObjectHeaders", "traits": { - "smithy.api#enumValue": "DEEP_ARCHIVE" + "smithy.api#documentation": "A map of transport header names to their respective values. A string value in an array MAY be a\ntemplate string." } } + }, + "traits": { + "smithy.api#private": {} } }, - "com.amazonaws.s3control#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#UntagResourceRequest" + "smithy.rules#EndpointObjectHeaders": { + "type": "map", + "key": { + "target": "smithy.api#String" }, - "output": { - "target": "com.amazonaws.s3control#UntagResourceResult" + "value": { + "target": "smithy.rules#DocumentList" }, "traits": { - "smithy.api#documentation": "This operation removes the specified user-defined tags from an S3 resource. You can pass\n one or more tag keys.
\nThis operation is only supported for the following Amazon S3 resources:
\n\n Directory buckets\n
\n\n Storage Lens groups\n
\n\n S3 Access Grants instances, registered locations, and grants.
\nFor Storage Lens groups and S3 Access Grants, you must have the\n s3:UntagResource permission to use this operation.
For more information about the required Storage Lens Groups permissions, see\n Setting account permissions to use S3 Storage Lens groups.
\nFor directory buckets and access points for directory buckets, you must have\n the s3express:UntagResource permission to use this operation.\n For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
\n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3\n Tagging error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.\n
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "Documentation describing the test case." } }, - "ResourceArn": { - "target": "com.amazonaws.s3control#S3ResourceArn", + "params": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "The Amazon Resource Name (ARN) of the S3 resource that you're removing tags from. The\n tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance,\n registered location, or grant.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "ResourceArn" - } + "smithy.api#documentation": "Defines rule-set parameters and values to use for testing rules-engine." } }, - "TagKeys": { - "target": "com.amazonaws.s3control#TagKeyList", + "operationInputs": { + "target": "smithy.rules#OperationInputs", "traits": { - "smithy.api#documentation": "The array of tag key-value pairs that you're trying to remove from of the S3 resource.\n
", - "smithy.api#httpQuery": "tagKeys", + "smithy.api#documentation": "Defines a set of service operation configurations used for testing the rules-engine." + } + }, + "expect": { + "target": "smithy.rules#EndpointTestExpectation", + "traits": { + "smithy.api#documentation": "The expected outcome of the test case.", "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "Describes an endpoint test case for validation of an endpoint rule-set.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#UntagResourceResult": { - "type": "structure", - "members": {}, + "smithy.rules#EndpointTestExpectation": { + "type": "union", + "members": { + "error": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "A test case expectation resulting in an error." + } + }, + "endpoint": { + "target": "smithy.rules#EndpointExpectation", + "traits": { + "smithy.api#documentation": "A test case expectation resulting in an endpoint." + } + } + }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "An endpoint rule-set test expectation describing an expected endpoint or error.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#UpdateAccessGrantsLocation": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#UpdateAccessGrantsLocationRequest" - }, - "output": { - "target": "com.amazonaws.s3control#UpdateAccessGrantsLocationResult" + "smithy.rules#EndpointTestList": { + "type": "list", + "member": { + "target": "smithy.rules#EndpointTest" }, "traits": { - "smithy.api#documentation": "Updates the IAM role of a registered location in your S3 Access Grants instance.
\nYou must have the s3:UpdateAccessGrantsLocation permission to use\n this operation.
You must also have the following permission: iam:PassRole\n
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The Amazon Web Services account ID of the S3 Access Grants instance.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } - } - }, - "AccessGrantsLocationId": { - "target": "com.amazonaws.s3control#AccessGrantsLocationId", - "traits": { - "smithy.api#documentation": "The ID of the registered location that you are updating. S3 Access Grants assigns this ID when you\n register the location. S3 Access Grants assigns the ID default to the default location\n s3:// and assigns an auto-generated ID to other locations that you\n register.
The ID of the registered location to which you are granting access. S3 Access Grants assigned this\n ID when you registered the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
If you are passing the default location, you cannot create an access grant\n for the entire default location. You must also specify a bucket or a bucket and prefix in\n the Subprefix field.
The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants\n assumes this role to manage access to the registered location.
", + "smithy.api#documentation": "a JMESPath expression to select element(s) from the operation input to bind to.", "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "An operation context parameter definition.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#UpdateAccessGrantsLocationResult": { + "smithy.rules#OperationInput": { "type": "structure", "members": { - "CreatedAt": { - "target": "com.amazonaws.s3control#CreationTimestamp", - "traits": { - "smithy.api#documentation": "The date and time when you registered the location.
" - } - }, - "AccessGrantsLocationId": { - "target": "com.amazonaws.s3control#AccessGrantsLocationId", + "operationName": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The ID of the registered location to which you are granting access. S3 Access Grants assigned this\n ID when you registered the location. S3 Access Grants assigns the ID default to the\n default location s3:// and assigns an auto-generated ID to other locations\n that you register.
The Amazon Resource Name (ARN) of the registered location that you are updating.
" + "smithy.api#documentation": "Defines the input parameters used to generate the operation request.\nThese parameters MUST be compatible with the input of the operation." } }, - "LocationScope": { - "target": "com.amazonaws.s3control#S3Prefix", + "builtInParams": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "The S3 URI path of the location that you are updating. You cannot update the scope of\n the registered location. The location scope can be the default S3 location\n s3://, the S3 path to a bucket s3://, or the S3\n path to a bucket and prefix s3://.
The Amazon Resource Name (ARN) of the IAM role of the registered location. S3 Access Grants\n assumes this role to manage access to the registered location.
" + "smithy.api#documentation": "Defines the set of client configuration parameters to be set." } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "A description of a service operation and input used to verify an endpoint rule-set test case.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#UpdateJobPriority": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#UpdateJobPriorityRequest" - }, - "output": { - "target": "com.amazonaws.s3control#UpdateJobPriorityResult" - }, - "errors": [ - { - "target": "com.amazonaws.s3control#BadRequestException" - }, - { - "target": "com.amazonaws.s3control#InternalServiceException" - }, - { - "target": "com.amazonaws.s3control#NotFoundException" - }, - { - "target": "com.amazonaws.s3control#TooManyRequestsException" + "smithy.rules#OperationInputs": { + "type": "list", + "member": { + "target": "smithy.rules#OperationInput", + "traits": { + "smithy.api#documentation": "The service operation configuration to be used for testing the rules-engine." } - ], + }, "traits": { - "smithy.api#documentation": "Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the UpdateJobPriority operation, you must have permission\n to perform the s3:UpdateJobPriority action.
Related actions include:
\n\n CreateJob\n
\n\n ListJobs\n
\n\n DescribeJob\n
\n\n UpdateJobStatus\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The Amazon Web Services account ID associated with the S3 Batch Operations job.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "The parameter type.", + "smithy.api#required": {} } }, - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "deprecated": { + "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "The ID for the job whose priority you want to update.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "True if the parameter is deprecated." } }, - "Priority": { - "target": "com.amazonaws.s3control#JobPriority", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "The priority you want to assign to this job.
", - "smithy.api#httpQuery": "priority", - "smithy.api#required": {} + "smithy.api#documentation": "Documentation about the parameter." + } + }, + "default": { + "target": "smithy.api#Document", + "traits": { + "smithy.api#documentation": "Specifies the default value for the parameter if not set.\nParameters with defaults MUST also be marked as required. The type of the provided default MUST match type." + } + }, + "builtIn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Specifies a named built-in value that is sourced and provided to the endpoint provider by a caller." + } + }, + "required": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Specifies that the parameter is required to be provided to the endpoint provider." } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A rules input parameter.", + "smithy.api#private": {} } }, - "com.amazonaws.s3control#UpdateJobPriorityResult": { - "type": "structure", + "smithy.rules#ParameterType": { + "type": "enum", "members": { - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "STRING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "string" + } + }, + "BOOLEAN": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The ID for the job whose priority Amazon S3 updated.
", - "smithy.api#required": {} + "smithy.api#enumValue": "boolean" } }, - "Priority": { - "target": "com.amazonaws.s3control#JobPriority", + "STRING_ARRAY": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "The new priority assigned to the specified job.
", - "smithy.api#required": {} + "smithy.api#enumValue": "stringArray" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#documentation": "The kind of parameter." } }, - "com.amazonaws.s3control#UpdateJobStatus": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#UpdateJobStatusRequest" + "smithy.rules#Parameters": { + "type": "map", + "key": { + "target": "smithy.api#String" }, - "output": { - "target": "com.amazonaws.s3control#UpdateJobStatusResult" + "value": { + "target": "smithy.rules#Parameter" }, - "errors": [ - { - "target": "com.amazonaws.s3control#BadRequestException" - }, - { - "target": "com.amazonaws.s3control#InternalServiceException" - }, - { - "target": "com.amazonaws.s3control#JobStatusException" - }, - { - "target": "com.amazonaws.s3control#NotFoundException" - }, - { - "target": "com.amazonaws.s3control#TooManyRequestsException" - } - ], "traits": { - "smithy.api#documentation": "Updates the status for the specified job. Use this operation to confirm that you want to\n run a job or to cancel an existing job. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
\nTo use the UpdateJobStatus operation, you must have permission to\n perform the s3:UpdateJobStatus action.
Related actions include:
\n\n CreateJob\n
\n\n ListJobs\n
\n\n DescribeJob\n
\n\n UpdateJobStatus\n
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
The Amazon Web Services account ID associated with the S3 Batch Operations job.
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "Result type.", + "smithy.api#required": {} } }, - "JobId": { - "target": "com.amazonaws.s3control#JobId", + "documentation": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "The ID of the job whose status you want to update.
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "An optional description of the result." } }, - "RequestedJobStatus": { - "target": "com.amazonaws.s3control#RequestedJobStatus", + "error": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "The status that you want to move the specified job to.
", - "smithy.api#httpQuery": "requestedJobStatus", - "smithy.api#required": {} + "smithy.api#documentation": "Provided if type is \"error\"." } }, - "StatusUpdateReason": { - "target": "com.amazonaws.s3control#JobStatusUpdateReason", + "endpoint": { + "target": "smithy.rules#EndpointObject", "traits": { - "smithy.api#documentation": "A description of the reason why you want to change the specified job's status. This\n field can be any string up to the maximum length.
", - "smithy.api#httpQuery": "statusUpdateReason" + "smithy.api#documentation": "Provided if type is \"endpoint\"." + } + }, + "conditions": { + "target": "smithy.rules#Conditions", + "traits": { + "smithy.api#documentation": "Conditions for the result (only used with decision tree rules)." } } }, "traits": { - "smithy.api#input": {} + "smithy.api#private": {} } }, - "com.amazonaws.s3control#UpdateJobStatusResult": { - "type": "structure", + "smithy.rules#ResultType": { + "type": "enum", "members": { - "JobId": { - "target": "com.amazonaws.s3control#JobId", - "traits": { - "smithy.api#documentation": "The ID for the job whose status was updated.
" - } - }, - "Status": { - "target": "com.amazonaws.s3control#JobStatus", + "ENDPOINT": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The current status for the specified job.
" + "smithy.api#enumValue": "endpoint" } }, - "StatusUpdateReason": { - "target": "com.amazonaws.s3control#JobStatusUpdateReason", + "ERROR": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "The reason that the specified job's status was updated.
" + "smithy.api#enumValue": "error" } } }, "traits": { - "smithy.api#output": {} + "smithy.api#private": {} } }, - "com.amazonaws.s3control#UpdateStorageLensGroup": { - "type": "operation", - "input": { - "target": "com.amazonaws.s3control#UpdateStorageLensGroupRequest" - }, - "output": { - "target": "smithy.api#Unit" + "smithy.rules#Results": { + "type": "list", + "member": { + "target": "smithy.rules#Result" }, "traits": { - "smithy.api#documentation": "\nUpdates the existing Storage Lens group.
\nTo use this operation, you must have the permission to perform the\n s3:UpdateStorageLensGroup action. For more information about the required Storage Lens\n Groups permissions, see Setting account permissions to use S3 Storage Lens groups.
For information about Storage Lens groups errors, see List of Amazon S3 Storage\n Lens error codes.
\nYou must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
\nThe name of the Storage Lens group that you want to update.\n
", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#documentation": "Indicates a Smithy string shape type.", + "smithy.api#enumValue": "string" } }, - "AccountId": { - "target": "com.amazonaws.s3control#AccountId", + "BOOLEAN": { + "target": "smithy.api#Unit", "traits": { - "smithy.api#documentation": "\nThe Amazon Web Services account ID of the Storage Lens group owner.\n
", - "smithy.api#hostLabel": {}, - "smithy.api#httpHeader": "x-amz-account-id", - "smithy.api#required": {}, - "smithy.rules#contextParam": { - "name": "AccountId" - } + "smithy.api#documentation": "Indicates a Smithy boolean shape type.", + "smithy.api#enumValue": "boolean" } - }, - "StorageLensGroup": { - "target": "com.amazonaws.s3control#StorageLensGroup", + } + }, + "traits": { + "smithy.api#documentation": "An enum representing supported Smithy shape types.", + "smithy.api#private": {}, + "smithy.api#unstable": {} + } + }, + "smithy.rules#StaticContextParamDefinition": { + "type": "structure", + "members": { + "value": { + "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "\nThe JSON file that contains the Storage Lens group configuration.\n
", + "smithy.api#documentation": "The value to set the associated rule-set parameter to.", "smithy.api#required": {} } } }, "traits": { - "smithy.api#input": {} + "smithy.api#documentation": "A static context parameter definition.", + "smithy.api#private": {}, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#UserArguments": { + "smithy.rules#clientContextParams": { "type": "map", "key": { - "target": "com.amazonaws.s3control#NonEmptyMaxLength64String" + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The rule-set parameter name." + } }, "value": { - "target": "com.amazonaws.s3control#MaxLength1024String" + "target": "smithy.rules#ClientContextParamDefinition", + "traits": { + "smithy.api#documentation": "The client parameter definition." + } }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 + "smithy.api#documentation": "Defines one or more named rule-set parameters to be generated as configurable client parameters.\nThe type specified for the client parameter MUST match the parameter type defined in the rule-set.", + "smithy.api#trait": { + "selector": "service" + }, + "smithy.api#unstable": {} + } + }, + "smithy.rules#contextParam": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The rule-set parameter name.", + "smithy.api#required": {} + } } + }, + "traits": { + "smithy.api#documentation": "Binds the targeted member of an operation's input structure to the named rule-set parameter.\nThe type of the shape targeted by the trait MUST match the parameter type defined in the rule-set.", + "smithy.api#trait": { + "selector": "operation -[input]-> structure > member" + }, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#VersioningConfiguration": { + "smithy.rules#endpointBdd": { "type": "structure", "members": { - "MFADelete": { - "target": "com.amazonaws.s3control#MFADelete", + "version": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Specifies whether MFA delete is enabled or disabled in the bucket versioning\n configuration for the S3 on Outposts bucket.
", - "smithy.api#xmlName": "MfaDelete" + "smithy.api#documentation": "The rules engine version. Must be set to 1.1 or higher.", + "smithy.api#required": {} } }, - "Status": { - "target": "com.amazonaws.s3control#BucketVersioningStatus", + "parameters": { + "target": "smithy.rules#Parameters", "traits": { - "smithy.api#documentation": "Sets the versioning state of the S3 on Outposts bucket.
" + "smithy.api#documentation": "A map of zero or more endpoint parameter names to their parameter configuration.", + "smithy.api#required": {} + } + }, + "conditions": { + "target": "smithy.rules#Conditions", + "traits": { + "smithy.api#documentation": "An ordered list of unique conditions used throughout the BDD.", + "smithy.api#required": {} + } + }, + "results": { + "target": "smithy.rules#Results", + "traits": { + "smithy.api#documentation": "An ordered list of results referenced by BDD nodes. The first result is always the terminal node.", + "smithy.api#required": {} + } + }, + "root": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "The root node of where to start evaluating the BDD.", + "smithy.api#range": { + "min": -1 + }, + "smithy.api#required": {} + } + }, + "nodeCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "The number of nodes contained in the BDD.", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#required": {} + } + }, + "nodes": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Base64-encoded array of BDD nodes representing the decision graph structure.\n\nAll integers are encoded in big-endian.\n\nThe first node (index 0) is always the terminal node `[-1, 1, -1]` and is included in the nodeCount.\nUser-defined nodes start at index 1.\n\nEach node is written one after the other and consists of three integers written sequentially:\n1. variable index\n2. high reference (when condition is true)\n3. low reference (when condition is false)\n\nNode Structure [variable, high, low]:\n- variable: The index of the condition being tested (0 to conditionCount-1)\n- high: Reference to follow when the condition evaluates to true\n- low: Reference to follow when the condition evaluates to false\n\nReference Encoding:\n- 0: Invalid/unused reference (never appears in valid BDDs)\n- 1: TRUE terminal (treated as \"no match\" in endpoint resolution)\n- -1: FALSE terminal (treated as \"no match\" in endpoint resolution)\n- 2, 3, 4, ...: Node references pointing to nodes[ref-1]\n- -2, -3, -4, ...: Complement node references (logical NOT of nodes[abs(ref)-1])\n- 100000000+: Result terminals (100000000 + resultIndex)\n\nComplement edges:\nA negative reference represents the logical NOT of the referenced node's entire subgraph. So `-5` means the\ncomplement of node 5 (located in the array at index 4, since `index = |ref| - 1`). In this case, evaluate the\ncondition referenced by node 4, and if it is TRUE, use the low reference, and if it's FALSE, use the high\nreference. This optimization significantly reduces BDD size by allowing a single subgraph to represent both a\nboolean function and its complement; instead of creating separate nodes for `condition AND other` and\n`NOT(condition AND other)`, we can reuse the same nodes with complement edges. Complement edges cannot be\nused on result terminals.", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "Describes the versioning state of an Amazon S3 on Outposts bucket. For more information, see\n PutBucketVersioning.
" + "smithy.api#documentation": "Defines an endpoint rule-set using a binary decision diagram (BDD).", + "smithy.api#trait": { + "selector": "service" + }, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#VpcConfiguration": { + "smithy.rules#endpointRuleSet": { + "type": "document", + "traits": { + "smithy.api#documentation": "Defines an endpoint rule-set used to resolve the client's transport endpoint.", + "smithy.api#trait": { + "selector": "service" + }, + "smithy.api#unstable": {} + } + }, + "smithy.rules#endpointTests": { "type": "structure", "members": { - "VpcId": { - "target": "com.amazonaws.s3control#VpcId", + "version": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "If this field is specified, this access point will only allow connections from the specified VPC\n ID.
", + "smithy.api#documentation": "The endpoint tests schema version.", "smithy.api#required": {} } + }, + "testCases": { + "target": "smithy.rules#EndpointTestList", + "traits": { + "smithy.api#documentation": "List of endpoint test cases." + } } }, "traits": { - "smithy.api#documentation": "The virtual private cloud (VPC) configuration for an access point.
" + "smithy.api#documentation": "Defines endpoint test-cases for validating a client's endpoint rule-set.", + "smithy.api#trait": { + "selector": "service :is([trait|smithy.rules#endpointRuleSet], [trait|smithy.rules#endpointBdd])" + }, + "smithy.api#unstable": {} } }, - "com.amazonaws.s3control#VpcId": { - "type": "string", + "smithy.rules#operationContextParams": { + "type": "map", + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The rule-set parameter name." + } + }, + "value": { + "target": "smithy.rules#OperationContextParamDefinition", + "traits": { + "smithy.api#documentation": "The static parameter definition." + } + }, "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 + "smithy.api#documentation": "Binds one or more named rule-set parameters to elements contained in the operation's input structure.\nThe type of the shapes targeted by the trait MUST match the parameter types defined in the rule-set.", + "smithy.api#trait": { + "selector": "operation" + }, + "smithy.api#unstable": {} + } + }, + "smithy.rules#staticContextParams": { + "type": "map", + "key": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The rule-set parameter name." + } + }, + "value": { + "target": "smithy.rules#StaticContextParamDefinition", + "traits": { + "smithy.api#documentation": "The static parameter definition." } + }, + "traits": { + "smithy.api#documentation": "Binds one or more named rule-set parameters to the defined static value for the targeted operation.\nThe type of the targeted shape targeted by the trait MUST match the parameter type defined in the rule-set.", + "smithy.api#trait": { + "selector": "operation" + }, + "smithy.api#unstable": {} } } } diff --git a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/endpoint/Util.kt b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/endpoint/Util.kt index eb8de3df2d8..d068e26a7fa 100644 --- a/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/endpoint/Util.kt +++ b/codegen-client/src/main/kotlin/software/amazon/smithy/rust/codegen/client/smithy/endpoint/Util.kt @@ -36,8 +36,26 @@ data class Context( val functionRegistry: FunctionRegistry, val runtimeConfig: RuntimeConfig, val isBddMode: Boolean = false, + /** + * Maps each reference's original Smithy name (`Identifier.toString()`) to the + * canonical rust identifier used in generated code. Non-empty only in BDD mode, + * and only when at least one SSA variable's snake_case form collides with a + * parameter name. Call sites that emit a reference in generated code should look + * up through this map so they receive the disambiguated name when applicable; + * other lookups fall back to `id.rustName()`. + * + * See `AnnotatedRefs.from` for how the disambiguation map is built. + */ + val nameByOriginal: Map