Skip to content

Commit 0773ce5

Browse files
authored
chore: merge release/v1.13.0 into master
2 parents 0f1a082 + 4efb9df commit 0773ce5

File tree

98 files changed

+14771
-390
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+14771
-390
lines changed

.travis.yml

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# Enable container based builds
22
sudo: false
3+
dist: xenial # required for Python >= 3.7
34
language: python
45

56
matrix:
67
include:
8+
- python: 3.7
9+
env:
10+
- TOXENV=py37
711
- python: 3.6
812
env:
913
- TOXENV=py36
@@ -21,17 +25,3 @@ install:
2125
script:
2226
# Runs unit tests
2327
- tox
24-
25-
# Build docs pages only from master branch
26-
- if [ "$TRAVIS_BRANCH" = "master" ]; then make build-docs; fi
27-
28-
deploy:
29-
# Deploy the docs to Github Pages *only* from master branch
30-
- provider: pages
31-
skip_cleanup: true
32-
local_dir: docs/website/_build/html
33-
github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard
34-
keep-history: true
35-
on:
36-
branch: master
37-

DEVELOPMENT_GUIDE.rst

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@ steps manually.
1717

1818
1. Install Python Versions
1919
~~~~~~~~~~~~~~~~~~~~~~~~~~
20-
Python 2.7 is our officially supported Python version. We have a future goal to support to Python3.6 but the code base
21-
currently does not work with Python3. To make future migration easier, any new code we write must be compatible with
22-
Python3. Follow the idioms from this `excellent cheatsheet`_ to make sure your code is compatible with both Python
23-
versions.
20+
Our officially supported Python versions are 2.7, 3.6, and 3.7. Follow the idioms from this `excellent cheatsheet`_ to
21+
make sure your code is compatible with both Python 2.7 and 3 versions.
2422

2523
Setup Python locally using `pyenv`_
2624

Makefile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,6 @@ test:
4747
$(info [*] Run the unit test with minimum code coverage of $(CODE_COVERAGE)%...)
4848
@pytest --cov samtranslator --cov-report term-missing --cov-fail-under $(CODE_COVERAGE) tests
4949

50-
build-docs:
51-
$(info [*] Build documentation...)
52-
@pip install -r docs/website/requirements.txt
53-
@$(MAKE) -C docs/website html
54-
5550
# Command to run everytime you make changes to verify everything works
5651
dev: flake test
5752

README.md

Lines changed: 85 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,93 @@
1-
[![Build Status](https://travis-ci.org/awslabs/serverless-application-model.svg?branch=develop)](https://travis-ci.org/awslabs/serverless-application-model)
2-
[![PyPI version](https://badge.fury.io/py/aws-sam-translator.svg)](https://badge.fury.io/py/aws-sam-translator)
3-
[![Codecov Test Coverage](https://codecov.io/gh/awslabs/serverless-application-model/branch/master/graphs/badge.svg?style=flat)](https://codecov.io/gh/awslabs/serverless-application-model)
4-
5-
![Logo](aws_sam_introduction.png)
1+
<p align="center">
2+
</p>
63

74
# AWS Serverless Application Model (AWS SAM)
8-
You can use SAM to define serverless applications in simple and clean syntax.
95

10-
This GitHub project is the starting point for AWS SAM. It contains the SAM specification, the code that translates SAM templates into AWS CloudFormation stacks, general information about the model, and examples of common applications.
6+
![Apache-2.0](https://img.shields.io/github/license/awslabs/serverless-application-model.svg)
7+
![SAM_CLI release](https://img.shields.io/github/release/awslabs/aws-sam-cli.svg?label=CLI%20Version)
8+
9+
The AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications.
10+
It provides shorthand syntax to express functions, APIs, databases, and event source mappings.
11+
With just a few lines of configuration, you can define the application you want and model it.
12+
13+
[![Getting Started with AWS SAM](./docs/get-started-youtube.png)](https://www.youtube.com/watch?v=1dzihtC5LJ0)
14+
15+
## Get Started
16+
17+
To get started with building SAM-based applications, use the SAM CLI. SAM CLI provides a Lambda-like execution
18+
environment that lets you locally build, test, debug, and deploy applications defined by SAM templates.
19+
20+
* [Install SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
21+
* [Build & Deploy a "Hello World" Web App](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-quick-start.html)
22+
* [Install AWS Toolkit](https://aws.amazon.com/getting-started/tools-sdks/#IDE_and_IDE_Toolkits) to use SAM with your favorite IDEs.
23+
24+
25+
**Next Steps:** Learn to build a more complex serverless application.
26+
* [Extract text from images and store in a database](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-example-s3.html) using Amazon S3 and Amazon Rekognition services.
27+
* [Detect when records are added to a database](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-example-ddb.html) using Amazon DynamoDB database and asynchronous stream processing.
28+
29+
30+
**Detailed References:** Explains SAM commands and usage in depth.
31+
* [CLI Commands](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html)
32+
* [SAM Template Specification](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md)
33+
* [Policy Templates](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-policy-templates.html)
34+
35+
## Why SAM
36+
37+
+ **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\.
38+
39+
+ **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.
40+
41+
+ **Deep integration with development tools**. You can use SAM with a suite of tools you love and use.
42+
+ IDEs: [PyCharm](https://aws.amazon.com/pycharm/), [IntelliJ](https://aws.amazon.com/intellij/), [Visual Studio Code](https://aws.amazon.com/visualstudiocode/), [Visual Studio](https://aws.amazon.com/visualstudio/), [AWS Cloud9](https://aws.amazon.com/cloud9/)
43+
+ Build: [CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/)
44+
+ Deploy: [CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/), [Jenkins](https://wiki.jenkins.io/display/JENKINS/AWS+SAM+Plugin)
45+
+ Continuous Delivery Pipelines: [CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/)
46+
+ Discover Serverless Apps & Patterns: [AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/)
47+
48+
+ **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\.
49+
50+
+ **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\.
51+
52+
## What is this Github repository? 💻
53+
54+
This GitHub repository contains the SAM Specification, the Python code that translates SAM templates into AWS CloudFormation stacks and lots of examples applications.
55+
In the words of SAM developers:
56+
57+
> SAM Translator is the Python code that deploys SAM templates via AWS CloudFormation. Source code is high quality (95% unit test coverage),
58+
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!
59+
Clone it and run `make pr`!
60+
61+
## Contribute to SAM
62+
63+
We love our contributors ❤️ We have over 100 contributors who have built various parts of the product.
64+
Read this [testimonial from @ndobryanskyy](https://www.lohika.com/aws-sam-my-exciting-first-open-source-experience/) to learn
65+
more about what it was like contributing to SAM.
66+
67+
Depending on your interest and skill, you can help build the different parts of the SAM project;
68+
69+
**Enhance the SAM Specification**
70+
71+
Make pull requests, report bugs, and share ideas to improve the full SAM template specification.
72+
Source code is located on Github at [awslabs/serverless-application-model](https://github.com/awslabs/serverless-application-model).
73+
Read the [SAM Specification Contributing Guide](https://github.com/awslabs/serverless-application-model/blob/master/CONTRIBUTING.md)
74+
to get started.
75+
76+
**Strengthen SAM CLI**
77+
78+
Add new commands or enhance existing ones, report bugs, or request new features for the SAM CLI.
79+
Source code is located on Github at [awslabs/aws-sam-cli](https://github.com/awslabs/aws-sam-cli). Read the [SAM CLI Contributing Guide](https://github.com/awslabs/aws-sam-cli/blob/develop/CONTRIBUTING.md) to
80+
get started.
81+
82+
**Update SAM Developer Guide**
1183

12-
The SAM specification and implementation are open sourced under the Apache 2.0 license. The current version of the SAM specification is available at [AWS SAM 2016-10-31](versions/2016-10-31.md).
84+
[SAM Developer Guide](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/index.html) provides comprehensive getting started guide and reference documentation.
85+
Source code is located on Github at [awsdocs/aws-sam-developer-guide](https://github.com/awsdocs/aws-sam-developer-guide).
86+
Read the [SAM Documentation Contribution Guide](https://github.com/awsdocs/aws-sam-developer-guide/blob/master/CONTRIBUTING.md) to get
87+
started.
1388

14-
Documentation about using AWS SAM to define, test, and deploy serverless applications is available at [AWS Serverless Application Model Developer Guide](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html).
89+
### Join the SAM Community on Slack
90+
[Join the SAM developers channel (#samdev)](https://join.slack.com/t/awsdevelopers/shared_invite/enQtMzg3NTc5OTM2MzcxLTdjYTdhYWE3OTQyYTU4Njk1ZWY4Y2ZjYjBhMTUxNGYzNDg5MWQ1ZTc5MTRlOGY0OTI4NTdlZTMwNmI5YTgwOGM/) on Slack to collaborate with fellow community members and the AWS SAM team.
1591

16-
## Contributing new features and enhancements to SAM
17-
You can build serverless applications faster and further simplify your development of serverless applications by defining new event sources, new resource types, and new parameters within SAM. Additionally, you can modify SAM to integrate it with other frameworks and deployment providers from the community for building serverless applications.
1892

19-
[Read the Development Guide](DEVELOPMENT_GUIDE.rst) for in-depth information on how to start making changes.
2093

21-
[Join the SAM developers channel (#samdev) on Slack](https://join.slack.com/t/awsdevelopers/shared_invite/enQtMzg3NTc5OTM2MzcxLTdjYTdhYWE3OTQyYTU4Njk1ZWY4Y2ZjYjBhMTUxNGYzNDg5MWQ1ZTc5MTRlOGY0OTI4NTdlZTMwNmI5YTgwOGM/) to collaborate with fellow community members and the AWS SAM team.

docs/cloudformation_compatibility.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ BinaryMediaTypes All
171171
MinimumCompressionSize All
172172
Cors All
173173
TracingEnabled All
174+
OpenApiVersion None
174175
================================== ======================== ========================
175176

176177

docs/get-started-youtube.png

110 KB
Loading

docs/globals.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Currently, the following resources and properties are being supported:
8888
AccessLogSetting:
8989
CanarySetting:
9090
TracingEnabled:
91+
OpenApiVersion:
9192
9293
SimpleTable:
9394
# Properties of AWS::Serverless::SimpleTable

docs/website/Makefile

Lines changed: 0 additions & 20 deletions
This file was deleted.

docs/website/_static/custom.css

Lines changed: 0 additions & 35 deletions
This file was deleted.

docs/website/_static/logo.png

-11.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)