1+ {
2+ "Resources" : {
3+ "Stream790BDEE4" : {
4+ "Type" : " AWS::Kinesis::Stream" ,
5+ "Properties" : {
6+ "RetentionPeriodHours" : 24 ,
7+ "ShardCount" : 1 ,
8+ "StreamEncryption" : {
9+ "Fn::If" : [
10+ " AwsCdkKinesisEncryptedStreamsUnsupportedRegions" ,
11+ {
12+ "Ref" : " AWS::NoValue"
13+ },
14+ {
15+ "EncryptionType" : " KMS" ,
16+ "KeyId" : " alias/aws/kinesis"
17+ }
18+ ]
19+ }
20+ }
21+ },
22+ "Resource" : {
23+ "Type" : " AWS::DynamoDB::GlobalTable" ,
24+ "Properties" : {
25+ "AttributeDefinitions" : [
26+ {
27+ "AttributeName" : " pk" ,
28+ "AttributeType" : " S"
29+ },
30+ {
31+ "AttributeName" : " sk" ,
32+ "AttributeType" : " N"
33+ }
34+ ],
35+ "BillingMode" : " PROVISIONED" ,
36+ "GlobalSecondaryIndexes" : [
37+ {
38+ "IndexName" : " gsi1" ,
39+ "KeySchema" : [
40+ {
41+ "AttributeName" : " pk" ,
42+ "KeyType" : " HASH"
43+ }
44+ ],
45+ "Projection" : {
46+ "ProjectionType" : " ALL"
47+ },
48+ "WriteProvisionedThroughputSettings" : {
49+ "WriteCapacityAutoScalingSettings" : {
50+ "MaxCapacity" : 20 ,
51+ "MinCapacity" : 1 ,
52+ "TargetTrackingScalingPolicyConfiguration" : {
53+ "TargetValue" : 60
54+ }
55+ }
56+ }
57+ },
58+ {
59+ "IndexName" : " gsi2" ,
60+ "KeySchema" : [
61+ {
62+ "AttributeName" : " pk" ,
63+ "KeyType" : " HASH"
64+ }
65+ ],
66+ "Projection" : {
67+ "ProjectionType" : " ALL"
68+ },
69+ "WriteProvisionedThroughputSettings" : {
70+ "WriteCapacityAutoScalingSettings" : {
71+ "MaxCapacity" : 30 ,
72+ "MinCapacity" : 1 ,
73+ "TargetTrackingScalingPolicyConfiguration" : {
74+ "TargetValue" : 70
75+ }
76+ }
77+ }
78+ }
79+ ],
80+ "KeySchema" : [
81+ {
82+ "AttributeName" : " pk" ,
83+ "KeyType" : " HASH"
84+ },
85+ {
86+ "AttributeName" : " sk" ,
87+ "KeyType" : " RANGE"
88+ }
89+ ],
90+ "LocalSecondaryIndexes" : [
91+ {
92+ "IndexName" : " lsi" ,
93+ "KeySchema" : [
94+ {
95+ "AttributeName" : " pk" ,
96+ "KeyType" : " HASH"
97+ },
98+ {
99+ "AttributeName" : " sk" ,
100+ "KeyType" : " RANGE"
101+ }
102+ ],
103+ "Projection" : {
104+ "ProjectionType" : " ALL"
105+ }
106+ }
107+ ],
108+ "Replicas" : [
109+ {
110+ "ContributorInsightsSpecification" : {
111+ "Enabled" : true
112+ },
113+ "GlobalSecondaryIndexes" : [
114+ {
115+ "ContributorInsightsSpecification" : {
116+ "Enabled" : true
117+ },
118+ "IndexName" : " gsi1" ,
119+ "ReadProvisionedThroughputSettings" : {
120+ "ReadCapacityUnits" : 10
121+ }
122+ },
123+ {
124+ "ContributorInsightsSpecification" : {
125+ "Enabled" : false
126+ },
127+ "IndexName" : " gsi2" ,
128+ "ReadProvisionedThroughputSettings" : {
129+ "ReadCapacityUnits" : 10
130+ }
131+ }
132+ ],
133+ "PointInTimeRecoverySpecification" : {
134+ "PointInTimeRecoveryEnabled" : true
135+ },
136+ "ReadProvisionedThroughputSettings" : {
137+ "ReadCapacityAutoScalingSettings" : {
138+ "MaxCapacity" : 25 ,
139+ "MinCapacity" : 5 ,
140+ "TargetTrackingScalingPolicyConfiguration" : {
141+ "TargetValue" : 70
142+ }
143+ }
144+ },
145+ "Region" : " us-east-2" ,
146+ "TableClass" : " STANDARD_INFREQUENT_ACCESS"
147+ },
148+ {
149+ "ContributorInsightsSpecification" : {
150+ "Enabled" : false
151+ },
152+ "GlobalSecondaryIndexes" : [
153+ {
154+ "IndexName" : " gsi1" ,
155+ "ReadProvisionedThroughputSettings" : {
156+ "ReadCapacityUnits" : 15
157+ }
158+ },
159+ {
160+ "ContributorInsightsSpecification" : {
161+ "Enabled" : true
162+ },
163+ "IndexName" : " gsi2" ,
164+ "ReadProvisionedThroughputSettings" : {
165+ "ReadCapacityUnits" : 10
166+ }
167+ }
168+ ],
169+ "PointInTimeRecoverySpecification" : {
170+ "PointInTimeRecoveryEnabled" : true
171+ },
172+ "ReadProvisionedThroughputSettings" : {
173+ "ReadCapacityUnits" : 10
174+ },
175+ "Region" : " us-west-2" ,
176+ "TableClass" : " STANDARD"
177+ },
178+ {
179+ "ContributorInsightsSpecification" : {
180+ "Enabled" : true
181+ },
182+ "GlobalSecondaryIndexes" : [
183+ {
184+ "ContributorInsightsSpecification" : {
185+ "Enabled" : true
186+ },
187+ "IndexName" : " gsi1" ,
188+ "ReadProvisionedThroughputSettings" : {
189+ "ReadCapacityUnits" : 10
190+ }
191+ },
192+ {
193+ "ContributorInsightsSpecification" : {
194+ "Enabled" : true
195+ },
196+ "IndexName" : " gsi2" ,
197+ "ReadProvisionedThroughputSettings" : {
198+ "ReadCapacityUnits" : 10
199+ }
200+ }
201+ ],
202+ "KinesisStreamSpecification" : {
203+ "StreamArn" : {
204+ "Fn::GetAtt" : [
205+ " Stream790BDEE4" ,
206+ " Arn"
207+ ]
208+ }
209+ },
210+ "PointInTimeRecoverySpecification" : {
211+ "PointInTimeRecoveryEnabled" : true
212+ },
213+ "ReadProvisionedThroughputSettings" : {
214+ "ReadCapacityUnits" : 10
215+ },
216+ "Region" : " us-east-1" ,
217+ "TableClass" : " STANDARD_INFREQUENT_ACCESS"
218+ }
219+ ],
220+ "SSESpecification" : {
221+ "SSEEnabled" : true ,
222+ "SSEType" : " KMS"
223+ },
224+ "StreamSpecification" : {
225+ "StreamViewType" : " NEW_AND_OLD_IMAGES"
226+ },
227+ "TableName" : " my-global-table" ,
228+ "TimeToLiveSpecification" : {
229+ "AttributeName" : " attr" ,
230+ "Enabled" : true
231+ },
232+ "WriteProvisionedThroughputSettings" : {
233+ "WriteCapacityAutoScalingSettings" : {
234+ "MaxCapacity" : 20 ,
235+ "MinCapacity" : 1 ,
236+ "TargetTrackingScalingPolicyConfiguration" : {
237+ "TargetValue" : 60
238+ }
239+ }
240+ }
241+ },
242+ "UpdateReplacePolicy" : " Delete" ,
243+ "DeletionPolicy" : " Delete"
244+ }
245+ },
246+ "Conditions" : {
247+ "AwsCdkKinesisEncryptedStreamsUnsupportedRegions" : {
248+ "Fn::Or" : [
249+ {
250+ "Fn::Equals" : [
251+ {
252+ "Ref" : " AWS::Region"
253+ },
254+ " cn-north-1"
255+ ]
256+ },
257+ {
258+ "Fn::Equals" : [
259+ {
260+ "Ref" : " AWS::Region"
261+ },
262+ " cn-northwest-1"
263+ ]
264+ }
265+ ]
266+ }
267+ },
268+ "Parameters" : {
269+ "BootstrapVersion" : {
270+ "Type" : " AWS::SSM::Parameter::Value<String>" ,
271+ "Default" : " /cdk-bootstrap/hnb659fds/version" ,
272+ "Description" : " Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
273+ }
274+ },
275+ "Rules" : {
276+ "CheckBootstrapVersion" : {
277+ "Assertions" : [
278+ {
279+ "Assert" : {
280+ "Fn::Not" : [
281+ {
282+ "Fn::Contains" : [
283+ [
284+ " 1" ,
285+ " 2" ,
286+ " 3" ,
287+ " 4" ,
288+ " 5"
289+ ],
290+ {
291+ "Ref" : " BootstrapVersion"
292+ }
293+ ]
294+ }
295+ ]
296+ },
297+ "AssertDescription" : " CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
298+ }
299+ ]
300+ }
301+ }
302+ }
0 commit comments