🥁 SAM Implementation is now open source!
Spec + Code == Awesomeness
In 2016, we launched SAM and opened up the SAM specification on this Github repo to invite collaborators. We've loved your questions, proposals for new features, enhancements to examples, bug reports, and passionate discussions around developing serverless applications.
Today, we are incredibly excited (💃🕺🍾 🎉) to open source the underlying SAM implementation - the Python code that converts SAM templates to CloudFormation stacks. Now, in addition to proposing changes to the SAM Spec, you can contribute new features and enhancements to all of SAM! You'll find the code under the samtranslator
folder and the tests under the tests
directory.
Development Process
We invite anyone who is interested in serverless to participate in developing SAM. You can fork the SAM repository, add new event sources, new resources, or any new features that help you build serverless apps faster.
Once you're ready to merge back in, propose changes and solicit feedback by creating a pull request on GitHub. Also, use the #samdev slack channel to communicate and collaborate with the AWS SAM team and fellow SAM developers.
Releases
We will periodically deploy the code from GitHub through CloudFormation. More on this soon.
Getting Started
Clone the repository and read the Development Guide for more information on how to get setup and use this code. The easiest way to run this code is by running the tests.
#samdev Slack
Come hang out with SAM Team and the community developers on #samdev Slack channel and help us develop SAM.
Click on this link to get invited - https://awssamopensource.splashthat.com (https://awssamopensource.splashthat.com/)
CAUTION: Plenty of passionate Python and Serverless developers hangout in this channel. There will be intense, and sometimes heated, discussions around Python, coding, and improving serverless developer experience. If you are looking for a place to chill, this Slack channel is not for you
CloudWatch Logs Trigger
As a part of this release, we have also added support for CloudWatch Logs Trigger. You can easily trigger a Lambda function when log statements are written to CloudWatch.
LogsFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: index.handler
Runtime: nodejs6.10
Events:
LogsProcessor:
# This is your Logs trigger
Type: CloudWatchLogs
Properties:
LogGroupName: !Ref CloudWatchLambdaLogsGroup
FilterPattern: Hello log processor
What's next?
You! 👈 Yeah, you!
Come join the Slack Channel. Collaborate with us to start hacking SAM together. Let's work together to make it really simple for developers to build serverless applications.