Skip to content

Commit 6b318f5

Browse files
feat(dynamodb): tableV2 MRSC feature addition (#34909)
### Issue # (if applicable) Closes #34883 ### Reason for this change Support for Multi-region Strong Consistency Global Tables ### Description of changes Added additional code to support the new feature on DynamoDB including validation ### Describe any new or updated permissions being added No permissions added ### Description of how you validated changes Unit tests + integration test ### Checklist - [X] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 787b8ed commit 6b318f5

File tree

13 files changed

+1141
-0
lines changed

13 files changed

+1141
-0
lines changed

packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.table-v2-mrsc.js.snapshot/aws-cdk-global-table-mrsc.assets.json

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"Resources": {
3+
"GlobalTable89F068B2": {
4+
"Type": "AWS::DynamoDB::GlobalTable",
5+
"Properties": {
6+
"AttributeDefinitions": [
7+
{
8+
"AttributeName": "pk",
9+
"AttributeType": "S"
10+
},
11+
{
12+
"AttributeName": "sk",
13+
"AttributeType": "N"
14+
}
15+
],
16+
"BillingMode": "PAY_PER_REQUEST",
17+
"GlobalTableWitnesses": [
18+
{
19+
"Region": "us-west-2"
20+
}
21+
],
22+
"KeySchema": [
23+
{
24+
"AttributeName": "pk",
25+
"KeyType": "HASH"
26+
},
27+
{
28+
"AttributeName": "sk",
29+
"KeyType": "RANGE"
30+
}
31+
],
32+
"MultiRegionConsistency": "STRONG",
33+
"Replicas": [
34+
{
35+
"Region": "us-east-2"
36+
},
37+
{
38+
"Region": "us-east-1"
39+
}
40+
],
41+
"StreamSpecification": {
42+
"StreamViewType": "NEW_AND_OLD_IMAGES"
43+
},
44+
"TableName": "my-global-table"
45+
},
46+
"UpdateReplacePolicy": "Delete",
47+
"DeletionPolicy": "Delete"
48+
}
49+
},
50+
"Parameters": {
51+
"BootstrapVersion": {
52+
"Type": "AWS::SSM::Parameter::Value<String>",
53+
"Default": "/cdk-bootstrap/hnb659fds/version",
54+
"Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
55+
}
56+
},
57+
"Rules": {
58+
"CheckBootstrapVersion": {
59+
"Assertions": [
60+
{
61+
"Assert": {
62+
"Fn::Not": [
63+
{
64+
"Fn::Contains": [
65+
[
66+
"1",
67+
"2",
68+
"3",
69+
"4",
70+
"5"
71+
],
72+
{
73+
"Ref": "BootstrapVersion"
74+
}
75+
]
76+
}
77+
]
78+
},
79+
"AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
80+
}
81+
]
82+
}
83+
}
84+
}

packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.table-v2-mrsc.js.snapshot/awscdkglobaltableintegDefaultTestDeployAssertA2A9E81F.assets.json

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.table-v2-mrsc.js.snapshot/awscdkglobaltableintegDefaultTestDeployAssertA2A9E81F.template.json

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.table-v2-mrsc.js.snapshot/cdk.out

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-dynamodb/test/integ.table-v2-mrsc.js.snapshot/integ.json

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)