From c96da5157b12349b184c56e0a4fdb90717a10198 Mon Sep 17 00:00:00 2001
From: awstools
The request was rejected because one or more items in the request are being modified by a request in another Region.
+ * * @throws {@link RequestLimitExceeded} (client fault) *Throughput exceeds the current throughput quota for your account. Please contact * Amazon Web Services Support to request a diff --git a/clients/client-dynamodb/src/commands/DeleteTableCommand.ts b/clients/client-dynamodb/src/commands/DeleteTableCommand.ts index f49209f90d57..02cdbbb11ee1 100644 --- a/clients/client-dynamodb/src/commands/DeleteTableCommand.ts +++ b/clients/client-dynamodb/src/commands/DeleteTableCommand.ts @@ -231,6 +231,7 @@ export interface DeleteTableCommandOutput extends DeleteTableOutput, __MetadataB * // WriteUnitsPerSecond: Number("long"), * // Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED", * // }, + * // MultiRegionConsistency: "EVENTUAL" || "STRONG", * // }, * // }; * diff --git a/clients/client-dynamodb/src/commands/DescribeTableCommand.ts b/clients/client-dynamodb/src/commands/DescribeTableCommand.ts index 5de3f3a3fa4b..d713909455e6 100644 --- a/clients/client-dynamodb/src/commands/DescribeTableCommand.ts +++ b/clients/client-dynamodb/src/commands/DescribeTableCommand.ts @@ -222,6 +222,7 @@ export interface DescribeTableCommandOutput extends DescribeTableOutput, __Metad * // WriteUnitsPerSecond: Number("long"), * // Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED", * // }, + * // MultiRegionConsistency: "EVENTUAL" || "STRONG", * // }, * // }; * diff --git a/clients/client-dynamodb/src/commands/PutItemCommand.ts b/clients/client-dynamodb/src/commands/PutItemCommand.ts index a0cc9720cd6f..91611478dc6a 100644 --- a/clients/client-dynamodb/src/commands/PutItemCommand.ts +++ b/clients/client-dynamodb/src/commands/PutItemCommand.ts @@ -234,6 +234,9 @@ export interface PutItemCommandOutput extends PutItemOutput, __MetadataBearer {} * successful, unless your retry queue is too large to finish. Reduce the frequency of * requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
* + * @throws {@link ReplicatedWriteConflictException} (client fault) + *The request was rejected because one or more items in the request are being modified by a request in another Region.
+ * * @throws {@link RequestLimitExceeded} (client fault) *Throughput exceeds the current throughput quota for your account. Please contact * Amazon Web Services Support to request a diff --git a/clients/client-dynamodb/src/commands/RestoreTableFromBackupCommand.ts b/clients/client-dynamodb/src/commands/RestoreTableFromBackupCommand.ts index 8720ee921b07..bdbbc1597d8c 100644 --- a/clients/client-dynamodb/src/commands/RestoreTableFromBackupCommand.ts +++ b/clients/client-dynamodb/src/commands/RestoreTableFromBackupCommand.ts @@ -294,6 +294,7 @@ export interface RestoreTableFromBackupCommandOutput extends RestoreTableFromBac * // WriteUnitsPerSecond: Number("long"), * // Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED", * // }, + * // MultiRegionConsistency: "EVENTUAL" || "STRONG", * // }, * // }; * diff --git a/clients/client-dynamodb/src/commands/RestoreTableToPointInTimeCommand.ts b/clients/client-dynamodb/src/commands/RestoreTableToPointInTimeCommand.ts index 38b69c00f285..6acee992c7b2 100644 --- a/clients/client-dynamodb/src/commands/RestoreTableToPointInTimeCommand.ts +++ b/clients/client-dynamodb/src/commands/RestoreTableToPointInTimeCommand.ts @@ -322,6 +322,7 @@ export interface RestoreTableToPointInTimeCommandOutput extends RestoreTableToPo * // WriteUnitsPerSecond: Number("long"), * // Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED", * // }, + * // MultiRegionConsistency: "EVENTUAL" || "STRONG", * // }, * // }; * diff --git a/clients/client-dynamodb/src/commands/UpdateItemCommand.ts b/clients/client-dynamodb/src/commands/UpdateItemCommand.ts index de11e96d7de6..52f81d80efeb 100644 --- a/clients/client-dynamodb/src/commands/UpdateItemCommand.ts +++ b/clients/client-dynamodb/src/commands/UpdateItemCommand.ts @@ -227,6 +227,9 @@ export interface UpdateItemCommandOutput extends UpdateItemOutput, __MetadataBea * successful, unless your retry queue is too large to finish. Reduce the frequency of * requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
* + * @throws {@link ReplicatedWriteConflictException} (client fault) + *The request was rejected because one or more items in the request are being modified by a request in another Region.
+ * * @throws {@link RequestLimitExceeded} (client fault) *Throughput exceeds the current throughput quota for your account. Please contact * Amazon Web Services Support to request a diff --git a/clients/client-dynamodb/src/commands/UpdateTableCommand.ts b/clients/client-dynamodb/src/commands/UpdateTableCommand.ts index 65b07193b9c7..9c631a528785 100644 --- a/clients/client-dynamodb/src/commands/UpdateTableCommand.ts +++ b/clients/client-dynamodb/src/commands/UpdateTableCommand.ts @@ -184,6 +184,7 @@ export interface UpdateTableCommandOutput extends UpdateTableOutput, __MetadataB * ], * TableClass: "STANDARD" || "STANDARD_INFREQUENT_ACCESS", * DeletionProtectionEnabled: true || false, + * MultiRegionConsistency: "EVENTUAL" || "STRONG", * OnDemandThroughput: { * MaxReadRequestUnits: Number("long"), * MaxWriteRequestUnits: Number("long"), @@ -364,6 +365,7 @@ export interface UpdateTableCommandOutput extends UpdateTableOutput, __MetadataB * // WriteUnitsPerSecond: Number("long"), * // Status: "CREATING" || "UPDATING" || "DELETING" || "ACTIVE" || "INACCESSIBLE_ENCRYPTION_CREDENTIALS" || "ARCHIVING" || "ARCHIVED", * // }, + * // MultiRegionConsistency: "EVENTUAL" || "STRONG", * // }, * // }; * diff --git a/clients/client-dynamodb/src/endpoint/ruleset.ts b/clients/client-dynamodb/src/endpoint/ruleset.ts index 01abfd47f74d..b3871d750018 100644 --- a/clients/client-dynamodb/src/endpoint/ruleset.ts +++ b/clients/client-dynamodb/src/endpoint/ruleset.ts @@ -47,5 +47,5 @@ D=[k], E=[l], F=[n], G=[o,{[J]:g,[K]:[p,"disabled"]}]; -const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i,AccountId:i,AccountIdEndpointMode:i},rules:[{conditions:[{[J]:b,[K]:[{[L]:"Endpoint"}]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[I]:c},{endpoint:{[M]:"{Endpoint}",[N]:m,[O]:m},[I]:d}],[I]:e},{conditions:[{[J]:b,[K]:F}],rules:[{conditions:[{[J]:"aws.partition",[K]:F,assign:f}],rules:[{conditions:[{[J]:g,[K]:[n,"local"]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and local endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and local endpoint are not supported",[I]:c},{endpoint:{[M]:"http://localhost:8000",[N]:{authSchemes:[{name:"sigv4",signingName:"dynamodb",signingRegion:"us-east-1"}]},[O]:m},[I]:d}],[I]:e},{conditions:[o,{[J]:g,[K]:[p,"required"]},{[J]:h,[K]:[q]}],error:"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded.",[I]:c},{conditions:[q,s,u,v,{[J]:h,[K]:[{[J]:"isValidHostLabel",[K]:[r,a]}]}],error:"Credentials-sourced account ID parameter is invalid",[I]:c},{conditions:[k,l],rules:[{conditions:[w,x],rules:[{conditions:G,endpoint:y,[I]:d},{endpoint:y,[I]:d}],[I]:e},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",[I]:c}],[I]:e},{conditions:D,rules:[{conditions:[w],rules:[{conditions:[{[J]:g,[K]:[t,"aws-us-gov"]}],rules:[z,A],[I]:e},{conditions:G,endpoint:B,[I]:d},{endpoint:B,[I]:d}],[I]:e},{error:"FIPS is enabled but this partition does not support FIPS",[I]:c}],[I]:e},{conditions:E,rules:[{conditions:[x],rules:[{conditions:G,endpoint:C,[I]:d},{endpoint:C,[I]:d}],[I]:e},{error:"DualStack is enabled but this partition does not support DualStack",[I]:c}],[I]:e},z,{conditions:[q,s,u,v],endpoint:{[M]:"https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}",[N]:m,[O]:m},[I]:d},A],[I]:e}],[I]:e},{error:"Invalid Configuration: Missing Region",[I]:c}]}; +const _data={version:"1.0",parameters:{Region:i,UseDualStack:j,UseFIPS:j,Endpoint:i,AccountId:i,AccountIdEndpointMode:i},rules:[{conditions:[{[J]:b,[K]:[{[L]:"Endpoint"}]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and custom endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",[I]:c},{endpoint:{[M]:"{Endpoint}",[N]:m,[O]:m},[I]:d}],[I]:e},{conditions:[{[J]:b,[K]:F}],rules:[{conditions:[{[J]:"aws.partition",[K]:F,assign:f}],rules:[{conditions:[{[J]:g,[K]:[n,"local"]}],rules:[{conditions:D,error:"Invalid Configuration: FIPS and local endpoint are not supported",[I]:c},{conditions:E,error:"Invalid Configuration: Dualstack and local endpoint are not supported",[I]:c},{endpoint:{[M]:"http://localhost:8000",[N]:{authSchemes:[{signingRegion:"us-east-1",signingName:"dynamodb",name:"sigv4"}]},[O]:m},[I]:d}],[I]:e},{conditions:[o,{[J]:g,[K]:[p,"required"]},{[J]:h,[K]:[q]}],error:"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded.",[I]:c},{conditions:[q,s,u,v,{[J]:h,[K]:[{[J]:"isValidHostLabel",[K]:[r,a]}]}],error:"Credentials-sourced account ID parameter is invalid",[I]:c},{conditions:[k,l],rules:[{conditions:[w,x],rules:[{conditions:G,endpoint:y,[I]:d},{endpoint:y,[I]:d}],[I]:e},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",[I]:c}],[I]:e},{conditions:D,rules:[{conditions:[w],rules:[{conditions:[{[J]:g,[K]:[t,"aws-us-gov"]}],rules:[z,A],[I]:e},{conditions:G,endpoint:B,[I]:d},{endpoint:B,[I]:d}],[I]:e},{error:"FIPS is enabled but this partition does not support FIPS",[I]:c}],[I]:e},{conditions:E,rules:[{conditions:[x],rules:[{conditions:G,endpoint:C,[I]:d},{endpoint:C,[I]:d}],[I]:e},{error:"DualStack is enabled but this partition does not support DualStack",[I]:c}],[I]:e},z,{conditions:[q,s,u,v],endpoint:{[M]:"https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}",[N]:m,[O]:m},[I]:d},A],[I]:e}],[I]:e},{error:"Invalid Configuration: Missing Region",[I]:c}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-dynamodb/src/models/models_0.ts b/clients/client-dynamodb/src/models/models_0.ts index 77aa19e4fb05..2f7ad27239ef 100644 --- a/clients/client-dynamodb/src/models/models_0.ts +++ b/clients/client-dynamodb/src/models/models_0.ts @@ -3143,6 +3143,20 @@ export interface LocalSecondaryIndexDescription { IndexArn?: string | undefined; } +/** + * @public + * @enum + */ +export const MultiRegionConsistency = { + EVENTUAL: "EVENTUAL", + STRONG: "STRONG", +} as const; + +/** + * @public + */ +export type MultiRegionConsistency = (typeof MultiRegionConsistency)[keyof typeof MultiRegionConsistency]; + /** *
Contains details for the restore.
* @public @@ -3612,6 +3626,26 @@ export interface TableDescription { * @public */ WarmThroughput?: TableWarmThroughputDescription | undefined; + + /** + *Indicates one of the following consistency modes for a global table:
+ *
+ * EVENTUAL
: Indicates that the global table is configured for multi-Region eventual consistency.
+ * STRONG
: Indicates that the global table is configured for multi-Region strong consistency (preview).
Multi-Region strong consistency (MRSC) is a new DynamoDB global tables capability currently available in preview mode. For more information, see Global tables multi-Region strong consistency.
+ *If you don't specify this field, the global table consistency mode defaults to EVENTUAL
.
The request was rejected because one or more items in the request are being modified by a request in another Region.
+ * @public + */ +export class ReplicatedWriteConflictException extends __BaseException { + readonly name: "ReplicatedWriteConflictException" = "ReplicatedWriteConflictException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeOperation was rejected because there is an ongoing transaction for the * item.
@@ -7228,6 +7282,27 @@ export interface UpdateTableInput { */ DeletionProtectionEnabled?: boolean | undefined; + /** + *Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more Create actions in the ReplicaUpdates action list.
+ *You can specify one of the following consistency modes:
+ *
+ * EVENTUAL
: Configures a new global table for multi-Region eventual consistency. This is the default consistency mode for global tables.
+ * STRONG
: Configures a new global table for multi-Region strong consistency (preview).
Multi-Region strong consistency (MRSC) is a new DynamoDB global tables capability currently available in preview mode. For more information, see Global tables multi-Region strong consistency.
+ *If you don't specify this parameter, the global table consistency mode defaults to EVENTUAL
.
Updates the maximum number of read and write units for the specified table in
* on-demand capacity mode. If you use this parameter, you must specify
diff --git a/clients/client-dynamodb/src/protocols/Aws_json1_0.ts b/clients/client-dynamodb/src/protocols/Aws_json1_0.ts
index c2829824ac7b..5fb088ef936a 100644
--- a/clients/client-dynamodb/src/protocols/Aws_json1_0.ts
+++ b/clients/client-dynamodb/src/protocols/Aws_json1_0.ts
@@ -310,6 +310,7 @@ import {
ReplicaNotFoundException,
ReplicaSettingsDescription,
ReplicaSettingsUpdate,
+ ReplicatedWriteConflictException,
ReplicationGroupUpdate,
ReplicaUpdate,
RequestLimitExceeded,
@@ -2289,6 +2290,9 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext):
case "ConditionalCheckFailedException":
case "com.amazonaws.dynamodb#ConditionalCheckFailedException":
throw await de_ConditionalCheckFailedExceptionRes(parsedOutput, context);
+ case "ReplicatedWriteConflictException":
+ case "com.amazonaws.dynamodb#ReplicatedWriteConflictException":
+ throw await de_ReplicatedWriteConflictExceptionRes(parsedOutput, context);
case "TransactionConflictException":
case "com.amazonaws.dynamodb#TransactionConflictException":
throw await de_TransactionConflictExceptionRes(parsedOutput, context);
@@ -2734,6 +2738,22 @@ const de_ReplicaNotFoundExceptionRes = async (
return __decorateServiceException(exception, body);
};
+/**
+ * deserializeAws_json1_0ReplicatedWriteConflictExceptionRes
+ */
+const de_ReplicatedWriteConflictExceptionRes = async (
+ parsedOutput: any,
+ context: __SerdeContext
+): Promise The request was rejected because one or more items in the request are being modified by a request in another Region. Describes the warm throughput value of the base table. Indicates one of the following consistency modes for a global table: \n \n Multi-Region strong consistency (MRSC) is a new DynamoDB global tables capability currently available in preview mode. For more information, see Global tables multi-Region strong consistency. If you don't specify this field, the global table consistency mode defaults to Indicates whether deletion protection is to be enabled (true) or disabled (false) on\n the table. Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more Create actions in the ReplicaUpdates action list. You can specify one of the following consistency modes: \n \n Multi-Region strong consistency (MRSC) is a new DynamoDB global tables capability currently available in preview mode. For more information, see Global tables multi-Region strong consistency. If you don't specify this parameter, the global table consistency mode defaults to \n
\n EVENTUAL
: Indicates that the global table is configured for multi-Region eventual consistency.STRONG
: Indicates that the global table is configured for multi-Region strong consistency (preview).EVENTUAL
.\n
\n EVENTUAL
: Configures a new global table for multi-Region eventual consistency. This is the default consistency mode for global tables.STRONG
: Configures a new global table for multi-Region strong consistency (preview).EVENTUAL
.