diff --git a/README.md b/README.md
index 7f1b2d8366..6f8a0f7b86 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,15 @@
# AWS Serverless Application Definition Specification
-The goal of the AWS Serverless Application Definition Specification is to define a standard application model for serverless applications.
+The goal of the AWS Serverless Application Definition specification is to define a standard application model for serverless applications.
-This GitHub project is the starting point for the AWS Serverless Application Definition Specification. Here you will find the information you need about the AWS Serverless Application Definition Specification, examples of common applications, and some general information regarding the project.
+This GitHub project is the starting point for the AWS Serverless Application Definition specification, and contains general information, information about the specification, and examples of common applications.
-## Current Version - 2016-10-31
+## Current version
-The current version of the AWS Serverless Application Definition specification is 2016-10-31 - and you can find it here:
+**The current version is available at
+[AWS Serverless Application Definition 2016-10-31 Specification](versions/2016-10-31.md).**
-### [AWS Serverless Application Definition 2016-10-31 Specification](versions/2016-10-31.md)
-
-This repository contains the existing AWS Serverless Application Definition 2016-10-31 specification as well as proposals for the next verson of the specification.
+This repository contains the existing specification as well as proposals for the next version.
## Structure
diff --git a/versions/2016-10-31.md b/versions/2016-10-31.md
index 376ec57812..3dcfb35607 100644
--- a/versions/2016-10-31.md
+++ b/versions/2016-10-31.md
@@ -8,20 +8,30 @@ The AWS Serverless Application Definition specification is licensed under [The A
## Introduction
-AWS Serverless Application Definition is a specification used to define serverless applications on AWS. Serverless applications are applications composed of functions triggered by events. A typical serverless application consists of one or more AWS Lambda Functions triggered by events such as object uploads to S3, SNS notifications, and API actions. Those functions can stand alone or leverage other resources such as DynamoDB tables or S3 buckets. The most basic serverless application is simply a function.
+AWS Serverless Application Definition is a specification used to define serverless applications on AWS.
-The AWS Serverless Application Definition Specification is based on [AWS CloudFormation](https://aws.amazon.com/cloudformation/). A serverless application is defined in an [AWS CloudFormation template](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html) and deployed as an [AWS CloudFormation stack](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/updating.stacks.walkthrough.html). A AWS Serverless Application Definition template is an AWS CloudFormation template.
+Serverless applications are applications composed of functions triggered by events. A typical serverless application consists of one or more AWS Lambda functions triggered by events such as object uploads to [Amazon S3](https://aws.amazon.com/s3), [Amazon SNS](https://aws.amazon.com/sns) notifications, and API actions. Those functions can stand alone or leverage other resources such as [Amazon DynamoDB](https://aws.amazon.com/dynamodb) tables or S3 buckets. The most basic serverless application is simply a function.
-The AWS Serverless Application Definition Specification defines a set of objects which can be included in an AWS CloudFormation template to easily describe common components of serverless applications.
+The AWS Serverless Application Definition specification is based on [AWS CloudFormation](https://aws.amazon.com/cloudformation/). A serverless application is defined in a [CloudFormation template](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html) and deployed as a [CloudFormation stack](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/updating.stacks.walkthrough.html). An AWS Serverless Application Definition template is a CloudFormation template.
+
+The AWS Serverless Application Definition specification defines a set of objects which can be included in a CloudFormation template to describe common components of serverless applications easily.
## Specification
### Format
-The files describing a serverless application in accordance with the AWS Serverless Application Definition Specification are [JSON](http://www.json.org/) or [YAML](http://yaml.org/spec/1.1/) formatted text files. These files are [AWS CloudFormation templates](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html). The AWS Serverless Application Definition Specification introduces several new resources and property types which can be embedded into the [Resources](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) section of the template. The templates may include all other template sections and use [AWS CloudFormation Intrinsic Functions](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) to access properties available only at runtime. In order to include objects defined by the AWS Serverless Application Definition Specification within an AWS CloudFormation template, the template must include a `Transform` section in the document root with a value of `AWS::Serverless-2016-10-31`.
+The files describing a serverless application in accordance with the AWS Serverless Application Definition Specification are [JSON](http://www.json.org/) or [YAML](http://yaml.org/spec/1.1/) formatted text files. These files are [CloudFormation templates](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html).
+
+The AWS Serverless Application Definition specification introduces several new resources and property types that can be embedded into the [Resources](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) section of the template. The templates may include all other template sections and use [CloudFormation intrinsic functions](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) to access properties available only at runtime.
+
+In order to include objects defined by the AWS Serverless Application Definition specification within a CloudFormation template, the template must include a `Transform` section in the document root with a value of `AWS::Serverless-2016-10-31`.
-#### AWS Serverless Application Definition Template Example
+ - [Resource types](#resource-types)
+ - [Event source types](#event-source-types)
+ - [Property types](#property-types)
+
+### Example: AWS Serverless Application Definition template
```yaml
AWSTemplateFormatVersion: '2010-09-09'
@@ -37,43 +47,46 @@ Resources:
All property names in the specification are **case sensitive**.
-### AWS Serverless Application Definition Resource Types
+### Resource types
+ - [AWS::Serverless::Function](#aws-serverless-function)
+ - [AWS::Serverless::Api](#aws-serverless-api)
+ - [AWS::Serverless::SimpleTable](#aws-serverless-simpletable)
#### AWS::Serverless::Function
-The `AWS::Serverless::Function` resource creates an AWS Lambda function, IAM execution role, and event source mappings which trigger the function.
+Creates a Lambda function, IAM execution role, and event source mappings which trigger the function.
##### Properties
Property Name | Type | Description
---|:---:|---
-Handler | `string` | **Required.** Function within your code called to begin execution.
+Handler | `string` | **Required.** Function within your code that is called to begin execution.
Runtime | `string` | **Required.** The runtime environment.
-CodeUri | `string` | **Required.** S3 Uri to the function code. The S3 object this Uri references MUST be an [AWS Lambda deployment package](http://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html).
+CodeUri | `string` | **Required.** S3 Uri to the function code. The S3 object this Uri references MUST be a [Lambda deployment package](http://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html).
Description | `string` | Description of the function.
-MemorySize | `integer` | Size of the memory allocated per invocation of the function in Megabytes. Defaults to 128.
-Timeout | `integer` | Maximum time the function can run before it is killed in seconds. Defaults to 3.
-Role | `string` | ARN of an IAM role to use as this function's execution role. If ommitted, a default role will be created for this function.
-Policies | `string` | [`string`] | [IAM Policy Document Object](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) | [[IAM Policy Document Object](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)]| Names of AWS managed IAM policies or IAM Policy documents this function needs which should be appended to the default role for this function. If the Role property is set, this property has no meaning.
-Environment | [Function Environment Object](#function-environment-object) | Configuration for the runtime environment.
-VpcConfig | [VPC Config Object](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html) | Configuration to enable this function to access private resources within your VPC.
-Events | Map of `string` to [Event Source Object](#event-source-object) | A map (string to [Event Source Object](#event-source-object)) that defines the events which trigger this function. Keys are limited to alphanumeric characters.
+MemorySize | `integer` | Size of the memory allocated per invocation of the function in MB. Defaults to 128.
+Timeout | `integer` | Maximum time that the function can run before it is killed in seconds. Defaults to 3.
+Role | `string` | ARN of an IAM role to use as this function's execution role. If omitted, a default role is created for this function.
+Policies | `string` | [`string`] | [IAM policy document object](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) | [[IAM policy document object](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)]| Names of AWS managed IAM policies or IAM policy documents that this function needs, which should be appended to the default role for this function. If the Role property is set, this property has no meaning.
+Environment | [Function environment object](#function-environment-object) | Configuration for the runtime environment.
+VpcConfig | [VPC config object](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html) | Configuration to enable this function to access private resources within your VPC.
+Events | Map of `string` to [Event source object](#event-source-object) | A map (string to [Event source object](#event-source-object)) that defines the events that trigger this function. Keys are limited to alphanumeric characters.
-##### Return Values
+##### Return values
###### Ref
-When the logical ID of this resource is provided to the [Ref intrinsic function](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html), Ref returns the resource name of the underlying Lambda Function.
+When the logical ID of this resource is provided to the [Ref](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) intrinsic function, it returns the resource name of the underlying Lambda function.
###### Fn::GetAtt
-[Fn::GetAtt](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) returns a value for a specified attribute of this type. This section lists the available attributes.
+When the logical ID of this resource is provided to the [Fn::GetAtt](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function, it returns a value for a specified attribute of this type. This section lists the available attributes.
Attribute Name | Description
---|---
-FunctionArn | The ARN of the Lambda Function.
+FunctionArn | The ARN of the Lambda function.
-###### AWS::Serverless::Function Example:
+###### Example: AWS::Serverless::Function
```yaml
Handler: index.js
@@ -95,27 +108,27 @@ Events:
#### AWS::Serverless::Api
-The `AWS::Serverless::Api` resource creates a collection Amazon API Gateway resources and methods that can be invoked through HTTPS endpoints.
+Creates a collection of Amazon API Gateway resources and methods that can be invoked through HTTPS endpoints.
-An `AWS::Serverless::Api` resource need not be explicitly added to a AWS Serverless Application Definition template. A resource of this type will be implicitly created from the union of [Api](#api) events defined on `AWS::Serverless::Function` resources defined in the template which do not refer to an `AWS::Serverless::Api` resource. An `AWS::Serverless::Api` resource should be used to define and document the Api using Swagger, which provides more ability to configure the underlying Amazon API Gateway resources.
+An `AWS::Serverless::Api` resource need not be explicitly added to a AWS Serverless Application Definition template. A resource of this type is implicitly created from the union of [Api](#api) events defined on `AWS::Serverless::Function` resources defined in the template that do not refer to an `AWS::Serverless::Api` resource. An `AWS::Serverless::Api` resource should be used to define and document the API using Swagger, which provides more ability to configure the underlying Amazon API Gateway resources.
##### Properties
Property Name | Type | Description
---|:---:|---
StageName | `string` | **Required** The name of the stage, which API Gateway uses as the first path segment in the invoke Uniform Resource Identifier (URI).
-DefinitionUri | `string` | **Required** S3 Uri to the Swagger document describing the Api.
+DefinitionUri | `string` | **Required** S3 URI to the Swagger document describing the API.
CacheClusterEnabled | `boolean` | Indicates whether cache clustering is enabled for the stage.
CacheClusterSize | `integer` | The stage's cache cluster size.
Variables | Map of `string` to `string` | A map (string to string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+.
-##### Return Values
+##### Return values
###### Ref
-When the logical ID of this resource is provided to the [Ref intrinsic function](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html), Ref returns the resource name of the underlying API Gateway RestApi.
+When the logical ID of this resource is provided to the [Ref intrinsic function](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html), it returns the resource name of the underlying API Gateway RestApi.
-##### AWS::Serverless::Api Example:
+##### Example: AWS::Serverless::Api
```yaml
StageName: prod
@@ -130,16 +143,16 @@ The `AWS::Serverless::SimpleTable` resource creates a DynamoDB table with a sing
Property Name | Type | Description
---|:---:|---
-PrimaryKey | [Primary Key Object](#primary-key-object) | Attribute name and type to be used as the table's primary key. **This cannot be modifed without replacing the resource.** Defaults to `String` attribute named id.
+PrimaryKey | [Primary Key Object](#primary-key-object) | Attribute name and type to be used as the table's primary key. **This cannot be modified without replacing the resource.** Defaults to `String` attribute named ID.
ProvisionedThroughput | [Provisioned Throughput Object](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html) | Read and write throughput provisioning information. Defaults to 5 read and 5 write capacity units per second.
-##### Return Values
+##### Return values
###### Ref
-When the logical ID of this resource is provided to the [Ref intrinsic function](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html), Ref returns the resource name of the underlying DynamoDB Table.
+When the logical ID of this resource is provided to the [Ref](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) intrinsic function, it returns the resource name of the underlying DynamoDB table.
-##### AWS::Serverless::SimpleTable Example:
+##### Example: AWS::Serverless::SimpleTable
```yaml
PrimaryKey:
@@ -150,21 +163,30 @@ ProvisionedThroughput:
WriteCapacityUnits: 5
```
-### Event Source Types
+### Event source types
+ - [S3](#s3)
+ - [SNS](#sns)
+ - [Kinesis](#kinesis)
+ - [DynamoDB](#dynamodb)
+ - [Api](#api)
+ - [Schedule](#schedule)
+ - [CloudWatchEvent](#cloudwatchevent)
+ - [IoTRule](#iotrule)
+ - [AlexaSkill](#alexaskill)
#### S3
-The object describing an event source with type `S3`
+The object describing an event source with type `S3`.
##### Properties
Property Name | Type | Description
---|:---:|---
Bucket | `string` | **Required.** S3 bucket name.
-Events | `string` | [`string`] | Valid values are `Create` and `Remove`
-Filter | [Amazon S3 Notification Filter](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html) | Rules to filter events on.
+Events | `string` | [`string`] | Valid values are `Create` and `Remove`.
+Filter | [Amazon S3 notification filter](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html) | Rules to filter events on.
-##### S3 Event Source Object Example:
+##### Example: S3 event source object
```yaml
Bucket: my-photo-bucket
@@ -172,7 +194,7 @@ Bucket: my-photo-bucket
#### SNS
-The object describing an event source with type `SNS`
+The object describing an event source with type `SNS`.
##### Properties
@@ -180,7 +202,7 @@ Property Name | Type | Description
---|:---:|---
Topic | `string` | **Required.** Topic ARN.
-##### SNS Event Source Object Example:
+##### Example: SNS event source object
```yaml
Topic: arn:aws:sns:us-east-1:123456789012:my_topic
@@ -194,11 +216,11 @@ The object describing an event source with type `Kinesis`.
Property Name | Type | Description
---|:---:|---
-Stream | `string` | **Required.** ARN of the Kinesis stream.
+Stream | `string` | **Required.** ARN of the Amazon Kinesis stream.
BatchSize | `integer` | Maximum number of stream records to process per function invocation.
-StartingPosition | `string` | One of `TRIM_HORIZON` or `LATEST`
+StartingPosition | `string` | One of `TRIM_HORIZON` or `LATEST`.
-##### Kinesis Event Source Object Example:
+##### Example: Kinesis event source object
```yaml
Id: arn:aws:kinesis:us-east-1:123456789012:stream/my-stream
@@ -213,11 +235,11 @@ The object describing an event source with type `DynamoDB`.
Property Name | Type | Description
---|:---:|---
-Stream | `string` | **Required.** ARN of the DynamoDB Stream.
+Stream | `string` | **Required.** ARN of the DynamoDB stream.
BatchSize | `integer` | Maximum number of stream records to process per function invocation.
-StartingPosition | `string` | One of `TRIM_HORIZON` or `LATEST`
+StartingPosition | `string` | One of `TRIM_HORIZON` or `LATEST`.
-##### DynamoDB Event Source Object Example:
+##### Example: DynamoDB event source object
```yaml
Stream: arn:aws:dynamodb:us-east-1:123456789012:table/TestTable/stream/2016-08-11T21:21:33.291
@@ -228,20 +250,20 @@ BatchSize: 10
The object describing an event source with type `Api`.
-If an [AWS::Serverless::Api](#aws-serverless-api) resource is defined, the path and method values MUST correspond to an operation in the Swagger definition of the Api. If no [AWS::Serverless::Api](#aws-serverless-api) is defined, the function input and output will be a represenation of the HTTP request and HTTP response.
+If an [AWS::Serverless::Api](#aws-serverless-api) resource is defined, the path and method values MUST correspond to an operation in the Swagger definition of the API. If no [AWS::Serverless::Api](#aws-serverless-api) is defined, the function input and output are a representation of the HTTP request and HTTP response.
##### Properties
Property Name | Type | Description
---|:---:|---
-Path | `string` | **Required.** Uri path this function is invoked for. MUST start with `/`.
-Method | `string` | **Required.** HTTP method this function is invoked for.
-RestApiId | `string` | Identifier of a RestApi resource which MUST contain an operation with the given path and method. Typically this will be set to [reference](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) an `AWS::Serverless::Api` resource defined in this template. If not defined, a default `AWS::Serverless::Api` resource will be created using a generated Swagger document contains a union of all paths and methods defined by `Api` events defined in this template that do not specify a RestApiId.
-RestApiStage | `string` | Stage name of the RestApi resource which triggers this event. MUST be specified if `RestApiId` property is specified. Typically this will be set to the stage name [attribute](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) of an `AWS::Serverless::Api` resource defined in this template.
-CustomIntegration | [Custom Integration Object](#custom-integration-object) | Custom API Gateway integration. If this event references a RestApiId, this attribute has not effect. If omitted, the generated RestApi will use SimpleProxy.
+Path | `string` | **Required.** Uri path for which this function is invoked. MUST start with `/`.
+Method | `string` | **Required.** HTTP method for which this function is invoked.
+RestApiId | `string` | Identifier of a RestApi resource which MUST contain an operation with the given path and method. Typically, this is set to [reference](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) an `AWS::Serverless::Api` resource defined in this template. If not defined, a default `AWS::Serverless::Api` resource is created using a generated Swagger document contains a union of all paths and methods defined by `Api` events defined in this template that do not specify a RestApiId.
+RestApiStage | `string` | Stage name of the RestApi resource which triggers this event. MUST be specified if `RestApiId` property is specified. Typically, this is set to the stage name [attribute](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) of an `AWS::Serverless::Api` resource defined in this template.
+CustomIntegration | [Custom Integration Object](#custom-integration-object) | Custom API Gateway integration. If this event references a RestApiId, this attribute has no effect. If omitted, the generated RestApi uses SimpleProxy.
-##### Api Event Source Object Example:
+##### Example: Api event source object
```yaml
Path: /photos
@@ -257,15 +279,15 @@ The object describing an event source with type `Schedule`.
Property Name | Type | Description
---|:---:|---
Schedule | `string` | **Required.** Schedule expression, which MUST follow the [schedule expression syntax rules](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
-Input | `string` | JSON formatted string to pass to the function as the event body.
+Input | `string` | JSON-formatted string to pass to the function as the event body.
-##### Scheduled Event Source Object Example:
+##### Example: Schedule event source object
```yaml
Schedule: rate(5 minutes)
```
-#### CloudWatchEvent:
+#### CloudWatchEvent
The object describing an event source with type `CloudWatchEvent`.
@@ -273,11 +295,11 @@ The object describing an event source with type `CloudWatchEvent`.
Property Name | Type | Description
---|:---:|---
-Pattern | [Event Pattern Object](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) | **Required.** Pattern describing which CloudWatch Events trigger the function. Only matching events will trigger the function.
-Input | `string` | JSON formatted string to pass to the function as the event body. This value overrides the matched event.
+Pattern | [Event Pattern Object](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) | **Required.** Pattern describing which CloudWatch events trigger the function. Only matching events trigger the function.
+Input | `string` | JSON-formatted string to pass to the function as the event body. This value overrides the matched event.
InputPath | `string` | JSONPath describing the part of the event to pass to the function.
-##### CloudWatchEvent Event Source Object Example:
+##### Example: CloudWatchEvent event source object
```yaml
Pattern:
@@ -286,7 +308,7 @@ Pattern:
- terminated
```
-#### IoTRule:
+#### IoTRule
The object describing an event source with type `IoTRule`.
@@ -294,23 +316,28 @@ The object describing an event source with type `IoTRule`.
Property Name | Type | Description
---|:---:|---
-Sql | `string` | **Required.** The SQL statement that queries the topic. For more information, see [Rules for AWS IoT](http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
+Sql | `string` | **Required.** The SQL statement that queries the topic. For more information, see [Rules for AWS IoT](http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the *AWS IoT Developer Guide*.
AwsIotSqlVersion | `string` | The version of the SQL rules engine to use when evaluating the rule.
-##### IoTRule Event Source Object Example:
+##### Example: IoTRule event source object
```yaml
Sql: "SELECT * FROM 'iot/test'"
```
-#### AlexaSkill:
+#### AlexaSkill
The object describing an event source with type `AlexaSkill`.
-Specifying `AlexaSkill` event will create a resource policy that allows the Amazon Alexa service to call your Lambda function. To configure the Alexa service to work with your Lambda function, go to the Alexa Developer portal.
-### AWS Serverless Application Definition Property Types
+Specifying `AlexaSkill` event creates a resource policy that allows the Amazon Alexa service to call your Lambda function. To configure the Alexa service to work with your Lambda function, go to the Alexa Developer portal.
+
+### Property types
+ - [Environment object](#environment-object)
+ - [Event source object](#event-source-object)
+ - [Primary key object](#primary-key-object)
+ - [Custom integration object](#custom-integration-object)
-#### Environment Object
+#### Environment object
The object describing the environment properties of a function.
@@ -318,9 +345,9 @@ The object describing the environment properties of a function.
Property Name | Type | Description
---|:---:|---
-Variables | Map of `string` to `string` | A map (string to string map) that defines the environment variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters and the first character must be letter. Values are limited to alphanumeric characters and the following special characters `_(){}[]$*+-\/"#',;.@!?`. ***LINK TO LIMITS ONCE THE DOCS ARE READY***.
+Variables | Map of `string` to `string` | A map (string to string map) that defines the environment variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters and the first character must be a letter. Values are limited to alphanumeric characters and the following special characters `_(){}[]$*+-\/"#',;.@!?`. ***LINK TO LIMITS ONCE THE DOCS ARE READY***.
-##### Environment Object Example:
+##### Example: Environment object
```yaml
Variables:
@@ -328,7 +355,7 @@ Variables:
STAGE: prod
```
-#### Event Source Object
+#### Event source object
The object describing the source of events which trigger the function.
@@ -336,10 +363,10 @@ The object describing the source of events which trigger the function.
Property Name | Type | Description
---|:---:|---
-Type | `string` | **Required.** Event type. Event source types include '[S3](#s3), '[Api](#api)', '[SNS](#sns)', '[Kinesis](#kinesis)', '[DynamoDB](#dynamodb)'. See [Event Source Types](#event-source-types) for all types.
-Properties | * | **Required.** Object describing properties of this event mapping. Must conform to the defined `Type`. See [Event Source Types](#event-source-types) for all types.
+Type | `string` | **Required.** Event type. Event source types include '[S3](#s3), '[Api](#api)', '[SNS](#sns)', '[Kinesis](#kinesis)', '[DynamoDB](#dynamodb)'. For more information about all types, see [Event source types](#event-source-types).
+Properties | * | **Required.** Object describing properties of this event mapping. Must conform to the defined `Type`. For more information about all types, see [Event source types](#event-source-types).
-##### Event Source Object Example:
+##### Example: Event source object
```yaml
Type: S3
@@ -351,7 +378,7 @@ Properties:
Type: AlexaSkill
```
-#### Primary Key Object
+#### Primary key object
The object describing the properties of a primary key.
@@ -362,27 +389,27 @@ Property Name | Type | Description
Name | `string` | Attribute name of the primary key. Defaults to `id`.
Type | `string` | Attribute type of the primary key. MUST be one of `String`, `Number`, or `Binary`.
-##### Primary Key Object Example:
+##### Example: Primary key object
```yaml
Name: id
Type: String
```
-#### Custom Integration Object
+#### Custom integration object
-The object describing the properties of a custom API Gateway integration with a Lambda Function.
+The object describing the properties of a custom API Gateway integration with a Lambda function.
##### Properties
Property Name | Type | Description
---|:---:|---
-RequestTemplates | [RequestTemplates Object](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-integration-requestTemplates) | Mapping templates for a request payload of specified MIME types.
+RequestTemplates | [RequestTemplates object](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-integration-requestTemplates) | Mapping templates for a request payload of specified MIME types.
CacheNamespace | `string` | An API-specific tag group of related cached parameters.
CacheKeyParameters | [`string`] | A list of request parameters whose values are to be cached.
-Responses | [Responses Object](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-integration-responses) | Defines the method's responses and specifies desired parameter mappings or payload mappings from integration responses to method responses.
+Responses | [Responses object](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html#api-gateway-swagger-extensions-integration-responses) | Defines the method's responses and specifies desired parameter mappings or payload mappings from integration responses to method responses.
-##### Custom Integration Object Example:
+##### Example: Custom integration object
```yaml
RequestTemplates: