@plusscommunities/pluss-newsletter-aws 1.0.1 → 1.0.5

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.
package/feature.config.js CHANGED
@@ -1,3 +1,5 @@
1
+ exports.permissions = ["newsletter", "newsletterSubmit"];
2
+
1
3
  exports.entity = {
2
4
  key: "news",
3
5
  permission: "newsletter",
package/getTaggedNews.js CHANGED
@@ -9,8 +9,6 @@ const { HAS_INTRO_TERMS } = require("./config");
9
9
  const getUser = require("./common/db/users/getUser");
10
10
 
11
11
  const fetchData = (userId, minTime, maxTime, callback) => {
12
- initConfig();
13
-
14
12
  return new Promise((resolve, reject) => {
15
13
  const query = {
16
14
  IndexName: "NewsletterUserEntriesUserIdTimestampIndex",
@@ -37,6 +35,8 @@ const fetchData = (userId, minTime, maxTime, callback) => {
37
35
  };
38
36
 
39
37
  module.exports.getTaggedNews = (event, context, callback) => {
38
+ initConfig();
39
+
40
40
  const params = thisOrDefault(event.queryStringParameters, {});
41
41
  const userIdToFetch = params.userId;
42
42
  const minTime = parseInt(thisOrDefault(params.minTime, 0));
package/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-newsletter-aws",
3
- "version": "1.0.1",
3
+ "version": "1.0.5",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -13,9 +13,9 @@
13
13
  }
14
14
  },
15
15
  "@plusscommunities/pluss-core-aws": {
16
- "version": "1.1.5",
17
- "resolved": "https://registry.npmjs.org/@plusscommunities/pluss-core-aws/-/pluss-core-aws-1.1.5.tgz",
18
- "integrity": "sha512-SUs/AxxQYBUgzbTgaNW6+7JviymnMGRd4GX9fMLm0LSS6688BjBOxj0fhemVOKwO9gj7ltA/2ztIt2coZhvdAQ==",
16
+ "version": "1.1.6",
17
+ "resolved": "https://registry.npmjs.org/@plusscommunities/pluss-core-aws/-/pluss-core-aws-1.1.6.tgz",
18
+ "integrity": "sha512-6ZwFLgCe/rbNxeKnpbNmevlIgQV8yNrmnc31hVnJud0klgFQVkLdcIhDQDcflMwDCXa5xeoqa8lcrmgXDHMvNA==",
19
19
  "requires": {
20
20
  "@aws/dynamodb-auto-marshaller": "^0.7.1",
21
21
  "amazon-cognito-identity-js": "^2.0.19",
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-newsletter-aws",
3
- "version": "1.0.1",
3
+ "version": "1.0.5",
4
4
  "description": "Extension package to enable newsletter on Pluss Communities Platform",
5
5
  "scripts": {
6
6
  "gc": "node ../../tools/gc ./",
7
7
  "gs": "node ../../tools/gs ./ ../../activity/serverless.yml",
8
8
  "core": "npm i @plusscommunities/pluss-core-aws@latest",
9
- "upload": "npm version patch && npm publish --access public",
9
+ "upload": "rm -rf .serverless && npm version patch && npm publish --access public",
10
10
  "deploy": "npm run gc && npm run gs && npm run core && serverless deploy",
11
11
  "test": "echo \"Error: no test specified\" && exit 1"
12
12
  },
@@ -14,7 +14,7 @@
14
14
  "license": "ISC",
15
15
  "dependencies": {
16
16
  "@aws/dynamodb-auto-marshaller": "^0.7.1",
17
- "@plusscommunities/pluss-core-aws": "^1.1.5",
17
+ "@plusscommunities/pluss-core-aws": "^1.1.6",
18
18
  "amazon-cognito-identity-js": "^2.0.19",
19
19
  "axios": "^0.18.0",
20
20
  "expo-server-sdk": "^3.0.1",
@@ -1,4810 +0,0 @@
1
- {
2
- "AWSTemplateFormatVersion": "2010-09-09",
3
- "Description": "The AWS CloudFormation template for this Serverless application",
4
- "Resources": {
5
- "AddNewsletterEntryLogGroup": {
6
- "Type": "AWS::Logs::LogGroup",
7
- "Properties": {
8
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-addNewsletterEntry"
9
- }
10
- },
11
- "EditNewsletterEntryLogGroup": {
12
- "Type": "AWS::Logs::LogGroup",
13
- "Properties": {
14
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-editNewsletterEntry"
15
- }
16
- },
17
- "EditNewsletterSubmissionLogGroup": {
18
- "Type": "AWS::Logs::LogGroup",
19
- "Properties": {
20
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-editNewsletterSubmission"
21
- }
22
- },
23
- "GetNewsletterEntryLogGroup": {
24
- "Type": "AWS::Logs::LogGroup",
25
- "Properties": {
26
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getNewsletterEntry"
27
- }
28
- },
29
- "GetNewsletterEntriesLogGroup": {
30
- "Type": "AWS::Logs::LogGroup",
31
- "Properties": {
32
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getNewsletterEntries"
33
- }
34
- },
35
- "GetFeaturedNewsletterEntriesLogGroup": {
36
- "Type": "AWS::Logs::LogGroup",
37
- "Properties": {
38
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getFeaturedNewsletterEntries"
39
- }
40
- },
41
- "GetRecentNewsletterEntriesLogGroup": {
42
- "Type": "AWS::Logs::LogGroup",
43
- "Properties": {
44
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getRecentNewsletterEntries"
45
- }
46
- },
47
- "SearchAvailableNewsLogGroup": {
48
- "Type": "AWS::Logs::LogGroup",
49
- "Properties": {
50
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-searchAvailableNews"
51
- }
52
- },
53
- "GetAvailableNewsLogGroup": {
54
- "Type": "AWS::Logs::LogGroup",
55
- "Properties": {
56
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getAvailableNews"
57
- }
58
- },
59
- "GetPublishedEntriesLogGroup": {
60
- "Type": "AWS::Logs::LogGroup",
61
- "Properties": {
62
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getPublishedEntries"
63
- }
64
- },
65
- "GetPublishedAvailableNewsLogGroup": {
66
- "Type": "AWS::Logs::LogGroup",
67
- "Properties": {
68
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getPublishedAvailableNews"
69
- }
70
- },
71
- "DeleteNewsletterEntryLogGroup": {
72
- "Type": "AWS::Logs::LogGroup",
73
- "Properties": {
74
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-deleteNewsletterEntry"
75
- }
76
- },
77
- "HasNewsletterAccessLogGroup": {
78
- "Type": "AWS::Logs::LogGroup",
79
- "Properties": {
80
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-hasNewsletterAccess"
81
- }
82
- },
83
- "GetNewsletterSubmissionsLogGroup": {
84
- "Type": "AWS::Logs::LogGroup",
85
- "Properties": {
86
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getNewsletterSubmissions"
87
- }
88
- },
89
- "GetNewsletterSubmissionLogGroup": {
90
- "Type": "AWS::Logs::LogGroup",
91
- "Properties": {
92
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getNewsletterSubmission"
93
- }
94
- },
95
- "HandleNewsletterSubmissionLogGroup": {
96
- "Type": "AWS::Logs::LogGroup",
97
- "Properties": {
98
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-handleNewsletterSubmission"
99
- }
100
- },
101
- "GetSubmissionCountLogGroup": {
102
- "Type": "AWS::Logs::LogGroup",
103
- "Properties": {
104
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getSubmissionCount"
105
- }
106
- },
107
- "GetTaggedNewsLogGroup": {
108
- "Type": "AWS::Logs::LogGroup",
109
- "Properties": {
110
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-getTaggedNews"
111
- }
112
- },
113
- "NewsletterChangedLogGroup": {
114
- "Type": "AWS::Logs::LogGroup",
115
- "Properties": {
116
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-newsletterChanged"
117
- }
118
- },
119
- "WatchNewsletterLogGroup": {
120
- "Type": "AWS::Logs::LogGroup",
121
- "Properties": {
122
- "LogGroupName": "/aws/lambda/pluss60-newsletter-dev-watchNewsletter"
123
- }
124
- },
125
- "IamRoleLambdaExecution": {
126
- "Type": "AWS::IAM::Role",
127
- "Properties": {
128
- "AssumeRolePolicyDocument": {
129
- "Version": "2012-10-17",
130
- "Statement": [
131
- {
132
- "Effect": "Allow",
133
- "Principal": {
134
- "Service": [
135
- "lambda.amazonaws.com"
136
- ]
137
- },
138
- "Action": [
139
- "sts:AssumeRole"
140
- ]
141
- }
142
- ]
143
- },
144
- "Policies": [
145
- {
146
- "PolicyName": {
147
- "Fn::Join": [
148
- "-",
149
- [
150
- "pluss60-newsletter",
151
- "dev",
152
- "lambda"
153
- ]
154
- ]
155
- },
156
- "PolicyDocument": {
157
- "Version": "2012-10-17",
158
- "Statement": [
159
- {
160
- "Effect": "Allow",
161
- "Action": [
162
- "logs:CreateLogStream",
163
- "logs:CreateLogGroup"
164
- ],
165
- "Resource": [
166
- {
167
- "Fn::Sub": "arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/pluss60-newsletter-dev*:*"
168
- }
169
- ]
170
- },
171
- {
172
- "Effect": "Allow",
173
- "Action": [
174
- "logs:PutLogEvents"
175
- ],
176
- "Resource": [
177
- {
178
- "Fn::Sub": "arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/pluss60-newsletter-dev*:*:*"
179
- }
180
- ]
181
- },
182
- {
183
- "Effect": "Allow",
184
- "Action": [
185
- "dynamodb:Query",
186
- "dynamodb:Scan",
187
- "dynamodb:GetItem",
188
- "dynamodb:PutItem",
189
- "dynamodb:UpdateItem",
190
- "dynamodb:DeleteItem"
191
- ],
192
- "Resource": "arn:aws:dynamodb:ap-southeast-2:*:table/*"
193
- },
194
- {
195
- "Effect": "Allow",
196
- "Action": [
197
- "dynamodb:GetRecords",
198
- "dynamodb:GetShardIterator",
199
- "dynamodb:DescribeStream",
200
- "dynamodb:ListStreams"
201
- ],
202
- "Resource": [
203
- {
204
- "Fn::GetAtt": [
205
- "NewsletterEntries",
206
- "StreamArn"
207
- ]
208
- }
209
- ]
210
- }
211
- ]
212
- }
213
- }
214
- ],
215
- "Path": "/",
216
- "RoleName": {
217
- "Fn::Join": [
218
- "-",
219
- [
220
- "pluss60-newsletter",
221
- "dev",
222
- {
223
- "Ref": "AWS::Region"
224
- },
225
- "lambdaRole"
226
- ]
227
- ]
228
- }
229
- }
230
- },
231
- "AddNewsletterEntryLambdaFunction": {
232
- "Type": "AWS::Lambda::Function",
233
- "Properties": {
234
- "Code": {
235
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
236
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
237
- },
238
- "FunctionName": "pluss60-newsletter-dev-addNewsletterEntry",
239
- "Handler": "addNewsletterEntry.addNewsletterEntry",
240
- "MemorySize": 1024,
241
- "Role": {
242
- "Fn::GetAtt": [
243
- "IamRoleLambdaExecution",
244
- "Arn"
245
- ]
246
- },
247
- "Runtime": "nodejs10.x",
248
- "Timeout": 30,
249
- "Tags": [
250
- {
251
- "Key": "0",
252
- "Value": "n"
253
- },
254
- {
255
- "Key": "1",
256
- "Value": "e"
257
- },
258
- {
259
- "Key": "2",
260
- "Value": "w"
261
- },
262
- {
263
- "Key": "3",
264
- "Value": "s"
265
- },
266
- {
267
- "Key": "4",
268
- "Value": "l"
269
- },
270
- {
271
- "Key": "5",
272
- "Value": "e"
273
- },
274
- {
275
- "Key": "6",
276
- "Value": "t"
277
- },
278
- {
279
- "Key": "7",
280
- "Value": "t"
281
- },
282
- {
283
- "Key": "8",
284
- "Value": "e"
285
- },
286
- {
287
- "Key": "9",
288
- "Value": "r"
289
- }
290
- ],
291
- "Environment": {
292
- "Variables": {
293
- "tablePrefix": "pluss60-dev-"
294
- }
295
- }
296
- },
297
- "DependsOn": [
298
- "AddNewsletterEntryLogGroup"
299
- ]
300
- },
301
- "AddNewsletterEntryLambdaVersionRmbuFM9qkfNPogs9XwS6C7vsuLV59LR5SdjMvyNODc": {
302
- "Type": "AWS::Lambda::Version",
303
- "DeletionPolicy": "Retain",
304
- "Properties": {
305
- "FunctionName": {
306
- "Ref": "AddNewsletterEntryLambdaFunction"
307
- },
308
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
309
- }
310
- },
311
- "EditNewsletterEntryLambdaFunction": {
312
- "Type": "AWS::Lambda::Function",
313
- "Properties": {
314
- "Code": {
315
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
316
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
317
- },
318
- "FunctionName": "pluss60-newsletter-dev-editNewsletterEntry",
319
- "Handler": "editNewsletterEntry.editNewsletterEntry",
320
- "MemorySize": 128,
321
- "Role": {
322
- "Fn::GetAtt": [
323
- "IamRoleLambdaExecution",
324
- "Arn"
325
- ]
326
- },
327
- "Runtime": "nodejs10.x",
328
- "Timeout": 10,
329
- "Tags": [
330
- {
331
- "Key": "0",
332
- "Value": "n"
333
- },
334
- {
335
- "Key": "1",
336
- "Value": "e"
337
- },
338
- {
339
- "Key": "2",
340
- "Value": "w"
341
- },
342
- {
343
- "Key": "3",
344
- "Value": "s"
345
- },
346
- {
347
- "Key": "4",
348
- "Value": "l"
349
- },
350
- {
351
- "Key": "5",
352
- "Value": "e"
353
- },
354
- {
355
- "Key": "6",
356
- "Value": "t"
357
- },
358
- {
359
- "Key": "7",
360
- "Value": "t"
361
- },
362
- {
363
- "Key": "8",
364
- "Value": "e"
365
- },
366
- {
367
- "Key": "9",
368
- "Value": "r"
369
- }
370
- ],
371
- "Environment": {
372
- "Variables": {
373
- "tablePrefix": "pluss60-dev-"
374
- }
375
- }
376
- },
377
- "DependsOn": [
378
- "EditNewsletterEntryLogGroup"
379
- ]
380
- },
381
- "EditNewsletterEntryLambdaVersionFTYTGOUgRubkF5fsDysF8ioCE1bVLMqgVM1TFbqp8": {
382
- "Type": "AWS::Lambda::Version",
383
- "DeletionPolicy": "Retain",
384
- "Properties": {
385
- "FunctionName": {
386
- "Ref": "EditNewsletterEntryLambdaFunction"
387
- },
388
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
389
- }
390
- },
391
- "EditNewsletterSubmissionLambdaFunction": {
392
- "Type": "AWS::Lambda::Function",
393
- "Properties": {
394
- "Code": {
395
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
396
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
397
- },
398
- "FunctionName": "pluss60-newsletter-dev-editNewsletterSubmission",
399
- "Handler": "editNewsletterSubmission.editNewsletterSubmission",
400
- "MemorySize": 128,
401
- "Role": {
402
- "Fn::GetAtt": [
403
- "IamRoleLambdaExecution",
404
- "Arn"
405
- ]
406
- },
407
- "Runtime": "nodejs10.x",
408
- "Timeout": 10,
409
- "Tags": [
410
- {
411
- "Key": "0",
412
- "Value": "n"
413
- },
414
- {
415
- "Key": "1",
416
- "Value": "e"
417
- },
418
- {
419
- "Key": "2",
420
- "Value": "w"
421
- },
422
- {
423
- "Key": "3",
424
- "Value": "s"
425
- },
426
- {
427
- "Key": "4",
428
- "Value": "l"
429
- },
430
- {
431
- "Key": "5",
432
- "Value": "e"
433
- },
434
- {
435
- "Key": "6",
436
- "Value": "t"
437
- },
438
- {
439
- "Key": "7",
440
- "Value": "t"
441
- },
442
- {
443
- "Key": "8",
444
- "Value": "e"
445
- },
446
- {
447
- "Key": "9",
448
- "Value": "r"
449
- }
450
- ],
451
- "Environment": {
452
- "Variables": {
453
- "tablePrefix": "pluss60-dev-"
454
- }
455
- }
456
- },
457
- "DependsOn": [
458
- "EditNewsletterSubmissionLogGroup"
459
- ]
460
- },
461
- "EditNewsletterSubmissionLambdaVersionvecrRFm2g5sFNt3fFlDHabSANQJVlhOgOYcNX44hdU": {
462
- "Type": "AWS::Lambda::Version",
463
- "DeletionPolicy": "Retain",
464
- "Properties": {
465
- "FunctionName": {
466
- "Ref": "EditNewsletterSubmissionLambdaFunction"
467
- },
468
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
469
- }
470
- },
471
- "GetNewsletterEntryLambdaFunction": {
472
- "Type": "AWS::Lambda::Function",
473
- "Properties": {
474
- "Code": {
475
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
476
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
477
- },
478
- "FunctionName": "pluss60-newsletter-dev-getNewsletterEntry",
479
- "Handler": "getNewsletterEntry.getNewsletterEntry",
480
- "MemorySize": 128,
481
- "Role": {
482
- "Fn::GetAtt": [
483
- "IamRoleLambdaExecution",
484
- "Arn"
485
- ]
486
- },
487
- "Runtime": "nodejs10.x",
488
- "Timeout": 10,
489
- "Tags": [
490
- {
491
- "Key": "0",
492
- "Value": "n"
493
- },
494
- {
495
- "Key": "1",
496
- "Value": "e"
497
- },
498
- {
499
- "Key": "2",
500
- "Value": "w"
501
- },
502
- {
503
- "Key": "3",
504
- "Value": "s"
505
- },
506
- {
507
- "Key": "4",
508
- "Value": "l"
509
- },
510
- {
511
- "Key": "5",
512
- "Value": "e"
513
- },
514
- {
515
- "Key": "6",
516
- "Value": "t"
517
- },
518
- {
519
- "Key": "7",
520
- "Value": "t"
521
- },
522
- {
523
- "Key": "8",
524
- "Value": "e"
525
- },
526
- {
527
- "Key": "9",
528
- "Value": "r"
529
- }
530
- ],
531
- "Environment": {
532
- "Variables": {
533
- "tablePrefix": "pluss60-dev-"
534
- }
535
- }
536
- },
537
- "DependsOn": [
538
- "GetNewsletterEntryLogGroup"
539
- ]
540
- },
541
- "GetNewsletterEntryLambdaVersion5dFESjuH64cSHMmHR6B54GVZO4Gg5CKIo7H3dbj7To": {
542
- "Type": "AWS::Lambda::Version",
543
- "DeletionPolicy": "Retain",
544
- "Properties": {
545
- "FunctionName": {
546
- "Ref": "GetNewsletterEntryLambdaFunction"
547
- },
548
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
549
- }
550
- },
551
- "GetNewsletterEntriesLambdaFunction": {
552
- "Type": "AWS::Lambda::Function",
553
- "Properties": {
554
- "Code": {
555
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
556
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
557
- },
558
- "FunctionName": "pluss60-newsletter-dev-getNewsletterEntries",
559
- "Handler": "getNewsletterEntries.getNewsletterEntries",
560
- "MemorySize": 1024,
561
- "Role": {
562
- "Fn::GetAtt": [
563
- "IamRoleLambdaExecution",
564
- "Arn"
565
- ]
566
- },
567
- "Runtime": "nodejs10.x",
568
- "Timeout": 30,
569
- "Tags": [
570
- {
571
- "Key": "0",
572
- "Value": "n"
573
- },
574
- {
575
- "Key": "1",
576
- "Value": "e"
577
- },
578
- {
579
- "Key": "2",
580
- "Value": "w"
581
- },
582
- {
583
- "Key": "3",
584
- "Value": "s"
585
- },
586
- {
587
- "Key": "4",
588
- "Value": "l"
589
- },
590
- {
591
- "Key": "5",
592
- "Value": "e"
593
- },
594
- {
595
- "Key": "6",
596
- "Value": "t"
597
- },
598
- {
599
- "Key": "7",
600
- "Value": "t"
601
- },
602
- {
603
- "Key": "8",
604
- "Value": "e"
605
- },
606
- {
607
- "Key": "9",
608
- "Value": "r"
609
- }
610
- ],
611
- "Environment": {
612
- "Variables": {
613
- "tablePrefix": "pluss60-dev-"
614
- }
615
- }
616
- },
617
- "DependsOn": [
618
- "GetNewsletterEntriesLogGroup"
619
- ]
620
- },
621
- "GetNewsletterEntriesLambdaVersionweBar6zhX51bEQVIAu4Y1m2JzznSoCcHeOATKqbYo": {
622
- "Type": "AWS::Lambda::Version",
623
- "DeletionPolicy": "Retain",
624
- "Properties": {
625
- "FunctionName": {
626
- "Ref": "GetNewsletterEntriesLambdaFunction"
627
- },
628
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
629
- }
630
- },
631
- "GetFeaturedNewsletterEntriesLambdaFunction": {
632
- "Type": "AWS::Lambda::Function",
633
- "Properties": {
634
- "Code": {
635
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
636
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
637
- },
638
- "FunctionName": "pluss60-newsletter-dev-getFeaturedNewsletterEntries",
639
- "Handler": "getFeaturedNewsletterEntries.getFeaturedNewsletterEntries",
640
- "MemorySize": 128,
641
- "Role": {
642
- "Fn::GetAtt": [
643
- "IamRoleLambdaExecution",
644
- "Arn"
645
- ]
646
- },
647
- "Runtime": "nodejs10.x",
648
- "Timeout": 10,
649
- "Tags": [
650
- {
651
- "Key": "0",
652
- "Value": "n"
653
- },
654
- {
655
- "Key": "1",
656
- "Value": "e"
657
- },
658
- {
659
- "Key": "2",
660
- "Value": "w"
661
- },
662
- {
663
- "Key": "3",
664
- "Value": "s"
665
- },
666
- {
667
- "Key": "4",
668
- "Value": "l"
669
- },
670
- {
671
- "Key": "5",
672
- "Value": "e"
673
- },
674
- {
675
- "Key": "6",
676
- "Value": "t"
677
- },
678
- {
679
- "Key": "7",
680
- "Value": "t"
681
- },
682
- {
683
- "Key": "8",
684
- "Value": "e"
685
- },
686
- {
687
- "Key": "9",
688
- "Value": "r"
689
- }
690
- ],
691
- "Environment": {
692
- "Variables": {
693
- "tablePrefix": "pluss60-dev-"
694
- }
695
- }
696
- },
697
- "DependsOn": [
698
- "GetFeaturedNewsletterEntriesLogGroup"
699
- ]
700
- },
701
- "GetFeaturedNewsletterEntriesLambdaVersionToHx00Wp7cpRfJcP24S4f0pBZQN4kIxJzLK50R94mg": {
702
- "Type": "AWS::Lambda::Version",
703
- "DeletionPolicy": "Retain",
704
- "Properties": {
705
- "FunctionName": {
706
- "Ref": "GetFeaturedNewsletterEntriesLambdaFunction"
707
- },
708
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
709
- }
710
- },
711
- "GetRecentNewsletterEntriesLambdaFunction": {
712
- "Type": "AWS::Lambda::Function",
713
- "Properties": {
714
- "Code": {
715
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
716
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
717
- },
718
- "FunctionName": "pluss60-newsletter-dev-getRecentNewsletterEntries",
719
- "Handler": "getRecentNewsletterEntries.getRecentNewsletterEntries",
720
- "MemorySize": 128,
721
- "Role": {
722
- "Fn::GetAtt": [
723
- "IamRoleLambdaExecution",
724
- "Arn"
725
- ]
726
- },
727
- "Runtime": "nodejs10.x",
728
- "Timeout": 10,
729
- "Tags": [
730
- {
731
- "Key": "0",
732
- "Value": "n"
733
- },
734
- {
735
- "Key": "1",
736
- "Value": "e"
737
- },
738
- {
739
- "Key": "2",
740
- "Value": "w"
741
- },
742
- {
743
- "Key": "3",
744
- "Value": "s"
745
- },
746
- {
747
- "Key": "4",
748
- "Value": "l"
749
- },
750
- {
751
- "Key": "5",
752
- "Value": "e"
753
- },
754
- {
755
- "Key": "6",
756
- "Value": "t"
757
- },
758
- {
759
- "Key": "7",
760
- "Value": "t"
761
- },
762
- {
763
- "Key": "8",
764
- "Value": "e"
765
- },
766
- {
767
- "Key": "9",
768
- "Value": "r"
769
- }
770
- ],
771
- "Environment": {
772
- "Variables": {
773
- "tablePrefix": "pluss60-dev-"
774
- }
775
- }
776
- },
777
- "DependsOn": [
778
- "GetRecentNewsletterEntriesLogGroup"
779
- ]
780
- },
781
- "GetRecentNewsletterEntriesLambdaVersion2mjL2ZynBoM3x644LtIPsHG8PPyPfkxhFqM8sg": {
782
- "Type": "AWS::Lambda::Version",
783
- "DeletionPolicy": "Retain",
784
- "Properties": {
785
- "FunctionName": {
786
- "Ref": "GetRecentNewsletterEntriesLambdaFunction"
787
- },
788
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
789
- }
790
- },
791
- "SearchAvailableNewsLambdaFunction": {
792
- "Type": "AWS::Lambda::Function",
793
- "Properties": {
794
- "Code": {
795
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
796
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
797
- },
798
- "FunctionName": "pluss60-newsletter-dev-searchAvailableNews",
799
- "Handler": "searchAvailableNews.searchAvailableNews",
800
- "MemorySize": 128,
801
- "Role": {
802
- "Fn::GetAtt": [
803
- "IamRoleLambdaExecution",
804
- "Arn"
805
- ]
806
- },
807
- "Runtime": "nodejs10.x",
808
- "Timeout": 10,
809
- "Tags": [
810
- {
811
- "Key": "0",
812
- "Value": "n"
813
- },
814
- {
815
- "Key": "1",
816
- "Value": "e"
817
- },
818
- {
819
- "Key": "2",
820
- "Value": "w"
821
- },
822
- {
823
- "Key": "3",
824
- "Value": "s"
825
- },
826
- {
827
- "Key": "4",
828
- "Value": "l"
829
- },
830
- {
831
- "Key": "5",
832
- "Value": "e"
833
- },
834
- {
835
- "Key": "6",
836
- "Value": "t"
837
- },
838
- {
839
- "Key": "7",
840
- "Value": "t"
841
- },
842
- {
843
- "Key": "8",
844
- "Value": "e"
845
- },
846
- {
847
- "Key": "9",
848
- "Value": "r"
849
- }
850
- ],
851
- "Environment": {
852
- "Variables": {
853
- "tablePrefix": "pluss60-dev-"
854
- }
855
- }
856
- },
857
- "DependsOn": [
858
- "SearchAvailableNewsLogGroup"
859
- ]
860
- },
861
- "SearchAvailableNewsLambdaVersiond2yp9FilFDhPL1kNaLMWPZRzxGdmJogVzDIQWojtKw": {
862
- "Type": "AWS::Lambda::Version",
863
- "DeletionPolicy": "Retain",
864
- "Properties": {
865
- "FunctionName": {
866
- "Ref": "SearchAvailableNewsLambdaFunction"
867
- },
868
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
869
- }
870
- },
871
- "GetAvailableNewsLambdaFunction": {
872
- "Type": "AWS::Lambda::Function",
873
- "Properties": {
874
- "Code": {
875
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
876
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
877
- },
878
- "FunctionName": "pluss60-newsletter-dev-getAvailableNews",
879
- "Handler": "getAvailableNews.getAvailableNews",
880
- "MemorySize": 128,
881
- "Role": {
882
- "Fn::GetAtt": [
883
- "IamRoleLambdaExecution",
884
- "Arn"
885
- ]
886
- },
887
- "Runtime": "nodejs10.x",
888
- "Timeout": 10,
889
- "Tags": [
890
- {
891
- "Key": "0",
892
- "Value": "n"
893
- },
894
- {
895
- "Key": "1",
896
- "Value": "e"
897
- },
898
- {
899
- "Key": "2",
900
- "Value": "w"
901
- },
902
- {
903
- "Key": "3",
904
- "Value": "s"
905
- },
906
- {
907
- "Key": "4",
908
- "Value": "l"
909
- },
910
- {
911
- "Key": "5",
912
- "Value": "e"
913
- },
914
- {
915
- "Key": "6",
916
- "Value": "t"
917
- },
918
- {
919
- "Key": "7",
920
- "Value": "t"
921
- },
922
- {
923
- "Key": "8",
924
- "Value": "e"
925
- },
926
- {
927
- "Key": "9",
928
- "Value": "r"
929
- }
930
- ],
931
- "Environment": {
932
- "Variables": {
933
- "tablePrefix": "pluss60-dev-"
934
- }
935
- }
936
- },
937
- "DependsOn": [
938
- "GetAvailableNewsLogGroup"
939
- ]
940
- },
941
- "GetAvailableNewsLambdaVersionIyC289GrBJh5nxolI8uztxO36PWVWCTXQKVtEsFCaw": {
942
- "Type": "AWS::Lambda::Version",
943
- "DeletionPolicy": "Retain",
944
- "Properties": {
945
- "FunctionName": {
946
- "Ref": "GetAvailableNewsLambdaFunction"
947
- },
948
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
949
- }
950
- },
951
- "GetPublishedEntriesLambdaFunction": {
952
- "Type": "AWS::Lambda::Function",
953
- "Properties": {
954
- "Code": {
955
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
956
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
957
- },
958
- "FunctionName": "pluss60-newsletter-dev-getPublishedEntries",
959
- "Handler": "getPublishedEntries.getPublishedEntries",
960
- "MemorySize": 128,
961
- "Role": {
962
- "Fn::GetAtt": [
963
- "IamRoleLambdaExecution",
964
- "Arn"
965
- ]
966
- },
967
- "Runtime": "nodejs10.x",
968
- "Timeout": 10,
969
- "Tags": [
970
- {
971
- "Key": "0",
972
- "Value": "n"
973
- },
974
- {
975
- "Key": "1",
976
- "Value": "e"
977
- },
978
- {
979
- "Key": "2",
980
- "Value": "w"
981
- },
982
- {
983
- "Key": "3",
984
- "Value": "s"
985
- },
986
- {
987
- "Key": "4",
988
- "Value": "l"
989
- },
990
- {
991
- "Key": "5",
992
- "Value": "e"
993
- },
994
- {
995
- "Key": "6",
996
- "Value": "t"
997
- },
998
- {
999
- "Key": "7",
1000
- "Value": "t"
1001
- },
1002
- {
1003
- "Key": "8",
1004
- "Value": "e"
1005
- },
1006
- {
1007
- "Key": "9",
1008
- "Value": "r"
1009
- }
1010
- ],
1011
- "Environment": {
1012
- "Variables": {
1013
- "tablePrefix": "pluss60-dev-"
1014
- }
1015
- }
1016
- },
1017
- "DependsOn": [
1018
- "GetPublishedEntriesLogGroup"
1019
- ]
1020
- },
1021
- "GetPublishedEntriesLambdaVersione5oiWJn2hFNmGkgYdW16gC518OAkPAj6ChabBY4E": {
1022
- "Type": "AWS::Lambda::Version",
1023
- "DeletionPolicy": "Retain",
1024
- "Properties": {
1025
- "FunctionName": {
1026
- "Ref": "GetPublishedEntriesLambdaFunction"
1027
- },
1028
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1029
- }
1030
- },
1031
- "GetPublishedAvailableNewsLambdaFunction": {
1032
- "Type": "AWS::Lambda::Function",
1033
- "Properties": {
1034
- "Code": {
1035
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1036
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1037
- },
1038
- "FunctionName": "pluss60-newsletter-dev-getPublishedAvailableNews",
1039
- "Handler": "getPublishedAvailableNews.getPublishedAvailableNews",
1040
- "MemorySize": 128,
1041
- "Role": {
1042
- "Fn::GetAtt": [
1043
- "IamRoleLambdaExecution",
1044
- "Arn"
1045
- ]
1046
- },
1047
- "Runtime": "nodejs10.x",
1048
- "Timeout": 10,
1049
- "Tags": [
1050
- {
1051
- "Key": "0",
1052
- "Value": "n"
1053
- },
1054
- {
1055
- "Key": "1",
1056
- "Value": "e"
1057
- },
1058
- {
1059
- "Key": "2",
1060
- "Value": "w"
1061
- },
1062
- {
1063
- "Key": "3",
1064
- "Value": "s"
1065
- },
1066
- {
1067
- "Key": "4",
1068
- "Value": "l"
1069
- },
1070
- {
1071
- "Key": "5",
1072
- "Value": "e"
1073
- },
1074
- {
1075
- "Key": "6",
1076
- "Value": "t"
1077
- },
1078
- {
1079
- "Key": "7",
1080
- "Value": "t"
1081
- },
1082
- {
1083
- "Key": "8",
1084
- "Value": "e"
1085
- },
1086
- {
1087
- "Key": "9",
1088
- "Value": "r"
1089
- }
1090
- ],
1091
- "Environment": {
1092
- "Variables": {
1093
- "tablePrefix": "pluss60-dev-"
1094
- }
1095
- }
1096
- },
1097
- "DependsOn": [
1098
- "GetPublishedAvailableNewsLogGroup"
1099
- ]
1100
- },
1101
- "GetPublishedAvailableNewsLambdaVersion5eSsEg2Af8vFxayzDZABi1kSBrV572gRewOyejBaK4": {
1102
- "Type": "AWS::Lambda::Version",
1103
- "DeletionPolicy": "Retain",
1104
- "Properties": {
1105
- "FunctionName": {
1106
- "Ref": "GetPublishedAvailableNewsLambdaFunction"
1107
- },
1108
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1109
- }
1110
- },
1111
- "DeleteNewsletterEntryLambdaFunction": {
1112
- "Type": "AWS::Lambda::Function",
1113
- "Properties": {
1114
- "Code": {
1115
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1116
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1117
- },
1118
- "FunctionName": "pluss60-newsletter-dev-deleteNewsletterEntry",
1119
- "Handler": "deleteNewsletterEntry.deleteNewsletterEntry",
1120
- "MemorySize": 128,
1121
- "Role": {
1122
- "Fn::GetAtt": [
1123
- "IamRoleLambdaExecution",
1124
- "Arn"
1125
- ]
1126
- },
1127
- "Runtime": "nodejs10.x",
1128
- "Timeout": 10,
1129
- "Tags": [
1130
- {
1131
- "Key": "0",
1132
- "Value": "n"
1133
- },
1134
- {
1135
- "Key": "1",
1136
- "Value": "e"
1137
- },
1138
- {
1139
- "Key": "2",
1140
- "Value": "w"
1141
- },
1142
- {
1143
- "Key": "3",
1144
- "Value": "s"
1145
- },
1146
- {
1147
- "Key": "4",
1148
- "Value": "l"
1149
- },
1150
- {
1151
- "Key": "5",
1152
- "Value": "e"
1153
- },
1154
- {
1155
- "Key": "6",
1156
- "Value": "t"
1157
- },
1158
- {
1159
- "Key": "7",
1160
- "Value": "t"
1161
- },
1162
- {
1163
- "Key": "8",
1164
- "Value": "e"
1165
- },
1166
- {
1167
- "Key": "9",
1168
- "Value": "r"
1169
- }
1170
- ],
1171
- "Environment": {
1172
- "Variables": {
1173
- "tablePrefix": "pluss60-dev-"
1174
- }
1175
- }
1176
- },
1177
- "DependsOn": [
1178
- "DeleteNewsletterEntryLogGroup"
1179
- ]
1180
- },
1181
- "DeleteNewsletterEntryLambdaVersionwP42Gx8kIREsMVBUVNqvXnVUDHDWrsad5SJ3go11OE": {
1182
- "Type": "AWS::Lambda::Version",
1183
- "DeletionPolicy": "Retain",
1184
- "Properties": {
1185
- "FunctionName": {
1186
- "Ref": "DeleteNewsletterEntryLambdaFunction"
1187
- },
1188
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1189
- }
1190
- },
1191
- "HasNewsletterAccessLambdaFunction": {
1192
- "Type": "AWS::Lambda::Function",
1193
- "Properties": {
1194
- "Code": {
1195
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1196
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1197
- },
1198
- "FunctionName": "pluss60-newsletter-dev-hasNewsletterAccess",
1199
- "Handler": "hasNewsletterAccess.hasNewsletterAccess",
1200
- "MemorySize": 128,
1201
- "Role": {
1202
- "Fn::GetAtt": [
1203
- "IamRoleLambdaExecution",
1204
- "Arn"
1205
- ]
1206
- },
1207
- "Runtime": "nodejs10.x",
1208
- "Timeout": 10,
1209
- "Tags": [
1210
- {
1211
- "Key": "0",
1212
- "Value": "n"
1213
- },
1214
- {
1215
- "Key": "1",
1216
- "Value": "e"
1217
- },
1218
- {
1219
- "Key": "2",
1220
- "Value": "w"
1221
- },
1222
- {
1223
- "Key": "3",
1224
- "Value": "s"
1225
- },
1226
- {
1227
- "Key": "4",
1228
- "Value": "l"
1229
- },
1230
- {
1231
- "Key": "5",
1232
- "Value": "e"
1233
- },
1234
- {
1235
- "Key": "6",
1236
- "Value": "t"
1237
- },
1238
- {
1239
- "Key": "7",
1240
- "Value": "t"
1241
- },
1242
- {
1243
- "Key": "8",
1244
- "Value": "e"
1245
- },
1246
- {
1247
- "Key": "9",
1248
- "Value": "r"
1249
- }
1250
- ],
1251
- "Environment": {
1252
- "Variables": {
1253
- "tablePrefix": "pluss60-dev-"
1254
- }
1255
- }
1256
- },
1257
- "DependsOn": [
1258
- "HasNewsletterAccessLogGroup"
1259
- ]
1260
- },
1261
- "HasNewsletterAccessLambdaVersionuv7lamBjb6571N9IsGY8wMtliMHnjOheo8Yp32lzEA": {
1262
- "Type": "AWS::Lambda::Version",
1263
- "DeletionPolicy": "Retain",
1264
- "Properties": {
1265
- "FunctionName": {
1266
- "Ref": "HasNewsletterAccessLambdaFunction"
1267
- },
1268
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1269
- }
1270
- },
1271
- "GetNewsletterSubmissionsLambdaFunction": {
1272
- "Type": "AWS::Lambda::Function",
1273
- "Properties": {
1274
- "Code": {
1275
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1276
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1277
- },
1278
- "FunctionName": "pluss60-newsletter-dev-getNewsletterSubmissions",
1279
- "Handler": "getNewsletterSubmissions.getNewsletterSubmissions",
1280
- "MemorySize": 128,
1281
- "Role": {
1282
- "Fn::GetAtt": [
1283
- "IamRoleLambdaExecution",
1284
- "Arn"
1285
- ]
1286
- },
1287
- "Runtime": "nodejs10.x",
1288
- "Timeout": 10,
1289
- "Tags": [
1290
- {
1291
- "Key": "0",
1292
- "Value": "n"
1293
- },
1294
- {
1295
- "Key": "1",
1296
- "Value": "e"
1297
- },
1298
- {
1299
- "Key": "2",
1300
- "Value": "w"
1301
- },
1302
- {
1303
- "Key": "3",
1304
- "Value": "s"
1305
- },
1306
- {
1307
- "Key": "4",
1308
- "Value": "l"
1309
- },
1310
- {
1311
- "Key": "5",
1312
- "Value": "e"
1313
- },
1314
- {
1315
- "Key": "6",
1316
- "Value": "t"
1317
- },
1318
- {
1319
- "Key": "7",
1320
- "Value": "t"
1321
- },
1322
- {
1323
- "Key": "8",
1324
- "Value": "e"
1325
- },
1326
- {
1327
- "Key": "9",
1328
- "Value": "r"
1329
- }
1330
- ],
1331
- "Environment": {
1332
- "Variables": {
1333
- "tablePrefix": "pluss60-dev-"
1334
- }
1335
- }
1336
- },
1337
- "DependsOn": [
1338
- "GetNewsletterSubmissionsLogGroup"
1339
- ]
1340
- },
1341
- "GetNewsletterSubmissionsLambdaVersionpAryZZOkRXO3dqgaCM0bWtza1Hf0u0rNA3OdXMKW5TQ": {
1342
- "Type": "AWS::Lambda::Version",
1343
- "DeletionPolicy": "Retain",
1344
- "Properties": {
1345
- "FunctionName": {
1346
- "Ref": "GetNewsletterSubmissionsLambdaFunction"
1347
- },
1348
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1349
- }
1350
- },
1351
- "GetNewsletterSubmissionLambdaFunction": {
1352
- "Type": "AWS::Lambda::Function",
1353
- "Properties": {
1354
- "Code": {
1355
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1356
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1357
- },
1358
- "FunctionName": "pluss60-newsletter-dev-getNewsletterSubmission",
1359
- "Handler": "getNewsletterSubmission.getNewsletterSubmission",
1360
- "MemorySize": 128,
1361
- "Role": {
1362
- "Fn::GetAtt": [
1363
- "IamRoleLambdaExecution",
1364
- "Arn"
1365
- ]
1366
- },
1367
- "Runtime": "nodejs10.x",
1368
- "Timeout": 10,
1369
- "Tags": [
1370
- {
1371
- "Key": "0",
1372
- "Value": "n"
1373
- },
1374
- {
1375
- "Key": "1",
1376
- "Value": "e"
1377
- },
1378
- {
1379
- "Key": "2",
1380
- "Value": "w"
1381
- },
1382
- {
1383
- "Key": "3",
1384
- "Value": "s"
1385
- },
1386
- {
1387
- "Key": "4",
1388
- "Value": "l"
1389
- },
1390
- {
1391
- "Key": "5",
1392
- "Value": "e"
1393
- },
1394
- {
1395
- "Key": "6",
1396
- "Value": "t"
1397
- },
1398
- {
1399
- "Key": "7",
1400
- "Value": "t"
1401
- },
1402
- {
1403
- "Key": "8",
1404
- "Value": "e"
1405
- },
1406
- {
1407
- "Key": "9",
1408
- "Value": "r"
1409
- }
1410
- ],
1411
- "Environment": {
1412
- "Variables": {
1413
- "tablePrefix": "pluss60-dev-"
1414
- }
1415
- }
1416
- },
1417
- "DependsOn": [
1418
- "GetNewsletterSubmissionLogGroup"
1419
- ]
1420
- },
1421
- "GetNewsletterSubmissionLambdaVersionF8omf9jKl7e7ee0hGgyZ31Bz0mzhei4iJ0pyhwj8vi8": {
1422
- "Type": "AWS::Lambda::Version",
1423
- "DeletionPolicy": "Retain",
1424
- "Properties": {
1425
- "FunctionName": {
1426
- "Ref": "GetNewsletterSubmissionLambdaFunction"
1427
- },
1428
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1429
- }
1430
- },
1431
- "HandleNewsletterSubmissionLambdaFunction": {
1432
- "Type": "AWS::Lambda::Function",
1433
- "Properties": {
1434
- "Code": {
1435
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1436
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1437
- },
1438
- "FunctionName": "pluss60-newsletter-dev-handleNewsletterSubmission",
1439
- "Handler": "handleNewsletterSubmission.handleNewsletterSubmission",
1440
- "MemorySize": 128,
1441
- "Role": {
1442
- "Fn::GetAtt": [
1443
- "IamRoleLambdaExecution",
1444
- "Arn"
1445
- ]
1446
- },
1447
- "Runtime": "nodejs10.x",
1448
- "Timeout": 10,
1449
- "Tags": [
1450
- {
1451
- "Key": "0",
1452
- "Value": "n"
1453
- },
1454
- {
1455
- "Key": "1",
1456
- "Value": "e"
1457
- },
1458
- {
1459
- "Key": "2",
1460
- "Value": "w"
1461
- },
1462
- {
1463
- "Key": "3",
1464
- "Value": "s"
1465
- },
1466
- {
1467
- "Key": "4",
1468
- "Value": "l"
1469
- },
1470
- {
1471
- "Key": "5",
1472
- "Value": "e"
1473
- },
1474
- {
1475
- "Key": "6",
1476
- "Value": "t"
1477
- },
1478
- {
1479
- "Key": "7",
1480
- "Value": "t"
1481
- },
1482
- {
1483
- "Key": "8",
1484
- "Value": "e"
1485
- },
1486
- {
1487
- "Key": "9",
1488
- "Value": "r"
1489
- }
1490
- ],
1491
- "Environment": {
1492
- "Variables": {
1493
- "tablePrefix": "pluss60-dev-"
1494
- }
1495
- }
1496
- },
1497
- "DependsOn": [
1498
- "HandleNewsletterSubmissionLogGroup"
1499
- ]
1500
- },
1501
- "HandleNewsletterSubmissionLambdaVersionfkCKUaVe4K156W66mP8mGz7wS19WA9tmqi84spPRi4": {
1502
- "Type": "AWS::Lambda::Version",
1503
- "DeletionPolicy": "Retain",
1504
- "Properties": {
1505
- "FunctionName": {
1506
- "Ref": "HandleNewsletterSubmissionLambdaFunction"
1507
- },
1508
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1509
- }
1510
- },
1511
- "GetSubmissionCountLambdaFunction": {
1512
- "Type": "AWS::Lambda::Function",
1513
- "Properties": {
1514
- "Code": {
1515
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1516
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1517
- },
1518
- "FunctionName": "pluss60-newsletter-dev-getSubmissionCount",
1519
- "Handler": "getSubmissionCount.getSubmissionCount",
1520
- "MemorySize": 128,
1521
- "Role": {
1522
- "Fn::GetAtt": [
1523
- "IamRoleLambdaExecution",
1524
- "Arn"
1525
- ]
1526
- },
1527
- "Runtime": "nodejs10.x",
1528
- "Timeout": 10,
1529
- "Tags": [
1530
- {
1531
- "Key": "0",
1532
- "Value": "n"
1533
- },
1534
- {
1535
- "Key": "1",
1536
- "Value": "e"
1537
- },
1538
- {
1539
- "Key": "2",
1540
- "Value": "w"
1541
- },
1542
- {
1543
- "Key": "3",
1544
- "Value": "s"
1545
- },
1546
- {
1547
- "Key": "4",
1548
- "Value": "l"
1549
- },
1550
- {
1551
- "Key": "5",
1552
- "Value": "e"
1553
- },
1554
- {
1555
- "Key": "6",
1556
- "Value": "t"
1557
- },
1558
- {
1559
- "Key": "7",
1560
- "Value": "t"
1561
- },
1562
- {
1563
- "Key": "8",
1564
- "Value": "e"
1565
- },
1566
- {
1567
- "Key": "9",
1568
- "Value": "r"
1569
- }
1570
- ],
1571
- "Environment": {
1572
- "Variables": {
1573
- "tablePrefix": "pluss60-dev-"
1574
- }
1575
- }
1576
- },
1577
- "DependsOn": [
1578
- "GetSubmissionCountLogGroup"
1579
- ]
1580
- },
1581
- "GetSubmissionCountLambdaVersionSf8Gyn6B08RlrDV1b32lbVXXW0wVQjv6dS4YX3LN4": {
1582
- "Type": "AWS::Lambda::Version",
1583
- "DeletionPolicy": "Retain",
1584
- "Properties": {
1585
- "FunctionName": {
1586
- "Ref": "GetSubmissionCountLambdaFunction"
1587
- },
1588
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1589
- }
1590
- },
1591
- "GetTaggedNewsLambdaFunction": {
1592
- "Type": "AWS::Lambda::Function",
1593
- "Properties": {
1594
- "Code": {
1595
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1596
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1597
- },
1598
- "FunctionName": "pluss60-newsletter-dev-getTaggedNews",
1599
- "Handler": "getTaggedNews.getTaggedNews",
1600
- "MemorySize": 128,
1601
- "Role": {
1602
- "Fn::GetAtt": [
1603
- "IamRoleLambdaExecution",
1604
- "Arn"
1605
- ]
1606
- },
1607
- "Runtime": "nodejs10.x",
1608
- "Timeout": 10,
1609
- "Tags": [
1610
- {
1611
- "Key": "0",
1612
- "Value": "n"
1613
- },
1614
- {
1615
- "Key": "1",
1616
- "Value": "e"
1617
- },
1618
- {
1619
- "Key": "2",
1620
- "Value": "w"
1621
- },
1622
- {
1623
- "Key": "3",
1624
- "Value": "s"
1625
- },
1626
- {
1627
- "Key": "4",
1628
- "Value": "l"
1629
- },
1630
- {
1631
- "Key": "5",
1632
- "Value": "e"
1633
- },
1634
- {
1635
- "Key": "6",
1636
- "Value": "t"
1637
- },
1638
- {
1639
- "Key": "7",
1640
- "Value": "t"
1641
- },
1642
- {
1643
- "Key": "8",
1644
- "Value": "e"
1645
- },
1646
- {
1647
- "Key": "9",
1648
- "Value": "r"
1649
- }
1650
- ],
1651
- "Environment": {
1652
- "Variables": {
1653
- "tablePrefix": "pluss60-dev-"
1654
- }
1655
- }
1656
- },
1657
- "DependsOn": [
1658
- "GetTaggedNewsLogGroup"
1659
- ]
1660
- },
1661
- "GetTaggedNewsLambdaVersionjhdoWNAGFbOwU6bxnDuARYLyohqjzexMrzyQtjGYo": {
1662
- "Type": "AWS::Lambda::Version",
1663
- "DeletionPolicy": "Retain",
1664
- "Properties": {
1665
- "FunctionName": {
1666
- "Ref": "GetTaggedNewsLambdaFunction"
1667
- },
1668
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1669
- }
1670
- },
1671
- "NewsletterChangedLambdaFunction": {
1672
- "Type": "AWS::Lambda::Function",
1673
- "Properties": {
1674
- "Code": {
1675
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1676
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1677
- },
1678
- "FunctionName": "pluss60-newsletter-dev-newsletterChanged",
1679
- "Handler": "newsletterChanged.newsletterChanged",
1680
- "MemorySize": 2048,
1681
- "Role": {
1682
- "Fn::GetAtt": [
1683
- "IamRoleLambdaExecution",
1684
- "Arn"
1685
- ]
1686
- },
1687
- "Runtime": "nodejs10.x",
1688
- "Timeout": 30,
1689
- "Environment": {
1690
- "Variables": {
1691
- "tablePrefix": "pluss60-dev-"
1692
- }
1693
- }
1694
- },
1695
- "DependsOn": [
1696
- "NewsletterChangedLogGroup"
1697
- ]
1698
- },
1699
- "NewsletterChangedLambdaVersion5anvGO3hy8cNStZmK31cJ7zA45f5MfKuFo4BO2mzFs": {
1700
- "Type": "AWS::Lambda::Version",
1701
- "DeletionPolicy": "Retain",
1702
- "Properties": {
1703
- "FunctionName": {
1704
- "Ref": "NewsletterChangedLambdaFunction"
1705
- },
1706
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1707
- }
1708
- },
1709
- "WatchNewsletterLambdaFunction": {
1710
- "Type": "AWS::Lambda::Function",
1711
- "Properties": {
1712
- "Code": {
1713
- "S3Bucket": "serverless.deploys.pluss60.ap-southeast-2",
1714
- "S3Key": "serverless/pluss60-newsletter/dev/1630906227188-2021-09-06T05:30:27.188Z/pluss60-newsletter.zip"
1715
- },
1716
- "FunctionName": "pluss60-newsletter-dev-watchNewsletter",
1717
- "Handler": "watchNewsletter.watchNewsletter",
1718
- "MemorySize": 2048,
1719
- "Role": {
1720
- "Fn::GetAtt": [
1721
- "IamRoleLambdaExecution",
1722
- "Arn"
1723
- ]
1724
- },
1725
- "Runtime": "nodejs10.x",
1726
- "Timeout": 300,
1727
- "Tags": [
1728
- {
1729
- "Key": "0",
1730
- "Value": "n"
1731
- },
1732
- {
1733
- "Key": "1",
1734
- "Value": "e"
1735
- },
1736
- {
1737
- "Key": "2",
1738
- "Value": "w"
1739
- },
1740
- {
1741
- "Key": "3",
1742
- "Value": "s"
1743
- },
1744
- {
1745
- "Key": "4",
1746
- "Value": "l"
1747
- },
1748
- {
1749
- "Key": "5",
1750
- "Value": "e"
1751
- },
1752
- {
1753
- "Key": "6",
1754
- "Value": "t"
1755
- },
1756
- {
1757
- "Key": "7",
1758
- "Value": "t"
1759
- },
1760
- {
1761
- "Key": "8",
1762
- "Value": "e"
1763
- },
1764
- {
1765
- "Key": "9",
1766
- "Value": "r"
1767
- }
1768
- ],
1769
- "Environment": {
1770
- "Variables": {
1771
- "tablePrefix": "pluss60-dev-"
1772
- }
1773
- }
1774
- },
1775
- "DependsOn": [
1776
- "WatchNewsletterLogGroup"
1777
- ]
1778
- },
1779
- "WatchNewsletterLambdaVersionQ4kfcsAGNMu0qwK2mxfFVVYL7X772AOseyQGu3cUpY": {
1780
- "Type": "AWS::Lambda::Version",
1781
- "DeletionPolicy": "Retain",
1782
- "Properties": {
1783
- "FunctionName": {
1784
- "Ref": "WatchNewsletterLambdaFunction"
1785
- },
1786
- "CodeSha256": "aREy5GKbSZmO2HwxepFPJJUaE24iLkn6aH/+65y3X7Y="
1787
- }
1788
- },
1789
- "WatchNewsletterEventsRuleSchedule1": {
1790
- "Type": "AWS::Events::Rule",
1791
- "Properties": {
1792
- "ScheduleExpression": "cron(1/5 * * * ? *)",
1793
- "State": "ENABLED",
1794
- "Targets": [
1795
- {
1796
- "Arn": {
1797
- "Fn::GetAtt": [
1798
- "WatchNewsletterLambdaFunction",
1799
- "Arn"
1800
- ]
1801
- },
1802
- "Id": "watchNewsletterSchedule"
1803
- }
1804
- ]
1805
- }
1806
- },
1807
- "WatchNewsletterLambdaPermissionEventsRuleSchedule1": {
1808
- "Type": "AWS::Lambda::Permission",
1809
- "Properties": {
1810
- "FunctionName": {
1811
- "Fn::GetAtt": [
1812
- "WatchNewsletterLambdaFunction",
1813
- "Arn"
1814
- ]
1815
- },
1816
- "Action": "lambda:InvokeFunction",
1817
- "Principal": "events.amazonaws.com",
1818
- "SourceArn": {
1819
- "Fn::GetAtt": [
1820
- "WatchNewsletterEventsRuleSchedule1",
1821
- "Arn"
1822
- ]
1823
- }
1824
- }
1825
- },
1826
- "ApiGatewayRestApi": {
1827
- "Type": "AWS::ApiGateway::RestApi",
1828
- "Properties": {
1829
- "Name": "dev-pluss60-newsletter",
1830
- "EndpointConfiguration": {
1831
- "Types": [
1832
- "EDGE"
1833
- ]
1834
- },
1835
- "Policy": ""
1836
- }
1837
- },
1838
- "ApiGatewayResourceAdd": {
1839
- "Type": "AWS::ApiGateway::Resource",
1840
- "Properties": {
1841
- "ParentId": {
1842
- "Fn::GetAtt": [
1843
- "ApiGatewayRestApi",
1844
- "RootResourceId"
1845
- ]
1846
- },
1847
- "PathPart": "add",
1848
- "RestApiId": {
1849
- "Ref": "ApiGatewayRestApi"
1850
- }
1851
- }
1852
- },
1853
- "ApiGatewayResourceEdit": {
1854
- "Type": "AWS::ApiGateway::Resource",
1855
- "Properties": {
1856
- "ParentId": {
1857
- "Fn::GetAtt": [
1858
- "ApiGatewayRestApi",
1859
- "RootResourceId"
1860
- ]
1861
- },
1862
- "PathPart": "edit",
1863
- "RestApiId": {
1864
- "Ref": "ApiGatewayRestApi"
1865
- }
1866
- }
1867
- },
1868
- "ApiGatewayResourceEditsubmission": {
1869
- "Type": "AWS::ApiGateway::Resource",
1870
- "Properties": {
1871
- "ParentId": {
1872
- "Fn::GetAtt": [
1873
- "ApiGatewayRestApi",
1874
- "RootResourceId"
1875
- ]
1876
- },
1877
- "PathPart": "editSubmission",
1878
- "RestApiId": {
1879
- "Ref": "ApiGatewayRestApi"
1880
- }
1881
- }
1882
- },
1883
- "ApiGatewayResourceGet": {
1884
- "Type": "AWS::ApiGateway::Resource",
1885
- "Properties": {
1886
- "ParentId": {
1887
- "Fn::GetAtt": [
1888
- "ApiGatewayRestApi",
1889
- "RootResourceId"
1890
- ]
1891
- },
1892
- "PathPart": "get",
1893
- "RestApiId": {
1894
- "Ref": "ApiGatewayRestApi"
1895
- }
1896
- }
1897
- },
1898
- "ApiGatewayResourceGetIdVar": {
1899
- "Type": "AWS::ApiGateway::Resource",
1900
- "Properties": {
1901
- "ParentId": {
1902
- "Ref": "ApiGatewayResourceGet"
1903
- },
1904
- "PathPart": "{id}",
1905
- "RestApiId": {
1906
- "Ref": "ApiGatewayRestApi"
1907
- }
1908
- }
1909
- },
1910
- "ApiGatewayResourceGetfeatured": {
1911
- "Type": "AWS::ApiGateway::Resource",
1912
- "Properties": {
1913
- "ParentId": {
1914
- "Fn::GetAtt": [
1915
- "ApiGatewayRestApi",
1916
- "RootResourceId"
1917
- ]
1918
- },
1919
- "PathPart": "getFeatured",
1920
- "RestApiId": {
1921
- "Ref": "ApiGatewayRestApi"
1922
- }
1923
- }
1924
- },
1925
- "ApiGatewayResourceRecent": {
1926
- "Type": "AWS::ApiGateway::Resource",
1927
- "Properties": {
1928
- "ParentId": {
1929
- "Fn::GetAtt": [
1930
- "ApiGatewayRestApi",
1931
- "RootResourceId"
1932
- ]
1933
- },
1934
- "PathPart": "recent",
1935
- "RestApiId": {
1936
- "Ref": "ApiGatewayRestApi"
1937
- }
1938
- }
1939
- },
1940
- "ApiGatewayResourceContent": {
1941
- "Type": "AWS::ApiGateway::Resource",
1942
- "Properties": {
1943
- "ParentId": {
1944
- "Fn::GetAtt": [
1945
- "ApiGatewayRestApi",
1946
- "RootResourceId"
1947
- ]
1948
- },
1949
- "PathPart": "content",
1950
- "RestApiId": {
1951
- "Ref": "ApiGatewayRestApi"
1952
- }
1953
- }
1954
- },
1955
- "ApiGatewayResourceContentSearch": {
1956
- "Type": "AWS::ApiGateway::Resource",
1957
- "Properties": {
1958
- "ParentId": {
1959
- "Ref": "ApiGatewayResourceContent"
1960
- },
1961
- "PathPart": "search",
1962
- "RestApiId": {
1963
- "Ref": "ApiGatewayRestApi"
1964
- }
1965
- }
1966
- },
1967
- "ApiGatewayResourceContentGet": {
1968
- "Type": "AWS::ApiGateway::Resource",
1969
- "Properties": {
1970
- "ParentId": {
1971
- "Ref": "ApiGatewayResourceContent"
1972
- },
1973
- "PathPart": "get",
1974
- "RestApiId": {
1975
- "Ref": "ApiGatewayRestApi"
1976
- }
1977
- }
1978
- },
1979
- "ApiGatewayResourceContentSpecific": {
1980
- "Type": "AWS::ApiGateway::Resource",
1981
- "Properties": {
1982
- "ParentId": {
1983
- "Ref": "ApiGatewayResourceContent"
1984
- },
1985
- "PathPart": "specific",
1986
- "RestApiId": {
1987
- "Ref": "ApiGatewayRestApi"
1988
- }
1989
- }
1990
- },
1991
- "ApiGatewayResourceContentPublished": {
1992
- "Type": "AWS::ApiGateway::Resource",
1993
- "Properties": {
1994
- "ParentId": {
1995
- "Ref": "ApiGatewayResourceContent"
1996
- },
1997
- "PathPart": "published",
1998
- "RestApiId": {
1999
- "Ref": "ApiGatewayRestApi"
2000
- }
2001
- }
2002
- },
2003
- "ApiGatewayResourceRemove": {
2004
- "Type": "AWS::ApiGateway::Resource",
2005
- "Properties": {
2006
- "ParentId": {
2007
- "Fn::GetAtt": [
2008
- "ApiGatewayRestApi",
2009
- "RootResourceId"
2010
- ]
2011
- },
2012
- "PathPart": "remove",
2013
- "RestApiId": {
2014
- "Ref": "ApiGatewayRestApi"
2015
- }
2016
- }
2017
- },
2018
- "ApiGatewayResourceAccess": {
2019
- "Type": "AWS::ApiGateway::Resource",
2020
- "Properties": {
2021
- "ParentId": {
2022
- "Fn::GetAtt": [
2023
- "ApiGatewayRestApi",
2024
- "RootResourceId"
2025
- ]
2026
- },
2027
- "PathPart": "access",
2028
- "RestApiId": {
2029
- "Ref": "ApiGatewayRestApi"
2030
- }
2031
- }
2032
- },
2033
- "ApiGatewayResourceSubmissions": {
2034
- "Type": "AWS::ApiGateway::Resource",
2035
- "Properties": {
2036
- "ParentId": {
2037
- "Fn::GetAtt": [
2038
- "ApiGatewayRestApi",
2039
- "RootResourceId"
2040
- ]
2041
- },
2042
- "PathPart": "submissions",
2043
- "RestApiId": {
2044
- "Ref": "ApiGatewayRestApi"
2045
- }
2046
- }
2047
- },
2048
- "ApiGatewayResourceSubmissionsGet": {
2049
- "Type": "AWS::ApiGateway::Resource",
2050
- "Properties": {
2051
- "ParentId": {
2052
- "Ref": "ApiGatewayResourceSubmissions"
2053
- },
2054
- "PathPart": "get",
2055
- "RestApiId": {
2056
- "Ref": "ApiGatewayRestApi"
2057
- }
2058
- }
2059
- },
2060
- "ApiGatewayResourceSubmissionsGetIdVar": {
2061
- "Type": "AWS::ApiGateway::Resource",
2062
- "Properties": {
2063
- "ParentId": {
2064
- "Ref": "ApiGatewayResourceSubmissionsGet"
2065
- },
2066
- "PathPart": "{id}",
2067
- "RestApiId": {
2068
- "Ref": "ApiGatewayRestApi"
2069
- }
2070
- }
2071
- },
2072
- "ApiGatewayResourceSubmissionsHandle": {
2073
- "Type": "AWS::ApiGateway::Resource",
2074
- "Properties": {
2075
- "ParentId": {
2076
- "Ref": "ApiGatewayResourceSubmissions"
2077
- },
2078
- "PathPart": "handle",
2079
- "RestApiId": {
2080
- "Ref": "ApiGatewayRestApi"
2081
- }
2082
- }
2083
- },
2084
- "ApiGatewayResourceSubmissionsCount": {
2085
- "Type": "AWS::ApiGateway::Resource",
2086
- "Properties": {
2087
- "ParentId": {
2088
- "Ref": "ApiGatewayResourceSubmissions"
2089
- },
2090
- "PathPart": "count",
2091
- "RestApiId": {
2092
- "Ref": "ApiGatewayRestApi"
2093
- }
2094
- }
2095
- },
2096
- "ApiGatewayResourceTagged": {
2097
- "Type": "AWS::ApiGateway::Resource",
2098
- "Properties": {
2099
- "ParentId": {
2100
- "Fn::GetAtt": [
2101
- "ApiGatewayRestApi",
2102
- "RootResourceId"
2103
- ]
2104
- },
2105
- "PathPart": "tagged",
2106
- "RestApiId": {
2107
- "Ref": "ApiGatewayRestApi"
2108
- }
2109
- }
2110
- },
2111
- "ApiGatewayResourceTaggedGet": {
2112
- "Type": "AWS::ApiGateway::Resource",
2113
- "Properties": {
2114
- "ParentId": {
2115
- "Ref": "ApiGatewayResourceTagged"
2116
- },
2117
- "PathPart": "get",
2118
- "RestApiId": {
2119
- "Ref": "ApiGatewayRestApi"
2120
- }
2121
- }
2122
- },
2123
- "ApiGatewayMethodAddOptions": {
2124
- "Type": "AWS::ApiGateway::Method",
2125
- "Properties": {
2126
- "AuthorizationType": "NONE",
2127
- "HttpMethod": "OPTIONS",
2128
- "MethodResponses": [
2129
- {
2130
- "StatusCode": "200",
2131
- "ResponseParameters": {
2132
- "method.response.header.Access-Control-Allow-Origin": true,
2133
- "method.response.header.Access-Control-Allow-Headers": true,
2134
- "method.response.header.Access-Control-Allow-Methods": true
2135
- },
2136
- "ResponseModels": {}
2137
- }
2138
- ],
2139
- "RequestParameters": {},
2140
- "Integration": {
2141
- "Type": "MOCK",
2142
- "RequestTemplates": {
2143
- "application/json": "{statusCode:200}"
2144
- },
2145
- "ContentHandling": "CONVERT_TO_TEXT",
2146
- "IntegrationResponses": [
2147
- {
2148
- "StatusCode": "200",
2149
- "ResponseParameters": {
2150
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2151
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2152
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'"
2153
- },
2154
- "ResponseTemplates": {
2155
- "application/json": ""
2156
- }
2157
- }
2158
- ]
2159
- },
2160
- "ResourceId": {
2161
- "Ref": "ApiGatewayResourceAdd"
2162
- },
2163
- "RestApiId": {
2164
- "Ref": "ApiGatewayRestApi"
2165
- }
2166
- }
2167
- },
2168
- "ApiGatewayMethodEditOptions": {
2169
- "Type": "AWS::ApiGateway::Method",
2170
- "Properties": {
2171
- "AuthorizationType": "NONE",
2172
- "HttpMethod": "OPTIONS",
2173
- "MethodResponses": [
2174
- {
2175
- "StatusCode": "200",
2176
- "ResponseParameters": {
2177
- "method.response.header.Access-Control-Allow-Origin": true,
2178
- "method.response.header.Access-Control-Allow-Headers": true,
2179
- "method.response.header.Access-Control-Allow-Methods": true
2180
- },
2181
- "ResponseModels": {}
2182
- }
2183
- ],
2184
- "RequestParameters": {},
2185
- "Integration": {
2186
- "Type": "MOCK",
2187
- "RequestTemplates": {
2188
- "application/json": "{statusCode:200}"
2189
- },
2190
- "ContentHandling": "CONVERT_TO_TEXT",
2191
- "IntegrationResponses": [
2192
- {
2193
- "StatusCode": "200",
2194
- "ResponseParameters": {
2195
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2196
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2197
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'"
2198
- },
2199
- "ResponseTemplates": {
2200
- "application/json": ""
2201
- }
2202
- }
2203
- ]
2204
- },
2205
- "ResourceId": {
2206
- "Ref": "ApiGatewayResourceEdit"
2207
- },
2208
- "RestApiId": {
2209
- "Ref": "ApiGatewayRestApi"
2210
- }
2211
- }
2212
- },
2213
- "ApiGatewayMethodEditsubmissionOptions": {
2214
- "Type": "AWS::ApiGateway::Method",
2215
- "Properties": {
2216
- "AuthorizationType": "NONE",
2217
- "HttpMethod": "OPTIONS",
2218
- "MethodResponses": [
2219
- {
2220
- "StatusCode": "200",
2221
- "ResponseParameters": {
2222
- "method.response.header.Access-Control-Allow-Origin": true,
2223
- "method.response.header.Access-Control-Allow-Headers": true,
2224
- "method.response.header.Access-Control-Allow-Methods": true
2225
- },
2226
- "ResponseModels": {}
2227
- }
2228
- ],
2229
- "RequestParameters": {},
2230
- "Integration": {
2231
- "Type": "MOCK",
2232
- "RequestTemplates": {
2233
- "application/json": "{statusCode:200}"
2234
- },
2235
- "ContentHandling": "CONVERT_TO_TEXT",
2236
- "IntegrationResponses": [
2237
- {
2238
- "StatusCode": "200",
2239
- "ResponseParameters": {
2240
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2241
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2242
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'"
2243
- },
2244
- "ResponseTemplates": {
2245
- "application/json": ""
2246
- }
2247
- }
2248
- ]
2249
- },
2250
- "ResourceId": {
2251
- "Ref": "ApiGatewayResourceEditsubmission"
2252
- },
2253
- "RestApiId": {
2254
- "Ref": "ApiGatewayRestApi"
2255
- }
2256
- }
2257
- },
2258
- "ApiGatewayMethodGetIdVarOptions": {
2259
- "Type": "AWS::ApiGateway::Method",
2260
- "Properties": {
2261
- "AuthorizationType": "NONE",
2262
- "HttpMethod": "OPTIONS",
2263
- "MethodResponses": [
2264
- {
2265
- "StatusCode": "200",
2266
- "ResponseParameters": {
2267
- "method.response.header.Access-Control-Allow-Origin": true,
2268
- "method.response.header.Access-Control-Allow-Headers": true,
2269
- "method.response.header.Access-Control-Allow-Methods": true
2270
- },
2271
- "ResponseModels": {}
2272
- }
2273
- ],
2274
- "RequestParameters": {},
2275
- "Integration": {
2276
- "Type": "MOCK",
2277
- "RequestTemplates": {
2278
- "application/json": "{statusCode:200}"
2279
- },
2280
- "ContentHandling": "CONVERT_TO_TEXT",
2281
- "IntegrationResponses": [
2282
- {
2283
- "StatusCode": "200",
2284
- "ResponseParameters": {
2285
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2286
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2287
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2288
- },
2289
- "ResponseTemplates": {
2290
- "application/json": ""
2291
- }
2292
- }
2293
- ]
2294
- },
2295
- "ResourceId": {
2296
- "Ref": "ApiGatewayResourceGetIdVar"
2297
- },
2298
- "RestApiId": {
2299
- "Ref": "ApiGatewayRestApi"
2300
- }
2301
- }
2302
- },
2303
- "ApiGatewayMethodGetOptions": {
2304
- "Type": "AWS::ApiGateway::Method",
2305
- "Properties": {
2306
- "AuthorizationType": "NONE",
2307
- "HttpMethod": "OPTIONS",
2308
- "MethodResponses": [
2309
- {
2310
- "StatusCode": "200",
2311
- "ResponseParameters": {
2312
- "method.response.header.Access-Control-Allow-Origin": true,
2313
- "method.response.header.Access-Control-Allow-Headers": true,
2314
- "method.response.header.Access-Control-Allow-Methods": true
2315
- },
2316
- "ResponseModels": {}
2317
- }
2318
- ],
2319
- "RequestParameters": {},
2320
- "Integration": {
2321
- "Type": "MOCK",
2322
- "RequestTemplates": {
2323
- "application/json": "{statusCode:200}"
2324
- },
2325
- "ContentHandling": "CONVERT_TO_TEXT",
2326
- "IntegrationResponses": [
2327
- {
2328
- "StatusCode": "200",
2329
- "ResponseParameters": {
2330
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2331
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2332
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2333
- },
2334
- "ResponseTemplates": {
2335
- "application/json": ""
2336
- }
2337
- }
2338
- ]
2339
- },
2340
- "ResourceId": {
2341
- "Ref": "ApiGatewayResourceGet"
2342
- },
2343
- "RestApiId": {
2344
- "Ref": "ApiGatewayRestApi"
2345
- }
2346
- }
2347
- },
2348
- "ApiGatewayMethodGetfeaturedOptions": {
2349
- "Type": "AWS::ApiGateway::Method",
2350
- "Properties": {
2351
- "AuthorizationType": "NONE",
2352
- "HttpMethod": "OPTIONS",
2353
- "MethodResponses": [
2354
- {
2355
- "StatusCode": "200",
2356
- "ResponseParameters": {
2357
- "method.response.header.Access-Control-Allow-Origin": true,
2358
- "method.response.header.Access-Control-Allow-Headers": true,
2359
- "method.response.header.Access-Control-Allow-Methods": true
2360
- },
2361
- "ResponseModels": {}
2362
- }
2363
- ],
2364
- "RequestParameters": {},
2365
- "Integration": {
2366
- "Type": "MOCK",
2367
- "RequestTemplates": {
2368
- "application/json": "{statusCode:200}"
2369
- },
2370
- "ContentHandling": "CONVERT_TO_TEXT",
2371
- "IntegrationResponses": [
2372
- {
2373
- "StatusCode": "200",
2374
- "ResponseParameters": {
2375
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2376
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2377
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2378
- },
2379
- "ResponseTemplates": {
2380
- "application/json": ""
2381
- }
2382
- }
2383
- ]
2384
- },
2385
- "ResourceId": {
2386
- "Ref": "ApiGatewayResourceGetfeatured"
2387
- },
2388
- "RestApiId": {
2389
- "Ref": "ApiGatewayRestApi"
2390
- }
2391
- }
2392
- },
2393
- "ApiGatewayMethodRecentOptions": {
2394
- "Type": "AWS::ApiGateway::Method",
2395
- "Properties": {
2396
- "AuthorizationType": "NONE",
2397
- "HttpMethod": "OPTIONS",
2398
- "MethodResponses": [
2399
- {
2400
- "StatusCode": "200",
2401
- "ResponseParameters": {
2402
- "method.response.header.Access-Control-Allow-Origin": true,
2403
- "method.response.header.Access-Control-Allow-Headers": true,
2404
- "method.response.header.Access-Control-Allow-Methods": true
2405
- },
2406
- "ResponseModels": {}
2407
- }
2408
- ],
2409
- "RequestParameters": {},
2410
- "Integration": {
2411
- "Type": "MOCK",
2412
- "RequestTemplates": {
2413
- "application/json": "{statusCode:200}"
2414
- },
2415
- "ContentHandling": "CONVERT_TO_TEXT",
2416
- "IntegrationResponses": [
2417
- {
2418
- "StatusCode": "200",
2419
- "ResponseParameters": {
2420
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2421
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2422
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2423
- },
2424
- "ResponseTemplates": {
2425
- "application/json": ""
2426
- }
2427
- }
2428
- ]
2429
- },
2430
- "ResourceId": {
2431
- "Ref": "ApiGatewayResourceRecent"
2432
- },
2433
- "RestApiId": {
2434
- "Ref": "ApiGatewayRestApi"
2435
- }
2436
- }
2437
- },
2438
- "ApiGatewayMethodContentSearchOptions": {
2439
- "Type": "AWS::ApiGateway::Method",
2440
- "Properties": {
2441
- "AuthorizationType": "NONE",
2442
- "HttpMethod": "OPTIONS",
2443
- "MethodResponses": [
2444
- {
2445
- "StatusCode": "200",
2446
- "ResponseParameters": {
2447
- "method.response.header.Access-Control-Allow-Origin": true,
2448
- "method.response.header.Access-Control-Allow-Headers": true,
2449
- "method.response.header.Access-Control-Allow-Methods": true
2450
- },
2451
- "ResponseModels": {}
2452
- }
2453
- ],
2454
- "RequestParameters": {},
2455
- "Integration": {
2456
- "Type": "MOCK",
2457
- "RequestTemplates": {
2458
- "application/json": "{statusCode:200}"
2459
- },
2460
- "ContentHandling": "CONVERT_TO_TEXT",
2461
- "IntegrationResponses": [
2462
- {
2463
- "StatusCode": "200",
2464
- "ResponseParameters": {
2465
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2466
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2467
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2468
- },
2469
- "ResponseTemplates": {
2470
- "application/json": ""
2471
- }
2472
- }
2473
- ]
2474
- },
2475
- "ResourceId": {
2476
- "Ref": "ApiGatewayResourceContentSearch"
2477
- },
2478
- "RestApiId": {
2479
- "Ref": "ApiGatewayRestApi"
2480
- }
2481
- }
2482
- },
2483
- "ApiGatewayMethodContentGetOptions": {
2484
- "Type": "AWS::ApiGateway::Method",
2485
- "Properties": {
2486
- "AuthorizationType": "NONE",
2487
- "HttpMethod": "OPTIONS",
2488
- "MethodResponses": [
2489
- {
2490
- "StatusCode": "200",
2491
- "ResponseParameters": {
2492
- "method.response.header.Access-Control-Allow-Origin": true,
2493
- "method.response.header.Access-Control-Allow-Headers": true,
2494
- "method.response.header.Access-Control-Allow-Methods": true
2495
- },
2496
- "ResponseModels": {}
2497
- }
2498
- ],
2499
- "RequestParameters": {},
2500
- "Integration": {
2501
- "Type": "MOCK",
2502
- "RequestTemplates": {
2503
- "application/json": "{statusCode:200}"
2504
- },
2505
- "ContentHandling": "CONVERT_TO_TEXT",
2506
- "IntegrationResponses": [
2507
- {
2508
- "StatusCode": "200",
2509
- "ResponseParameters": {
2510
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2511
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2512
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2513
- },
2514
- "ResponseTemplates": {
2515
- "application/json": ""
2516
- }
2517
- }
2518
- ]
2519
- },
2520
- "ResourceId": {
2521
- "Ref": "ApiGatewayResourceContentGet"
2522
- },
2523
- "RestApiId": {
2524
- "Ref": "ApiGatewayRestApi"
2525
- }
2526
- }
2527
- },
2528
- "ApiGatewayMethodContentSpecificOptions": {
2529
- "Type": "AWS::ApiGateway::Method",
2530
- "Properties": {
2531
- "AuthorizationType": "NONE",
2532
- "HttpMethod": "OPTIONS",
2533
- "MethodResponses": [
2534
- {
2535
- "StatusCode": "200",
2536
- "ResponseParameters": {
2537
- "method.response.header.Access-Control-Allow-Origin": true,
2538
- "method.response.header.Access-Control-Allow-Headers": true,
2539
- "method.response.header.Access-Control-Allow-Methods": true
2540
- },
2541
- "ResponseModels": {}
2542
- }
2543
- ],
2544
- "RequestParameters": {},
2545
- "Integration": {
2546
- "Type": "MOCK",
2547
- "RequestTemplates": {
2548
- "application/json": "{statusCode:200}"
2549
- },
2550
- "ContentHandling": "CONVERT_TO_TEXT",
2551
- "IntegrationResponses": [
2552
- {
2553
- "StatusCode": "200",
2554
- "ResponseParameters": {
2555
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2556
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2557
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2558
- },
2559
- "ResponseTemplates": {
2560
- "application/json": ""
2561
- }
2562
- }
2563
- ]
2564
- },
2565
- "ResourceId": {
2566
- "Ref": "ApiGatewayResourceContentSpecific"
2567
- },
2568
- "RestApiId": {
2569
- "Ref": "ApiGatewayRestApi"
2570
- }
2571
- }
2572
- },
2573
- "ApiGatewayMethodContentPublishedOptions": {
2574
- "Type": "AWS::ApiGateway::Method",
2575
- "Properties": {
2576
- "AuthorizationType": "NONE",
2577
- "HttpMethod": "OPTIONS",
2578
- "MethodResponses": [
2579
- {
2580
- "StatusCode": "200",
2581
- "ResponseParameters": {
2582
- "method.response.header.Access-Control-Allow-Origin": true,
2583
- "method.response.header.Access-Control-Allow-Headers": true,
2584
- "method.response.header.Access-Control-Allow-Methods": true
2585
- },
2586
- "ResponseModels": {}
2587
- }
2588
- ],
2589
- "RequestParameters": {},
2590
- "Integration": {
2591
- "Type": "MOCK",
2592
- "RequestTemplates": {
2593
- "application/json": "{statusCode:200}"
2594
- },
2595
- "ContentHandling": "CONVERT_TO_TEXT",
2596
- "IntegrationResponses": [
2597
- {
2598
- "StatusCode": "200",
2599
- "ResponseParameters": {
2600
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2601
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2602
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2603
- },
2604
- "ResponseTemplates": {
2605
- "application/json": ""
2606
- }
2607
- }
2608
- ]
2609
- },
2610
- "ResourceId": {
2611
- "Ref": "ApiGatewayResourceContentPublished"
2612
- },
2613
- "RestApiId": {
2614
- "Ref": "ApiGatewayRestApi"
2615
- }
2616
- }
2617
- },
2618
- "ApiGatewayMethodRemoveOptions": {
2619
- "Type": "AWS::ApiGateway::Method",
2620
- "Properties": {
2621
- "AuthorizationType": "NONE",
2622
- "HttpMethod": "OPTIONS",
2623
- "MethodResponses": [
2624
- {
2625
- "StatusCode": "200",
2626
- "ResponseParameters": {
2627
- "method.response.header.Access-Control-Allow-Origin": true,
2628
- "method.response.header.Access-Control-Allow-Headers": true,
2629
- "method.response.header.Access-Control-Allow-Methods": true
2630
- },
2631
- "ResponseModels": {}
2632
- }
2633
- ],
2634
- "RequestParameters": {},
2635
- "Integration": {
2636
- "Type": "MOCK",
2637
- "RequestTemplates": {
2638
- "application/json": "{statusCode:200}"
2639
- },
2640
- "ContentHandling": "CONVERT_TO_TEXT",
2641
- "IntegrationResponses": [
2642
- {
2643
- "StatusCode": "200",
2644
- "ResponseParameters": {
2645
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2646
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2647
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'"
2648
- },
2649
- "ResponseTemplates": {
2650
- "application/json": ""
2651
- }
2652
- }
2653
- ]
2654
- },
2655
- "ResourceId": {
2656
- "Ref": "ApiGatewayResourceRemove"
2657
- },
2658
- "RestApiId": {
2659
- "Ref": "ApiGatewayRestApi"
2660
- }
2661
- }
2662
- },
2663
- "ApiGatewayMethodAccessOptions": {
2664
- "Type": "AWS::ApiGateway::Method",
2665
- "Properties": {
2666
- "AuthorizationType": "NONE",
2667
- "HttpMethod": "OPTIONS",
2668
- "MethodResponses": [
2669
- {
2670
- "StatusCode": "200",
2671
- "ResponseParameters": {
2672
- "method.response.header.Access-Control-Allow-Origin": true,
2673
- "method.response.header.Access-Control-Allow-Headers": true,
2674
- "method.response.header.Access-Control-Allow-Methods": true
2675
- },
2676
- "ResponseModels": {}
2677
- }
2678
- ],
2679
- "RequestParameters": {},
2680
- "Integration": {
2681
- "Type": "MOCK",
2682
- "RequestTemplates": {
2683
- "application/json": "{statusCode:200}"
2684
- },
2685
- "ContentHandling": "CONVERT_TO_TEXT",
2686
- "IntegrationResponses": [
2687
- {
2688
- "StatusCode": "200",
2689
- "ResponseParameters": {
2690
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2691
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2692
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2693
- },
2694
- "ResponseTemplates": {
2695
- "application/json": ""
2696
- }
2697
- }
2698
- ]
2699
- },
2700
- "ResourceId": {
2701
- "Ref": "ApiGatewayResourceAccess"
2702
- },
2703
- "RestApiId": {
2704
- "Ref": "ApiGatewayRestApi"
2705
- }
2706
- }
2707
- },
2708
- "ApiGatewayMethodSubmissionsGetOptions": {
2709
- "Type": "AWS::ApiGateway::Method",
2710
- "Properties": {
2711
- "AuthorizationType": "NONE",
2712
- "HttpMethod": "OPTIONS",
2713
- "MethodResponses": [
2714
- {
2715
- "StatusCode": "200",
2716
- "ResponseParameters": {
2717
- "method.response.header.Access-Control-Allow-Origin": true,
2718
- "method.response.header.Access-Control-Allow-Headers": true,
2719
- "method.response.header.Access-Control-Allow-Methods": true
2720
- },
2721
- "ResponseModels": {}
2722
- }
2723
- ],
2724
- "RequestParameters": {},
2725
- "Integration": {
2726
- "Type": "MOCK",
2727
- "RequestTemplates": {
2728
- "application/json": "{statusCode:200}"
2729
- },
2730
- "ContentHandling": "CONVERT_TO_TEXT",
2731
- "IntegrationResponses": [
2732
- {
2733
- "StatusCode": "200",
2734
- "ResponseParameters": {
2735
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2736
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2737
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2738
- },
2739
- "ResponseTemplates": {
2740
- "application/json": ""
2741
- }
2742
- }
2743
- ]
2744
- },
2745
- "ResourceId": {
2746
- "Ref": "ApiGatewayResourceSubmissionsGet"
2747
- },
2748
- "RestApiId": {
2749
- "Ref": "ApiGatewayRestApi"
2750
- }
2751
- }
2752
- },
2753
- "ApiGatewayMethodSubmissionsGetIdVarOptions": {
2754
- "Type": "AWS::ApiGateway::Method",
2755
- "Properties": {
2756
- "AuthorizationType": "NONE",
2757
- "HttpMethod": "OPTIONS",
2758
- "MethodResponses": [
2759
- {
2760
- "StatusCode": "200",
2761
- "ResponseParameters": {
2762
- "method.response.header.Access-Control-Allow-Origin": true,
2763
- "method.response.header.Access-Control-Allow-Headers": true,
2764
- "method.response.header.Access-Control-Allow-Methods": true
2765
- },
2766
- "ResponseModels": {}
2767
- }
2768
- ],
2769
- "RequestParameters": {},
2770
- "Integration": {
2771
- "Type": "MOCK",
2772
- "RequestTemplates": {
2773
- "application/json": "{statusCode:200}"
2774
- },
2775
- "ContentHandling": "CONVERT_TO_TEXT",
2776
- "IntegrationResponses": [
2777
- {
2778
- "StatusCode": "200",
2779
- "ResponseParameters": {
2780
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2781
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2782
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2783
- },
2784
- "ResponseTemplates": {
2785
- "application/json": ""
2786
- }
2787
- }
2788
- ]
2789
- },
2790
- "ResourceId": {
2791
- "Ref": "ApiGatewayResourceSubmissionsGetIdVar"
2792
- },
2793
- "RestApiId": {
2794
- "Ref": "ApiGatewayRestApi"
2795
- }
2796
- }
2797
- },
2798
- "ApiGatewayMethodSubmissionsHandleOptions": {
2799
- "Type": "AWS::ApiGateway::Method",
2800
- "Properties": {
2801
- "AuthorizationType": "NONE",
2802
- "HttpMethod": "OPTIONS",
2803
- "MethodResponses": [
2804
- {
2805
- "StatusCode": "200",
2806
- "ResponseParameters": {
2807
- "method.response.header.Access-Control-Allow-Origin": true,
2808
- "method.response.header.Access-Control-Allow-Headers": true,
2809
- "method.response.header.Access-Control-Allow-Methods": true
2810
- },
2811
- "ResponseModels": {}
2812
- }
2813
- ],
2814
- "RequestParameters": {},
2815
- "Integration": {
2816
- "Type": "MOCK",
2817
- "RequestTemplates": {
2818
- "application/json": "{statusCode:200}"
2819
- },
2820
- "ContentHandling": "CONVERT_TO_TEXT",
2821
- "IntegrationResponses": [
2822
- {
2823
- "StatusCode": "200",
2824
- "ResponseParameters": {
2825
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2826
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2827
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,POST'"
2828
- },
2829
- "ResponseTemplates": {
2830
- "application/json": ""
2831
- }
2832
- }
2833
- ]
2834
- },
2835
- "ResourceId": {
2836
- "Ref": "ApiGatewayResourceSubmissionsHandle"
2837
- },
2838
- "RestApiId": {
2839
- "Ref": "ApiGatewayRestApi"
2840
- }
2841
- }
2842
- },
2843
- "ApiGatewayMethodSubmissionsCountOptions": {
2844
- "Type": "AWS::ApiGateway::Method",
2845
- "Properties": {
2846
- "AuthorizationType": "NONE",
2847
- "HttpMethod": "OPTIONS",
2848
- "MethodResponses": [
2849
- {
2850
- "StatusCode": "200",
2851
- "ResponseParameters": {
2852
- "method.response.header.Access-Control-Allow-Origin": true,
2853
- "method.response.header.Access-Control-Allow-Headers": true,
2854
- "method.response.header.Access-Control-Allow-Methods": true
2855
- },
2856
- "ResponseModels": {}
2857
- }
2858
- ],
2859
- "RequestParameters": {},
2860
- "Integration": {
2861
- "Type": "MOCK",
2862
- "RequestTemplates": {
2863
- "application/json": "{statusCode:200}"
2864
- },
2865
- "ContentHandling": "CONVERT_TO_TEXT",
2866
- "IntegrationResponses": [
2867
- {
2868
- "StatusCode": "200",
2869
- "ResponseParameters": {
2870
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2871
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2872
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2873
- },
2874
- "ResponseTemplates": {
2875
- "application/json": ""
2876
- }
2877
- }
2878
- ]
2879
- },
2880
- "ResourceId": {
2881
- "Ref": "ApiGatewayResourceSubmissionsCount"
2882
- },
2883
- "RestApiId": {
2884
- "Ref": "ApiGatewayRestApi"
2885
- }
2886
- }
2887
- },
2888
- "ApiGatewayMethodTaggedGetOptions": {
2889
- "Type": "AWS::ApiGateway::Method",
2890
- "Properties": {
2891
- "AuthorizationType": "NONE",
2892
- "HttpMethod": "OPTIONS",
2893
- "MethodResponses": [
2894
- {
2895
- "StatusCode": "200",
2896
- "ResponseParameters": {
2897
- "method.response.header.Access-Control-Allow-Origin": true,
2898
- "method.response.header.Access-Control-Allow-Headers": true,
2899
- "method.response.header.Access-Control-Allow-Methods": true
2900
- },
2901
- "ResponseModels": {}
2902
- }
2903
- ],
2904
- "RequestParameters": {},
2905
- "Integration": {
2906
- "Type": "MOCK",
2907
- "RequestTemplates": {
2908
- "application/json": "{statusCode:200}"
2909
- },
2910
- "ContentHandling": "CONVERT_TO_TEXT",
2911
- "IntegrationResponses": [
2912
- {
2913
- "StatusCode": "200",
2914
- "ResponseParameters": {
2915
- "method.response.header.Access-Control-Allow-Origin": "'*'",
2916
- "method.response.header.Access-Control-Allow-Headers": "'Content-Type,authkey'",
2917
- "method.response.header.Access-Control-Allow-Methods": "'OPTIONS,GET'"
2918
- },
2919
- "ResponseTemplates": {
2920
- "application/json": ""
2921
- }
2922
- }
2923
- ]
2924
- },
2925
- "ResourceId": {
2926
- "Ref": "ApiGatewayResourceTaggedGet"
2927
- },
2928
- "RestApiId": {
2929
- "Ref": "ApiGatewayRestApi"
2930
- }
2931
- }
2932
- },
2933
- "ApiGatewayMethodAddPost": {
2934
- "Type": "AWS::ApiGateway::Method",
2935
- "Properties": {
2936
- "HttpMethod": "POST",
2937
- "RequestParameters": {},
2938
- "ResourceId": {
2939
- "Ref": "ApiGatewayResourceAdd"
2940
- },
2941
- "RestApiId": {
2942
- "Ref": "ApiGatewayRestApi"
2943
- },
2944
- "ApiKeyRequired": false,
2945
- "AuthorizationType": "NONE",
2946
- "Integration": {
2947
- "IntegrationHttpMethod": "POST",
2948
- "Type": "AWS_PROXY",
2949
- "Uri": {
2950
- "Fn::Join": [
2951
- "",
2952
- [
2953
- "arn:",
2954
- {
2955
- "Ref": "AWS::Partition"
2956
- },
2957
- ":apigateway:",
2958
- {
2959
- "Ref": "AWS::Region"
2960
- },
2961
- ":lambda:path/2015-03-31/functions/",
2962
- {
2963
- "Fn::GetAtt": [
2964
- "AddNewsletterEntryLambdaFunction",
2965
- "Arn"
2966
- ]
2967
- },
2968
- "/invocations"
2969
- ]
2970
- ]
2971
- }
2972
- },
2973
- "MethodResponses": []
2974
- }
2975
- },
2976
- "ApiGatewayMethodEditPost": {
2977
- "Type": "AWS::ApiGateway::Method",
2978
- "Properties": {
2979
- "HttpMethod": "POST",
2980
- "RequestParameters": {},
2981
- "ResourceId": {
2982
- "Ref": "ApiGatewayResourceEdit"
2983
- },
2984
- "RestApiId": {
2985
- "Ref": "ApiGatewayRestApi"
2986
- },
2987
- "ApiKeyRequired": false,
2988
- "AuthorizationType": "NONE",
2989
- "Integration": {
2990
- "IntegrationHttpMethod": "POST",
2991
- "Type": "AWS_PROXY",
2992
- "Uri": {
2993
- "Fn::Join": [
2994
- "",
2995
- [
2996
- "arn:",
2997
- {
2998
- "Ref": "AWS::Partition"
2999
- },
3000
- ":apigateway:",
3001
- {
3002
- "Ref": "AWS::Region"
3003
- },
3004
- ":lambda:path/2015-03-31/functions/",
3005
- {
3006
- "Fn::GetAtt": [
3007
- "EditNewsletterEntryLambdaFunction",
3008
- "Arn"
3009
- ]
3010
- },
3011
- "/invocations"
3012
- ]
3013
- ]
3014
- }
3015
- },
3016
- "MethodResponses": []
3017
- }
3018
- },
3019
- "ApiGatewayMethodEditsubmissionPost": {
3020
- "Type": "AWS::ApiGateway::Method",
3021
- "Properties": {
3022
- "HttpMethod": "POST",
3023
- "RequestParameters": {},
3024
- "ResourceId": {
3025
- "Ref": "ApiGatewayResourceEditsubmission"
3026
- },
3027
- "RestApiId": {
3028
- "Ref": "ApiGatewayRestApi"
3029
- },
3030
- "ApiKeyRequired": false,
3031
- "AuthorizationType": "NONE",
3032
- "Integration": {
3033
- "IntegrationHttpMethod": "POST",
3034
- "Type": "AWS_PROXY",
3035
- "Uri": {
3036
- "Fn::Join": [
3037
- "",
3038
- [
3039
- "arn:",
3040
- {
3041
- "Ref": "AWS::Partition"
3042
- },
3043
- ":apigateway:",
3044
- {
3045
- "Ref": "AWS::Region"
3046
- },
3047
- ":lambda:path/2015-03-31/functions/",
3048
- {
3049
- "Fn::GetAtt": [
3050
- "EditNewsletterSubmissionLambdaFunction",
3051
- "Arn"
3052
- ]
3053
- },
3054
- "/invocations"
3055
- ]
3056
- ]
3057
- }
3058
- },
3059
- "MethodResponses": []
3060
- }
3061
- },
3062
- "ApiGatewayMethodGetIdVarGet": {
3063
- "Type": "AWS::ApiGateway::Method",
3064
- "Properties": {
3065
- "HttpMethod": "GET",
3066
- "RequestParameters": {},
3067
- "ResourceId": {
3068
- "Ref": "ApiGatewayResourceGetIdVar"
3069
- },
3070
- "RestApiId": {
3071
- "Ref": "ApiGatewayRestApi"
3072
- },
3073
- "ApiKeyRequired": false,
3074
- "AuthorizationType": "NONE",
3075
- "Integration": {
3076
- "IntegrationHttpMethod": "POST",
3077
- "Type": "AWS_PROXY",
3078
- "Uri": {
3079
- "Fn::Join": [
3080
- "",
3081
- [
3082
- "arn:",
3083
- {
3084
- "Ref": "AWS::Partition"
3085
- },
3086
- ":apigateway:",
3087
- {
3088
- "Ref": "AWS::Region"
3089
- },
3090
- ":lambda:path/2015-03-31/functions/",
3091
- {
3092
- "Fn::GetAtt": [
3093
- "GetNewsletterEntryLambdaFunction",
3094
- "Arn"
3095
- ]
3096
- },
3097
- "/invocations"
3098
- ]
3099
- ]
3100
- }
3101
- },
3102
- "MethodResponses": []
3103
- }
3104
- },
3105
- "ApiGatewayMethodGetGet": {
3106
- "Type": "AWS::ApiGateway::Method",
3107
- "Properties": {
3108
- "HttpMethod": "GET",
3109
- "RequestParameters": {},
3110
- "ResourceId": {
3111
- "Ref": "ApiGatewayResourceGet"
3112
- },
3113
- "RestApiId": {
3114
- "Ref": "ApiGatewayRestApi"
3115
- },
3116
- "ApiKeyRequired": false,
3117
- "AuthorizationType": "NONE",
3118
- "Integration": {
3119
- "IntegrationHttpMethod": "POST",
3120
- "Type": "AWS_PROXY",
3121
- "Uri": {
3122
- "Fn::Join": [
3123
- "",
3124
- [
3125
- "arn:",
3126
- {
3127
- "Ref": "AWS::Partition"
3128
- },
3129
- ":apigateway:",
3130
- {
3131
- "Ref": "AWS::Region"
3132
- },
3133
- ":lambda:path/2015-03-31/functions/",
3134
- {
3135
- "Fn::GetAtt": [
3136
- "GetNewsletterEntriesLambdaFunction",
3137
- "Arn"
3138
- ]
3139
- },
3140
- "/invocations"
3141
- ]
3142
- ]
3143
- }
3144
- },
3145
- "MethodResponses": []
3146
- }
3147
- },
3148
- "ApiGatewayMethodGetfeaturedGet": {
3149
- "Type": "AWS::ApiGateway::Method",
3150
- "Properties": {
3151
- "HttpMethod": "GET",
3152
- "RequestParameters": {},
3153
- "ResourceId": {
3154
- "Ref": "ApiGatewayResourceGetfeatured"
3155
- },
3156
- "RestApiId": {
3157
- "Ref": "ApiGatewayRestApi"
3158
- },
3159
- "ApiKeyRequired": false,
3160
- "AuthorizationType": "NONE",
3161
- "Integration": {
3162
- "IntegrationHttpMethod": "POST",
3163
- "Type": "AWS_PROXY",
3164
- "Uri": {
3165
- "Fn::Join": [
3166
- "",
3167
- [
3168
- "arn:",
3169
- {
3170
- "Ref": "AWS::Partition"
3171
- },
3172
- ":apigateway:",
3173
- {
3174
- "Ref": "AWS::Region"
3175
- },
3176
- ":lambda:path/2015-03-31/functions/",
3177
- {
3178
- "Fn::GetAtt": [
3179
- "GetFeaturedNewsletterEntriesLambdaFunction",
3180
- "Arn"
3181
- ]
3182
- },
3183
- "/invocations"
3184
- ]
3185
- ]
3186
- }
3187
- },
3188
- "MethodResponses": []
3189
- }
3190
- },
3191
- "ApiGatewayMethodRecentGet": {
3192
- "Type": "AWS::ApiGateway::Method",
3193
- "Properties": {
3194
- "HttpMethod": "GET",
3195
- "RequestParameters": {},
3196
- "ResourceId": {
3197
- "Ref": "ApiGatewayResourceRecent"
3198
- },
3199
- "RestApiId": {
3200
- "Ref": "ApiGatewayRestApi"
3201
- },
3202
- "ApiKeyRequired": false,
3203
- "AuthorizationType": "NONE",
3204
- "Integration": {
3205
- "IntegrationHttpMethod": "POST",
3206
- "Type": "AWS_PROXY",
3207
- "Uri": {
3208
- "Fn::Join": [
3209
- "",
3210
- [
3211
- "arn:",
3212
- {
3213
- "Ref": "AWS::Partition"
3214
- },
3215
- ":apigateway:",
3216
- {
3217
- "Ref": "AWS::Region"
3218
- },
3219
- ":lambda:path/2015-03-31/functions/",
3220
- {
3221
- "Fn::GetAtt": [
3222
- "GetRecentNewsletterEntriesLambdaFunction",
3223
- "Arn"
3224
- ]
3225
- },
3226
- "/invocations"
3227
- ]
3228
- ]
3229
- }
3230
- },
3231
- "MethodResponses": []
3232
- }
3233
- },
3234
- "ApiGatewayMethodContentSearchGet": {
3235
- "Type": "AWS::ApiGateway::Method",
3236
- "Properties": {
3237
- "HttpMethod": "GET",
3238
- "RequestParameters": {},
3239
- "ResourceId": {
3240
- "Ref": "ApiGatewayResourceContentSearch"
3241
- },
3242
- "RestApiId": {
3243
- "Ref": "ApiGatewayRestApi"
3244
- },
3245
- "ApiKeyRequired": false,
3246
- "AuthorizationType": "NONE",
3247
- "Integration": {
3248
- "IntegrationHttpMethod": "POST",
3249
- "Type": "AWS_PROXY",
3250
- "Uri": {
3251
- "Fn::Join": [
3252
- "",
3253
- [
3254
- "arn:",
3255
- {
3256
- "Ref": "AWS::Partition"
3257
- },
3258
- ":apigateway:",
3259
- {
3260
- "Ref": "AWS::Region"
3261
- },
3262
- ":lambda:path/2015-03-31/functions/",
3263
- {
3264
- "Fn::GetAtt": [
3265
- "SearchAvailableNewsLambdaFunction",
3266
- "Arn"
3267
- ]
3268
- },
3269
- "/invocations"
3270
- ]
3271
- ]
3272
- }
3273
- },
3274
- "MethodResponses": []
3275
- }
3276
- },
3277
- "ApiGatewayMethodContentGetGet": {
3278
- "Type": "AWS::ApiGateway::Method",
3279
- "Properties": {
3280
- "HttpMethod": "GET",
3281
- "RequestParameters": {},
3282
- "ResourceId": {
3283
- "Ref": "ApiGatewayResourceContentGet"
3284
- },
3285
- "RestApiId": {
3286
- "Ref": "ApiGatewayRestApi"
3287
- },
3288
- "ApiKeyRequired": false,
3289
- "AuthorizationType": "NONE",
3290
- "Integration": {
3291
- "IntegrationHttpMethod": "POST",
3292
- "Type": "AWS_PROXY",
3293
- "Uri": {
3294
- "Fn::Join": [
3295
- "",
3296
- [
3297
- "arn:",
3298
- {
3299
- "Ref": "AWS::Partition"
3300
- },
3301
- ":apigateway:",
3302
- {
3303
- "Ref": "AWS::Region"
3304
- },
3305
- ":lambda:path/2015-03-31/functions/",
3306
- {
3307
- "Fn::GetAtt": [
3308
- "GetAvailableNewsLambdaFunction",
3309
- "Arn"
3310
- ]
3311
- },
3312
- "/invocations"
3313
- ]
3314
- ]
3315
- }
3316
- },
3317
- "MethodResponses": []
3318
- }
3319
- },
3320
- "ApiGatewayMethodContentSpecificGet": {
3321
- "Type": "AWS::ApiGateway::Method",
3322
- "Properties": {
3323
- "HttpMethod": "GET",
3324
- "RequestParameters": {},
3325
- "ResourceId": {
3326
- "Ref": "ApiGatewayResourceContentSpecific"
3327
- },
3328
- "RestApiId": {
3329
- "Ref": "ApiGatewayRestApi"
3330
- },
3331
- "ApiKeyRequired": false,
3332
- "AuthorizationType": "NONE",
3333
- "Integration": {
3334
- "IntegrationHttpMethod": "POST",
3335
- "Type": "AWS_PROXY",
3336
- "Uri": {
3337
- "Fn::Join": [
3338
- "",
3339
- [
3340
- "arn:",
3341
- {
3342
- "Ref": "AWS::Partition"
3343
- },
3344
- ":apigateway:",
3345
- {
3346
- "Ref": "AWS::Region"
3347
- },
3348
- ":lambda:path/2015-03-31/functions/",
3349
- {
3350
- "Fn::GetAtt": [
3351
- "GetPublishedEntriesLambdaFunction",
3352
- "Arn"
3353
- ]
3354
- },
3355
- "/invocations"
3356
- ]
3357
- ]
3358
- }
3359
- },
3360
- "MethodResponses": []
3361
- }
3362
- },
3363
- "ApiGatewayMethodContentPublishedGet": {
3364
- "Type": "AWS::ApiGateway::Method",
3365
- "Properties": {
3366
- "HttpMethod": "GET",
3367
- "RequestParameters": {},
3368
- "ResourceId": {
3369
- "Ref": "ApiGatewayResourceContentPublished"
3370
- },
3371
- "RestApiId": {
3372
- "Ref": "ApiGatewayRestApi"
3373
- },
3374
- "ApiKeyRequired": false,
3375
- "AuthorizationType": "NONE",
3376
- "Integration": {
3377
- "IntegrationHttpMethod": "POST",
3378
- "Type": "AWS_PROXY",
3379
- "Uri": {
3380
- "Fn::Join": [
3381
- "",
3382
- [
3383
- "arn:",
3384
- {
3385
- "Ref": "AWS::Partition"
3386
- },
3387
- ":apigateway:",
3388
- {
3389
- "Ref": "AWS::Region"
3390
- },
3391
- ":lambda:path/2015-03-31/functions/",
3392
- {
3393
- "Fn::GetAtt": [
3394
- "GetPublishedAvailableNewsLambdaFunction",
3395
- "Arn"
3396
- ]
3397
- },
3398
- "/invocations"
3399
- ]
3400
- ]
3401
- }
3402
- },
3403
- "MethodResponses": []
3404
- }
3405
- },
3406
- "ApiGatewayMethodRemovePost": {
3407
- "Type": "AWS::ApiGateway::Method",
3408
- "Properties": {
3409
- "HttpMethod": "POST",
3410
- "RequestParameters": {},
3411
- "ResourceId": {
3412
- "Ref": "ApiGatewayResourceRemove"
3413
- },
3414
- "RestApiId": {
3415
- "Ref": "ApiGatewayRestApi"
3416
- },
3417
- "ApiKeyRequired": false,
3418
- "AuthorizationType": "NONE",
3419
- "Integration": {
3420
- "IntegrationHttpMethod": "POST",
3421
- "Type": "AWS_PROXY",
3422
- "Uri": {
3423
- "Fn::Join": [
3424
- "",
3425
- [
3426
- "arn:",
3427
- {
3428
- "Ref": "AWS::Partition"
3429
- },
3430
- ":apigateway:",
3431
- {
3432
- "Ref": "AWS::Region"
3433
- },
3434
- ":lambda:path/2015-03-31/functions/",
3435
- {
3436
- "Fn::GetAtt": [
3437
- "DeleteNewsletterEntryLambdaFunction",
3438
- "Arn"
3439
- ]
3440
- },
3441
- "/invocations"
3442
- ]
3443
- ]
3444
- }
3445
- },
3446
- "MethodResponses": []
3447
- }
3448
- },
3449
- "ApiGatewayMethodAccessGet": {
3450
- "Type": "AWS::ApiGateway::Method",
3451
- "Properties": {
3452
- "HttpMethod": "GET",
3453
- "RequestParameters": {},
3454
- "ResourceId": {
3455
- "Ref": "ApiGatewayResourceAccess"
3456
- },
3457
- "RestApiId": {
3458
- "Ref": "ApiGatewayRestApi"
3459
- },
3460
- "ApiKeyRequired": false,
3461
- "AuthorizationType": "NONE",
3462
- "Integration": {
3463
- "IntegrationHttpMethod": "POST",
3464
- "Type": "AWS_PROXY",
3465
- "Uri": {
3466
- "Fn::Join": [
3467
- "",
3468
- [
3469
- "arn:",
3470
- {
3471
- "Ref": "AWS::Partition"
3472
- },
3473
- ":apigateway:",
3474
- {
3475
- "Ref": "AWS::Region"
3476
- },
3477
- ":lambda:path/2015-03-31/functions/",
3478
- {
3479
- "Fn::GetAtt": [
3480
- "HasNewsletterAccessLambdaFunction",
3481
- "Arn"
3482
- ]
3483
- },
3484
- "/invocations"
3485
- ]
3486
- ]
3487
- }
3488
- },
3489
- "MethodResponses": []
3490
- }
3491
- },
3492
- "ApiGatewayMethodSubmissionsGetGet": {
3493
- "Type": "AWS::ApiGateway::Method",
3494
- "Properties": {
3495
- "HttpMethod": "GET",
3496
- "RequestParameters": {},
3497
- "ResourceId": {
3498
- "Ref": "ApiGatewayResourceSubmissionsGet"
3499
- },
3500
- "RestApiId": {
3501
- "Ref": "ApiGatewayRestApi"
3502
- },
3503
- "ApiKeyRequired": false,
3504
- "AuthorizationType": "NONE",
3505
- "Integration": {
3506
- "IntegrationHttpMethod": "POST",
3507
- "Type": "AWS_PROXY",
3508
- "Uri": {
3509
- "Fn::Join": [
3510
- "",
3511
- [
3512
- "arn:",
3513
- {
3514
- "Ref": "AWS::Partition"
3515
- },
3516
- ":apigateway:",
3517
- {
3518
- "Ref": "AWS::Region"
3519
- },
3520
- ":lambda:path/2015-03-31/functions/",
3521
- {
3522
- "Fn::GetAtt": [
3523
- "GetNewsletterSubmissionsLambdaFunction",
3524
- "Arn"
3525
- ]
3526
- },
3527
- "/invocations"
3528
- ]
3529
- ]
3530
- }
3531
- },
3532
- "MethodResponses": []
3533
- }
3534
- },
3535
- "ApiGatewayMethodSubmissionsGetIdVarGet": {
3536
- "Type": "AWS::ApiGateway::Method",
3537
- "Properties": {
3538
- "HttpMethod": "GET",
3539
- "RequestParameters": {},
3540
- "ResourceId": {
3541
- "Ref": "ApiGatewayResourceSubmissionsGetIdVar"
3542
- },
3543
- "RestApiId": {
3544
- "Ref": "ApiGatewayRestApi"
3545
- },
3546
- "ApiKeyRequired": false,
3547
- "AuthorizationType": "NONE",
3548
- "Integration": {
3549
- "IntegrationHttpMethod": "POST",
3550
- "Type": "AWS_PROXY",
3551
- "Uri": {
3552
- "Fn::Join": [
3553
- "",
3554
- [
3555
- "arn:",
3556
- {
3557
- "Ref": "AWS::Partition"
3558
- },
3559
- ":apigateway:",
3560
- {
3561
- "Ref": "AWS::Region"
3562
- },
3563
- ":lambda:path/2015-03-31/functions/",
3564
- {
3565
- "Fn::GetAtt": [
3566
- "GetNewsletterSubmissionLambdaFunction",
3567
- "Arn"
3568
- ]
3569
- },
3570
- "/invocations"
3571
- ]
3572
- ]
3573
- }
3574
- },
3575
- "MethodResponses": []
3576
- }
3577
- },
3578
- "ApiGatewayMethodSubmissionsHandlePost": {
3579
- "Type": "AWS::ApiGateway::Method",
3580
- "Properties": {
3581
- "HttpMethod": "POST",
3582
- "RequestParameters": {},
3583
- "ResourceId": {
3584
- "Ref": "ApiGatewayResourceSubmissionsHandle"
3585
- },
3586
- "RestApiId": {
3587
- "Ref": "ApiGatewayRestApi"
3588
- },
3589
- "ApiKeyRequired": false,
3590
- "AuthorizationType": "NONE",
3591
- "Integration": {
3592
- "IntegrationHttpMethod": "POST",
3593
- "Type": "AWS_PROXY",
3594
- "Uri": {
3595
- "Fn::Join": [
3596
- "",
3597
- [
3598
- "arn:",
3599
- {
3600
- "Ref": "AWS::Partition"
3601
- },
3602
- ":apigateway:",
3603
- {
3604
- "Ref": "AWS::Region"
3605
- },
3606
- ":lambda:path/2015-03-31/functions/",
3607
- {
3608
- "Fn::GetAtt": [
3609
- "HandleNewsletterSubmissionLambdaFunction",
3610
- "Arn"
3611
- ]
3612
- },
3613
- "/invocations"
3614
- ]
3615
- ]
3616
- }
3617
- },
3618
- "MethodResponses": []
3619
- }
3620
- },
3621
- "ApiGatewayMethodSubmissionsCountGet": {
3622
- "Type": "AWS::ApiGateway::Method",
3623
- "Properties": {
3624
- "HttpMethod": "GET",
3625
- "RequestParameters": {},
3626
- "ResourceId": {
3627
- "Ref": "ApiGatewayResourceSubmissionsCount"
3628
- },
3629
- "RestApiId": {
3630
- "Ref": "ApiGatewayRestApi"
3631
- },
3632
- "ApiKeyRequired": false,
3633
- "AuthorizationType": "NONE",
3634
- "Integration": {
3635
- "IntegrationHttpMethod": "POST",
3636
- "Type": "AWS_PROXY",
3637
- "Uri": {
3638
- "Fn::Join": [
3639
- "",
3640
- [
3641
- "arn:",
3642
- {
3643
- "Ref": "AWS::Partition"
3644
- },
3645
- ":apigateway:",
3646
- {
3647
- "Ref": "AWS::Region"
3648
- },
3649
- ":lambda:path/2015-03-31/functions/",
3650
- {
3651
- "Fn::GetAtt": [
3652
- "GetSubmissionCountLambdaFunction",
3653
- "Arn"
3654
- ]
3655
- },
3656
- "/invocations"
3657
- ]
3658
- ]
3659
- }
3660
- },
3661
- "MethodResponses": []
3662
- }
3663
- },
3664
- "ApiGatewayMethodTaggedGetGet": {
3665
- "Type": "AWS::ApiGateway::Method",
3666
- "Properties": {
3667
- "HttpMethod": "GET",
3668
- "RequestParameters": {},
3669
- "ResourceId": {
3670
- "Ref": "ApiGatewayResourceTaggedGet"
3671
- },
3672
- "RestApiId": {
3673
- "Ref": "ApiGatewayRestApi"
3674
- },
3675
- "ApiKeyRequired": false,
3676
- "AuthorizationType": "NONE",
3677
- "Integration": {
3678
- "IntegrationHttpMethod": "POST",
3679
- "Type": "AWS_PROXY",
3680
- "Uri": {
3681
- "Fn::Join": [
3682
- "",
3683
- [
3684
- "arn:",
3685
- {
3686
- "Ref": "AWS::Partition"
3687
- },
3688
- ":apigateway:",
3689
- {
3690
- "Ref": "AWS::Region"
3691
- },
3692
- ":lambda:path/2015-03-31/functions/",
3693
- {
3694
- "Fn::GetAtt": [
3695
- "GetTaggedNewsLambdaFunction",
3696
- "Arn"
3697
- ]
3698
- },
3699
- "/invocations"
3700
- ]
3701
- ]
3702
- }
3703
- },
3704
- "MethodResponses": []
3705
- }
3706
- },
3707
- "ApiGatewayDeployment1630906220269": {
3708
- "Type": "AWS::ApiGateway::Deployment",
3709
- "Properties": {
3710
- "RestApiId": {
3711
- "Ref": "ApiGatewayRestApi"
3712
- },
3713
- "StageName": "dev"
3714
- },
3715
- "DependsOn": [
3716
- "ApiGatewayMethodAddOptions",
3717
- "ApiGatewayMethodEditOptions",
3718
- "ApiGatewayMethodEditsubmissionOptions",
3719
- "ApiGatewayMethodGetIdVarOptions",
3720
- "ApiGatewayMethodGetOptions",
3721
- "ApiGatewayMethodGetfeaturedOptions",
3722
- "ApiGatewayMethodRecentOptions",
3723
- "ApiGatewayMethodContentSearchOptions",
3724
- "ApiGatewayMethodContentGetOptions",
3725
- "ApiGatewayMethodContentSpecificOptions",
3726
- "ApiGatewayMethodContentPublishedOptions",
3727
- "ApiGatewayMethodRemoveOptions",
3728
- "ApiGatewayMethodAccessOptions",
3729
- "ApiGatewayMethodSubmissionsGetOptions",
3730
- "ApiGatewayMethodSubmissionsGetIdVarOptions",
3731
- "ApiGatewayMethodSubmissionsHandleOptions",
3732
- "ApiGatewayMethodSubmissionsCountOptions",
3733
- "ApiGatewayMethodTaggedGetOptions",
3734
- "ApiGatewayMethodAddPost",
3735
- "ApiGatewayMethodEditPost",
3736
- "ApiGatewayMethodEditsubmissionPost",
3737
- "ApiGatewayMethodGetIdVarGet",
3738
- "ApiGatewayMethodGetGet",
3739
- "ApiGatewayMethodGetfeaturedGet",
3740
- "ApiGatewayMethodRecentGet",
3741
- "ApiGatewayMethodContentSearchGet",
3742
- "ApiGatewayMethodContentGetGet",
3743
- "ApiGatewayMethodContentSpecificGet",
3744
- "ApiGatewayMethodContentPublishedGet",
3745
- "ApiGatewayMethodRemovePost",
3746
- "ApiGatewayMethodAccessGet",
3747
- "ApiGatewayMethodSubmissionsGetGet",
3748
- "ApiGatewayMethodSubmissionsGetIdVarGet",
3749
- "ApiGatewayMethodSubmissionsHandlePost",
3750
- "ApiGatewayMethodSubmissionsCountGet",
3751
- "ApiGatewayMethodTaggedGetGet"
3752
- ]
3753
- },
3754
- "AddNewsletterEntryLambdaPermissionApiGateway": {
3755
- "Type": "AWS::Lambda::Permission",
3756
- "Properties": {
3757
- "FunctionName": {
3758
- "Fn::GetAtt": [
3759
- "AddNewsletterEntryLambdaFunction",
3760
- "Arn"
3761
- ]
3762
- },
3763
- "Action": "lambda:InvokeFunction",
3764
- "Principal": "apigateway.amazonaws.com",
3765
- "SourceArn": {
3766
- "Fn::Join": [
3767
- "",
3768
- [
3769
- "arn:",
3770
- {
3771
- "Ref": "AWS::Partition"
3772
- },
3773
- ":execute-api:",
3774
- {
3775
- "Ref": "AWS::Region"
3776
- },
3777
- ":",
3778
- {
3779
- "Ref": "AWS::AccountId"
3780
- },
3781
- ":",
3782
- {
3783
- "Ref": "ApiGatewayRestApi"
3784
- },
3785
- "/*/*"
3786
- ]
3787
- ]
3788
- }
3789
- }
3790
- },
3791
- "EditNewsletterEntryLambdaPermissionApiGateway": {
3792
- "Type": "AWS::Lambda::Permission",
3793
- "Properties": {
3794
- "FunctionName": {
3795
- "Fn::GetAtt": [
3796
- "EditNewsletterEntryLambdaFunction",
3797
- "Arn"
3798
- ]
3799
- },
3800
- "Action": "lambda:InvokeFunction",
3801
- "Principal": "apigateway.amazonaws.com",
3802
- "SourceArn": {
3803
- "Fn::Join": [
3804
- "",
3805
- [
3806
- "arn:",
3807
- {
3808
- "Ref": "AWS::Partition"
3809
- },
3810
- ":execute-api:",
3811
- {
3812
- "Ref": "AWS::Region"
3813
- },
3814
- ":",
3815
- {
3816
- "Ref": "AWS::AccountId"
3817
- },
3818
- ":",
3819
- {
3820
- "Ref": "ApiGatewayRestApi"
3821
- },
3822
- "/*/*"
3823
- ]
3824
- ]
3825
- }
3826
- }
3827
- },
3828
- "EditNewsletterSubmissionLambdaPermissionApiGateway": {
3829
- "Type": "AWS::Lambda::Permission",
3830
- "Properties": {
3831
- "FunctionName": {
3832
- "Fn::GetAtt": [
3833
- "EditNewsletterSubmissionLambdaFunction",
3834
- "Arn"
3835
- ]
3836
- },
3837
- "Action": "lambda:InvokeFunction",
3838
- "Principal": "apigateway.amazonaws.com",
3839
- "SourceArn": {
3840
- "Fn::Join": [
3841
- "",
3842
- [
3843
- "arn:",
3844
- {
3845
- "Ref": "AWS::Partition"
3846
- },
3847
- ":execute-api:",
3848
- {
3849
- "Ref": "AWS::Region"
3850
- },
3851
- ":",
3852
- {
3853
- "Ref": "AWS::AccountId"
3854
- },
3855
- ":",
3856
- {
3857
- "Ref": "ApiGatewayRestApi"
3858
- },
3859
- "/*/*"
3860
- ]
3861
- ]
3862
- }
3863
- }
3864
- },
3865
- "GetNewsletterEntryLambdaPermissionApiGateway": {
3866
- "Type": "AWS::Lambda::Permission",
3867
- "Properties": {
3868
- "FunctionName": {
3869
- "Fn::GetAtt": [
3870
- "GetNewsletterEntryLambdaFunction",
3871
- "Arn"
3872
- ]
3873
- },
3874
- "Action": "lambda:InvokeFunction",
3875
- "Principal": "apigateway.amazonaws.com",
3876
- "SourceArn": {
3877
- "Fn::Join": [
3878
- "",
3879
- [
3880
- "arn:",
3881
- {
3882
- "Ref": "AWS::Partition"
3883
- },
3884
- ":execute-api:",
3885
- {
3886
- "Ref": "AWS::Region"
3887
- },
3888
- ":",
3889
- {
3890
- "Ref": "AWS::AccountId"
3891
- },
3892
- ":",
3893
- {
3894
- "Ref": "ApiGatewayRestApi"
3895
- },
3896
- "/*/*"
3897
- ]
3898
- ]
3899
- }
3900
- }
3901
- },
3902
- "GetNewsletterEntriesLambdaPermissionApiGateway": {
3903
- "Type": "AWS::Lambda::Permission",
3904
- "Properties": {
3905
- "FunctionName": {
3906
- "Fn::GetAtt": [
3907
- "GetNewsletterEntriesLambdaFunction",
3908
- "Arn"
3909
- ]
3910
- },
3911
- "Action": "lambda:InvokeFunction",
3912
- "Principal": "apigateway.amazonaws.com",
3913
- "SourceArn": {
3914
- "Fn::Join": [
3915
- "",
3916
- [
3917
- "arn:",
3918
- {
3919
- "Ref": "AWS::Partition"
3920
- },
3921
- ":execute-api:",
3922
- {
3923
- "Ref": "AWS::Region"
3924
- },
3925
- ":",
3926
- {
3927
- "Ref": "AWS::AccountId"
3928
- },
3929
- ":",
3930
- {
3931
- "Ref": "ApiGatewayRestApi"
3932
- },
3933
- "/*/*"
3934
- ]
3935
- ]
3936
- }
3937
- }
3938
- },
3939
- "GetFeaturedNewsletterEntriesLambdaPermissionApiGateway": {
3940
- "Type": "AWS::Lambda::Permission",
3941
- "Properties": {
3942
- "FunctionName": {
3943
- "Fn::GetAtt": [
3944
- "GetFeaturedNewsletterEntriesLambdaFunction",
3945
- "Arn"
3946
- ]
3947
- },
3948
- "Action": "lambda:InvokeFunction",
3949
- "Principal": "apigateway.amazonaws.com",
3950
- "SourceArn": {
3951
- "Fn::Join": [
3952
- "",
3953
- [
3954
- "arn:",
3955
- {
3956
- "Ref": "AWS::Partition"
3957
- },
3958
- ":execute-api:",
3959
- {
3960
- "Ref": "AWS::Region"
3961
- },
3962
- ":",
3963
- {
3964
- "Ref": "AWS::AccountId"
3965
- },
3966
- ":",
3967
- {
3968
- "Ref": "ApiGatewayRestApi"
3969
- },
3970
- "/*/*"
3971
- ]
3972
- ]
3973
- }
3974
- }
3975
- },
3976
- "GetRecentNewsletterEntriesLambdaPermissionApiGateway": {
3977
- "Type": "AWS::Lambda::Permission",
3978
- "Properties": {
3979
- "FunctionName": {
3980
- "Fn::GetAtt": [
3981
- "GetRecentNewsletterEntriesLambdaFunction",
3982
- "Arn"
3983
- ]
3984
- },
3985
- "Action": "lambda:InvokeFunction",
3986
- "Principal": "apigateway.amazonaws.com",
3987
- "SourceArn": {
3988
- "Fn::Join": [
3989
- "",
3990
- [
3991
- "arn:",
3992
- {
3993
- "Ref": "AWS::Partition"
3994
- },
3995
- ":execute-api:",
3996
- {
3997
- "Ref": "AWS::Region"
3998
- },
3999
- ":",
4000
- {
4001
- "Ref": "AWS::AccountId"
4002
- },
4003
- ":",
4004
- {
4005
- "Ref": "ApiGatewayRestApi"
4006
- },
4007
- "/*/*"
4008
- ]
4009
- ]
4010
- }
4011
- }
4012
- },
4013
- "SearchAvailableNewsLambdaPermissionApiGateway": {
4014
- "Type": "AWS::Lambda::Permission",
4015
- "Properties": {
4016
- "FunctionName": {
4017
- "Fn::GetAtt": [
4018
- "SearchAvailableNewsLambdaFunction",
4019
- "Arn"
4020
- ]
4021
- },
4022
- "Action": "lambda:InvokeFunction",
4023
- "Principal": "apigateway.amazonaws.com",
4024
- "SourceArn": {
4025
- "Fn::Join": [
4026
- "",
4027
- [
4028
- "arn:",
4029
- {
4030
- "Ref": "AWS::Partition"
4031
- },
4032
- ":execute-api:",
4033
- {
4034
- "Ref": "AWS::Region"
4035
- },
4036
- ":",
4037
- {
4038
- "Ref": "AWS::AccountId"
4039
- },
4040
- ":",
4041
- {
4042
- "Ref": "ApiGatewayRestApi"
4043
- },
4044
- "/*/*"
4045
- ]
4046
- ]
4047
- }
4048
- }
4049
- },
4050
- "GetAvailableNewsLambdaPermissionApiGateway": {
4051
- "Type": "AWS::Lambda::Permission",
4052
- "Properties": {
4053
- "FunctionName": {
4054
- "Fn::GetAtt": [
4055
- "GetAvailableNewsLambdaFunction",
4056
- "Arn"
4057
- ]
4058
- },
4059
- "Action": "lambda:InvokeFunction",
4060
- "Principal": "apigateway.amazonaws.com",
4061
- "SourceArn": {
4062
- "Fn::Join": [
4063
- "",
4064
- [
4065
- "arn:",
4066
- {
4067
- "Ref": "AWS::Partition"
4068
- },
4069
- ":execute-api:",
4070
- {
4071
- "Ref": "AWS::Region"
4072
- },
4073
- ":",
4074
- {
4075
- "Ref": "AWS::AccountId"
4076
- },
4077
- ":",
4078
- {
4079
- "Ref": "ApiGatewayRestApi"
4080
- },
4081
- "/*/*"
4082
- ]
4083
- ]
4084
- }
4085
- }
4086
- },
4087
- "GetPublishedEntriesLambdaPermissionApiGateway": {
4088
- "Type": "AWS::Lambda::Permission",
4089
- "Properties": {
4090
- "FunctionName": {
4091
- "Fn::GetAtt": [
4092
- "GetPublishedEntriesLambdaFunction",
4093
- "Arn"
4094
- ]
4095
- },
4096
- "Action": "lambda:InvokeFunction",
4097
- "Principal": "apigateway.amazonaws.com",
4098
- "SourceArn": {
4099
- "Fn::Join": [
4100
- "",
4101
- [
4102
- "arn:",
4103
- {
4104
- "Ref": "AWS::Partition"
4105
- },
4106
- ":execute-api:",
4107
- {
4108
- "Ref": "AWS::Region"
4109
- },
4110
- ":",
4111
- {
4112
- "Ref": "AWS::AccountId"
4113
- },
4114
- ":",
4115
- {
4116
- "Ref": "ApiGatewayRestApi"
4117
- },
4118
- "/*/*"
4119
- ]
4120
- ]
4121
- }
4122
- }
4123
- },
4124
- "GetPublishedAvailableNewsLambdaPermissionApiGateway": {
4125
- "Type": "AWS::Lambda::Permission",
4126
- "Properties": {
4127
- "FunctionName": {
4128
- "Fn::GetAtt": [
4129
- "GetPublishedAvailableNewsLambdaFunction",
4130
- "Arn"
4131
- ]
4132
- },
4133
- "Action": "lambda:InvokeFunction",
4134
- "Principal": "apigateway.amazonaws.com",
4135
- "SourceArn": {
4136
- "Fn::Join": [
4137
- "",
4138
- [
4139
- "arn:",
4140
- {
4141
- "Ref": "AWS::Partition"
4142
- },
4143
- ":execute-api:",
4144
- {
4145
- "Ref": "AWS::Region"
4146
- },
4147
- ":",
4148
- {
4149
- "Ref": "AWS::AccountId"
4150
- },
4151
- ":",
4152
- {
4153
- "Ref": "ApiGatewayRestApi"
4154
- },
4155
- "/*/*"
4156
- ]
4157
- ]
4158
- }
4159
- }
4160
- },
4161
- "DeleteNewsletterEntryLambdaPermissionApiGateway": {
4162
- "Type": "AWS::Lambda::Permission",
4163
- "Properties": {
4164
- "FunctionName": {
4165
- "Fn::GetAtt": [
4166
- "DeleteNewsletterEntryLambdaFunction",
4167
- "Arn"
4168
- ]
4169
- },
4170
- "Action": "lambda:InvokeFunction",
4171
- "Principal": "apigateway.amazonaws.com",
4172
- "SourceArn": {
4173
- "Fn::Join": [
4174
- "",
4175
- [
4176
- "arn:",
4177
- {
4178
- "Ref": "AWS::Partition"
4179
- },
4180
- ":execute-api:",
4181
- {
4182
- "Ref": "AWS::Region"
4183
- },
4184
- ":",
4185
- {
4186
- "Ref": "AWS::AccountId"
4187
- },
4188
- ":",
4189
- {
4190
- "Ref": "ApiGatewayRestApi"
4191
- },
4192
- "/*/*"
4193
- ]
4194
- ]
4195
- }
4196
- }
4197
- },
4198
- "HasNewsletterAccessLambdaPermissionApiGateway": {
4199
- "Type": "AWS::Lambda::Permission",
4200
- "Properties": {
4201
- "FunctionName": {
4202
- "Fn::GetAtt": [
4203
- "HasNewsletterAccessLambdaFunction",
4204
- "Arn"
4205
- ]
4206
- },
4207
- "Action": "lambda:InvokeFunction",
4208
- "Principal": "apigateway.amazonaws.com",
4209
- "SourceArn": {
4210
- "Fn::Join": [
4211
- "",
4212
- [
4213
- "arn:",
4214
- {
4215
- "Ref": "AWS::Partition"
4216
- },
4217
- ":execute-api:",
4218
- {
4219
- "Ref": "AWS::Region"
4220
- },
4221
- ":",
4222
- {
4223
- "Ref": "AWS::AccountId"
4224
- },
4225
- ":",
4226
- {
4227
- "Ref": "ApiGatewayRestApi"
4228
- },
4229
- "/*/*"
4230
- ]
4231
- ]
4232
- }
4233
- }
4234
- },
4235
- "GetNewsletterSubmissionsLambdaPermissionApiGateway": {
4236
- "Type": "AWS::Lambda::Permission",
4237
- "Properties": {
4238
- "FunctionName": {
4239
- "Fn::GetAtt": [
4240
- "GetNewsletterSubmissionsLambdaFunction",
4241
- "Arn"
4242
- ]
4243
- },
4244
- "Action": "lambda:InvokeFunction",
4245
- "Principal": "apigateway.amazonaws.com",
4246
- "SourceArn": {
4247
- "Fn::Join": [
4248
- "",
4249
- [
4250
- "arn:",
4251
- {
4252
- "Ref": "AWS::Partition"
4253
- },
4254
- ":execute-api:",
4255
- {
4256
- "Ref": "AWS::Region"
4257
- },
4258
- ":",
4259
- {
4260
- "Ref": "AWS::AccountId"
4261
- },
4262
- ":",
4263
- {
4264
- "Ref": "ApiGatewayRestApi"
4265
- },
4266
- "/*/*"
4267
- ]
4268
- ]
4269
- }
4270
- }
4271
- },
4272
- "GetNewsletterSubmissionLambdaPermissionApiGateway": {
4273
- "Type": "AWS::Lambda::Permission",
4274
- "Properties": {
4275
- "FunctionName": {
4276
- "Fn::GetAtt": [
4277
- "GetNewsletterSubmissionLambdaFunction",
4278
- "Arn"
4279
- ]
4280
- },
4281
- "Action": "lambda:InvokeFunction",
4282
- "Principal": "apigateway.amazonaws.com",
4283
- "SourceArn": {
4284
- "Fn::Join": [
4285
- "",
4286
- [
4287
- "arn:",
4288
- {
4289
- "Ref": "AWS::Partition"
4290
- },
4291
- ":execute-api:",
4292
- {
4293
- "Ref": "AWS::Region"
4294
- },
4295
- ":",
4296
- {
4297
- "Ref": "AWS::AccountId"
4298
- },
4299
- ":",
4300
- {
4301
- "Ref": "ApiGatewayRestApi"
4302
- },
4303
- "/*/*"
4304
- ]
4305
- ]
4306
- }
4307
- }
4308
- },
4309
- "HandleNewsletterSubmissionLambdaPermissionApiGateway": {
4310
- "Type": "AWS::Lambda::Permission",
4311
- "Properties": {
4312
- "FunctionName": {
4313
- "Fn::GetAtt": [
4314
- "HandleNewsletterSubmissionLambdaFunction",
4315
- "Arn"
4316
- ]
4317
- },
4318
- "Action": "lambda:InvokeFunction",
4319
- "Principal": "apigateway.amazonaws.com",
4320
- "SourceArn": {
4321
- "Fn::Join": [
4322
- "",
4323
- [
4324
- "arn:",
4325
- {
4326
- "Ref": "AWS::Partition"
4327
- },
4328
- ":execute-api:",
4329
- {
4330
- "Ref": "AWS::Region"
4331
- },
4332
- ":",
4333
- {
4334
- "Ref": "AWS::AccountId"
4335
- },
4336
- ":",
4337
- {
4338
- "Ref": "ApiGatewayRestApi"
4339
- },
4340
- "/*/*"
4341
- ]
4342
- ]
4343
- }
4344
- }
4345
- },
4346
- "GetSubmissionCountLambdaPermissionApiGateway": {
4347
- "Type": "AWS::Lambda::Permission",
4348
- "Properties": {
4349
- "FunctionName": {
4350
- "Fn::GetAtt": [
4351
- "GetSubmissionCountLambdaFunction",
4352
- "Arn"
4353
- ]
4354
- },
4355
- "Action": "lambda:InvokeFunction",
4356
- "Principal": "apigateway.amazonaws.com",
4357
- "SourceArn": {
4358
- "Fn::Join": [
4359
- "",
4360
- [
4361
- "arn:",
4362
- {
4363
- "Ref": "AWS::Partition"
4364
- },
4365
- ":execute-api:",
4366
- {
4367
- "Ref": "AWS::Region"
4368
- },
4369
- ":",
4370
- {
4371
- "Ref": "AWS::AccountId"
4372
- },
4373
- ":",
4374
- {
4375
- "Ref": "ApiGatewayRestApi"
4376
- },
4377
- "/*/*"
4378
- ]
4379
- ]
4380
- }
4381
- }
4382
- },
4383
- "GetTaggedNewsLambdaPermissionApiGateway": {
4384
- "Type": "AWS::Lambda::Permission",
4385
- "Properties": {
4386
- "FunctionName": {
4387
- "Fn::GetAtt": [
4388
- "GetTaggedNewsLambdaFunction",
4389
- "Arn"
4390
- ]
4391
- },
4392
- "Action": "lambda:InvokeFunction",
4393
- "Principal": "apigateway.amazonaws.com",
4394
- "SourceArn": {
4395
- "Fn::Join": [
4396
- "",
4397
- [
4398
- "arn:",
4399
- {
4400
- "Ref": "AWS::Partition"
4401
- },
4402
- ":execute-api:",
4403
- {
4404
- "Ref": "AWS::Region"
4405
- },
4406
- ":",
4407
- {
4408
- "Ref": "AWS::AccountId"
4409
- },
4410
- ":",
4411
- {
4412
- "Ref": "ApiGatewayRestApi"
4413
- },
4414
- "/*/*"
4415
- ]
4416
- ]
4417
- }
4418
- }
4419
- },
4420
- "NewsletterChangedEventSourceMappingDynamodbNewsletterEntries": {
4421
- "Type": "AWS::Lambda::EventSourceMapping",
4422
- "DependsOn": "IamRoleLambdaExecution",
4423
- "Properties": {
4424
- "BatchSize": 1,
4425
- "EventSourceArn": {
4426
- "Fn::GetAtt": [
4427
- "NewsletterEntries",
4428
- "StreamArn"
4429
- ]
4430
- },
4431
- "FunctionName": {
4432
- "Fn::GetAtt": [
4433
- "NewsletterChangedLambdaFunction",
4434
- "Arn"
4435
- ]
4436
- },
4437
- "StartingPosition": "LATEST",
4438
- "Enabled": true
4439
- }
4440
- },
4441
- "NewsletterEntries": {
4442
- "Type": "AWS::DynamoDB::Table",
4443
- "DeletionPolicy": "Retain",
4444
- "Properties": {
4445
- "AttributeDefinitions": [
4446
- {
4447
- "AttributeName": "RowId",
4448
- "AttributeType": "S"
4449
- },
4450
- {
4451
- "AttributeName": "Site",
4452
- "AttributeType": "S"
4453
- },
4454
- {
4455
- "AttributeName": "UnixTimestampReverse",
4456
- "AttributeType": "N"
4457
- },
4458
- {
4459
- "AttributeName": "FeaturedExpiry",
4460
- "AttributeType": "N"
4461
- },
4462
- {
4463
- "AttributeName": "SourceId",
4464
- "AttributeType": "S"
4465
- },
4466
- {
4467
- "AttributeName": "UnsentNotification",
4468
- "AttributeType": "S"
4469
- },
4470
- {
4471
- "AttributeName": "UnixTimestamp",
4472
- "AttributeType": "N"
4473
- }
4474
- ],
4475
- "KeySchema": [
4476
- {
4477
- "AttributeName": "RowId",
4478
- "KeyType": "HASH"
4479
- }
4480
- ],
4481
- "TableName": "pluss60-dev-newsletterentries",
4482
- "BillingMode": "PAY_PER_REQUEST",
4483
- "PointInTimeRecoverySpecification": {
4484
- "PointInTimeRecoveryEnabled": true
4485
- },
4486
- "StreamSpecification": {
4487
- "StreamViewType": "NEW_AND_OLD_IMAGES"
4488
- },
4489
- "GlobalSecondaryIndexes": [
4490
- {
4491
- "IndexName": "NewsletterEntriesSiteTimestampIndex",
4492
- "KeySchema": [
4493
- {
4494
- "AttributeName": "Site",
4495
- "KeyType": "HASH"
4496
- },
4497
- {
4498
- "AttributeName": "UnixTimestampReverse",
4499
- "KeyType": "RANGE"
4500
- }
4501
- ],
4502
- "Projection": {
4503
- "ProjectionType": "ALL"
4504
- }
4505
- },
4506
- {
4507
- "IndexName": "NewsletterEntriesSiteFeaturedExpiryIndex",
4508
- "KeySchema": [
4509
- {
4510
- "AttributeName": "Site",
4511
- "KeyType": "HASH"
4512
- },
4513
- {
4514
- "AttributeName": "FeaturedExpiry",
4515
- "KeyType": "RANGE"
4516
- }
4517
- ],
4518
- "Projection": {
4519
- "ProjectionType": "ALL"
4520
- }
4521
- },
4522
- {
4523
- "IndexName": "NewsletterEntriesSiteSourceIdIndex",
4524
- "KeySchema": [
4525
- {
4526
- "AttributeName": "Site",
4527
- "KeyType": "HASH"
4528
- },
4529
- {
4530
- "AttributeName": "SourceId",
4531
- "KeyType": "RANGE"
4532
- }
4533
- ],
4534
- "Projection": {
4535
- "ProjectionType": "ALL"
4536
- }
4537
- },
4538
- {
4539
- "IndexName": "NewsletterEntriesUnsentNotiIndex",
4540
- "KeySchema": [
4541
- {
4542
- "AttributeName": "UnsentNotification",
4543
- "KeyType": "HASH"
4544
- },
4545
- {
4546
- "AttributeName": "UnixTimestamp",
4547
- "KeyType": "RANGE"
4548
- }
4549
- ],
4550
- "Projection": {
4551
- "ProjectionType": "ALL"
4552
- }
4553
- }
4554
- ]
4555
- }
4556
- },
4557
- "NewsletterSubmissions": {
4558
- "Type": "AWS::DynamoDB::Table",
4559
- "DeletionPolicy": "Retain",
4560
- "Properties": {
4561
- "AttributeDefinitions": [
4562
- {
4563
- "AttributeName": "RowId",
4564
- "AttributeType": "S"
4565
- },
4566
- {
4567
- "AttributeName": "Site",
4568
- "AttributeType": "S"
4569
- },
4570
- {
4571
- "AttributeName": "UnixTimestampReverse",
4572
- "AttributeType": "N"
4573
- }
4574
- ],
4575
- "KeySchema": [
4576
- {
4577
- "AttributeName": "RowId",
4578
- "KeyType": "HASH"
4579
- }
4580
- ],
4581
- "TableName": "pluss60-dev-newslettersubmissions",
4582
- "BillingMode": "PAY_PER_REQUEST",
4583
- "PointInTimeRecoverySpecification": {
4584
- "PointInTimeRecoveryEnabled": true
4585
- },
4586
- "StreamSpecification": {
4587
- "StreamViewType": "NEW_AND_OLD_IMAGES"
4588
- },
4589
- "GlobalSecondaryIndexes": [
4590
- {
4591
- "IndexName": "NewsletterSubmissionsSiteTimestampIndex",
4592
- "KeySchema": [
4593
- {
4594
- "AttributeName": "Site",
4595
- "KeyType": "HASH"
4596
- },
4597
- {
4598
- "AttributeName": "UnixTimestampReverse",
4599
- "KeyType": "RANGE"
4600
- }
4601
- ],
4602
- "Projection": {
4603
- "ProjectionType": "ALL"
4604
- }
4605
- }
4606
- ]
4607
- }
4608
- },
4609
- "NewsletterUserEntries": {
4610
- "Type": "AWS::DynamoDB::Table",
4611
- "DeletionPolicy": "Retain",
4612
- "Properties": {
4613
- "AttributeDefinitions": [
4614
- {
4615
- "AttributeName": "RowId",
4616
- "AttributeType": "S"
4617
- },
4618
- {
4619
- "AttributeName": "UserId",
4620
- "AttributeType": "S"
4621
- },
4622
- {
4623
- "AttributeName": "UnixTimestampReverse",
4624
- "AttributeType": "N"
4625
- }
4626
- ],
4627
- "KeySchema": [
4628
- {
4629
- "AttributeName": "RowId",
4630
- "KeyType": "HASH"
4631
- }
4632
- ],
4633
- "TableName": "pluss60-dev-newsletteruserentries",
4634
- "BillingMode": "PAY_PER_REQUEST",
4635
- "PointInTimeRecoverySpecification": {
4636
- "PointInTimeRecoveryEnabled": true
4637
- },
4638
- "StreamSpecification": {
4639
- "StreamViewType": "NEW_AND_OLD_IMAGES"
4640
- },
4641
- "GlobalSecondaryIndexes": [
4642
- {
4643
- "IndexName": "NewsletterUserEntriesUserIdTimestampIndex",
4644
- "KeySchema": [
4645
- {
4646
- "AttributeName": "UserId",
4647
- "KeyType": "HASH"
4648
- },
4649
- {
4650
- "AttributeName": "UnixTimestampReverse",
4651
- "KeyType": "RANGE"
4652
- }
4653
- ],
4654
- "Projection": {
4655
- "ProjectionType": "ALL"
4656
- }
4657
- }
4658
- ]
4659
- }
4660
- }
4661
- },
4662
- "Outputs": {
4663
- "ServerlessDeploymentBucketName": {
4664
- "Value": "serverless.deploys.pluss60.ap-southeast-2"
4665
- },
4666
- "AddNewsletterEntryLambdaFunctionQualifiedArn": {
4667
- "Description": "Current Lambda function version",
4668
- "Value": {
4669
- "Ref": "AddNewsletterEntryLambdaVersionRmbuFM9qkfNPogs9XwS6C7vsuLV59LR5SdjMvyNODc"
4670
- }
4671
- },
4672
- "EditNewsletterEntryLambdaFunctionQualifiedArn": {
4673
- "Description": "Current Lambda function version",
4674
- "Value": {
4675
- "Ref": "EditNewsletterEntryLambdaVersionFTYTGOUgRubkF5fsDysF8ioCE1bVLMqgVM1TFbqp8"
4676
- }
4677
- },
4678
- "EditNewsletterSubmissionLambdaFunctionQualifiedArn": {
4679
- "Description": "Current Lambda function version",
4680
- "Value": {
4681
- "Ref": "EditNewsletterSubmissionLambdaVersionvecrRFm2g5sFNt3fFlDHabSANQJVlhOgOYcNX44hdU"
4682
- }
4683
- },
4684
- "GetNewsletterEntryLambdaFunctionQualifiedArn": {
4685
- "Description": "Current Lambda function version",
4686
- "Value": {
4687
- "Ref": "GetNewsletterEntryLambdaVersion5dFESjuH64cSHMmHR6B54GVZO4Gg5CKIo7H3dbj7To"
4688
- }
4689
- },
4690
- "GetNewsletterEntriesLambdaFunctionQualifiedArn": {
4691
- "Description": "Current Lambda function version",
4692
- "Value": {
4693
- "Ref": "GetNewsletterEntriesLambdaVersionweBar6zhX51bEQVIAu4Y1m2JzznSoCcHeOATKqbYo"
4694
- }
4695
- },
4696
- "GetFeaturedNewsletterEntriesLambdaFunctionQualifiedArn": {
4697
- "Description": "Current Lambda function version",
4698
- "Value": {
4699
- "Ref": "GetFeaturedNewsletterEntriesLambdaVersionToHx00Wp7cpRfJcP24S4f0pBZQN4kIxJzLK50R94mg"
4700
- }
4701
- },
4702
- "GetRecentNewsletterEntriesLambdaFunctionQualifiedArn": {
4703
- "Description": "Current Lambda function version",
4704
- "Value": {
4705
- "Ref": "GetRecentNewsletterEntriesLambdaVersion2mjL2ZynBoM3x644LtIPsHG8PPyPfkxhFqM8sg"
4706
- }
4707
- },
4708
- "SearchAvailableNewsLambdaFunctionQualifiedArn": {
4709
- "Description": "Current Lambda function version",
4710
- "Value": {
4711
- "Ref": "SearchAvailableNewsLambdaVersiond2yp9FilFDhPL1kNaLMWPZRzxGdmJogVzDIQWojtKw"
4712
- }
4713
- },
4714
- "GetAvailableNewsLambdaFunctionQualifiedArn": {
4715
- "Description": "Current Lambda function version",
4716
- "Value": {
4717
- "Ref": "GetAvailableNewsLambdaVersionIyC289GrBJh5nxolI8uztxO36PWVWCTXQKVtEsFCaw"
4718
- }
4719
- },
4720
- "GetPublishedEntriesLambdaFunctionQualifiedArn": {
4721
- "Description": "Current Lambda function version",
4722
- "Value": {
4723
- "Ref": "GetPublishedEntriesLambdaVersione5oiWJn2hFNmGkgYdW16gC518OAkPAj6ChabBY4E"
4724
- }
4725
- },
4726
- "GetPublishedAvailableNewsLambdaFunctionQualifiedArn": {
4727
- "Description": "Current Lambda function version",
4728
- "Value": {
4729
- "Ref": "GetPublishedAvailableNewsLambdaVersion5eSsEg2Af8vFxayzDZABi1kSBrV572gRewOyejBaK4"
4730
- }
4731
- },
4732
- "DeleteNewsletterEntryLambdaFunctionQualifiedArn": {
4733
- "Description": "Current Lambda function version",
4734
- "Value": {
4735
- "Ref": "DeleteNewsletterEntryLambdaVersionwP42Gx8kIREsMVBUVNqvXnVUDHDWrsad5SJ3go11OE"
4736
- }
4737
- },
4738
- "HasNewsletterAccessLambdaFunctionQualifiedArn": {
4739
- "Description": "Current Lambda function version",
4740
- "Value": {
4741
- "Ref": "HasNewsletterAccessLambdaVersionuv7lamBjb6571N9IsGY8wMtliMHnjOheo8Yp32lzEA"
4742
- }
4743
- },
4744
- "GetNewsletterSubmissionsLambdaFunctionQualifiedArn": {
4745
- "Description": "Current Lambda function version",
4746
- "Value": {
4747
- "Ref": "GetNewsletterSubmissionsLambdaVersionpAryZZOkRXO3dqgaCM0bWtza1Hf0u0rNA3OdXMKW5TQ"
4748
- }
4749
- },
4750
- "GetNewsletterSubmissionLambdaFunctionQualifiedArn": {
4751
- "Description": "Current Lambda function version",
4752
- "Value": {
4753
- "Ref": "GetNewsletterSubmissionLambdaVersionF8omf9jKl7e7ee0hGgyZ31Bz0mzhei4iJ0pyhwj8vi8"
4754
- }
4755
- },
4756
- "HandleNewsletterSubmissionLambdaFunctionQualifiedArn": {
4757
- "Description": "Current Lambda function version",
4758
- "Value": {
4759
- "Ref": "HandleNewsletterSubmissionLambdaVersionfkCKUaVe4K156W66mP8mGz7wS19WA9tmqi84spPRi4"
4760
- }
4761
- },
4762
- "GetSubmissionCountLambdaFunctionQualifiedArn": {
4763
- "Description": "Current Lambda function version",
4764
- "Value": {
4765
- "Ref": "GetSubmissionCountLambdaVersionSf8Gyn6B08RlrDV1b32lbVXXW0wVQjv6dS4YX3LN4"
4766
- }
4767
- },
4768
- "GetTaggedNewsLambdaFunctionQualifiedArn": {
4769
- "Description": "Current Lambda function version",
4770
- "Value": {
4771
- "Ref": "GetTaggedNewsLambdaVersionjhdoWNAGFbOwU6bxnDuARYLyohqjzexMrzyQtjGYo"
4772
- }
4773
- },
4774
- "NewsletterChangedLambdaFunctionQualifiedArn": {
4775
- "Description": "Current Lambda function version",
4776
- "Value": {
4777
- "Ref": "NewsletterChangedLambdaVersion5anvGO3hy8cNStZmK31cJ7zA45f5MfKuFo4BO2mzFs"
4778
- }
4779
- },
4780
- "WatchNewsletterLambdaFunctionQualifiedArn": {
4781
- "Description": "Current Lambda function version",
4782
- "Value": {
4783
- "Ref": "WatchNewsletterLambdaVersionQ4kfcsAGNMu0qwK2mxfFVVYL7X772AOseyQGu3cUpY"
4784
- }
4785
- },
4786
- "ServiceEndpoint": {
4787
- "Description": "URL of the service endpoint",
4788
- "Value": {
4789
- "Fn::Join": [
4790
- "",
4791
- [
4792
- "https://",
4793
- {
4794
- "Ref": "ApiGatewayRestApi"
4795
- },
4796
- ".execute-api.",
4797
- {
4798
- "Ref": "AWS::Region"
4799
- },
4800
- ".",
4801
- {
4802
- "Ref": "AWS::URLSuffix"
4803
- },
4804
- "/dev"
4805
- ]
4806
- ]
4807
- }
4808
- }
4809
- }
4810
- }