@aws-solutions-constructs/aws-apigateway-dynamodb 2.79.0 → 2.80.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.
@@ -0,0 +1,411 @@
1
+ {
2
+ "Description": "Integration Test for aws-apigateway-dynamodb",
3
+ "Resources": {
4
+ "testapigatewaydynamodbnousageplanDynamoTable1BC4F94A": {
5
+ "Type": "AWS::DynamoDB::Table",
6
+ "Properties": {
7
+ "AttributeDefinitions": [
8
+ {
9
+ "AttributeName": "id",
10
+ "AttributeType": "S"
11
+ }
12
+ ],
13
+ "BillingMode": "PAY_PER_REQUEST",
14
+ "KeySchema": [
15
+ {
16
+ "AttributeName": "id",
17
+ "KeyType": "HASH"
18
+ }
19
+ ],
20
+ "PointInTimeRecoverySpecification": {
21
+ "PointInTimeRecoveryEnabled": true
22
+ },
23
+ "SSESpecification": {
24
+ "SSEEnabled": true
25
+ }
26
+ },
27
+ "UpdateReplacePolicy": "Retain",
28
+ "DeletionPolicy": "Retain",
29
+ "Metadata": {
30
+ "guard": {
31
+ "SuppressedRules": [
32
+ "DYNAMODB_TABLE_ENCRYPTED_KMS"
33
+ ]
34
+ }
35
+ }
36
+ },
37
+ "testapigatewaydynamodbnousageplanApiAccessLogGroupC37F737F": {
38
+ "Type": "AWS::Logs::LogGroup",
39
+ "UpdateReplacePolicy": "Retain",
40
+ "DeletionPolicy": "Retain",
41
+ "Metadata": {
42
+ "cfn_nag": {
43
+ "rules_to_suppress": [
44
+ {
45
+ "id": "W86",
46
+ "reason": "Retention period for CloudWatchLogs LogGroups are set to 'Never Expire' to preserve customer data indefinitely"
47
+ },
48
+ {
49
+ "id": "W84",
50
+ "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
51
+ }
52
+ ]
53
+ }
54
+ }
55
+ },
56
+ "testapigatewaydynamodbnousageplanRestApi9FE45562": {
57
+ "Type": "AWS::ApiGateway::RestApi",
58
+ "Properties": {
59
+ "EndpointConfiguration": {
60
+ "Types": [
61
+ "EDGE"
62
+ ]
63
+ },
64
+ "Name": "RestApi"
65
+ }
66
+ },
67
+ "testapigatewaydynamodbnousageplanRestApiDeploymentB767BF8B2b444c794d3f97dc87e028a511232f8f": {
68
+ "Type": "AWS::ApiGateway::Deployment",
69
+ "Properties": {
70
+ "Description": "Automatically created by the RestApi construct",
71
+ "RestApiId": {
72
+ "Ref": "testapigatewaydynamodbnousageplanRestApi9FE45562"
73
+ }
74
+ },
75
+ "DependsOn": [
76
+ "testapigatewaydynamodbnousageplanRestApiidGETD5E3B4BA",
77
+ "testapigatewaydynamodbnousageplanRestApiidE003DF76"
78
+ ],
79
+ "Metadata": {
80
+ "cfn_nag": {
81
+ "rules_to_suppress": [
82
+ {
83
+ "id": "W45",
84
+ "reason": "ApiGateway has AccessLogging enabled in AWS::ApiGateway::Stage resource, but cfn_nag checks for it in AWS::ApiGateway::Deployment resource"
85
+ }
86
+ ]
87
+ }
88
+ }
89
+ },
90
+ "testapigatewaydynamodbnousageplanRestApiDeploymentStageprod9E718D47": {
91
+ "Type": "AWS::ApiGateway::Stage",
92
+ "Properties": {
93
+ "AccessLogSetting": {
94
+ "DestinationArn": {
95
+ "Fn::GetAtt": [
96
+ "testapigatewaydynamodbnousageplanApiAccessLogGroupC37F737F",
97
+ "Arn"
98
+ ]
99
+ },
100
+ "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\"}"
101
+ },
102
+ "DeploymentId": {
103
+ "Ref": "testapigatewaydynamodbnousageplanRestApiDeploymentB767BF8B2b444c794d3f97dc87e028a511232f8f"
104
+ },
105
+ "MethodSettings": [
106
+ {
107
+ "DataTraceEnabled": false,
108
+ "HttpMethod": "*",
109
+ "LoggingLevel": "INFO",
110
+ "ResourcePath": "/*"
111
+ }
112
+ ],
113
+ "RestApiId": {
114
+ "Ref": "testapigatewaydynamodbnousageplanRestApi9FE45562"
115
+ },
116
+ "StageName": "prod",
117
+ "TracingEnabled": true
118
+ },
119
+ "Metadata": {
120
+ "guard": {
121
+ "SuppressedRules": [
122
+ "API_GW_CACHE_ENABLED_AND_ENCRYPTED"
123
+ ]
124
+ }
125
+ }
126
+ },
127
+ "testapigatewaydynamodbnousageplanRestApiidE003DF76": {
128
+ "Type": "AWS::ApiGateway::Resource",
129
+ "Properties": {
130
+ "ParentId": {
131
+ "Fn::GetAtt": [
132
+ "testapigatewaydynamodbnousageplanRestApi9FE45562",
133
+ "RootResourceId"
134
+ ]
135
+ },
136
+ "PathPart": "{id}",
137
+ "RestApiId": {
138
+ "Ref": "testapigatewaydynamodbnousageplanRestApi9FE45562"
139
+ }
140
+ }
141
+ },
142
+ "testapigatewaydynamodbnousageplanRestApiidGETD5E3B4BA": {
143
+ "Type": "AWS::ApiGateway::Method",
144
+ "Properties": {
145
+ "AuthorizationType": "AWS_IAM",
146
+ "HttpMethod": "GET",
147
+ "Integration": {
148
+ "Credentials": {
149
+ "Fn::GetAtt": [
150
+ "testapigatewaydynamodbnousageplanapigatewayrole21E49924",
151
+ "Arn"
152
+ ]
153
+ },
154
+ "IntegrationHttpMethod": "POST",
155
+ "IntegrationResponses": [
156
+ {
157
+ "StatusCode": "200"
158
+ },
159
+ {
160
+ "ResponseTemplates": {
161
+ "text/html": "Error"
162
+ },
163
+ "SelectionPattern": "500",
164
+ "StatusCode": "500"
165
+ }
166
+ ],
167
+ "PassthroughBehavior": "NEVER",
168
+ "RequestParameters": {
169
+ "integration.request.header.Content-Type": "'application/json'"
170
+ },
171
+ "RequestTemplates": {
172
+ "application/json": {
173
+ "Fn::Join": [
174
+ "",
175
+ [
176
+ "{ \"TableName\": \"",
177
+ {
178
+ "Ref": "testapigatewaydynamodbnousageplanDynamoTable1BC4F94A"
179
+ },
180
+ "\", \"KeyConditionExpression\": \"id = :v1\", \"ExpressionAttributeValues\": { \":v1\": { \"S\": \"$input.params('id')\" } } }"
181
+ ]
182
+ ]
183
+ }
184
+ },
185
+ "Type": "AWS",
186
+ "Uri": {
187
+ "Fn::Join": [
188
+ "",
189
+ [
190
+ "arn:",
191
+ {
192
+ "Ref": "AWS::Partition"
193
+ },
194
+ ":apigateway:",
195
+ {
196
+ "Ref": "AWS::Region"
197
+ },
198
+ ":dynamodb:action/Query"
199
+ ]
200
+ ]
201
+ }
202
+ },
203
+ "MethodResponses": [
204
+ {
205
+ "ResponseParameters": {
206
+ "method.response.header.Content-Type": true
207
+ },
208
+ "StatusCode": "200"
209
+ },
210
+ {
211
+ "ResponseParameters": {
212
+ "method.response.header.Content-Type": true
213
+ },
214
+ "StatusCode": "500"
215
+ }
216
+ ],
217
+ "ResourceId": {
218
+ "Ref": "testapigatewaydynamodbnousageplanRestApiidE003DF76"
219
+ },
220
+ "RestApiId": {
221
+ "Ref": "testapigatewaydynamodbnousageplanRestApi9FE45562"
222
+ }
223
+ }
224
+ },
225
+ "testapigatewaydynamodbnousageplanLambdaRestApiCloudWatchRole20F7A6DB": {
226
+ "Type": "AWS::IAM::Role",
227
+ "Properties": {
228
+ "AssumeRolePolicyDocument": {
229
+ "Statement": [
230
+ {
231
+ "Action": "sts:AssumeRole",
232
+ "Effect": "Allow",
233
+ "Principal": {
234
+ "Service": "apigateway.amazonaws.com"
235
+ }
236
+ }
237
+ ],
238
+ "Version": "2012-10-17"
239
+ },
240
+ "Policies": [
241
+ {
242
+ "PolicyDocument": {
243
+ "Statement": [
244
+ {
245
+ "Action": [
246
+ "logs:CreateLogGroup",
247
+ "logs:CreateLogStream",
248
+ "logs:DescribeLogGroups",
249
+ "logs:DescribeLogStreams",
250
+ "logs:FilterLogEvents",
251
+ "logs:GetLogEvents",
252
+ "logs:PutLogEvents"
253
+ ],
254
+ "Effect": "Allow",
255
+ "Resource": {
256
+ "Fn::Join": [
257
+ "",
258
+ [
259
+ "arn:",
260
+ {
261
+ "Ref": "AWS::Partition"
262
+ },
263
+ ":logs:",
264
+ {
265
+ "Ref": "AWS::Region"
266
+ },
267
+ ":",
268
+ {
269
+ "Ref": "AWS::AccountId"
270
+ },
271
+ ":*"
272
+ ]
273
+ ]
274
+ }
275
+ }
276
+ ],
277
+ "Version": "2012-10-17"
278
+ },
279
+ "PolicyName": "LambdaRestApiCloudWatchRolePolicy"
280
+ }
281
+ ]
282
+ },
283
+ "Metadata": {
284
+ "guard": {
285
+ "SuppressedRules": [
286
+ "IAM_NO_INLINE_POLICY_CHECK"
287
+ ]
288
+ }
289
+ }
290
+ },
291
+ "testapigatewaydynamodbnousageplanLambdaRestApiAccountF0FADA8D": {
292
+ "Type": "AWS::ApiGateway::Account",
293
+ "Properties": {
294
+ "CloudWatchRoleArn": {
295
+ "Fn::GetAtt": [
296
+ "testapigatewaydynamodbnousageplanLambdaRestApiCloudWatchRole20F7A6DB",
297
+ "Arn"
298
+ ]
299
+ }
300
+ },
301
+ "DependsOn": [
302
+ "testapigatewaydynamodbnousageplanRestApi9FE45562"
303
+ ]
304
+ },
305
+ "testapigatewaydynamodbnousageplanapigatewayrole21E49924": {
306
+ "Type": "AWS::IAM::Role",
307
+ "Properties": {
308
+ "AssumeRolePolicyDocument": {
309
+ "Statement": [
310
+ {
311
+ "Action": "sts:AssumeRole",
312
+ "Effect": "Allow",
313
+ "Principal": {
314
+ "Service": "apigateway.amazonaws.com"
315
+ }
316
+ }
317
+ ],
318
+ "Version": "2012-10-17"
319
+ }
320
+ }
321
+ },
322
+ "testapigatewaydynamodbnousageplanapigatewayroleDefaultPolicyAB259705": {
323
+ "Type": "AWS::IAM::Policy",
324
+ "Properties": {
325
+ "PolicyDocument": {
326
+ "Statement": [
327
+ {
328
+ "Action": "dynamodb:Query",
329
+ "Effect": "Allow",
330
+ "Resource": {
331
+ "Fn::GetAtt": [
332
+ "testapigatewaydynamodbnousageplanDynamoTable1BC4F94A",
333
+ "Arn"
334
+ ]
335
+ }
336
+ }
337
+ ],
338
+ "Version": "2012-10-17"
339
+ },
340
+ "PolicyName": "testapigatewaydynamodbnousageplanapigatewayroleDefaultPolicyAB259705",
341
+ "Roles": [
342
+ {
343
+ "Ref": "testapigatewaydynamodbnousageplanapigatewayrole21E49924"
344
+ }
345
+ ]
346
+ }
347
+ }
348
+ },
349
+ "Outputs": {
350
+ "testapigatewaydynamodbnousageplanRestApiEndpoint0829E5F5": {
351
+ "Value": {
352
+ "Fn::Join": [
353
+ "",
354
+ [
355
+ "https://",
356
+ {
357
+ "Ref": "testapigatewaydynamodbnousageplanRestApi9FE45562"
358
+ },
359
+ ".execute-api.",
360
+ {
361
+ "Ref": "AWS::Region"
362
+ },
363
+ ".",
364
+ {
365
+ "Ref": "AWS::URLSuffix"
366
+ },
367
+ "/",
368
+ {
369
+ "Ref": "testapigatewaydynamodbnousageplanRestApiDeploymentStageprod9E718D47"
370
+ },
371
+ "/"
372
+ ]
373
+ ]
374
+ }
375
+ }
376
+ },
377
+ "Parameters": {
378
+ "BootstrapVersion": {
379
+ "Type": "AWS::SSM::Parameter::Value<String>",
380
+ "Default": "/cdk-bootstrap/hnb659fds/version",
381
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
382
+ }
383
+ },
384
+ "Rules": {
385
+ "CheckBootstrapVersion": {
386
+ "Assertions": [
387
+ {
388
+ "Assert": {
389
+ "Fn::Not": [
390
+ {
391
+ "Fn::Contains": [
392
+ [
393
+ "1",
394
+ "2",
395
+ "3",
396
+ "4",
397
+ "5"
398
+ ],
399
+ {
400
+ "Ref": "BootstrapVersion"
401
+ }
402
+ ]
403
+ }
404
+ ]
405
+ },
406
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
407
+ }
408
+ ]
409
+ }
410
+ }
411
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "version": "39.0.0",
3
+ "files": {
4
+ "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
+ "source": {
6
+ "path": "apiddbnousageplanIntegDefaultTestDeployAssert9327EC62.template.json",
7
+ "packaging": "file"
8
+ },
9
+ "destinations": {
10
+ "current_account-current_region": {
11
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12
+ "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json",
13
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
14
+ }
15
+ }
16
+ }
17
+ },
18
+ "dockerImages": {}
19
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "Parameters": {
3
+ "BootstrapVersion": {
4
+ "Type": "AWS::SSM::Parameter::Value<String>",
5
+ "Default": "/cdk-bootstrap/hnb659fds/version",
6
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
7
+ }
8
+ },
9
+ "Rules": {
10
+ "CheckBootstrapVersion": {
11
+ "Assertions": [
12
+ {
13
+ "Assert": {
14
+ "Fn::Not": [
15
+ {
16
+ "Fn::Contains": [
17
+ [
18
+ "1",
19
+ "2",
20
+ "3",
21
+ "4",
22
+ "5"
23
+ ],
24
+ {
25
+ "Ref": "BootstrapVersion"
26
+ }
27
+ ]
28
+ }
29
+ ]
30
+ },
31
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
32
+ }
33
+ ]
34
+ }
35
+ }
36
+ }
@@ -0,0 +1 @@
1
+ {"version":"39.0.0"}
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": "39.0.0",
3
+ "testCases": {
4
+ "apiddb-no-usage-plan/Integ/DefaultTest": {
5
+ "stacks": [
6
+ "apiddb-no-usage-plan"
7
+ ],
8
+ "assertionStack": "apiddb-no-usage-plan/Integ/DefaultTest/DeployAssert",
9
+ "assertionStackName": "apiddbnousageplanIntegDefaultTestDeployAssert9327EC62"
10
+ }
11
+ }
12
+ }