@aws-solutions-constructs/aws-apigateway-dynamodb 2.51.0 → 2.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.eslintignore +2 -0
  2. package/.jsii +49 -4
  3. package/integ.config.json +7 -0
  4. package/lib/index.js +1 -1
  5. package/package.json +9 -8
  6. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js +5 -2
  7. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/apiddb-additional-request-templates-custom-resource-name.assets.json +19 -0
  8. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/apiddb-additional-request-templates-custom-resource-name.template.json +426 -0
  9. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/apiddbadditionalrequesttemplatescustomresourcenameIntegDefaultTestDeployAssertABD5B2B6.assets.json +19 -0
  10. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/apiddbadditionalrequesttemplatescustomresourcenameIntegDefaultTestDeployAssertABD5B2B6.template.json +36 -0
  11. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/cdk.out +1 -0
  12. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/integ.json +12 -0
  13. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/manifest.json +185 -0
  14. package/test/integ.apiddb-additional-request-templates-custom-resource-name.js.snapshot/tree.json +684 -0
  15. package/test/integ.apiddb-additional-request-templates.js +5 -2
  16. package/test/integ.apiddb-additional-request-templates.js.snapshot/apiddb-additional-request-templates.assets.json +19 -0
  17. package/test/integ.apiddb-additional-request-templates.js.snapshot/apiddb-additional-request-templates.template.json +418 -0
  18. package/test/integ.apiddb-additional-request-templates.js.snapshot/apiddbadditionalrequesttemplatesIntegDefaultTestDeployAssert01278153.assets.json +19 -0
  19. package/test/integ.apiddb-additional-request-templates.js.snapshot/apiddbadditionalrequesttemplatesIntegDefaultTestDeployAssert01278153.template.json +36 -0
  20. package/test/integ.apiddb-additional-request-templates.js.snapshot/cdk.out +1 -0
  21. package/test/integ.apiddb-additional-request-templates.js.snapshot/integ.json +12 -0
  22. package/test/integ.apiddb-additional-request-templates.js.snapshot/manifest.json +185 -0
  23. package/test/integ.apiddb-additional-request-templates.js.snapshot/tree.json +676 -0
  24. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js +5 -2
  25. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/apiddb-apigateway-dynamodb-CRUD.assets.json +19 -0
  26. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/apiddb-apigateway-dynamodb-CRUD.template.json +666 -0
  27. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/apiddbapigatewaydynamodbCRUDIntegDefaultTestDeployAssert492DC8FE.assets.json +19 -0
  28. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/apiddbapigatewaydynamodbCRUDIntegDefaultTestDeployAssert492DC8FE.template.json +36 -0
  29. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/cdk.out +1 -0
  30. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/integ.json +12 -0
  31. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/manifest.json +203 -0
  32. package/test/integ.apiddb-apigateway-dynamodb-CRUD.js.snapshot/tree.json +975 -0
  33. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js +5 -2
  34. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/apiddb-apigateway-dynamodb-existing-table.assets.json +19 -0
  35. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/apiddb-apigateway-dynamodb-existing-table.template.json +406 -0
  36. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/apiddbapigatewaydynamodbexistingtableIntegDefaultTestDeployAssertD38D4AB2.assets.json +19 -0
  37. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/apiddbapigatewaydynamodbexistingtableIntegDefaultTestDeployAssertD38D4AB2.template.json +36 -0
  38. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/cdk.out +1 -0
  39. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/integ.json +12 -0
  40. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/manifest.json +185 -0
  41. package/test/integ.apiddb-apigateway-dynamodb-existing-table.js.snapshot/tree.json +664 -0
  42. package/test/integ.apiddb-custom-integration-responses.js +5 -2
  43. package/test/integ.apiddb-custom-integration-responses.js.snapshot/apiddb-custom-integration-responses.assets.json +19 -0
  44. package/test/integ.apiddb-custom-integration-responses.js.snapshot/apiddb-custom-integration-responses.template.json +406 -0
  45. package/test/integ.apiddb-custom-integration-responses.js.snapshot/apiddbcustomintegrationresponsesIntegDefaultTestDeployAssert9F4582C4.assets.json +19 -0
  46. package/test/integ.apiddb-custom-integration-responses.js.snapshot/apiddbcustomintegrationresponsesIntegDefaultTestDeployAssert9F4582C4.template.json +36 -0
  47. package/test/integ.apiddb-custom-integration-responses.js.snapshot/cdk.out +1 -0
  48. package/test/integ.apiddb-custom-integration-responses.js.snapshot/integ.json +12 -0
  49. package/test/integ.apiddb-custom-integration-responses.js.snapshot/manifest.json +185 -0
  50. package/test/integ.apiddb-custom-integration-responses.js.snapshot/tree.json +664 -0
  51. package/test/integ.apiddb-no-arguments.js +5 -2
  52. package/test/integ.apiddb-no-arguments.js.snapshot/apiddb-no-arguments.assets.json +19 -0
  53. package/test/integ.apiddb-no-arguments.js.snapshot/apiddb-no-arguments.template.json +406 -0
  54. package/test/integ.apiddb-no-arguments.js.snapshot/apiddbnoargumentsIntegDefaultTestDeployAssert79BAC49F.assets.json +19 -0
  55. package/test/integ.apiddb-no-arguments.js.snapshot/apiddbnoargumentsIntegDefaultTestDeployAssert79BAC49F.template.json +36 -0
  56. package/test/integ.apiddb-no-arguments.js.snapshot/cdk.out +1 -0
  57. package/test/integ.apiddb-no-arguments.js.snapshot/integ.json +12 -0
  58. package/test/integ.apiddb-no-arguments.js.snapshot/manifest.json +185 -0
  59. package/test/integ.apiddb-no-arguments.js.snapshot/tree.json +664 -0
  60. package/test/integ.apiddb-additional-request-templates-custom-resource-name.expected.json +0 -426
  61. package/test/integ.apiddb-additional-request-templates.expected.json +0 -418
  62. package/test/integ.apiddb-apigateway-dynamodb-CRUD.expected.json +0 -691
  63. package/test/integ.apiddb-apigateway-dynamodb-existing-table.expected.json +0 -406
  64. package/test/integ.apiddb-custom-integration-responses.expected.json +0 -406
  65. package/test/integ.apiddb-no-arguments.expected.json +0 -406
@@ -0,0 +1,975 @@
1
+ {
2
+ "version": "tree-0.1",
3
+ "tree": {
4
+ "id": "App",
5
+ "path": "",
6
+ "children": {
7
+ "apiddb-apigateway-dynamodb-CRUD": {
8
+ "id": "apiddb-apigateway-dynamodb-CRUD",
9
+ "path": "apiddb-apigateway-dynamodb-CRUD",
10
+ "children": {
11
+ "test-api-gateway-dynamodb": {
12
+ "id": "test-api-gateway-dynamodb",
13
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb",
14
+ "children": {
15
+ "DynamoTable": {
16
+ "id": "DynamoTable",
17
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/DynamoTable",
18
+ "children": {
19
+ "Resource": {
20
+ "id": "Resource",
21
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/DynamoTable/Resource",
22
+ "attributes": {
23
+ "aws:cdk:cloudformation:type": "AWS::DynamoDB::Table",
24
+ "aws:cdk:cloudformation:props": {
25
+ "attributeDefinitions": [
26
+ {
27
+ "attributeName": "id",
28
+ "attributeType": "S"
29
+ }
30
+ ],
31
+ "billingMode": "PAY_PER_REQUEST",
32
+ "keySchema": [
33
+ {
34
+ "attributeName": "id",
35
+ "keyType": "HASH"
36
+ }
37
+ ],
38
+ "pointInTimeRecoverySpecification": {
39
+ "pointInTimeRecoveryEnabled": true
40
+ },
41
+ "sseSpecification": {
42
+ "sseEnabled": true
43
+ }
44
+ }
45
+ },
46
+ "constructInfo": {
47
+ "fqn": "aws-cdk-lib.aws_dynamodb.CfnTable",
48
+ "version": "2.118.0"
49
+ }
50
+ },
51
+ "ScalingRole": {
52
+ "id": "ScalingRole",
53
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/DynamoTable/ScalingRole",
54
+ "constructInfo": {
55
+ "fqn": "aws-cdk-lib.Resource",
56
+ "version": "2.118.0"
57
+ }
58
+ }
59
+ },
60
+ "constructInfo": {
61
+ "fqn": "aws-cdk-lib.aws_dynamodb.Table",
62
+ "version": "2.118.0"
63
+ }
64
+ },
65
+ "ApiAccessLogGroup": {
66
+ "id": "ApiAccessLogGroup",
67
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/ApiAccessLogGroup",
68
+ "children": {
69
+ "Resource": {
70
+ "id": "Resource",
71
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/ApiAccessLogGroup/Resource",
72
+ "attributes": {
73
+ "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup",
74
+ "aws:cdk:cloudformation:props": {}
75
+ },
76
+ "constructInfo": {
77
+ "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup",
78
+ "version": "2.118.0"
79
+ }
80
+ }
81
+ },
82
+ "constructInfo": {
83
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup",
84
+ "version": "2.118.0"
85
+ }
86
+ },
87
+ "RestApi": {
88
+ "id": "RestApi",
89
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi",
90
+ "children": {
91
+ "Resource": {
92
+ "id": "Resource",
93
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Resource",
94
+ "attributes": {
95
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::RestApi",
96
+ "aws:cdk:cloudformation:props": {
97
+ "endpointConfiguration": {
98
+ "types": [
99
+ "EDGE"
100
+ ]
101
+ },
102
+ "name": "RestApi"
103
+ }
104
+ },
105
+ "constructInfo": {
106
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnRestApi",
107
+ "version": "2.118.0"
108
+ }
109
+ },
110
+ "Deployment": {
111
+ "id": "Deployment",
112
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Deployment",
113
+ "children": {
114
+ "Resource": {
115
+ "id": "Resource",
116
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Deployment/Resource",
117
+ "attributes": {
118
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Deployment",
119
+ "aws:cdk:cloudformation:props": {
120
+ "description": "Automatically created by the RestApi construct",
121
+ "restApiId": {
122
+ "Ref": "testapigatewaydynamodbRestApi80489300"
123
+ }
124
+ }
125
+ },
126
+ "constructInfo": {
127
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnDeployment",
128
+ "version": "2.118.0"
129
+ }
130
+ }
131
+ },
132
+ "constructInfo": {
133
+ "fqn": "aws-cdk-lib.aws_apigateway.Deployment",
134
+ "version": "2.118.0"
135
+ }
136
+ },
137
+ "DeploymentStage.prod": {
138
+ "id": "DeploymentStage.prod",
139
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/DeploymentStage.prod",
140
+ "children": {
141
+ "Resource": {
142
+ "id": "Resource",
143
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/DeploymentStage.prod/Resource",
144
+ "attributes": {
145
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Stage",
146
+ "aws:cdk:cloudformation:props": {
147
+ "accessLogSetting": {
148
+ "destinationArn": {
149
+ "Fn::GetAtt": [
150
+ "testapigatewaydynamodbApiAccessLogGroup3F457756",
151
+ "Arn"
152
+ ]
153
+ },
154
+ "format": "{\"requestId\":\"$context.requestId\",\"ip\":\"$context.identity.sourceIp\",\"user\":\"$context.identity.user\",\"caller\":\"$context.identity.caller\",\"requestTime\":\"$context.requestTime\",\"httpMethod\":\"$context.httpMethod\",\"resourcePath\":\"$context.resourcePath\",\"status\":\"$context.status\",\"protocol\":\"$context.protocol\",\"responseLength\":\"$context.responseLength\"}"
155
+ },
156
+ "deploymentId": {
157
+ "Ref": "testapigatewaydynamodbRestApiDeployment1898674B00abb8cad507ed5309ac584f2dddf379"
158
+ },
159
+ "methodSettings": [
160
+ {
161
+ "httpMethod": "*",
162
+ "resourcePath": "/*",
163
+ "dataTraceEnabled": false,
164
+ "loggingLevel": "INFO"
165
+ }
166
+ ],
167
+ "restApiId": {
168
+ "Ref": "testapigatewaydynamodbRestApi80489300"
169
+ },
170
+ "stageName": "prod",
171
+ "tracingEnabled": true
172
+ }
173
+ },
174
+ "constructInfo": {
175
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnStage",
176
+ "version": "2.118.0"
177
+ }
178
+ }
179
+ },
180
+ "constructInfo": {
181
+ "fqn": "aws-cdk-lib.aws_apigateway.Stage",
182
+ "version": "2.118.0"
183
+ }
184
+ },
185
+ "Endpoint": {
186
+ "id": "Endpoint",
187
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Endpoint",
188
+ "constructInfo": {
189
+ "fqn": "aws-cdk-lib.CfnOutput",
190
+ "version": "2.118.0"
191
+ }
192
+ },
193
+ "Default": {
194
+ "id": "Default",
195
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default",
196
+ "children": {
197
+ "{id}": {
198
+ "id": "{id}",
199
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}",
200
+ "children": {
201
+ "Resource": {
202
+ "id": "Resource",
203
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/Resource",
204
+ "attributes": {
205
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Resource",
206
+ "aws:cdk:cloudformation:props": {
207
+ "parentId": {
208
+ "Fn::GetAtt": [
209
+ "testapigatewaydynamodbRestApi80489300",
210
+ "RootResourceId"
211
+ ]
212
+ },
213
+ "pathPart": "{id}",
214
+ "restApiId": {
215
+ "Ref": "testapigatewaydynamodbRestApi80489300"
216
+ }
217
+ }
218
+ },
219
+ "constructInfo": {
220
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnResource",
221
+ "version": "2.118.0"
222
+ }
223
+ },
224
+ "GET": {
225
+ "id": "GET",
226
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/GET",
227
+ "children": {
228
+ "Resource": {
229
+ "id": "Resource",
230
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/GET/Resource",
231
+ "attributes": {
232
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method",
233
+ "aws:cdk:cloudformation:props": {
234
+ "authorizationType": "AWS_IAM",
235
+ "httpMethod": "GET",
236
+ "integration": {
237
+ "type": "AWS",
238
+ "uri": {
239
+ "Fn::Join": [
240
+ "",
241
+ [
242
+ "arn:",
243
+ {
244
+ "Ref": "AWS::Partition"
245
+ },
246
+ ":apigateway:",
247
+ {
248
+ "Ref": "AWS::Region"
249
+ },
250
+ ":dynamodb:action/Query"
251
+ ]
252
+ ]
253
+ },
254
+ "integrationHttpMethod": "POST",
255
+ "requestParameters": {
256
+ "integration.request.header.Content-Type": "'application/json'"
257
+ },
258
+ "requestTemplates": {
259
+ "application/json": {
260
+ "Fn::Join": [
261
+ "",
262
+ [
263
+ "{ \"TableName\": \"",
264
+ {
265
+ "Ref": "testapigatewaydynamodbDynamoTableEEE3F463"
266
+ },
267
+ "\", \"KeyConditionExpression\": \"id = :v1\", \"ExpressionAttributeValues\": { \":v1\": { \"S\": \"$input.params('id')\" } } }"
268
+ ]
269
+ ]
270
+ }
271
+ },
272
+ "passthroughBehavior": "NEVER",
273
+ "integrationResponses": [
274
+ {
275
+ "statusCode": "200"
276
+ },
277
+ {
278
+ "statusCode": "500",
279
+ "responseTemplates": {
280
+ "text/html": "Error"
281
+ },
282
+ "selectionPattern": "500"
283
+ }
284
+ ],
285
+ "credentials": {
286
+ "Fn::GetAtt": [
287
+ "testapigatewaydynamodbapigatewayrole961B19C4",
288
+ "Arn"
289
+ ]
290
+ }
291
+ },
292
+ "methodResponses": [
293
+ {
294
+ "statusCode": "200",
295
+ "responseParameters": {
296
+ "method.response.header.Content-Type": true
297
+ }
298
+ },
299
+ {
300
+ "statusCode": "500",
301
+ "responseParameters": {
302
+ "method.response.header.Content-Type": true
303
+ }
304
+ }
305
+ ],
306
+ "resourceId": {
307
+ "Ref": "testapigatewaydynamodbRestApiid78018D34"
308
+ },
309
+ "restApiId": {
310
+ "Ref": "testapigatewaydynamodbRestApi80489300"
311
+ }
312
+ }
313
+ },
314
+ "constructInfo": {
315
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnMethod",
316
+ "version": "2.118.0"
317
+ }
318
+ }
319
+ },
320
+ "constructInfo": {
321
+ "fqn": "aws-cdk-lib.aws_apigateway.Method",
322
+ "version": "2.118.0"
323
+ }
324
+ },
325
+ "PUT": {
326
+ "id": "PUT",
327
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/PUT",
328
+ "children": {
329
+ "Resource": {
330
+ "id": "Resource",
331
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/PUT/Resource",
332
+ "attributes": {
333
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method",
334
+ "aws:cdk:cloudformation:props": {
335
+ "authorizationType": "AWS_IAM",
336
+ "httpMethod": "PUT",
337
+ "integration": {
338
+ "type": "AWS",
339
+ "uri": {
340
+ "Fn::Join": [
341
+ "",
342
+ [
343
+ "arn:",
344
+ {
345
+ "Ref": "AWS::Partition"
346
+ },
347
+ ":apigateway:",
348
+ {
349
+ "Ref": "AWS::Region"
350
+ },
351
+ ":dynamodb:action/UpdateItem"
352
+ ]
353
+ ]
354
+ },
355
+ "integrationHttpMethod": "POST",
356
+ "requestParameters": {
357
+ "integration.request.header.Content-Type": "'application/json'"
358
+ },
359
+ "requestTemplates": {
360
+ "application/json": {
361
+ "Fn::Join": [
362
+ "",
363
+ [
364
+ "{\r\n \"TableName\": \"",
365
+ {
366
+ "Ref": "testapigatewaydynamodbDynamoTableEEE3F463"
367
+ },
368
+ "\",\r\n \"Key\": {\r\n \"id\": {\r\n \"S\": \"$input.path('$.id')\"\r\n }\r\n },\r\n \"ExpressionAttributeValues\": {\r\n \":event_count\": {\r\n \"N\": \"$input.path('$.EventCount')\"\r\n },\r\n \":message\": {\r\n \"S\": \"$input.path('$.Message')\"\r\n }\r\n },\r\n \"UpdateExpression\": \"ADD EventCount :event_count SET Message = :message\",\r\n \"ReturnValues\": \"ALL_NEW\"\r\n}"
369
+ ]
370
+ ]
371
+ }
372
+ },
373
+ "passthroughBehavior": "NEVER",
374
+ "integrationResponses": [
375
+ {
376
+ "statusCode": "200"
377
+ },
378
+ {
379
+ "statusCode": "500",
380
+ "responseTemplates": {
381
+ "text/html": "Error"
382
+ },
383
+ "selectionPattern": "500"
384
+ }
385
+ ],
386
+ "credentials": {
387
+ "Fn::GetAtt": [
388
+ "testapigatewaydynamodbapigatewayrole961B19C4",
389
+ "Arn"
390
+ ]
391
+ }
392
+ },
393
+ "methodResponses": [
394
+ {
395
+ "statusCode": "200",
396
+ "responseParameters": {
397
+ "method.response.header.Content-Type": true
398
+ }
399
+ },
400
+ {
401
+ "statusCode": "500",
402
+ "responseParameters": {
403
+ "method.response.header.Content-Type": true
404
+ }
405
+ }
406
+ ],
407
+ "resourceId": {
408
+ "Ref": "testapigatewaydynamodbRestApiid78018D34"
409
+ },
410
+ "restApiId": {
411
+ "Ref": "testapigatewaydynamodbRestApi80489300"
412
+ }
413
+ }
414
+ },
415
+ "constructInfo": {
416
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnMethod",
417
+ "version": "2.118.0"
418
+ }
419
+ }
420
+ },
421
+ "constructInfo": {
422
+ "fqn": "aws-cdk-lib.aws_apigateway.Method",
423
+ "version": "2.118.0"
424
+ }
425
+ },
426
+ "DELETE": {
427
+ "id": "DELETE",
428
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/DELETE",
429
+ "children": {
430
+ "Resource": {
431
+ "id": "Resource",
432
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/{id}/DELETE/Resource",
433
+ "attributes": {
434
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method",
435
+ "aws:cdk:cloudformation:props": {
436
+ "authorizationType": "AWS_IAM",
437
+ "httpMethod": "DELETE",
438
+ "integration": {
439
+ "type": "AWS",
440
+ "uri": {
441
+ "Fn::Join": [
442
+ "",
443
+ [
444
+ "arn:",
445
+ {
446
+ "Ref": "AWS::Partition"
447
+ },
448
+ ":apigateway:",
449
+ {
450
+ "Ref": "AWS::Region"
451
+ },
452
+ ":dynamodb:action/DeleteItem"
453
+ ]
454
+ ]
455
+ },
456
+ "integrationHttpMethod": "POST",
457
+ "requestParameters": {
458
+ "integration.request.header.Content-Type": "'application/json'"
459
+ },
460
+ "requestTemplates": {
461
+ "application/json": {
462
+ "Fn::Join": [
463
+ "",
464
+ [
465
+ "{ \"TableName\": \"",
466
+ {
467
+ "Ref": "testapigatewaydynamodbDynamoTableEEE3F463"
468
+ },
469
+ "\", \"Key\": { \"id\": { \"S\": \"$input.params('id')\" } }, \"ReturnValues\": \"ALL_OLD\" }"
470
+ ]
471
+ ]
472
+ }
473
+ },
474
+ "passthroughBehavior": "NEVER",
475
+ "integrationResponses": [
476
+ {
477
+ "statusCode": "200"
478
+ },
479
+ {
480
+ "statusCode": "500",
481
+ "responseTemplates": {
482
+ "text/html": "Error"
483
+ },
484
+ "selectionPattern": "500"
485
+ }
486
+ ],
487
+ "credentials": {
488
+ "Fn::GetAtt": [
489
+ "testapigatewaydynamodbapigatewayrole961B19C4",
490
+ "Arn"
491
+ ]
492
+ }
493
+ },
494
+ "methodResponses": [
495
+ {
496
+ "statusCode": "200",
497
+ "responseParameters": {
498
+ "method.response.header.Content-Type": true
499
+ }
500
+ },
501
+ {
502
+ "statusCode": "500",
503
+ "responseParameters": {
504
+ "method.response.header.Content-Type": true
505
+ }
506
+ }
507
+ ],
508
+ "resourceId": {
509
+ "Ref": "testapigatewaydynamodbRestApiid78018D34"
510
+ },
511
+ "restApiId": {
512
+ "Ref": "testapigatewaydynamodbRestApi80489300"
513
+ }
514
+ }
515
+ },
516
+ "constructInfo": {
517
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnMethod",
518
+ "version": "2.118.0"
519
+ }
520
+ }
521
+ },
522
+ "constructInfo": {
523
+ "fqn": "aws-cdk-lib.aws_apigateway.Method",
524
+ "version": "2.118.0"
525
+ }
526
+ }
527
+ },
528
+ "constructInfo": {
529
+ "fqn": "aws-cdk-lib.aws_apigateway.Resource",
530
+ "version": "2.118.0"
531
+ }
532
+ },
533
+ "POST": {
534
+ "id": "POST",
535
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/POST",
536
+ "children": {
537
+ "Resource": {
538
+ "id": "Resource",
539
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/Default/POST/Resource",
540
+ "attributes": {
541
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method",
542
+ "aws:cdk:cloudformation:props": {
543
+ "authorizationType": "AWS_IAM",
544
+ "httpMethod": "POST",
545
+ "integration": {
546
+ "type": "AWS",
547
+ "uri": {
548
+ "Fn::Join": [
549
+ "",
550
+ [
551
+ "arn:",
552
+ {
553
+ "Ref": "AWS::Partition"
554
+ },
555
+ ":apigateway:",
556
+ {
557
+ "Ref": "AWS::Region"
558
+ },
559
+ ":dynamodb:action/PutItem"
560
+ ]
561
+ ]
562
+ },
563
+ "integrationHttpMethod": "POST",
564
+ "requestParameters": {
565
+ "integration.request.header.Content-Type": "'application/json'"
566
+ },
567
+ "requestTemplates": {
568
+ "application/json": {
569
+ "Fn::Join": [
570
+ "",
571
+ [
572
+ "{\r\n \"TableName\": \"",
573
+ {
574
+ "Ref": "testapigatewaydynamodbDynamoTableEEE3F463"
575
+ },
576
+ "\",\r\n \"Item\": {\r\n \"id\": {\r\n \"S\": \"$input.path('$.id')\"\r\n },\r\n \"EventCount\": {\r\n \"N\": \"$input.path('$.EventCount')\"\r\n },\r\n \"Message\": {\r\n \"S\": \"$input.path('$.Message')\"\r\n }\r\n }\r\n}"
577
+ ]
578
+ ]
579
+ }
580
+ },
581
+ "passthroughBehavior": "NEVER",
582
+ "integrationResponses": [
583
+ {
584
+ "statusCode": "200"
585
+ },
586
+ {
587
+ "statusCode": "500",
588
+ "responseTemplates": {
589
+ "text/html": "Error"
590
+ },
591
+ "selectionPattern": "500"
592
+ }
593
+ ],
594
+ "credentials": {
595
+ "Fn::GetAtt": [
596
+ "testapigatewaydynamodbapigatewayrole961B19C4",
597
+ "Arn"
598
+ ]
599
+ }
600
+ },
601
+ "methodResponses": [
602
+ {
603
+ "statusCode": "200",
604
+ "responseParameters": {
605
+ "method.response.header.Content-Type": true
606
+ }
607
+ },
608
+ {
609
+ "statusCode": "500",
610
+ "responseParameters": {
611
+ "method.response.header.Content-Type": true
612
+ }
613
+ }
614
+ ],
615
+ "resourceId": {
616
+ "Fn::GetAtt": [
617
+ "testapigatewaydynamodbRestApi80489300",
618
+ "RootResourceId"
619
+ ]
620
+ },
621
+ "restApiId": {
622
+ "Ref": "testapigatewaydynamodbRestApi80489300"
623
+ }
624
+ }
625
+ },
626
+ "constructInfo": {
627
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnMethod",
628
+ "version": "2.118.0"
629
+ }
630
+ }
631
+ },
632
+ "constructInfo": {
633
+ "fqn": "aws-cdk-lib.aws_apigateway.Method",
634
+ "version": "2.118.0"
635
+ }
636
+ }
637
+ },
638
+ "constructInfo": {
639
+ "fqn": "aws-cdk-lib.aws_apigateway.ResourceBase",
640
+ "version": "2.118.0"
641
+ }
642
+ },
643
+ "UsagePlan": {
644
+ "id": "UsagePlan",
645
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/UsagePlan",
646
+ "children": {
647
+ "Resource": {
648
+ "id": "Resource",
649
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/RestApi/UsagePlan/Resource",
650
+ "attributes": {
651
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::UsagePlan",
652
+ "aws:cdk:cloudformation:props": {
653
+ "apiStages": [
654
+ {
655
+ "apiId": {
656
+ "Ref": "testapigatewaydynamodbRestApi80489300"
657
+ },
658
+ "stage": {
659
+ "Ref": "testapigatewaydynamodbRestApiDeploymentStageprod2855C2C3"
660
+ },
661
+ "throttle": {}
662
+ }
663
+ ]
664
+ }
665
+ },
666
+ "constructInfo": {
667
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnUsagePlan",
668
+ "version": "2.118.0"
669
+ }
670
+ }
671
+ },
672
+ "constructInfo": {
673
+ "fqn": "aws-cdk-lib.aws_apigateway.UsagePlan",
674
+ "version": "2.118.0"
675
+ }
676
+ }
677
+ },
678
+ "constructInfo": {
679
+ "fqn": "aws-cdk-lib.aws_apigateway.RestApi",
680
+ "version": "2.118.0"
681
+ }
682
+ },
683
+ "LambdaRestApiCloudWatchRole": {
684
+ "id": "LambdaRestApiCloudWatchRole",
685
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/LambdaRestApiCloudWatchRole",
686
+ "children": {
687
+ "ImportLambdaRestApiCloudWatchRole": {
688
+ "id": "ImportLambdaRestApiCloudWatchRole",
689
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/LambdaRestApiCloudWatchRole/ImportLambdaRestApiCloudWatchRole",
690
+ "constructInfo": {
691
+ "fqn": "aws-cdk-lib.Resource",
692
+ "version": "2.118.0"
693
+ }
694
+ },
695
+ "Resource": {
696
+ "id": "Resource",
697
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/LambdaRestApiCloudWatchRole/Resource",
698
+ "attributes": {
699
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
700
+ "aws:cdk:cloudformation:props": {
701
+ "assumeRolePolicyDocument": {
702
+ "Statement": [
703
+ {
704
+ "Action": "sts:AssumeRole",
705
+ "Effect": "Allow",
706
+ "Principal": {
707
+ "Service": "apigateway.amazonaws.com"
708
+ }
709
+ }
710
+ ],
711
+ "Version": "2012-10-17"
712
+ },
713
+ "policies": [
714
+ {
715
+ "policyName": "LambdaRestApiCloudWatchRolePolicy",
716
+ "policyDocument": {
717
+ "Statement": [
718
+ {
719
+ "Action": [
720
+ "logs:CreateLogGroup",
721
+ "logs:CreateLogStream",
722
+ "logs:DescribeLogGroups",
723
+ "logs:DescribeLogStreams",
724
+ "logs:FilterLogEvents",
725
+ "logs:GetLogEvents",
726
+ "logs:PutLogEvents"
727
+ ],
728
+ "Effect": "Allow",
729
+ "Resource": {
730
+ "Fn::Join": [
731
+ "",
732
+ [
733
+ "arn:",
734
+ {
735
+ "Ref": "AWS::Partition"
736
+ },
737
+ ":logs:",
738
+ {
739
+ "Ref": "AWS::Region"
740
+ },
741
+ ":",
742
+ {
743
+ "Ref": "AWS::AccountId"
744
+ },
745
+ ":*"
746
+ ]
747
+ ]
748
+ }
749
+ }
750
+ ],
751
+ "Version": "2012-10-17"
752
+ }
753
+ }
754
+ ]
755
+ }
756
+ },
757
+ "constructInfo": {
758
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
759
+ "version": "2.118.0"
760
+ }
761
+ }
762
+ },
763
+ "constructInfo": {
764
+ "fqn": "aws-cdk-lib.aws_iam.Role",
765
+ "version": "2.118.0"
766
+ }
767
+ },
768
+ "LambdaRestApiAccount": {
769
+ "id": "LambdaRestApiAccount",
770
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/LambdaRestApiAccount",
771
+ "attributes": {
772
+ "aws:cdk:cloudformation:type": "AWS::ApiGateway::Account",
773
+ "aws:cdk:cloudformation:props": {
774
+ "cloudWatchRoleArn": {
775
+ "Fn::GetAtt": [
776
+ "testapigatewaydynamodbLambdaRestApiCloudWatchRoleD176CA9E",
777
+ "Arn"
778
+ ]
779
+ }
780
+ }
781
+ },
782
+ "constructInfo": {
783
+ "fqn": "aws-cdk-lib.aws_apigateway.CfnAccount",
784
+ "version": "2.118.0"
785
+ }
786
+ },
787
+ "api-gateway-role": {
788
+ "id": "api-gateway-role",
789
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/api-gateway-role",
790
+ "children": {
791
+ "Importapi-gateway-role": {
792
+ "id": "Importapi-gateway-role",
793
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/api-gateway-role/Importapi-gateway-role",
794
+ "constructInfo": {
795
+ "fqn": "aws-cdk-lib.Resource",
796
+ "version": "2.118.0"
797
+ }
798
+ },
799
+ "Resource": {
800
+ "id": "Resource",
801
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/api-gateway-role/Resource",
802
+ "attributes": {
803
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
804
+ "aws:cdk:cloudformation:props": {
805
+ "assumeRolePolicyDocument": {
806
+ "Statement": [
807
+ {
808
+ "Action": "sts:AssumeRole",
809
+ "Effect": "Allow",
810
+ "Principal": {
811
+ "Service": "apigateway.amazonaws.com"
812
+ }
813
+ }
814
+ ],
815
+ "Version": "2012-10-17"
816
+ }
817
+ }
818
+ },
819
+ "constructInfo": {
820
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
821
+ "version": "2.118.0"
822
+ }
823
+ },
824
+ "DefaultPolicy": {
825
+ "id": "DefaultPolicy",
826
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/api-gateway-role/DefaultPolicy",
827
+ "children": {
828
+ "Resource": {
829
+ "id": "Resource",
830
+ "path": "apiddb-apigateway-dynamodb-CRUD/test-api-gateway-dynamodb/api-gateway-role/DefaultPolicy/Resource",
831
+ "attributes": {
832
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
833
+ "aws:cdk:cloudformation:props": {
834
+ "policyDocument": {
835
+ "Statement": [
836
+ {
837
+ "Action": [
838
+ "dynamodb:DeleteItem",
839
+ "dynamodb:PutItem",
840
+ "dynamodb:Query",
841
+ "dynamodb:UpdateItem"
842
+ ],
843
+ "Effect": "Allow",
844
+ "Resource": {
845
+ "Fn::GetAtt": [
846
+ "testapigatewaydynamodbDynamoTableEEE3F463",
847
+ "Arn"
848
+ ]
849
+ }
850
+ }
851
+ ],
852
+ "Version": "2012-10-17"
853
+ },
854
+ "policyName": "testapigatewaydynamodbapigatewayroleDefaultPolicy43AC565D",
855
+ "roles": [
856
+ {
857
+ "Ref": "testapigatewaydynamodbapigatewayrole961B19C4"
858
+ }
859
+ ]
860
+ }
861
+ },
862
+ "constructInfo": {
863
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
864
+ "version": "2.118.0"
865
+ }
866
+ }
867
+ },
868
+ "constructInfo": {
869
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
870
+ "version": "2.118.0"
871
+ }
872
+ }
873
+ },
874
+ "constructInfo": {
875
+ "fqn": "aws-cdk-lib.aws_iam.Role",
876
+ "version": "2.118.0"
877
+ }
878
+ }
879
+ },
880
+ "constructInfo": {
881
+ "fqn": "@aws-solutions-constructs/aws-apigateway-dynamodb.ApiGatewayToDynamoDB",
882
+ "version": "2.50.0"
883
+ }
884
+ },
885
+ "Integ": {
886
+ "id": "Integ",
887
+ "path": "apiddb-apigateway-dynamodb-CRUD/Integ",
888
+ "children": {
889
+ "DefaultTest": {
890
+ "id": "DefaultTest",
891
+ "path": "apiddb-apigateway-dynamodb-CRUD/Integ/DefaultTest",
892
+ "children": {
893
+ "Default": {
894
+ "id": "Default",
895
+ "path": "apiddb-apigateway-dynamodb-CRUD/Integ/DefaultTest/Default",
896
+ "constructInfo": {
897
+ "fqn": "constructs.Construct",
898
+ "version": "10.0.0"
899
+ }
900
+ },
901
+ "DeployAssert": {
902
+ "id": "DeployAssert",
903
+ "path": "apiddb-apigateway-dynamodb-CRUD/Integ/DefaultTest/DeployAssert",
904
+ "children": {
905
+ "BootstrapVersion": {
906
+ "id": "BootstrapVersion",
907
+ "path": "apiddb-apigateway-dynamodb-CRUD/Integ/DefaultTest/DeployAssert/BootstrapVersion",
908
+ "constructInfo": {
909
+ "fqn": "aws-cdk-lib.CfnParameter",
910
+ "version": "2.118.0"
911
+ }
912
+ },
913
+ "CheckBootstrapVersion": {
914
+ "id": "CheckBootstrapVersion",
915
+ "path": "apiddb-apigateway-dynamodb-CRUD/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
916
+ "constructInfo": {
917
+ "fqn": "aws-cdk-lib.CfnRule",
918
+ "version": "2.118.0"
919
+ }
920
+ }
921
+ },
922
+ "constructInfo": {
923
+ "fqn": "aws-cdk-lib.Stack",
924
+ "version": "2.118.0"
925
+ }
926
+ }
927
+ },
928
+ "constructInfo": {
929
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
930
+ "version": "2.118.0-alpha.0"
931
+ }
932
+ }
933
+ },
934
+ "constructInfo": {
935
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
936
+ "version": "2.118.0-alpha.0"
937
+ }
938
+ },
939
+ "BootstrapVersion": {
940
+ "id": "BootstrapVersion",
941
+ "path": "apiddb-apigateway-dynamodb-CRUD/BootstrapVersion",
942
+ "constructInfo": {
943
+ "fqn": "aws-cdk-lib.CfnParameter",
944
+ "version": "2.118.0"
945
+ }
946
+ },
947
+ "CheckBootstrapVersion": {
948
+ "id": "CheckBootstrapVersion",
949
+ "path": "apiddb-apigateway-dynamodb-CRUD/CheckBootstrapVersion",
950
+ "constructInfo": {
951
+ "fqn": "aws-cdk-lib.CfnRule",
952
+ "version": "2.118.0"
953
+ }
954
+ }
955
+ },
956
+ "constructInfo": {
957
+ "fqn": "aws-cdk-lib.Stack",
958
+ "version": "2.118.0"
959
+ }
960
+ },
961
+ "Tree": {
962
+ "id": "Tree",
963
+ "path": "Tree",
964
+ "constructInfo": {
965
+ "fqn": "constructs.Construct",
966
+ "version": "10.0.0"
967
+ }
968
+ }
969
+ },
970
+ "constructInfo": {
971
+ "fqn": "aws-cdk-lib.App",
972
+ "version": "2.118.0"
973
+ }
974
+ }
975
+ }