Skip to content

Commit 097a799

Browse files
This change adds support for witnesses in global tables. It also adds a new table status, REPLICATION_NOT_AUTHORIZED. This status will indicate scenarios where global replicas table can't be utilized for data plane operations.
1 parent 6613c16 commit 097a799

32 files changed

+1286
-591
lines changed

generator/ServiceModels/dynamodb/dynamodb-2011-12-05.endpoint-rule-set.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,8 @@
181181
"authSchemes": [
182182
{
183183
"signingRegion": "us-east-1",
184-
"name": "sigv4",
185-
"signingName": "dynamodb"
184+
"signingName": "dynamodb",
185+
"name": "sigv4"
186186
}
187187
]
188188
},

generator/ServiceModels/dynamodb/dynamodb-2011-12-05.endpoint-tests.json

Lines changed: 90 additions & 90 deletions
Large diffs are not rendered by default.

generator/ServiceModels/dynamodb/dynamodb-2012-08-10.api.json

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@
6060
{"shape":"ResourceNotFoundException"},
6161
{"shape":"ItemCollectionSizeLimitExceededException"},
6262
{"shape":"RequestLimitExceeded"},
63-
{"shape":"InternalServerError"}
63+
{"shape":"InternalServerError"},
64+
{"shape":"ReplicatedWriteConflictException"}
6465
],
6566
"endpointdiscovery":{},
6667
"operationContextParams":{
@@ -1534,6 +1535,13 @@
15341535
"GlobalTableDescription":{"shape":"GlobalTableDescription"}
15351536
}
15361537
},
1538+
"CreateGlobalTableWitnessGroupMemberAction":{
1539+
"type":"structure",
1540+
"required":["RegionName"],
1541+
"members":{
1542+
"RegionName":{"shape":"RegionName"}
1543+
}
1544+
},
15371545
"CreateReplicaAction":{
15381546
"type":"structure",
15391547
"required":["RegionName"],
@@ -1651,6 +1659,13 @@
16511659
"IndexName":{"shape":"IndexName"}
16521660
}
16531661
},
1662+
"DeleteGlobalTableWitnessGroupMemberAction":{
1663+
"type":"structure",
1664+
"required":["RegionName"],
1665+
"members":{
1666+
"RegionName":{"shape":"RegionName"}
1667+
}
1668+
},
16541669
"DeleteItemInput":{
16551670
"type":"structure",
16561671
"required":[
@@ -2401,6 +2416,30 @@
24012416
"UPDATING"
24022417
]
24032418
},
2419+
"GlobalTableWitnessDescription":{
2420+
"type":"structure",
2421+
"members":{
2422+
"RegionName":{"shape":"RegionName"},
2423+
"WitnessStatus":{"shape":"WitnessStatus"}
2424+
}
2425+
},
2426+
"GlobalTableWitnessDescriptionList":{
2427+
"type":"list",
2428+
"member":{"shape":"GlobalTableWitnessDescription"}
2429+
},
2430+
"GlobalTableWitnessGroupUpdate":{
2431+
"type":"structure",
2432+
"members":{
2433+
"Create":{"shape":"CreateGlobalTableWitnessGroupMemberAction"},
2434+
"Delete":{"shape":"DeleteGlobalTableWitnessGroupMemberAction"}
2435+
}
2436+
},
2437+
"GlobalTableWitnessGroupUpdateList":{
2438+
"type":"list",
2439+
"member":{"shape":"GlobalTableWitnessGroupUpdate"},
2440+
"max":1,
2441+
"min":1
2442+
},
24042443
"IdempotentParameterMismatchException":{
24052444
"type":"structure",
24062445
"members":{
@@ -3453,7 +3492,10 @@
34533492
"DELETING",
34543493
"ACTIVE",
34553494
"REGION_DISABLED",
3456-
"INACCESSIBLE_ENCRYPTION_CREDENTIALS"
3495+
"INACCESSIBLE_ENCRYPTION_CREDENTIALS",
3496+
"ARCHIVING",
3497+
"ARCHIVED",
3498+
"REPLICATION_NOT_AUTHORIZED"
34573499
]
34583500
},
34593501
"ReplicaStatusDescription":{"type":"string"},
@@ -3474,7 +3516,8 @@
34743516
"members":{
34753517
"message":{"shape":"ErrorMessage"}
34763518
},
3477-
"exception":true
3519+
"exception":true,
3520+
"retryable":{"throttling":false}
34783521
},
34793522
"ReplicationGroupUpdate":{
34803523
"type":"structure",
@@ -3885,6 +3928,7 @@
38853928
"LatestStreamArn":{"shape":"StreamArn"},
38863929
"GlobalTableVersion":{"shape":"String"},
38873930
"Replicas":{"shape":"ReplicaDescriptionList"},
3931+
"GlobalTableWitnesses":{"shape":"GlobalTableWitnessDescriptionList"},
38883932
"RestoreSummary":{"shape":"RestoreSummary"},
38893933
"SSEDescription":{"shape":"SSEDescription"},
38903934
"ArchivalSummary":{"shape":"ArchivalSummary"},
@@ -3932,7 +3976,8 @@
39323976
"ACTIVE",
39333977
"INACCESSIBLE_ENCRYPTION_CREDENTIALS",
39343978
"ARCHIVING",
3935-
"ARCHIVED"
3979+
"ARCHIVED",
3980+
"REPLICATION_NOT_AUTHORIZED"
39363981
]
39373982
},
39383983
"TableWarmThroughputDescription":{
@@ -4326,6 +4371,7 @@
43264371
"TableClass":{"shape":"TableClass"},
43274372
"DeletionProtectionEnabled":{"shape":"DeletionProtectionEnabled"},
43284373
"MultiRegionConsistency":{"shape":"MultiRegionConsistency"},
4374+
"GlobalTableWitnessUpdates":{"shape":"GlobalTableWitnessGroupUpdateList"},
43294375
"OnDemandThroughput":{"shape":"OnDemandThroughput"},
43304376
"WarmThroughput":{"shape":"WarmThroughput"}
43314377
}
@@ -4382,6 +4428,14 @@
43824428
"WriteUnitsPerSecond":{"shape":"LongObject"}
43834429
}
43844430
},
4431+
"WitnessStatus":{
4432+
"type":"string",
4433+
"enum":[
4434+
"CREATING",
4435+
"DELETING",
4436+
"ACTIVE"
4437+
]
4438+
},
43854439
"WriteRequest":{
43864440
"type":"structure",
43874441
"members":{

generator/ServiceModels/dynamodb/dynamodb-2012-08-10.docs.json

Lines changed: 54 additions & 9 deletions
Large diffs are not rendered by default.

generator/ServiceModels/dynamodb/dynamodb-2012-08-10.endpoint-rule-set.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,8 @@
181181
"authSchemes": [
182182
{
183183
"signingRegion": "us-east-1",
184-
"name": "sigv4",
185-
"signingName": "dynamodb"
184+
"signingName": "dynamodb",
185+
"name": "sigv4"
186186
}
187187
]
188188
},

0 commit comments

Comments
 (0)