<?php
// This file was auto-generated from sdk-root/src/data/dynamodb/2012-08-10/api-2.json
return [
	'version'    => '2.0',
	'metadata'   => [
		'apiVersion'          => '2012-08-10',
		'endpointPrefix'      => 'dynamodb',
		'jsonVersion'         => '1.0',
		'protocol'            => 'json',
		'serviceAbbreviation' => 'DynamoDB',
		'serviceFullName'     => 'Amazon DynamoDB',
		'serviceId'           => 'DynamoDB',
		'signatureVersion'    => 'v4',
		'targetPrefix'        => 'DynamoDB_20120810',
		'uid'                 => 'dynamodb-2012-08-10',
	],
	'operations' => [
		'BatchGetItem'                => [
			'name'              => 'BatchGetItem',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'BatchGetItemInput', ],
			'output'            => [ 'shape' => 'BatchGetItemOutput', ],
			'errors'            => [
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'BatchWriteItem'              => [
			'name'              => 'BatchWriteItem',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'BatchWriteItemInput', ],
			'output'            => [ 'shape' => 'BatchWriteItemOutput', ],
			'errors'            => [
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ItemCollectionSizeLimitExceededException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'CreateBackup'                => [
			'name'              => 'CreateBackup',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'CreateBackupInput', ],
			'output'            => [ 'shape' => 'CreateBackupOutput', ],
			'errors'            => [
				[ 'shape' => 'TableNotFoundException', ],
				[ 'shape' => 'TableInUseException', ],
				[ 'shape' => 'ContinuousBackupsUnavailableException', ],
				[ 'shape' => 'BackupInUseException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'CreateGlobalTable'           => [
			'name'              => 'CreateGlobalTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'CreateGlobalTableInput', ],
			'output'            => [ 'shape' => 'CreateGlobalTableOutput', ],
			'errors'            => [
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
				[ 'shape' => 'GlobalTableAlreadyExistsException', ],
				[ 'shape' => 'TableNotFoundException', ],
			],
			'endpointdiscovery' => [],
		],
		'CreateTable'                 => [
			'name'              => 'CreateTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'CreateTableInput', ],
			'output'            => [ 'shape' => 'CreateTableOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceInUseException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DeleteBackup'                => [
			'name'              => 'DeleteBackup',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DeleteBackupInput', ],
			'output'            => [ 'shape' => 'DeleteBackupOutput', ],
			'errors'            => [
				[ 'shape' => 'BackupNotFoundException', ],
				[ 'shape' => 'BackupInUseException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DeleteItem'                  => [
			'name'              => 'DeleteItem',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DeleteItemInput', ],
			'output'            => [ 'shape' => 'DeleteItemOutput', ],
			'errors'            => [
				[ 'shape' => 'ConditionalCheckFailedException', ],
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ItemCollectionSizeLimitExceededException', ],
				[ 'shape' => 'TransactionConflictException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DeleteTable'                 => [
			'name'              => 'DeleteTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DeleteTableInput', ],
			'output'            => [ 'shape' => 'DeleteTableOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceInUseException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DescribeBackup'              => [
			'name'              => 'DescribeBackup',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeBackupInput', ],
			'output'            => [ 'shape' => 'DescribeBackupOutput', ],
			'errors'            => [
				[ 'shape' => 'BackupNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DescribeContinuousBackups'   => [
			'name'              => 'DescribeContinuousBackups',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeContinuousBackupsInput', ],
			'output'            => [ 'shape' => 'DescribeContinuousBackupsOutput', ],
			'errors'            => [
				[ 'shape' => 'TableNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DescribeEndpoints'           => [
			'name'              => 'DescribeEndpoints',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeEndpointsRequest', ],
			'output'            => [ 'shape' => 'DescribeEndpointsResponse', ],
			'endpointoperation' => true,
		],
		'DescribeGlobalTable'         => [
			'name'              => 'DescribeGlobalTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeGlobalTableInput', ],
			'output'            => [ 'shape' => 'DescribeGlobalTableOutput', ],
			'errors'            => [
				[ 'shape' => 'InternalServerError', ],
				[ 'shape' => 'GlobalTableNotFoundException', ],
			],
			'endpointdiscovery' => [],
		],
		'DescribeGlobalTableSettings' => [
			'name'              => 'DescribeGlobalTableSettings',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeGlobalTableSettingsInput', ],
			'output'            => [ 'shape' => 'DescribeGlobalTableSettingsOutput', ],
			'errors'            => [
				[ 'shape' => 'GlobalTableNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DescribeLimits'              => [
			'name'              => 'DescribeLimits',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeLimitsInput', ],
			'output'            => [ 'shape' => 'DescribeLimitsOutput', ],
			'errors'            => [ [ 'shape' => 'InternalServerError', ], ],
			'endpointdiscovery' => [],
		],
		'DescribeTable'               => [
			'name'              => 'DescribeTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeTableInput', ],
			'output'            => [ 'shape' => 'DescribeTableOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'DescribeTimeToLive'          => [
			'name'              => 'DescribeTimeToLive',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'DescribeTimeToLiveInput', ],
			'output'            => [ 'shape' => 'DescribeTimeToLiveOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'GetItem'                     => [
			'name'              => 'GetItem',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'GetItemInput', ],
			'output'            => [ 'shape' => 'GetItemOutput', ],
			'errors'            => [
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'ListBackups'                 => [
			'name'              => 'ListBackups',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'ListBackupsInput', ],
			'output'            => [ 'shape' => 'ListBackupsOutput', ],
			'errors'            => [ [ 'shape' => 'InternalServerError', ], ],
			'endpointdiscovery' => [],
		],
		'ListGlobalTables'            => [
			'name'              => 'ListGlobalTables',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'ListGlobalTablesInput', ],
			'output'            => [ 'shape' => 'ListGlobalTablesOutput', ],
			'errors'            => [ [ 'shape' => 'InternalServerError', ], ],
			'endpointdiscovery' => [],
		],
		'ListTables'                  => [
			'name'              => 'ListTables',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'ListTablesInput', ],
			'output'            => [ 'shape' => 'ListTablesOutput', ],
			'errors'            => [ [ 'shape' => 'InternalServerError', ], ],
			'endpointdiscovery' => [],
		],
		'ListTagsOfResource'          => [
			'name'              => 'ListTagsOfResource',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'ListTagsOfResourceInput', ],
			'output'            => [ 'shape' => 'ListTagsOfResourceOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'PutItem'                     => [
			'name'              => 'PutItem',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'PutItemInput', ],
			'output'            => [ 'shape' => 'PutItemOutput', ],
			'errors'            => [
				[ 'shape' => 'ConditionalCheckFailedException', ],
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ItemCollectionSizeLimitExceededException', ],
				[ 'shape' => 'TransactionConflictException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'Query'                       => [
			'name'              => 'Query',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'QueryInput', ],
			'output'            => [ 'shape' => 'QueryOutput', ],
			'errors'            => [
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'RestoreTableFromBackup'      => [
			'name'              => 'RestoreTableFromBackup',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'RestoreTableFromBackupInput', ],
			'output'            => [ 'shape' => 'RestoreTableFromBackupOutput', ],
			'errors'            => [
				[ 'shape' => 'TableAlreadyExistsException', ],
				[ 'shape' => 'TableInUseException', ],
				[ 'shape' => 'BackupNotFoundException', ],
				[ 'shape' => 'BackupInUseException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'RestoreTableToPointInTime'   => [
			'name'              => 'RestoreTableToPointInTime',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'RestoreTableToPointInTimeInput', ],
			'output'            => [ 'shape' => 'RestoreTableToPointInTimeOutput', ],
			'errors'            => [
				[ 'shape' => 'TableAlreadyExistsException', ],
				[ 'shape' => 'TableNotFoundException', ],
				[ 'shape' => 'TableInUseException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InvalidRestoreTimeException', ],
				[ 'shape' => 'PointInTimeRecoveryUnavailableException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'Scan'                        => [
			'name'              => 'Scan',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'ScanInput', ],
			'output'            => [ 'shape' => 'ScanOutput', ],
			'errors'            => [
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'TagResource'                 => [
			'name'              => 'TagResource',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'TagResourceInput', ],
			'errors'            => [
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
				[ 'shape' => 'ResourceInUseException', ],
			],
			'endpointdiscovery' => [],
		],
		'TransactGetItems'            => [
			'name'              => 'TransactGetItems',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'TransactGetItemsInput', ],
			'output'            => [ 'shape' => 'TransactGetItemsOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'TransactionCanceledException', ],
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'TransactWriteItems'          => [
			'name'              => 'TransactWriteItems',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'TransactWriteItemsInput', ],
			'output'            => [ 'shape' => 'TransactWriteItemsOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'TransactionCanceledException', ],
				[ 'shape' => 'TransactionInProgressException', ],
				[ 'shape' => 'IdempotentParameterMismatchException', ],
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'UntagResource'               => [
			'name'              => 'UntagResource',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UntagResourceInput', ],
			'errors'            => [
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'InternalServerError', ],
				[ 'shape' => 'ResourceInUseException', ],
			],
			'endpointdiscovery' => [],
		],
		'UpdateContinuousBackups'     => [
			'name'              => 'UpdateContinuousBackups',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UpdateContinuousBackupsInput', ],
			'output'            => [ 'shape' => 'UpdateContinuousBackupsOutput', ],
			'errors'            => [
				[ 'shape' => 'TableNotFoundException', ],
				[ 'shape' => 'ContinuousBackupsUnavailableException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'UpdateGlobalTable'           => [
			'name'              => 'UpdateGlobalTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UpdateGlobalTableInput', ],
			'output'            => [ 'shape' => 'UpdateGlobalTableOutput', ],
			'errors'            => [
				[ 'shape' => 'InternalServerError', ],
				[ 'shape' => 'GlobalTableNotFoundException', ],
				[ 'shape' => 'ReplicaAlreadyExistsException', ],
				[ 'shape' => 'ReplicaNotFoundException', ],
				[ 'shape' => 'TableNotFoundException', ],
			],
			'endpointdiscovery' => [],
		],
		'UpdateGlobalTableSettings'   => [
			'name'              => 'UpdateGlobalTableSettings',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UpdateGlobalTableSettingsInput', ],
			'output'            => [ 'shape' => 'UpdateGlobalTableSettingsOutput', ],
			'errors'            => [
				[ 'shape' => 'GlobalTableNotFoundException', ],
				[ 'shape' => 'ReplicaNotFoundException', ],
				[ 'shape' => 'IndexNotFoundException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'ResourceInUseException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'UpdateItem'                  => [
			'name'              => 'UpdateItem',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UpdateItemInput', ],
			'output'            => [ 'shape' => 'UpdateItemOutput', ],
			'errors'            => [
				[ 'shape' => 'ConditionalCheckFailedException', ],
				[ 'shape' => 'ProvisionedThroughputExceededException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'ItemCollectionSizeLimitExceededException', ],
				[ 'shape' => 'TransactionConflictException', ],
				[ 'shape' => 'RequestLimitExceeded', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'UpdateTable'                 => [
			'name'              => 'UpdateTable',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UpdateTableInput', ],
			'output'            => [ 'shape' => 'UpdateTableOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceInUseException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
		'UpdateTimeToLive'            => [
			'name'              => 'UpdateTimeToLive',
			'http'              => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'             => [ 'shape' => 'UpdateTimeToLiveInput', ],
			'output'            => [ 'shape' => 'UpdateTimeToLiveOutput', ],
			'errors'            => [
				[ 'shape' => 'ResourceInUseException', ],
				[ 'shape' => 'ResourceNotFoundException', ],
				[ 'shape' => 'LimitExceededException', ],
				[ 'shape' => 'InternalServerError', ],
			],
			'endpointdiscovery' => [],
		],
	],
	'shapes'     => [
		'AttributeAction'                                                => [
			'type' => 'string',
			'enum' => [ 'ADD', 'PUT', 'DELETE', ],
		],
		'AttributeDefinition'                                            => [
			'type'     => 'structure',
			'required' => [ 'AttributeName', 'AttributeType', ],
			'members'  => [
				'AttributeName' => [ 'shape' => 'KeySchemaAttributeName', ],
				'AttributeType' => [ 'shape' => 'ScalarAttributeType', ],
			],
		],
		'AttributeDefinitions'                                           => [
			'type'   => 'list',
			'member' => [ 'shape' => 'AttributeDefinition', ],
		],
		'AttributeMap'                                                   => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'AttributeValue', ],
		],
		'AttributeName'                                                  => [ 'type' => 'string', 'max' => 65535, ],
		'AttributeNameList'                                              => [
			'type'   => 'list',
			'member' => [ 'shape' => 'AttributeName', ],
			'min'    => 1,
		],
		'AttributeUpdates'                                               => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'AttributeValueUpdate', ],
		],
		'AttributeValue'                                                 => [
			'type'    => 'structure',
			'members' => [
				'S'    => [ 'shape' => 'StringAttributeValue', ],
				'N'    => [ 'shape' => 'NumberAttributeValue', ],
				'B'    => [ 'shape' => 'BinaryAttributeValue', ],
				'SS'   => [ 'shape' => 'StringSetAttributeValue', ],
				'NS'   => [ 'shape' => 'NumberSetAttributeValue', ],
				'BS'   => [ 'shape' => 'BinarySetAttributeValue', ],
				'M'    => [ 'shape' => 'MapAttributeValue', ],
				'L'    => [ 'shape' => 'ListAttributeValue', ],
				'NULL' => [ 'shape' => 'NullAttributeValue', ],
				'BOOL' => [ 'shape' => 'BooleanAttributeValue', ],
			],
		],
		'AttributeValueList'                                             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'AttributeValue', ],
		],
		'AttributeValueUpdate'                                           => [
			'type'    => 'structure',
			'members' => [
				'Value'  => [ 'shape' => 'AttributeValue', ],
				'Action' => [ 'shape' => 'AttributeAction', ],
			],
		],
		'AutoScalingPolicyDescription'                                   => [
			'type'    => 'structure',
			'members' => [
				'PolicyName'                               => [ 'shape' => 'AutoScalingPolicyName', ],
				'TargetTrackingScalingPolicyConfiguration' => [ 'shape' => 'AutoScalingTargetTrackingScalingPolicyConfigurationDescription', ],
			],
		],
		'AutoScalingPolicyDescriptionList'                               => [
			'type'   => 'list',
			'member' => [ 'shape' => 'AutoScalingPolicyDescription', ],
		],
		'AutoScalingPolicyName'                                          => [
			'type'    => 'string',
			'max'     => 256,
			'min'     => 1,
			'pattern' => '\\p{Print}+',
		],
		'AutoScalingPolicyUpdate'                                        => [
			'type'     => 'structure',
			'required' => [ 'TargetTrackingScalingPolicyConfiguration', ],
			'members'  => [
				'PolicyName'                               => [ 'shape' => 'AutoScalingPolicyName', ],
				'TargetTrackingScalingPolicyConfiguration' => [ 'shape' => 'AutoScalingTargetTrackingScalingPolicyConfigurationUpdate', ],
			],
		],
		'AutoScalingRoleArn'                                             => [
			'type'    => 'string',
			'max'     => 1600,
			'min'     => 1,
			'pattern' => '[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*',
		],
		'AutoScalingSettingsDescription'                                 => [
			'type'    => 'structure',
			'members' => [
				'MinimumUnits'        => [ 'shape' => 'PositiveLongObject', ],
				'MaximumUnits'        => [ 'shape' => 'PositiveLongObject', ],
				'AutoScalingDisabled' => [ 'shape' => 'BooleanObject', ],
				'AutoScalingRoleArn'  => [ 'shape' => 'String', ],
				'ScalingPolicies'     => [ 'shape' => 'AutoScalingPolicyDescriptionList', ],
			],
		],
		'AutoScalingSettingsUpdate'                                      => [
			'type'    => 'structure',
			'members' => [
				'MinimumUnits'        => [ 'shape' => 'PositiveLongObject', ],
				'MaximumUnits'        => [ 'shape' => 'PositiveLongObject', ],
				'AutoScalingDisabled' => [ 'shape' => 'BooleanObject', ],
				'AutoScalingRoleArn'  => [ 'shape' => 'AutoScalingRoleArn', ],
				'ScalingPolicyUpdate' => [ 'shape' => 'AutoScalingPolicyUpdate', ],
			],
		],
		'AutoScalingTargetTrackingScalingPolicyConfigurationDescription' => [
			'type'     => 'structure',
			'required' => [ 'TargetValue', ],
			'members'  => [
				'DisableScaleIn'   => [ 'shape' => 'BooleanObject', ],
				'ScaleInCooldown'  => [ 'shape' => 'IntegerObject', ],
				'ScaleOutCooldown' => [ 'shape' => 'IntegerObject', ],
				'TargetValue'      => [ 'shape' => 'Double', ],
			],
		],
		'AutoScalingTargetTrackingScalingPolicyConfigurationUpdate'      => [
			'type'     => 'structure',
			'required' => [ 'TargetValue', ],
			'members'  => [
				'DisableScaleIn'   => [ 'shape' => 'BooleanObject', ],
				'ScaleInCooldown'  => [ 'shape' => 'IntegerObject', ],
				'ScaleOutCooldown' => [ 'shape' => 'IntegerObject', ],
				'TargetValue'      => [ 'shape' => 'Double', ],
			],
		],
		'Backfilling'                                                    => [ 'type' => 'boolean', ],
		'BackupArn'                                                      => [
			'type' => 'string',
			'max'  => 1024,
			'min'  => 37,
		],
		'BackupCreationDateTime'                                         => [ 'type' => 'timestamp', ],
		'BackupDescription'                                              => [
			'type'    => 'structure',
			'members' => [
				'BackupDetails'             => [ 'shape' => 'BackupDetails', ],
				'SourceTableDetails'        => [ 'shape' => 'SourceTableDetails', ],
				'SourceTableFeatureDetails' => [ 'shape' => 'SourceTableFeatureDetails', ],
			],
		],
		'BackupDetails'                                                  => [
			'type'     => 'structure',
			'required' => [
				'BackupArn',
				'BackupName',
				'BackupStatus',
				'BackupType',
				'BackupCreationDateTime',
			],
			'members'  => [
				'BackupArn'              => [ 'shape' => 'BackupArn', ],
				'BackupName'             => [ 'shape' => 'BackupName', ],
				'BackupSizeBytes'        => [ 'shape' => 'BackupSizeBytes', ],
				'BackupStatus'           => [ 'shape' => 'BackupStatus', ],
				'BackupType'             => [ 'shape' => 'BackupType', ],
				'BackupCreationDateTime' => [ 'shape' => 'BackupCreationDateTime', ],
				'BackupExpiryDateTime'   => [ 'shape' => 'Date', ],
			],
		],
		'BackupInUseException'                                           => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'BackupName'                                                     => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 3,
			'pattern' => '[a-zA-Z0-9_.-]+',
		],
		'BackupNotFoundException'                                        => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'BackupSizeBytes'                                                => [ 'type' => 'long', 'min' => 0, ],
		'BackupStatus'                                                   => [
			'type' => 'string',
			'enum' => [
				'CREATING',
				'DELETED',
				'AVAILABLE',
			],
		],
		'BackupSummaries'                                                => [
			'type'   => 'list',
			'member' => [ 'shape' => 'BackupSummary', ],
		],
		'BackupSummary'                                                  => [
			'type'    => 'structure',
			'members' => [
				'TableName'              => [ 'shape' => 'TableName', ],
				'TableId'                => [ 'shape' => 'TableId', ],
				'TableArn'               => [ 'shape' => 'TableArn', ],
				'BackupArn'              => [ 'shape' => 'BackupArn', ],
				'BackupName'             => [ 'shape' => 'BackupName', ],
				'BackupCreationDateTime' => [ 'shape' => 'BackupCreationDateTime', ],
				'BackupExpiryDateTime'   => [ 'shape' => 'Date', ],
				'BackupStatus'           => [ 'shape' => 'BackupStatus', ],
				'BackupType'             => [ 'shape' => 'BackupType', ],
				'BackupSizeBytes'        => [ 'shape' => 'BackupSizeBytes', ],
			],
		],
		'BackupType'                                                     => [
			'type' => 'string',
			'enum' => [
				'USER',
				'SYSTEM',
				'AWS_BACKUP',
			],
		],
		'BackupTypeFilter'                                               => [
			'type' => 'string',
			'enum' => [
				'USER',
				'SYSTEM',
				'AWS_BACKUP',
				'ALL',
			],
		],
		'BackupsInputLimit'                                              => [
			'type' => 'integer',
			'max'  => 100,
			'min'  => 1,
		],
		'BatchGetItemInput'                                              => [
			'type'     => 'structure',
			'required' => [ 'RequestItems', ],
			'members'  => [
				'RequestItems'           => [ 'shape' => 'BatchGetRequestMap', ],
				'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ],
			],
		],
		'BatchGetItemOutput'                                             => [
			'type'    => 'structure',
			'members' => [
				'Responses'        => [ 'shape' => 'BatchGetResponseMap', ],
				'UnprocessedKeys'  => [ 'shape' => 'BatchGetRequestMap', ],
				'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacityMultiple', ],
			],
		],
		'BatchGetRequestMap'                                             => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'TableName', ],
			'value' => [ 'shape' => 'KeysAndAttributes', ],
			'max'   => 100,
			'min'   => 1,
		],
		'BatchGetResponseMap'                                            => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'TableName', ],
			'value' => [ 'shape' => 'ItemList', ],
		],
		'BatchWriteItemInput'                                            => [
			'type'     => 'structure',
			'required' => [ 'RequestItems', ],
			'members'  => [
				'RequestItems'                => [ 'shape' => 'BatchWriteItemRequestMap', ],
				'ReturnConsumedCapacity'      => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ],
			],
		],
		'BatchWriteItemOutput'                                           => [
			'type'    => 'structure',
			'members' => [
				'UnprocessedItems'      => [ 'shape' => 'BatchWriteItemRequestMap', ],
				'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetricsPerTable', ],
				'ConsumedCapacity'      => [ 'shape' => 'ConsumedCapacityMultiple', ],
			],
		],
		'BatchWriteItemRequestMap'                                       => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'TableName', ],
			'value' => [ 'shape' => 'WriteRequests', ],
			'max'   => 25,
			'min'   => 1,
		],
		'BillingMode'                                                    => [
			'type' => 'string',
			'enum' => [
				'PROVISIONED',
				'PAY_PER_REQUEST',
			],
		],
		'BillingModeSummary'                                             => [
			'type'    => 'structure',
			'members' => [
				'BillingMode'                       => [ 'shape' => 'BillingMode', ],
				'LastUpdateToPayPerRequestDateTime' => [ 'shape' => 'Date', ],
			],
		],
		'BinaryAttributeValue'                                           => [ 'type' => 'blob', ],
		'BinarySetAttributeValue'                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'BinaryAttributeValue', ],
		],
		'BooleanAttributeValue'                                          => [ 'type' => 'boolean', ],
		'BooleanObject'                                                  => [ 'type' => 'boolean', ],
		'CancellationReason'                                             => [
			'type'    => 'structure',
			'members' => [
				'Item'    => [ 'shape' => 'AttributeMap', ],
				'Code'    => [ 'shape' => 'Code', ],
				'Message' => [ 'shape' => 'ErrorMessage', ],
			],
		],
		'CancellationReasonList'                                         => [
			'type'   => 'list',
			'member' => [ 'shape' => 'CancellationReason', ],
			'max'    => 10,
			'min'    => 1,
		],
		'Capacity'                                                       => [
			'type'    => 'structure',
			'members' => [
				'ReadCapacityUnits'  => [ 'shape' => 'ConsumedCapacityUnits', ],
				'WriteCapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ],
				'CapacityUnits'      => [ 'shape' => 'ConsumedCapacityUnits', ],
			],
		],
		'ClientRequestToken'                                             => [
			'type' => 'string',
			'max'  => 36,
			'min'  => 1,
		],
		'Code'                                                           => [ 'type' => 'string', ],
		'ComparisonOperator'                                             => [
			'type' => 'string',
			'enum' => [
				'EQ',
				'NE',
				'IN',
				'LE',
				'LT',
				'GE',
				'GT',
				'BETWEEN',
				'NOT_NULL',
				'NULL',
				'CONTAINS',
				'NOT_CONTAINS',
				'BEGINS_WITH',
			],
		],
		'Condition'                                                      => [
			'type'     => 'structure',
			'required' => [ 'ComparisonOperator', ],
			'members'  => [
				'AttributeValueList' => [ 'shape' => 'AttributeValueList', ],
				'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ],
			],
		],
		'ConditionCheck'                                                 => [
			'type'     => 'structure',
			'required' => [
				'Key',
				'TableName',
				'ConditionExpression',
			],
			'members'  => [
				'Key'                                 => [ 'shape' => 'Key', ],
				'TableName'                           => [ 'shape' => 'TableName', ],
				'ConditionExpression'                 => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'            => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'           => [ 'shape' => 'ExpressionAttributeValueMap', ],
				'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ],
			],
		],
		'ConditionExpression'                                            => [ 'type' => 'string', ],
		'ConditionalCheckFailedException'                                => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ConditionalOperator'                                            => [
			'type' => 'string',
			'enum' => [ 'AND', 'OR', ],
		],
		'ConsistentRead'                                                 => [ 'type' => 'boolean', ],
		'ConsumedCapacity'                                               => [
			'type'    => 'structure',
			'members' => [
				'TableName'              => [ 'shape' => 'TableName', ],
				'CapacityUnits'          => [ 'shape' => 'ConsumedCapacityUnits', ],
				'ReadCapacityUnits'      => [ 'shape' => 'ConsumedCapacityUnits', ],
				'WriteCapacityUnits'     => [ 'shape' => 'ConsumedCapacityUnits', ],
				'Table'                  => [ 'shape' => 'Capacity', ],
				'LocalSecondaryIndexes'  => [ 'shape' => 'SecondaryIndexesCapacityMap', ],
				'GlobalSecondaryIndexes' => [ 'shape' => 'SecondaryIndexesCapacityMap', ],
			],
		],
		'ConsumedCapacityMultiple'                                       => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ConsumedCapacity', ],
		],
		'ConsumedCapacityUnits'                                          => [ 'type' => 'double', ],
		'ContinuousBackupsDescription'                                   => [
			'type'     => 'structure',
			'required' => [ 'ContinuousBackupsStatus', ],
			'members'  => [
				'ContinuousBackupsStatus'        => [ 'shape' => 'ContinuousBackupsStatus', ],
				'PointInTimeRecoveryDescription' => [ 'shape' => 'PointInTimeRecoveryDescription', ],
			],
		],
		'ContinuousBackupsStatus'                                        => [
			'type' => 'string',
			'enum' => [ 'ENABLED', 'DISABLED', ],
		],
		'ContinuousBackupsUnavailableException'                          => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'CreateBackupInput'                                              => [
			'type'     => 'structure',
			'required' => [
				'TableName',
				'BackupName',
			],
			'members'  => [
				'TableName'  => [ 'shape' => 'TableName', ],
				'BackupName' => [ 'shape' => 'BackupName', ],
			],
		],
		'CreateBackupOutput'                                             => [
			'type'    => 'structure',
			'members' => [ 'BackupDetails' => [ 'shape' => 'BackupDetails', ], ],
		],
		'CreateGlobalSecondaryIndexAction'                               => [
			'type'     => 'structure',
			'required' => [
				'IndexName',
				'KeySchema',
				'Projection',
			],
			'members'  => [
				'IndexName'             => [ 'shape' => 'IndexName', ],
				'KeySchema'             => [ 'shape' => 'KeySchema', ],
				'Projection'            => [ 'shape' => 'Projection', ],
				'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ],
			],
		],
		'CreateGlobalTableInput'                                         => [
			'type'     => 'structure',
			'required' => [
				'GlobalTableName',
				'ReplicationGroup',
			],
			'members'  => [
				'GlobalTableName'  => [ 'shape' => 'TableName', ],
				'ReplicationGroup' => [ 'shape' => 'ReplicaList', ],
			],
		],
		'CreateGlobalTableOutput'                                        => [
			'type'    => 'structure',
			'members' => [ 'GlobalTableDescription' => [ 'shape' => 'GlobalTableDescription', ], ],
		],
		'CreateReplicaAction'                                            => [
			'type'     => 'structure',
			'required' => [ 'RegionName', ],
			'members'  => [ 'RegionName' => [ 'shape' => 'RegionName', ], ],
		],
		'CreateTableInput'                                               => [
			'type'     => 'structure',
			'required' => [
				'AttributeDefinitions',
				'TableName',
				'KeySchema',
			],
			'members'  => [
				'AttributeDefinitions'   => [ 'shape' => 'AttributeDefinitions', ],
				'TableName'              => [ 'shape' => 'TableName', ],
				'KeySchema'              => [ 'shape' => 'KeySchema', ],
				'LocalSecondaryIndexes'  => [ 'shape' => 'LocalSecondaryIndexList', ],
				'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexList', ],
				'BillingMode'            => [ 'shape' => 'BillingMode', ],
				'ProvisionedThroughput'  => [ 'shape' => 'ProvisionedThroughput', ],
				'StreamSpecification'    => [ 'shape' => 'StreamSpecification', ],
				'SSESpecification'       => [ 'shape' => 'SSESpecification', ],
				'Tags'                   => [ 'shape' => 'TagList', ],
			],
		],
		'CreateTableOutput'                                              => [
			'type'    => 'structure',
			'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ],
		],
		'Date'                                                           => [ 'type' => 'timestamp', ],
		'Delete'                                                         => [
			'type'     => 'structure',
			'required' => [ 'Key', 'TableName', ],
			'members'  => [
				'Key'                                 => [ 'shape' => 'Key', ],
				'TableName'                           => [ 'shape' => 'TableName', ],
				'ConditionExpression'                 => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'            => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'           => [ 'shape' => 'ExpressionAttributeValueMap', ],
				'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ],
			],
		],
		'DeleteBackupInput'                                              => [
			'type'     => 'structure',
			'required' => [ 'BackupArn', ],
			'members'  => [ 'BackupArn' => [ 'shape' => 'BackupArn', ], ],
		],
		'DeleteBackupOutput'                                             => [
			'type'    => 'structure',
			'members' => [ 'BackupDescription' => [ 'shape' => 'BackupDescription', ], ],
		],
		'DeleteGlobalSecondaryIndexAction'                               => [
			'type'     => 'structure',
			'required' => [ 'IndexName', ],
			'members'  => [ 'IndexName' => [ 'shape' => 'IndexName', ], ],
		],
		'DeleteItemInput'                                                => [
			'type'     => 'structure',
			'required' => [ 'TableName', 'Key', ],
			'members'  => [
				'TableName'                   => [ 'shape' => 'TableName', ],
				'Key'                         => [ 'shape' => 'Key', ],
				'Expected'                    => [ 'shape' => 'ExpectedAttributeMap', ],
				'ConditionalOperator'         => [ 'shape' => 'ConditionalOperator', ],
				'ReturnValues'                => [ 'shape' => 'ReturnValue', ],
				'ReturnConsumedCapacity'      => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ],
				'ConditionExpression'         => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'    => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'   => [ 'shape' => 'ExpressionAttributeValueMap', ],
			],
		],
		'DeleteItemOutput'                                               => [
			'type'    => 'structure',
			'members' => [
				'Attributes'            => [ 'shape' => 'AttributeMap', ],
				'ConsumedCapacity'      => [ 'shape' => 'ConsumedCapacity', ],
				'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetrics', ],
			],
		],
		'DeleteReplicaAction'                                            => [
			'type'     => 'structure',
			'required' => [ 'RegionName', ],
			'members'  => [ 'RegionName' => [ 'shape' => 'RegionName', ], ],
		],
		'DeleteRequest'                                                  => [
			'type'     => 'structure',
			'required' => [ 'Key', ],
			'members'  => [ 'Key' => [ 'shape' => 'Key', ], ],
		],
		'DeleteTableInput'                                               => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [ 'TableName' => [ 'shape' => 'TableName', ], ],
		],
		'DeleteTableOutput'                                              => [
			'type'    => 'structure',
			'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ],
		],
		'DescribeBackupInput'                                            => [
			'type'     => 'structure',
			'required' => [ 'BackupArn', ],
			'members'  => [ 'BackupArn' => [ 'shape' => 'BackupArn', ], ],
		],
		'DescribeBackupOutput'                                           => [
			'type'    => 'structure',
			'members' => [ 'BackupDescription' => [ 'shape' => 'BackupDescription', ], ],
		],
		'DescribeContinuousBackupsInput'                                 => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [ 'TableName' => [ 'shape' => 'TableName', ], ],
		],
		'DescribeContinuousBackupsOutput'                                => [
			'type'    => 'structure',
			'members' => [ 'ContinuousBackupsDescription' => [ 'shape' => 'ContinuousBackupsDescription', ], ],
		],
		'DescribeEndpointsRequest'                                       => [ 'type' => 'structure', 'members' => [], ],
		'DescribeEndpointsResponse'                                      => [
			'type'     => 'structure',
			'required' => [ 'Endpoints', ],
			'members'  => [ 'Endpoints' => [ 'shape' => 'Endpoints', ], ],
		],
		'DescribeGlobalTableInput'                                       => [
			'type'     => 'structure',
			'required' => [ 'GlobalTableName', ],
			'members'  => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], ],
		],
		'DescribeGlobalTableOutput'                                      => [
			'type'    => 'structure',
			'members' => [ 'GlobalTableDescription' => [ 'shape' => 'GlobalTableDescription', ], ],
		],
		'DescribeGlobalTableSettingsInput'                               => [
			'type'     => 'structure',
			'required' => [ 'GlobalTableName', ],
			'members'  => [ 'GlobalTableName' => [ 'shape' => 'TableName', ], ],
		],
		'DescribeGlobalTableSettingsOutput'                              => [
			'type'    => 'structure',
			'members' => [
				'GlobalTableName' => [ 'shape' => 'TableName', ],
				'ReplicaSettings' => [ 'shape' => 'ReplicaSettingsDescriptionList', ],
			],
		],
		'DescribeLimitsInput'                                            => [ 'type' => 'structure', 'members' => [], ],
		'DescribeLimitsOutput'                                           => [
			'type'    => 'structure',
			'members' => [
				'AccountMaxReadCapacityUnits'  => [ 'shape' => 'PositiveLongObject', ],
				'AccountMaxWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ],
				'TableMaxReadCapacityUnits'    => [ 'shape' => 'PositiveLongObject', ],
				'TableMaxWriteCapacityUnits'   => [ 'shape' => 'PositiveLongObject', ],
			],
		],
		'DescribeTableInput'                                             => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [ 'TableName' => [ 'shape' => 'TableName', ], ],
		],
		'DescribeTableOutput'                                            => [
			'type'    => 'structure',
			'members' => [ 'Table' => [ 'shape' => 'TableDescription', ], ],
		],
		'DescribeTimeToLiveInput'                                        => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [ 'TableName' => [ 'shape' => 'TableName', ], ],
		],
		'DescribeTimeToLiveOutput'                                       => [
			'type'    => 'structure',
			'members' => [ 'TimeToLiveDescription' => [ 'shape' => 'TimeToLiveDescription', ], ],
		],
		'Double'                                                         => [ 'type' => 'double', ],
		'Endpoint'                                                       => [
			'type'     => 'structure',
			'required' => [
				'Address',
				'CachePeriodInMinutes',
			],
			'members'  => [
				'Address'              => [ 'shape' => 'String', ],
				'CachePeriodInMinutes' => [ 'shape' => 'Long', ],
			],
		],
		'Endpoints'                                                      => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Endpoint', ],
		],
		'ErrorMessage'                                                   => [ 'type' => 'string', ],
		'ExpectedAttributeMap'                                           => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'ExpectedAttributeValue', ],
		],
		'ExpectedAttributeValue'                                         => [
			'type'    => 'structure',
			'members' => [
				'Value'              => [ 'shape' => 'AttributeValue', ],
				'Exists'             => [ 'shape' => 'BooleanObject', ],
				'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ],
				'AttributeValueList' => [ 'shape' => 'AttributeValueList', ],
			],
		],
		'ExpressionAttributeNameMap'                                     => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'ExpressionAttributeNameVariable', ],
			'value' => [ 'shape' => 'AttributeName', ],
		],
		'ExpressionAttributeNameVariable'                                => [ 'type' => 'string', ],
		'ExpressionAttributeValueMap'                                    => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'ExpressionAttributeValueVariable', ],
			'value' => [ 'shape' => 'AttributeValue', ],
		],
		'ExpressionAttributeValueVariable'                               => [ 'type' => 'string', ],
		'FilterConditionMap'                                             => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'Condition', ],
		],
		'Get'                                                            => [
			'type'     => 'structure',
			'required' => [ 'Key', 'TableName', ],
			'members'  => [
				'Key'                      => [ 'shape' => 'Key', ],
				'TableName'                => [ 'shape' => 'TableName', ],
				'ProjectionExpression'     => [ 'shape' => 'ProjectionExpression', ],
				'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ],
			],
		],
		'GetItemInput'                                                   => [
			'type'     => 'structure',
			'required' => [ 'TableName', 'Key', ],
			'members'  => [
				'TableName'                => [ 'shape' => 'TableName', ],
				'Key'                      => [ 'shape' => 'Key', ],
				'AttributesToGet'          => [ 'shape' => 'AttributeNameList', ],
				'ConsistentRead'           => [ 'shape' => 'ConsistentRead', ],
				'ReturnConsumedCapacity'   => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ProjectionExpression'     => [ 'shape' => 'ProjectionExpression', ],
				'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ],
			],
		],
		'GetItemOutput'                                                  => [
			'type'    => 'structure',
			'members' => [
				'Item'             => [ 'shape' => 'AttributeMap', ],
				'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ],
			],
		],
		'GlobalSecondaryIndex'                                           => [
			'type'     => 'structure',
			'required' => [
				'IndexName',
				'KeySchema',
				'Projection',
			],
			'members'  => [
				'IndexName'             => [ 'shape' => 'IndexName', ],
				'KeySchema'             => [ 'shape' => 'KeySchema', ],
				'Projection'            => [ 'shape' => 'Projection', ],
				'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ],
			],
		],
		'GlobalSecondaryIndexDescription'                                => [
			'type'    => 'structure',
			'members' => [
				'IndexName'             => [ 'shape' => 'IndexName', ],
				'KeySchema'             => [ 'shape' => 'KeySchema', ],
				'Projection'            => [ 'shape' => 'Projection', ],
				'IndexStatus'           => [ 'shape' => 'IndexStatus', ],
				'Backfilling'           => [ 'shape' => 'Backfilling', ],
				'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughputDescription', ],
				'IndexSizeBytes'        => [ 'shape' => 'Long', ],
				'ItemCount'             => [ 'shape' => 'Long', ],
				'IndexArn'              => [ 'shape' => 'String', ],
			],
		],
		'GlobalSecondaryIndexDescriptionList'                            => [
			'type'   => 'list',
			'member' => [ 'shape' => 'GlobalSecondaryIndexDescription', ],
		],
		'GlobalSecondaryIndexInfo'                                       => [
			'type'    => 'structure',
			'members' => [
				'IndexName'             => [ 'shape' => 'IndexName', ],
				'KeySchema'             => [ 'shape' => 'KeySchema', ],
				'Projection'            => [ 'shape' => 'Projection', ],
				'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ],
			],
		],
		'GlobalSecondaryIndexList'                                       => [
			'type'   => 'list',
			'member' => [ 'shape' => 'GlobalSecondaryIndex', ],
		],
		'GlobalSecondaryIndexUpdate'                                     => [
			'type'    => 'structure',
			'members' => [
				'Update' => [ 'shape' => 'UpdateGlobalSecondaryIndexAction', ],
				'Create' => [ 'shape' => 'CreateGlobalSecondaryIndexAction', ],
				'Delete' => [ 'shape' => 'DeleteGlobalSecondaryIndexAction', ],
			],
		],
		'GlobalSecondaryIndexUpdateList'                                 => [
			'type'   => 'list',
			'member' => [ 'shape' => 'GlobalSecondaryIndexUpdate', ],
		],
		'GlobalSecondaryIndexes'                                         => [
			'type'   => 'list',
			'member' => [ 'shape' => 'GlobalSecondaryIndexInfo', ],
		],
		'GlobalTable'                                                    => [
			'type'    => 'structure',
			'members' => [
				'GlobalTableName'  => [ 'shape' => 'TableName', ],
				'ReplicationGroup' => [ 'shape' => 'ReplicaList', ],
			],
		],
		'GlobalTableAlreadyExistsException'                              => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'GlobalTableArnString'                                           => [ 'type' => 'string', ],
		'GlobalTableDescription'                                         => [
			'type'    => 'structure',
			'members' => [
				'ReplicationGroup'  => [ 'shape' => 'ReplicaDescriptionList', ],
				'GlobalTableArn'    => [ 'shape' => 'GlobalTableArnString', ],
				'CreationDateTime'  => [ 'shape' => 'Date', ],
				'GlobalTableStatus' => [ 'shape' => 'GlobalTableStatus', ],
				'GlobalTableName'   => [ 'shape' => 'TableName', ],
			],
		],
		'GlobalTableGlobalSecondaryIndexSettingsUpdate'                  => [
			'type'     => 'structure',
			'required' => [ 'IndexName', ],
			'members'  => [
				'IndexName'                                         => [ 'shape' => 'IndexName', ],
				'ProvisionedWriteCapacityUnits'                     => [ 'shape' => 'PositiveLongObject', ],
				'ProvisionedWriteCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ],
			],
		],
		'GlobalTableGlobalSecondaryIndexSettingsUpdateList'              => [
			'type'   => 'list',
			'member' => [ 'shape' => 'GlobalTableGlobalSecondaryIndexSettingsUpdate', ],
			'max'    => 20,
			'min'    => 1,
		],
		'GlobalTableList'                                                => [
			'type'   => 'list',
			'member' => [ 'shape' => 'GlobalTable', ],
		],
		'GlobalTableNotFoundException'                                   => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'GlobalTableStatus'                                              => [
			'type' => 'string',
			'enum' => [
				'CREATING',
				'ACTIVE',
				'DELETING',
				'UPDATING',
			],
		],
		'IdempotentParameterMismatchException'                           => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'IndexName'                                                      => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 3,
			'pattern' => '[a-zA-Z0-9_.-]+',
		],
		'IndexNotFoundException'                                         => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'IndexStatus'                                                    => [
			'type' => 'string',
			'enum' => [
				'CREATING',
				'UPDATING',
				'DELETING',
				'ACTIVE',
			],
		],
		'Integer'                                                        => [ 'type' => 'integer', ],
		'IntegerObject'                                                  => [ 'type' => 'integer', ],
		'InternalServerError'                                            => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
			'fault'     => true,
		],
		'InvalidRestoreTimeException'                                    => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ItemCollectionKeyAttributeMap'                                  => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'AttributeValue', ],
		],
		'ItemCollectionMetrics'                                          => [
			'type'    => 'structure',
			'members' => [
				'ItemCollectionKey'   => [ 'shape' => 'ItemCollectionKeyAttributeMap', ],
				'SizeEstimateRangeGB' => [ 'shape' => 'ItemCollectionSizeEstimateRange', ],
			],
		],
		'ItemCollectionMetricsMultiple'                                  => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ItemCollectionMetrics', ],
		],
		'ItemCollectionMetricsPerTable'                                  => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'TableName', ],
			'value' => [ 'shape' => 'ItemCollectionMetricsMultiple', ],
		],
		'ItemCollectionSizeEstimateBound'                                => [ 'type' => 'double', ],
		'ItemCollectionSizeEstimateRange'                                => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ItemCollectionSizeEstimateBound', ],
		],
		'ItemCollectionSizeLimitExceededException'                       => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ItemCount'                                                      => [ 'type' => 'long', 'min' => 0, ],
		'ItemList'                                                       => [
			'type'   => 'list',
			'member' => [ 'shape' => 'AttributeMap', ],
		],
		'ItemResponse'                                                   => [
			'type'    => 'structure',
			'members' => [ 'Item' => [ 'shape' => 'AttributeMap', ], ],
		],
		'ItemResponseList'                                               => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ItemResponse', ],
			'max'    => 10,
			'min'    => 1,
		],
		'KMSMasterKeyArn'                                                => [ 'type' => 'string', ],
		'KMSMasterKeyId'                                                 => [ 'type' => 'string', ],
		'Key'                                                            => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'AttributeValue', ],
		],
		'KeyConditions'                                                  => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'Condition', ],
		],
		'KeyExpression'                                                  => [ 'type' => 'string', ],
		'KeyList'                                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Key', ],
			'max'    => 100,
			'min'    => 1,
		],
		'KeySchema'                                                      => [
			'type'   => 'list',
			'member' => [ 'shape' => 'KeySchemaElement', ],
			'max'    => 2,
			'min'    => 1,
		],
		'KeySchemaAttributeName'                                         => [
			'type' => 'string',
			'max'  => 255,
			'min'  => 1,
		],
		'KeySchemaElement'                                               => [
			'type'     => 'structure',
			'required' => [
				'AttributeName',
				'KeyType',
			],
			'members'  => [
				'AttributeName' => [ 'shape' => 'KeySchemaAttributeName', ],
				'KeyType'       => [ 'shape' => 'KeyType', ],
			],
		],
		'KeyType'                                                        => [
			'type' => 'string',
			'enum' => [ 'HASH', 'RANGE', ],
		],
		'KeysAndAttributes'                                              => [
			'type'     => 'structure',
			'required' => [ 'Keys', ],
			'members'  => [
				'Keys'                     => [ 'shape' => 'KeyList', ],
				'AttributesToGet'          => [ 'shape' => 'AttributeNameList', ],
				'ConsistentRead'           => [ 'shape' => 'ConsistentRead', ],
				'ProjectionExpression'     => [ 'shape' => 'ProjectionExpression', ],
				'ExpressionAttributeNames' => [ 'shape' => 'ExpressionAttributeNameMap', ],
			],
		],
		'LimitExceededException'                                         => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ListAttributeValue'                                             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'AttributeValue', ],
		],
		'ListBackupsInput'                                               => [
			'type'    => 'structure',
			'members' => [
				'TableName'               => [ 'shape' => 'TableName', ],
				'Limit'                   => [ 'shape' => 'BackupsInputLimit', ],
				'TimeRangeLowerBound'     => [ 'shape' => 'TimeRangeLowerBound', ],
				'TimeRangeUpperBound'     => [ 'shape' => 'TimeRangeUpperBound', ],
				'ExclusiveStartBackupArn' => [ 'shape' => 'BackupArn', ],
				'BackupType'              => [ 'shape' => 'BackupTypeFilter', ],
			],
		],
		'ListBackupsOutput'                                              => [
			'type'    => 'structure',
			'members' => [
				'BackupSummaries'        => [ 'shape' => 'BackupSummaries', ],
				'LastEvaluatedBackupArn' => [ 'shape' => 'BackupArn', ],
			],
		],
		'ListGlobalTablesInput'                                          => [
			'type'    => 'structure',
			'members' => [
				'ExclusiveStartGlobalTableName' => [ 'shape' => 'TableName', ],
				'Limit'                         => [ 'shape' => 'PositiveIntegerObject', ],
				'RegionName'                    => [ 'shape' => 'RegionName', ],
			],
		],
		'ListGlobalTablesOutput'                                         => [
			'type'    => 'structure',
			'members' => [
				'GlobalTables'                 => [ 'shape' => 'GlobalTableList', ],
				'LastEvaluatedGlobalTableName' => [ 'shape' => 'TableName', ],
			],
		],
		'ListTablesInput'                                                => [
			'type'    => 'structure',
			'members' => [
				'ExclusiveStartTableName' => [ 'shape' => 'TableName', ],
				'Limit'                   => [ 'shape' => 'ListTablesInputLimit', ],
			],
		],
		'ListTablesInputLimit'                                           => [
			'type' => 'integer',
			'max'  => 100,
			'min'  => 1,
		],
		'ListTablesOutput'                                               => [
			'type'    => 'structure',
			'members' => [
				'TableNames'             => [ 'shape' => 'TableNameList', ],
				'LastEvaluatedTableName' => [ 'shape' => 'TableName', ],
			],
		],
		'ListTagsOfResourceInput'                                        => [
			'type'     => 'structure',
			'required' => [ 'ResourceArn', ],
			'members'  => [
				'ResourceArn' => [ 'shape' => 'ResourceArnString', ],
				'NextToken'   => [ 'shape' => 'NextTokenString', ],
			],
		],
		'ListTagsOfResourceOutput'                                       => [
			'type'    => 'structure',
			'members' => [
				'Tags'      => [ 'shape' => 'TagList', ],
				'NextToken' => [ 'shape' => 'NextTokenString', ],
			],
		],
		'LocalSecondaryIndex'                                            => [
			'type'     => 'structure',
			'required' => [
				'IndexName',
				'KeySchema',
				'Projection',
			],
			'members'  => [
				'IndexName'  => [ 'shape' => 'IndexName', ],
				'KeySchema'  => [ 'shape' => 'KeySchema', ],
				'Projection' => [ 'shape' => 'Projection', ],
			],
		],
		'LocalSecondaryIndexDescription'                                 => [
			'type'    => 'structure',
			'members' => [
				'IndexName'      => [ 'shape' => 'IndexName', ],
				'KeySchema'      => [ 'shape' => 'KeySchema', ],
				'Projection'     => [ 'shape' => 'Projection', ],
				'IndexSizeBytes' => [ 'shape' => 'Long', ],
				'ItemCount'      => [ 'shape' => 'Long', ],
				'IndexArn'       => [ 'shape' => 'String', ],
			],
		],
		'LocalSecondaryIndexDescriptionList'                             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'LocalSecondaryIndexDescription', ],
		],
		'LocalSecondaryIndexInfo'                                        => [
			'type'    => 'structure',
			'members' => [
				'IndexName'  => [ 'shape' => 'IndexName', ],
				'KeySchema'  => [ 'shape' => 'KeySchema', ],
				'Projection' => [ 'shape' => 'Projection', ],
			],
		],
		'LocalSecondaryIndexList'                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'LocalSecondaryIndex', ],
		],
		'LocalSecondaryIndexes'                                          => [
			'type'   => 'list',
			'member' => [ 'shape' => 'LocalSecondaryIndexInfo', ],
		],
		'Long'                                                           => [ 'type' => 'long', ],
		'MapAttributeValue'                                              => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'AttributeValue', ],
		],
		'NextTokenString'                                                => [ 'type' => 'string', ],
		'NonKeyAttributeName'                                            => [
			'type' => 'string',
			'max'  => 255,
			'min'  => 1,
		],
		'NonKeyAttributeNameList'                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'NonKeyAttributeName', ],
			'max'    => 20,
			'min'    => 1,
		],
		'NonNegativeLongObject'                                          => [ 'type' => 'long', 'min' => 0, ],
		'NullAttributeValue'                                             => [ 'type' => 'boolean', ],
		'NumberAttributeValue'                                           => [ 'type' => 'string', ],
		'NumberSetAttributeValue'                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'NumberAttributeValue', ],
		],
		'PointInTimeRecoveryDescription'                                 => [
			'type'    => 'structure',
			'members' => [
				'PointInTimeRecoveryStatus'  => [ 'shape' => 'PointInTimeRecoveryStatus', ],
				'EarliestRestorableDateTime' => [ 'shape' => 'Date', ],
				'LatestRestorableDateTime'   => [ 'shape' => 'Date', ],
			],
		],
		'PointInTimeRecoverySpecification'                               => [
			'type'     => 'structure',
			'required' => [ 'PointInTimeRecoveryEnabled', ],
			'members'  => [ 'PointInTimeRecoveryEnabled' => [ 'shape' => 'BooleanObject', ], ],
		],
		'PointInTimeRecoveryStatus'                                      => [
			'type' => 'string',
			'enum' => [ 'ENABLED', 'DISABLED', ],
		],
		'PointInTimeRecoveryUnavailableException'                        => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'PositiveIntegerObject'                                          => [ 'type' => 'integer', 'min' => 1, ],
		'PositiveLongObject'                                             => [ 'type' => 'long', 'min' => 1, ],
		'Projection'                                                     => [
			'type'    => 'structure',
			'members' => [
				'ProjectionType'   => [ 'shape' => 'ProjectionType', ],
				'NonKeyAttributes' => [ 'shape' => 'NonKeyAttributeNameList', ],
			],
		],
		'ProjectionExpression'                                           => [ 'type' => 'string', ],
		'ProjectionType'                                                 => [
			'type' => 'string',
			'enum' => [
				'ALL',
				'KEYS_ONLY',
				'INCLUDE',
			],
		],
		'ProvisionedThroughput'                                          => [
			'type'     => 'structure',
			'required' => [
				'ReadCapacityUnits',
				'WriteCapacityUnits',
			],
			'members'  => [
				'ReadCapacityUnits'  => [ 'shape' => 'PositiveLongObject', ],
				'WriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ],
			],
		],
		'ProvisionedThroughputDescription'                               => [
			'type'    => 'structure',
			'members' => [
				'LastIncreaseDateTime'   => [ 'shape' => 'Date', ],
				'LastDecreaseDateTime'   => [ 'shape' => 'Date', ],
				'NumberOfDecreasesToday' => [ 'shape' => 'PositiveLongObject', ],
				'ReadCapacityUnits'      => [ 'shape' => 'NonNegativeLongObject', ],
				'WriteCapacityUnits'     => [ 'shape' => 'NonNegativeLongObject', ],
			],
		],
		'ProvisionedThroughputExceededException'                         => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'Put'                                                            => [
			'type'     => 'structure',
			'required' => [ 'Item', 'TableName', ],
			'members'  => [
				'Item'                                => [ 'shape' => 'PutItemInputAttributeMap', ],
				'TableName'                           => [ 'shape' => 'TableName', ],
				'ConditionExpression'                 => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'            => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'           => [ 'shape' => 'ExpressionAttributeValueMap', ],
				'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ],
			],
		],
		'PutItemInput'                                                   => [
			'type'     => 'structure',
			'required' => [ 'TableName', 'Item', ],
			'members'  => [
				'TableName'                   => [ 'shape' => 'TableName', ],
				'Item'                        => [ 'shape' => 'PutItemInputAttributeMap', ],
				'Expected'                    => [ 'shape' => 'ExpectedAttributeMap', ],
				'ReturnValues'                => [ 'shape' => 'ReturnValue', ],
				'ReturnConsumedCapacity'      => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ],
				'ConditionalOperator'         => [ 'shape' => 'ConditionalOperator', ],
				'ConditionExpression'         => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'    => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'   => [ 'shape' => 'ExpressionAttributeValueMap', ],
			],
		],
		'PutItemInputAttributeMap'                                       => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'AttributeName', ],
			'value' => [ 'shape' => 'AttributeValue', ],
		],
		'PutItemOutput'                                                  => [
			'type'    => 'structure',
			'members' => [
				'Attributes'            => [ 'shape' => 'AttributeMap', ],
				'ConsumedCapacity'      => [ 'shape' => 'ConsumedCapacity', ],
				'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetrics', ],
			],
		],
		'PutRequest'                                                     => [
			'type'     => 'structure',
			'required' => [ 'Item', ],
			'members'  => [ 'Item' => [ 'shape' => 'PutItemInputAttributeMap', ], ],
		],
		'QueryInput'                                                     => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [
				'TableName'                 => [ 'shape' => 'TableName', ],
				'IndexName'                 => [ 'shape' => 'IndexName', ],
				'Select'                    => [ 'shape' => 'Select', ],
				'AttributesToGet'           => [ 'shape' => 'AttributeNameList', ],
				'Limit'                     => [ 'shape' => 'PositiveIntegerObject', ],
				'ConsistentRead'            => [ 'shape' => 'ConsistentRead', ],
				'KeyConditions'             => [ 'shape' => 'KeyConditions', ],
				'QueryFilter'               => [ 'shape' => 'FilterConditionMap', ],
				'ConditionalOperator'       => [ 'shape' => 'ConditionalOperator', ],
				'ScanIndexForward'          => [ 'shape' => 'BooleanObject', ],
				'ExclusiveStartKey'         => [ 'shape' => 'Key', ],
				'ReturnConsumedCapacity'    => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ProjectionExpression'      => [ 'shape' => 'ProjectionExpression', ],
				'FilterExpression'          => [ 'shape' => 'ConditionExpression', ],
				'KeyConditionExpression'    => [ 'shape' => 'KeyExpression', ],
				'ExpressionAttributeNames'  => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ],
			],
		],
		'QueryOutput'                                                    => [
			'type'    => 'structure',
			'members' => [
				'Items'            => [ 'shape' => 'ItemList', ],
				'Count'            => [ 'shape' => 'Integer', ],
				'ScannedCount'     => [ 'shape' => 'Integer', ],
				'LastEvaluatedKey' => [ 'shape' => 'Key', ],
				'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ],
			],
		],
		'RegionName'                                                     => [ 'type' => 'string', ],
		'Replica'                                                        => [
			'type'    => 'structure',
			'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], ],
		],
		'ReplicaAlreadyExistsException'                                  => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ReplicaDescription'                                             => [
			'type'    => 'structure',
			'members' => [ 'RegionName' => [ 'shape' => 'RegionName', ], ],
		],
		'ReplicaDescriptionList'                                         => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ReplicaDescription', ],
		],
		'ReplicaGlobalSecondaryIndexSettingsDescription'                 => [
			'type'     => 'structure',
			'required' => [ 'IndexName', ],
			'members'  => [
				'IndexName'                                   => [ 'shape' => 'IndexName', ],
				'IndexStatus'                                 => [ 'shape' => 'IndexStatus', ],
				'ProvisionedReadCapacityUnits'                => [ 'shape' => 'PositiveLongObject', ],
				'ProvisionedReadCapacityAutoScalingSettings'  => [ 'shape' => 'AutoScalingSettingsDescription', ],
				'ProvisionedWriteCapacityUnits'               => [ 'shape' => 'PositiveLongObject', ],
				'ProvisionedWriteCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ],
			],
		],
		'ReplicaGlobalSecondaryIndexSettingsDescriptionList'             => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsDescription', ],
		],
		'ReplicaGlobalSecondaryIndexSettingsUpdate'                      => [
			'type'     => 'structure',
			'required' => [ 'IndexName', ],
			'members'  => [
				'IndexName'                                        => [ 'shape' => 'IndexName', ],
				'ProvisionedReadCapacityUnits'                     => [ 'shape' => 'PositiveLongObject', ],
				'ProvisionedReadCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ],
			],
		],
		'ReplicaGlobalSecondaryIndexSettingsUpdateList'                  => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsUpdate', ],
			'max'    => 20,
			'min'    => 1,
		],
		'ReplicaList'                                                    => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Replica', ],
		],
		'ReplicaNotFoundException'                                       => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ReplicaSettingsDescription'                                     => [
			'type'     => 'structure',
			'required' => [ 'RegionName', ],
			'members'  => [
				'RegionName'                                         => [ 'shape' => 'RegionName', ],
				'ReplicaStatus'                                      => [ 'shape' => 'ReplicaStatus', ],
				'ReplicaBillingModeSummary'                          => [ 'shape' => 'BillingModeSummary', ],
				'ReplicaProvisionedReadCapacityUnits'                => [ 'shape' => 'NonNegativeLongObject', ],
				'ReplicaProvisionedReadCapacityAutoScalingSettings'  => [ 'shape' => 'AutoScalingSettingsDescription', ],
				'ReplicaProvisionedWriteCapacityUnits'               => [ 'shape' => 'NonNegativeLongObject', ],
				'ReplicaProvisionedWriteCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ],
				'ReplicaGlobalSecondaryIndexSettings'                => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsDescriptionList', ],
			],
		],
		'ReplicaSettingsDescriptionList'                                 => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ReplicaSettingsDescription', ],
		],
		'ReplicaSettingsUpdate'                                          => [
			'type'     => 'structure',
			'required' => [ 'RegionName', ],
			'members'  => [
				'RegionName'                                              => [ 'shape' => 'RegionName', ],
				'ReplicaProvisionedReadCapacityUnits'                     => [ 'shape' => 'PositiveLongObject', ],
				'ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ],
				'ReplicaGlobalSecondaryIndexSettingsUpdate'               => [ 'shape' => 'ReplicaGlobalSecondaryIndexSettingsUpdateList', ],
			],
		],
		'ReplicaSettingsUpdateList'                                      => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ReplicaSettingsUpdate', ],
			'max'    => 50,
			'min'    => 1,
		],
		'ReplicaStatus'                                                  => [
			'type' => 'string',
			'enum' => [
				'CREATING',
				'UPDATING',
				'DELETING',
				'ACTIVE',
			],
		],
		'ReplicaUpdate'                                                  => [
			'type'    => 'structure',
			'members' => [
				'Create' => [ 'shape' => 'CreateReplicaAction', ],
				'Delete' => [ 'shape' => 'DeleteReplicaAction', ],
			],
		],
		'ReplicaUpdateList'                                              => [
			'type'   => 'list',
			'member' => [ 'shape' => 'ReplicaUpdate', ],
		],
		'RequestLimitExceeded'                                           => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ResourceArnString'                                              => [
			'type' => 'string',
			'max'  => 1283,
			'min'  => 1,
		],
		'ResourceInUseException'                                         => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'ResourceNotFoundException'                                      => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'RestoreInProgress'                                              => [ 'type' => 'boolean', ],
		'RestoreSummary'                                                 => [
			'type'     => 'structure',
			'required' => [
				'RestoreDateTime',
				'RestoreInProgress',
			],
			'members'  => [
				'SourceBackupArn'   => [ 'shape' => 'BackupArn', ],
				'SourceTableArn'    => [ 'shape' => 'TableArn', ],
				'RestoreDateTime'   => [ 'shape' => 'Date', ],
				'RestoreInProgress' => [ 'shape' => 'RestoreInProgress', ],
			],
		],
		'RestoreTableFromBackupInput'                                    => [
			'type'     => 'structure',
			'required' => [
				'TargetTableName',
				'BackupArn',
			],
			'members'  => [
				'TargetTableName' => [ 'shape' => 'TableName', ],
				'BackupArn'       => [ 'shape' => 'BackupArn', ],
			],
		],
		'RestoreTableFromBackupOutput'                                   => [
			'type'    => 'structure',
			'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ],
		],
		'RestoreTableToPointInTimeInput'                                 => [
			'type'     => 'structure',
			'required' => [
				'SourceTableName',
				'TargetTableName',
			],
			'members'  => [
				'SourceTableName'         => [ 'shape' => 'TableName', ],
				'TargetTableName'         => [ 'shape' => 'TableName', ],
				'UseLatestRestorableTime' => [ 'shape' => 'BooleanObject', ],
				'RestoreDateTime'         => [ 'shape' => 'Date', ],
			],
		],
		'RestoreTableToPointInTimeOutput'                                => [
			'type'    => 'structure',
			'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ],
		],
		'ReturnConsumedCapacity'                                         => [
			'type' => 'string',
			'enum' => [ 'INDEXES', 'TOTAL', 'NONE', ],
		],
		'ReturnItemCollectionMetrics'                                    => [
			'type' => 'string',
			'enum' => [ 'SIZE', 'NONE', ],
		],
		'ReturnValue'                                                    => [
			'type' => 'string',
			'enum' => [
				'NONE',
				'ALL_OLD',
				'UPDATED_OLD',
				'ALL_NEW',
				'UPDATED_NEW',
			],
		],
		'ReturnValuesOnConditionCheckFailure'                            => [
			'type' => 'string',
			'enum' => [ 'ALL_OLD', 'NONE', ],
		],
		'SSEDescription'                                                 => [
			'type'    => 'structure',
			'members' => [
				'Status'          => [ 'shape' => 'SSEStatus', ],
				'SSEType'         => [ 'shape' => 'SSEType', ],
				'KMSMasterKeyArn' => [ 'shape' => 'KMSMasterKeyArn', ],
			],
		],
		'SSEEnabled'                                                     => [ 'type' => 'boolean', ],
		'SSESpecification'                                               => [
			'type'    => 'structure',
			'members' => [
				'Enabled'        => [ 'shape' => 'SSEEnabled', ],
				'SSEType'        => [ 'shape' => 'SSEType', ],
				'KMSMasterKeyId' => [ 'shape' => 'KMSMasterKeyId', ],
			],
		],
		'SSEStatus'                                                      => [
			'type' => 'string',
			'enum' => [
				'ENABLING',
				'ENABLED',
				'DISABLING',
				'DISABLED',
				'UPDATING',
			],
		],
		'SSEType'                                                        => [
			'type' => 'string',
			'enum' => [ 'AES256', 'KMS', ],
		],
		'ScalarAttributeType'                                            => [
			'type' => 'string',
			'enum' => [ 'S', 'N', 'B', ],
		],
		'ScanInput'                                                      => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [
				'TableName'                 => [ 'shape' => 'TableName', ],
				'IndexName'                 => [ 'shape' => 'IndexName', ],
				'AttributesToGet'           => [ 'shape' => 'AttributeNameList', ],
				'Limit'                     => [ 'shape' => 'PositiveIntegerObject', ],
				'Select'                    => [ 'shape' => 'Select', ],
				'ScanFilter'                => [ 'shape' => 'FilterConditionMap', ],
				'ConditionalOperator'       => [ 'shape' => 'ConditionalOperator', ],
				'ExclusiveStartKey'         => [ 'shape' => 'Key', ],
				'ReturnConsumedCapacity'    => [ 'shape' => 'ReturnConsumedCapacity', ],
				'TotalSegments'             => [ 'shape' => 'ScanTotalSegments', ],
				'Segment'                   => [ 'shape' => 'ScanSegment', ],
				'ProjectionExpression'      => [ 'shape' => 'ProjectionExpression', ],
				'FilterExpression'          => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'  => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues' => [ 'shape' => 'ExpressionAttributeValueMap', ],
				'ConsistentRead'            => [ 'shape' => 'ConsistentRead', ],
			],
		],
		'ScanOutput'                                                     => [
			'type'    => 'structure',
			'members' => [
				'Items'            => [ 'shape' => 'ItemList', ],
				'Count'            => [ 'shape' => 'Integer', ],
				'ScannedCount'     => [ 'shape' => 'Integer', ],
				'LastEvaluatedKey' => [ 'shape' => 'Key', ],
				'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacity', ],
			],
		],
		'ScanSegment'                                                    => [
			'type' => 'integer',
			'max'  => 999999,
			'min'  => 0,
		],
		'ScanTotalSegments'                                              => [
			'type' => 'integer',
			'max'  => 1000000,
			'min'  => 1,
		],
		'SecondaryIndexesCapacityMap'                                    => [
			'type'  => 'map',
			'key'   => [ 'shape' => 'IndexName', ],
			'value' => [ 'shape' => 'Capacity', ],
		],
		'Select'                                                         => [
			'type' => 'string',
			'enum' => [
				'ALL_ATTRIBUTES',
				'ALL_PROJECTED_ATTRIBUTES',
				'SPECIFIC_ATTRIBUTES',
				'COUNT',
			],
		],
		'SourceTableDetails'                                             => [
			'type'     => 'structure',
			'required' => [
				'TableName',
				'TableId',
				'KeySchema',
				'TableCreationDateTime',
				'ProvisionedThroughput',
			],
			'members'  => [
				'TableName'             => [ 'shape' => 'TableName', ],
				'TableId'               => [ 'shape' => 'TableId', ],
				'TableArn'              => [ 'shape' => 'TableArn', ],
				'TableSizeBytes'        => [ 'shape' => 'Long', ],
				'KeySchema'             => [ 'shape' => 'KeySchema', ],
				'TableCreationDateTime' => [ 'shape' => 'TableCreationDateTime', ],
				'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ],
				'ItemCount'             => [ 'shape' => 'ItemCount', ],
				'BillingMode'           => [ 'shape' => 'BillingMode', ],
			],
		],
		'SourceTableFeatureDetails'                                      => [
			'type'    => 'structure',
			'members' => [
				'LocalSecondaryIndexes'  => [ 'shape' => 'LocalSecondaryIndexes', ],
				'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexes', ],
				'StreamDescription'      => [ 'shape' => 'StreamSpecification', ],
				'TimeToLiveDescription'  => [ 'shape' => 'TimeToLiveDescription', ],
				'SSEDescription'         => [ 'shape' => 'SSEDescription', ],
			],
		],
		'StreamArn'                                                      => [
			'type' => 'string',
			'max'  => 1024,
			'min'  => 37,
		],
		'StreamEnabled'                                                  => [ 'type' => 'boolean', ],
		'StreamSpecification'                                            => [
			'type'    => 'structure',
			'members' => [
				'StreamEnabled'  => [ 'shape' => 'StreamEnabled', ],
				'StreamViewType' => [ 'shape' => 'StreamViewType', ],
			],
		],
		'StreamViewType'                                                 => [
			'type' => 'string',
			'enum' => [
				'NEW_IMAGE',
				'OLD_IMAGE',
				'NEW_AND_OLD_IMAGES',
				'KEYS_ONLY',
			],
		],
		'String'                                                         => [ 'type' => 'string', ],
		'StringAttributeValue'                                           => [ 'type' => 'string', ],
		'StringSetAttributeValue'                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'StringAttributeValue', ],
		],
		'TableAlreadyExistsException'                                    => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'TableArn'                                                       => [ 'type' => 'string', ],
		'TableCreationDateTime'                                          => [ 'type' => 'timestamp', ],
		'TableDescription'                                               => [
			'type'    => 'structure',
			'members' => [
				'AttributeDefinitions'   => [ 'shape' => 'AttributeDefinitions', ],
				'TableName'              => [ 'shape' => 'TableName', ],
				'KeySchema'              => [ 'shape' => 'KeySchema', ],
				'TableStatus'            => [ 'shape' => 'TableStatus', ],
				'CreationDateTime'       => [ 'shape' => 'Date', ],
				'ProvisionedThroughput'  => [ 'shape' => 'ProvisionedThroughputDescription', ],
				'TableSizeBytes'         => [ 'shape' => 'Long', ],
				'ItemCount'              => [ 'shape' => 'Long', ],
				'TableArn'               => [ 'shape' => 'String', ],
				'TableId'                => [ 'shape' => 'TableId', ],
				'BillingModeSummary'     => [ 'shape' => 'BillingModeSummary', ],
				'LocalSecondaryIndexes'  => [ 'shape' => 'LocalSecondaryIndexDescriptionList', ],
				'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexDescriptionList', ],
				'StreamSpecification'    => [ 'shape' => 'StreamSpecification', ],
				'LatestStreamLabel'      => [ 'shape' => 'String', ],
				'LatestStreamArn'        => [ 'shape' => 'StreamArn', ],
				'RestoreSummary'         => [ 'shape' => 'RestoreSummary', ],
				'SSEDescription'         => [ 'shape' => 'SSEDescription', ],
			],
		],
		'TableId'                                                        => [
			'type'    => 'string',
			'pattern' => '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}',
		],
		'TableInUseException'                                            => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'TableName'                                                      => [
			'type'    => 'string',
			'max'     => 255,
			'min'     => 3,
			'pattern' => '[a-zA-Z0-9_.-]+',
		],
		'TableNameList'                                                  => [
			'type'   => 'list',
			'member' => [ 'shape' => 'TableName', ],
		],
		'TableNotFoundException'                                         => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'TableStatus'                                                    => [
			'type' => 'string',
			'enum' => [
				'CREATING',
				'UPDATING',
				'DELETING',
				'ACTIVE',
			],
		],
		'Tag'                                                            => [
			'type'     => 'structure',
			'required' => [ 'Key', 'Value', ],
			'members'  => [
				'Key'   => [ 'shape' => 'TagKeyString', ],
				'Value' => [ 'shape' => 'TagValueString', ],
			],
		],
		'TagKeyList'                                                     => [
			'type'   => 'list',
			'member' => [ 'shape' => 'TagKeyString', ],
		],
		'TagKeyString'                                                   => [
			'type' => 'string',
			'max'  => 128,
			'min'  => 1,
		],
		'TagList'                                                        => [
			'type'   => 'list',
			'member' => [ 'shape' => 'Tag', ],
		],
		'TagResourceInput'                                               => [
			'type'     => 'structure',
			'required' => [ 'ResourceArn', 'Tags', ],
			'members'  => [
				'ResourceArn' => [ 'shape' => 'ResourceArnString', ],
				'Tags'        => [ 'shape' => 'TagList', ],
			],
		],
		'TagValueString'                                                 => [
			'type' => 'string',
			'max'  => 256,
			'min'  => 0,
		],
		'TimeRangeLowerBound'                                            => [ 'type' => 'timestamp', ],
		'TimeRangeUpperBound'                                            => [ 'type' => 'timestamp', ],
		'TimeToLiveAttributeName'                                        => [
			'type' => 'string',
			'max'  => 255,
			'min'  => 1,
		],
		'TimeToLiveDescription'                                          => [
			'type'    => 'structure',
			'members' => [
				'TimeToLiveStatus' => [ 'shape' => 'TimeToLiveStatus', ],
				'AttributeName'    => [ 'shape' => 'TimeToLiveAttributeName', ],
			],
		],
		'TimeToLiveEnabled'                                              => [ 'type' => 'boolean', ],
		'TimeToLiveSpecification'                                        => [
			'type'     => 'structure',
			'required' => [
				'Enabled',
				'AttributeName',
			],
			'members'  => [
				'Enabled'       => [ 'shape' => 'TimeToLiveEnabled', ],
				'AttributeName' => [ 'shape' => 'TimeToLiveAttributeName', ],
			],
		],
		'TimeToLiveStatus'                                               => [
			'type' => 'string',
			'enum' => [
				'ENABLING',
				'DISABLING',
				'ENABLED',
				'DISABLED',
			],
		],
		'TransactGetItem'                                                => [
			'type'     => 'structure',
			'required' => [ 'Get', ],
			'members'  => [ 'Get' => [ 'shape' => 'Get', ], ],
		],
		'TransactGetItemList'                                            => [
			'type'   => 'list',
			'member' => [ 'shape' => 'TransactGetItem', ],
			'max'    => 10,
			'min'    => 1,
		],
		'TransactGetItemsInput'                                          => [
			'type'     => 'structure',
			'required' => [ 'TransactItems', ],
			'members'  => [
				'TransactItems'          => [ 'shape' => 'TransactGetItemList', ],
				'ReturnConsumedCapacity' => [ 'shape' => 'ReturnConsumedCapacity', ],
			],
		],
		'TransactGetItemsOutput'                                         => [
			'type'    => 'structure',
			'members' => [
				'ConsumedCapacity' => [ 'shape' => 'ConsumedCapacityMultiple', ],
				'Responses'        => [ 'shape' => 'ItemResponseList', ],
			],
		],
		'TransactWriteItem'                                              => [
			'type'    => 'structure',
			'members' => [
				'ConditionCheck' => [ 'shape' => 'ConditionCheck', ],
				'Put'            => [ 'shape' => 'Put', ],
				'Delete'         => [ 'shape' => 'Delete', ],
				'Update'         => [ 'shape' => 'Update', ],
			],
		],
		'TransactWriteItemList'                                          => [
			'type'   => 'list',
			'member' => [ 'shape' => 'TransactWriteItem', ],
			'max'    => 10,
			'min'    => 1,
		],
		'TransactWriteItemsInput'                                        => [
			'type'     => 'structure',
			'required' => [ 'TransactItems', ],
			'members'  => [
				'TransactItems'               => [ 'shape' => 'TransactWriteItemList', ],
				'ReturnConsumedCapacity'      => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ],
				'ClientRequestToken'          => [
					'shape'            => 'ClientRequestToken',
					'idempotencyToken' => true,
				],
			],
		],
		'TransactWriteItemsOutput'                                       => [
			'type'    => 'structure',
			'members' => [
				'ConsumedCapacity'      => [ 'shape' => 'ConsumedCapacityMultiple', ],
				'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetricsPerTable', ],
			],
		],
		'TransactionCanceledException'                                   => [
			'type'      => 'structure',
			'members'   => [
				'Message'             => [ 'shape' => 'ErrorMessage', ],
				'CancellationReasons' => [ 'shape' => 'CancellationReasonList', ],
			],
			'exception' => true,
		],
		'TransactionConflictException'                                   => [
			'type'      => 'structure',
			'members'   => [ 'message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'TransactionInProgressException'                                 => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ],
			'exception' => true,
		],
		'UntagResourceInput'                                             => [
			'type'     => 'structure',
			'required' => [
				'ResourceArn',
				'TagKeys',
			],
			'members'  => [
				'ResourceArn' => [ 'shape' => 'ResourceArnString', ],
				'TagKeys'     => [ 'shape' => 'TagKeyList', ],
			],
		],
		'Update'                                                         => [
			'type'     => 'structure',
			'required' => [
				'Key',
				'UpdateExpression',
				'TableName',
			],
			'members'  => [
				'Key'                                 => [ 'shape' => 'Key', ],
				'UpdateExpression'                    => [ 'shape' => 'UpdateExpression', ],
				'TableName'                           => [ 'shape' => 'TableName', ],
				'ConditionExpression'                 => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'            => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'           => [ 'shape' => 'ExpressionAttributeValueMap', ],
				'ReturnValuesOnConditionCheckFailure' => [ 'shape' => 'ReturnValuesOnConditionCheckFailure', ],
			],
		],
		'UpdateContinuousBackupsInput'                                   => [
			'type'     => 'structure',
			'required' => [
				'TableName',
				'PointInTimeRecoverySpecification',
			],
			'members'  => [
				'TableName'                        => [ 'shape' => 'TableName', ],
				'PointInTimeRecoverySpecification' => [ 'shape' => 'PointInTimeRecoverySpecification', ],
			],
		],
		'UpdateContinuousBackupsOutput'                                  => [
			'type'    => 'structure',
			'members' => [ 'ContinuousBackupsDescription' => [ 'shape' => 'ContinuousBackupsDescription', ], ],
		],
		'UpdateExpression'                                               => [ 'type' => 'string', ],
		'UpdateGlobalSecondaryIndexAction'                               => [
			'type'     => 'structure',
			'required' => [
				'IndexName',
				'ProvisionedThroughput',
			],
			'members'  => [
				'IndexName'             => [ 'shape' => 'IndexName', ],
				'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ],
			],
		],
		'UpdateGlobalTableInput'                                         => [
			'type'     => 'structure',
			'required' => [
				'GlobalTableName',
				'ReplicaUpdates',
			],
			'members'  => [
				'GlobalTableName' => [ 'shape' => 'TableName', ],
				'ReplicaUpdates'  => [ 'shape' => 'ReplicaUpdateList', ],
			],
		],
		'UpdateGlobalTableOutput'                                        => [
			'type'    => 'structure',
			'members' => [ 'GlobalTableDescription' => [ 'shape' => 'GlobalTableDescription', ], ],
		],
		'UpdateGlobalTableSettingsInput'                                 => [
			'type'     => 'structure',
			'required' => [ 'GlobalTableName', ],
			'members'  => [
				'GlobalTableName'                                              => [ 'shape' => 'TableName', ],
				'GlobalTableBillingMode'                                       => [ 'shape' => 'BillingMode', ],
				'GlobalTableProvisionedWriteCapacityUnits'                     => [ 'shape' => 'PositiveLongObject', ],
				'GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate' => [ 'shape' => 'AutoScalingSettingsUpdate', ],
				'GlobalTableGlobalSecondaryIndexSettingsUpdate'                => [ 'shape' => 'GlobalTableGlobalSecondaryIndexSettingsUpdateList', ],
				'ReplicaSettingsUpdate'                                        => [ 'shape' => 'ReplicaSettingsUpdateList', ],
			],
		],
		'UpdateGlobalTableSettingsOutput'                                => [
			'type'    => 'structure',
			'members' => [
				'GlobalTableName' => [ 'shape' => 'TableName', ],
				'ReplicaSettings' => [ 'shape' => 'ReplicaSettingsDescriptionList', ],
			],
		],
		'UpdateItemInput'                                                => [
			'type'     => 'structure',
			'required' => [ 'TableName', 'Key', ],
			'members'  => [
				'TableName'                   => [ 'shape' => 'TableName', ],
				'Key'                         => [ 'shape' => 'Key', ],
				'AttributeUpdates'            => [ 'shape' => 'AttributeUpdates', ],
				'Expected'                    => [ 'shape' => 'ExpectedAttributeMap', ],
				'ConditionalOperator'         => [ 'shape' => 'ConditionalOperator', ],
				'ReturnValues'                => [ 'shape' => 'ReturnValue', ],
				'ReturnConsumedCapacity'      => [ 'shape' => 'ReturnConsumedCapacity', ],
				'ReturnItemCollectionMetrics' => [ 'shape' => 'ReturnItemCollectionMetrics', ],
				'UpdateExpression'            => [ 'shape' => 'UpdateExpression', ],
				'ConditionExpression'         => [ 'shape' => 'ConditionExpression', ],
				'ExpressionAttributeNames'    => [ 'shape' => 'ExpressionAttributeNameMap', ],
				'ExpressionAttributeValues'   => [ 'shape' => 'ExpressionAttributeValueMap', ],
			],
		],
		'UpdateItemOutput'                                               => [
			'type'    => 'structure',
			'members' => [
				'Attributes'            => [ 'shape' => 'AttributeMap', ],
				'ConsumedCapacity'      => [ 'shape' => 'ConsumedCapacity', ],
				'ItemCollectionMetrics' => [ 'shape' => 'ItemCollectionMetrics', ],
			],
		],
		'UpdateTableInput'                                               => [
			'type'     => 'structure',
			'required' => [ 'TableName', ],
			'members'  => [
				'AttributeDefinitions'        => [ 'shape' => 'AttributeDefinitions', ],
				'TableName'                   => [ 'shape' => 'TableName', ],
				'BillingMode'                 => [ 'shape' => 'BillingMode', ],
				'ProvisionedThroughput'       => [ 'shape' => 'ProvisionedThroughput', ],
				'GlobalSecondaryIndexUpdates' => [ 'shape' => 'GlobalSecondaryIndexUpdateList', ],
				'StreamSpecification'         => [ 'shape' => 'StreamSpecification', ],
				'SSESpecification'            => [ 'shape' => 'SSESpecification', ],
			],
		],
		'UpdateTableOutput'                                              => [
			'type'    => 'structure',
			'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ],
		],
		'UpdateTimeToLiveInput'                                          => [
			'type'     => 'structure',
			'required' => [
				'TableName',
				'TimeToLiveSpecification',
			],
			'members'  => [
				'TableName'               => [ 'shape' => 'TableName', ],
				'TimeToLiveSpecification' => [ 'shape' => 'TimeToLiveSpecification', ],
			],
		],
		'UpdateTimeToLiveOutput'                                         => [
			'type'    => 'structure',
			'members' => [ 'TimeToLiveSpecification' => [ 'shape' => 'TimeToLiveSpecification', ], ],
		],
		'WriteRequest'                                                   => [
			'type'    => 'structure',
			'members' => [
				'PutRequest'    => [ 'shape' => 'PutRequest', ],
				'DeleteRequest' => [ 'shape' => 'DeleteRequest', ],
			],
		],
		'WriteRequests'                                                  => [
			'type'   => 'list',
			'member' => [ 'shape' => 'WriteRequest', ],
			'max'    => 25,
			'min'    => 1,
		],
	],
];
