This is a prototype of a serverless mailing list, using Amazon services.

Written by RG II, and released under the GNU Copyleft License, Version 3.

http://www.listservecowboy.com/api-tests.html

ModelDescription

API Tests Screenshot.pdf

APITestsHTML

S3BucketsForMessages

EmbeddedAPIKey

APIGatewayModels

APIGatewayResources

DnyamoDB

Swagger+APIJson

SwaggerHub

IAMRolesForLambda

IAMRolePolicies

The 'common' directory contains 3rd-party libraries and mail_list_utils.py which has some common routines for the Lambda functions.

To install a 3rd-party library into the 'common' dir, change to the upper dir, and run 'pip install PACKAGE_NAME -U -t common'.

Each of the other directory correspond to a Lambda function. Symlink libraries from the 'common' dir here if necessary.

To pack a Lambda function for upload, in the function directory, run 'zip -FS -r9 ../FUNCTION_NAME.zip *'. Be sure to remove .pyc files (compiled python script) if any.

The resulting zip file is ready to be uploaded to Lambda.

No local package need to be installed anywhere, except aws-cli, if you want to run AWS commands from the console.

The demo web page is served by a static S3 website bucket.

There are a few other S3 buckets used in the demo, all accessible from the AWS web console, in the itinc test account. I've set a few custom life cycle rules and event triggers too.

SES and API Gateway settings are all on the web console. I have no local file for their configuration except some simple notes.

The settings could be dumped if you run the aws-cli get-, list- or describe-* commands.