Skip to content
AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications
Python Makefile
Branch: develop
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore: typo in 2016-10-31.md (#979) Jun 17, 2019
bin chore: update black version (#1419) Jan 27, 2020
docs feat: introduce AutoPublishCodeSha256 to allow overriding the publish… Jan 27, 2020
examples feat(policy-templates): add EventBridgePutEventsPolicy (#1409) Feb 11, 2020
requirements chore: V1.14.0 release patch (#1081) Aug 14, 2019
samtranslator feat: add TimeoutInMillis to HttpApi events (#1450) Feb 14, 2020
tests feat: add TimeoutInMillis to HttpApi events (#1450) Feb 14, 2020
versions feat: add TimeoutInMillis to HttpApi events (#1450) Feb 14, 2020
.coveragerc Adding dotfiles for Travis, Flake, Coverage and Pylint (#359) Apr 4, 2018
.flake8 chore: turn on flake 8 (#720) Dec 14, 2018
.gitignore release: 1.5.1 (#391) Apr 18, 2018
.pre-commit-config.yaml chore: Adopt black formatting (#1322) Dec 27, 2019
.pylintrc Adding dotfiles for Travis, Flake, Coverage and Pylint (#359) Apr 4, 2018
.travis.yml chore: update black version (#1419) Jan 27, 2020
CODE_OF_CONDUCT.md Adding standard files (#338) Mar 22, 2018
CONTRIBUTING.md docs: fix link to Github issues (#1149) Sep 24, 2019
DESIGN.md doc: update DESIGN.md to include an Overview and entry point for SAM (#… May 25, 2018
DEVELOPMENT_GUIDE.rst docs: update black instructions in dev guide (#1392) Jan 20, 2020
HOWTO.md chore: upgrade to nodejs12.x for all examples and tests (#1363) Jan 8, 2020
LICENSE chore: fix copyright in LICENSE (#1041) Jul 30, 2019
MANIFEST.in Update packaging configuration in setup.py and MANIFEST.in (#394) Apr 25, 2018
Makefile fix: dependency fixes for v20 (#1358) Jan 4, 2020
NOTICE 🥁 SAM Translator Implementation is now open source! (#356) Apr 4, 2018
README.md docs: update README.md to point to aws sam spec (#1388) Jan 20, 2020
appveyor.yml build: add AppVeyor config to move away from Travis (#1263) Dec 6, 2019
aws_sam_introduction.png adding AWS SAM intro graphic (#117) Apr 5, 2017
pyproject.toml chore: Adopt black formatting (#1322) Dec 27, 2019
pytest.ini 🥁 SAM Translator Implementation is now open source! (#356) Apr 4, 2018
setup.cfg Update packaging configuration in setup.py and MANIFEST.in (#394) Apr 25, 2018
setup.py chore: Adopt black formatting (#1322) Dec 27, 2019
tox.ini chore: Adopt black formatting (#1322) Dec 27, 2019

README.md

AWS Serverless Application Model (AWS SAM)

Apache-2.0 SAM_CLI release

The AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. It provides shorthand syntax to express functions, APIs, databases, and event source mappings. With just a few lines of configuration, you can define the application you want and model it.

Getting Started with AWS SAM

Get Started

To get started with building SAM-based applications, use the SAM CLI. SAM CLI provides a Lambda-like execution environment that lets you locally build, test, debug, and deploy applications defined by SAM templates.

Next Steps: Learn to build a more complex serverless application.

Detailed References: Explains SAM commands and usage in depth.

Why SAM

  • Single-deployment configuration. SAM makes it easy to organize related components and resources, and operate on a single stack. You can use SAM to share configuration (such as memory and timeouts) between resources, and deploy all related resources together as a single, versioned entity.

  • Local debugging and testing. Use SAM CLI to locally build, test, and debug SAM applications on a Lambda-like execution environment. It tightens the development loop by helping you find & troubleshoot issues locally that you might otherwise identify only after deploying to the cloud.

  • Deep integration with development tools. You can use SAM with a suite of tools you love and use.

  • Built-in best practices. You can use SAM to define and deploy your infrastructure as configuration. This makes it possible for you to use and enforce best practices through code reviews. Also, with a few lines of configuration, you can enable safe deployments through CodeDeploy, and can enable tracing using AWS X-Ray.

  • Extension of AWS CloudFormation. Because SAM is an extension of AWS CloudFormation, you get the reliable deployment capabilities of AWS CloudFormation. You can define resources by using CloudFormation in your SAM template. Also, you can use the full suite of resources, intrinsic functions, and other template features that are available in CloudFormation.

What is this Github repository? 💻

This GitHub repository contains the SAM Specification, the Python code that translates SAM templates into AWS CloudFormation stacks and lots of examples applications. In the words of SAM developers:

SAM Translator is the Python code that deploys SAM templates via AWS CloudFormation. Source code is high quality (95% unit test coverage), with tons of tests to ensure your changes don't break compatibility. Change the code, run the tests, and if they pass, you should be good to go! Clone it and run make pr!

Contribute to SAM

We love our contributors ❤️ We have over 100 contributors who have built various parts of the product. Read this testimonial from @ndobryanskyy to learn more about what it was like contributing to SAM.

Depending on your interest and skill, you can help build the different parts of the SAM project;

Enhance the SAM Specification

Make pull requests, report bugs, and share ideas to improve the full SAM template specification. Source code is located on Github at awslabs/serverless-application-model. Read the SAM Specification Contributing Guide to get started.

Strengthen SAM CLI

Add new commands or enhance existing ones, report bugs, or request new features for the SAM CLI. Source code is located on Github at awslabs/aws-sam-cli. Read the SAM CLI Contributing Guide to get started.

Update SAM Developer Guide

SAM Developer Guide provides comprehensive getting started guide and reference documentation. Source code is located on Github at awsdocs/aws-sam-developer-guide. Read the SAM Documentation Contribution Guide to get started.

Join the SAM Community on Slack

Join the SAM developers channel (#samdev) on Slack to collaborate with fellow community members and the AWS SAM team.

You can’t perform that action at this time.