{

"PropertyTypes": {
    "AWS::Serverless::Api.AccessLogSetting": {
        "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html",
        "Properties": {
            "DestinationArn": {
                "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-destinationarn",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Format": {
                "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-format",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Api.Auth": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api-auth-object",
        "Properties": {
            "Authorizers": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api-auth-object",
                "PrimitiveType": "Json",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "DefaultAuthorizer": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api-auth-object",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Api.CorsConfiguration": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration",
        "Properties": {
            "AllowCredentials": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "AllowHeaders": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "AllowMethods": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "AllowOrigin": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "MaxAge": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Api.S3Location": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3-location-object",
        "Properties": {
            "Bucket": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Key": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Version": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "Integer",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Application.ApplicationLocation": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
        "Properties": {
            "ApplicationId": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "SemanticVersion": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.AlexaSkillEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#alexaskill",
        "Properties": {
            "Variables": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#alexaskill",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.ApiEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api",
        "Properties": {
            "Method": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Path": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "RestApiId": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.BucketSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "BucketName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.CloudWatchEventEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cloudwatchevent",
        "Properties": {
            "Input": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cloudwatchevent",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "InputPath": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cloudwatchevent",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Pattern": {
                "Documentation": "http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html",
                "PrimitiveType": "Json",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.CollectionSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "CollectionId": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.DeadLetterQueue": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deadletterqueue-object",
        "Properties": {
            "TargetArn": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Type": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.DeploymentPreference": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object",
        "Properties": {
            "Alarms": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "Enabled": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Hooks": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            },
            "Role": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Type": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.DomainSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "DomainName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.DynamoDBEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb",
        "Properties": {
            "BatchSize": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Enabled": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "StartingPosition": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Stream": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#dynamodb",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.EmptySAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {}
    },
    "AWS::Serverless::Function.EventSource": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object",
        "Properties": {
            "Properties": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-types",
                "Required": true,
                "Types": [
                    "S3Event",
                    "SNSEvent",
                    "SQSEvent",
                    "KinesisEvent",
                    "DynamoDBEvent",
                    "ApiEvent",
                    "ScheduleEvent",
                    "CloudWatchEventEvent",
                    "IoTRuleEvent",
                    "AlexaSkillEvent"
                ],
                "UpdateType": "Immutable"
            },
            "Type": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#event-source-object",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.FunctionEnvironment": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object",
        "Properties": {
            "Variables": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object",
                "PrimitiveItemType": "String",
                "Required": true,
                "Type": "Map",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.FunctionSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "FunctionName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.IAMPolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html",
        "Properties": {
            "Statement": {
                "Documentation": "http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html",
                "PrimitiveType": "Json",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.IdentitySAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "IdentityName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.IoTRuleEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#iotrule",
        "Properties": {
            "AwsIotSqlVersion": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#iotrule",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Sql": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#iotrule",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.KeySAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "KeyId": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.KinesisEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#kinesis",
        "Properties": {
            "BatchSize": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#kinesis",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Enabled": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#kinesis",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "StartingPosition": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#kinesis",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Stream": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#kinesis",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.LogGroupSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "LogGroupName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.QueueSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "QueueName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.S3Event": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3",
        "Properties": {
            "Bucket": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Events": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3",
                "PrimitiveItemTypes": [
                    "String"
                ],
                "PrimitiveTypes": [
                    "String"
                ],
                "Required": true
            },
            "Filter": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3",
                "Required": false,
                "Type": "S3NotificationFilter",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.S3KeyFilter": {
        "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
        "Properties": {
            "Rules": {
                "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
                "ItemType": "S3KeyFilterRule",
                "Required": true,
                "Type": "List",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.S3KeyFilterRule": {
        "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html",
        "Properties": {
            "Name": {
                "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Value": {
                "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.S3Location": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3-location-object",
        "Properties": {
            "Bucket": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Key": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Version": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.S3NotificationFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
        "Properties": {
            "S3Key": {
                "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
                "Required": true,
                "Type": "S3KeyFilter",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.SAMPolicyTemplate": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "AMIDescribePolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "CloudFormationDescribeStacksPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "CloudWatchPutMetricPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "DynamoDBCrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "TableSAMPT",
                "UpdateType": "Immutable"
            },
            "DynamoDBReadPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "TableSAMPT",
                "UpdateType": "Immutable"
            },
            "DynamoDBStreamReadPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "TableStreamSAMPT",
                "UpdateType": "Immutable"
            },
            "EC2DescribePolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "ElasticsearchHttpPostPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "DomainSAMPT",
                "UpdateType": "Immutable"
            },
            "FilterLogEventsPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "LogGroupSAMPT",
                "UpdateType": "Immutable"
            },
            "KMSDecryptPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "KeySAMPT",
                "UpdateType": "Immutable"
            },
            "KinesisCrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "StreamSAMPT",
                "UpdateType": "Immutable"
            },
            "KinesisStreamReadPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "StreamSAMPT",
                "UpdateType": "Immutable"
            },
            "LambdaInvokePolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "FunctionSAMPT",
                "UpdateType": "Immutable"
            },
            "RekognitionDetectOnlyPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "RekognitionLabelsPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "RekognitionNoDataAccessPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "CollectionSAMPT",
                "UpdateType": "Immutable"
            },
            "RekognitionReadPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "CollectionSAMPT",
                "UpdateType": "Immutable"
            },
            "RekognitionWriteOnlyAccessPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "CollectionSAMPT",
                "UpdateType": "Immutable"
            },
            "S3CrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "BucketSAMPT",
                "UpdateType": "Immutable"
            },
            "S3ReadPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "BucketSAMPT",
                "UpdateType": "Immutable"
            },
            "SESBulkTemplatedCrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "IdentitySAMPT",
                "UpdateType": "Immutable"
            },
            "SESCrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "IdentitySAMPT",
                "UpdateType": "Immutable"
            },
            "SESEmailTemplateCrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            },
            "SESSendBouncePolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "IdentitySAMPT",
                "UpdateType": "Immutable"
            },
            "SNSCrudPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "TopicSAMPT",
                "UpdateType": "Immutable"
            },
            "SNSPublishMessagePolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "TopicSAMPT",
                "UpdateType": "Immutable"
            },
            "SQSPollerPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "QueueSAMPT",
                "UpdateType": "Immutable"
            },
            "SQSSendMessagePolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "QueueSAMPT",
                "UpdateType": "Immutable"
            },
            "StepFunctionsExecutionPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "StateMachineSAMPT",
                "UpdateType": "Immutable"
            },
            "VPCAccessPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "Type": "EmptySAMPT",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.SNSEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#sns",
        "Properties": {
            "Topic": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#sns",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.SQSEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#sqs",
        "Properties": {
            "BatchSize": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#sqs",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Enabled": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#sqs",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Queue": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#sqs",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.ScheduleEvent": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule",
        "Properties": {
            "Input": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Schedule": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#schedule",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.StateMachineSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "StateMachineName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.StreamSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "StreamName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.TableSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "TableName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.TableStreamSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "StreamName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "TableName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.TopicSAMPT": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
        "Properties": {
            "TopicName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function.VpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html",
        "Properties": {
            "SecurityGroupIds": {
                "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html",
                "PrimitiveItemType": "String",
                "Required": true,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "SubnetIds": {
                "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html",
                "PrimitiveItemType": "String",
                "Required": true,
                "Type": "List",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::SimpleTable.PrimaryKey": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#primary-key-object",
        "Properties": {
            "Name": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#primary-key-object",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Type": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#primary-key-object",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::SimpleTable.ProvisionedThroughput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
        "Properties": {
            "ReadCapacityUnits": {
                "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "WriteCapacityUnits": {
                "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
                "PrimitiveType": "Integer",
                "Required": true,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::SimpleTable.SSESpecification": {
        "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html",
        "Properties": {
            "SSEEnabled": {
                "Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    }
},
"ResourceSpecificationTransform": "AWS::Serverless-2016-10-31",
"ResourceSpecificationVersion": "2016-10-31",
"ResourceTypes": {
    "AWS::Serverless::Api": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
        "Properties": {
            "AccessLogSetting": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "Required": false,
                "Type": "AccessLogSetting",
                "UpdateType": "Immutable"
            },
            "Auth": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "Required": false,
                "Type": "Auth",
                "UpdateType": "Immutable"
            },
            "BinaryMediaTypes": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "CacheClusterEnabled": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "CacheClusterSize": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Cors": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveTypes": [
                    "String"
                ],
                "Required": false,
                "Types": [
                    "CorsConfiguration"
                ],
                "UpdateType": "Immutable"
            },
            "DefinitionBody": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "Json",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "DefinitionUri": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveTypes": [
                    "String"
                ],
                "Required": false,
                "Types": [
                    "S3Location"
                ],
                "UpdateType": "Immutable"
            },
            "EndpointConfiguration": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "MethodSettings": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveItemType": "Json",
                "Required": false,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "Name": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "StageName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "TracingEnabled": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveType": "Boolean",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Variables": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapi",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Application": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
        "Properties": {
            "Location": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveTypes": [
                    "String"
                ],
                "Required": true,
                "Types": [
                    "ApplicationLocation"
                ],
                "UpdateType": "Immutable"
            },
            "NotificationArns": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "Parameters": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            },
            "Tags": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            },
            "TimeoutInMinutes": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessapplication",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::Function": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
        "Properties": {
            "AutoPublishAlias": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "CodeUri": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveTypes": [
                    "String"
                ],
                "Required": true,
                "Types": [
                    "S3Location"
                ],
                "UpdateType": "Immutable"
            },
            "DeadLetterQueue": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "Required": false,
                "Type": "DeadLetterQueue",
                "UpdateType": "Immutable"
            },
            "DeploymentPreference": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "Required": false,
                "Type": "DeploymentPreference",
                "UpdateType": "Immutable"
            },
            "Description": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Environment": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "Required": false,
                "Type": "FunctionEnvironment",
                "UpdateType": "Immutable"
            },
            "Events": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "ItemType": "EventSource",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            },
            "FunctionName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Handler": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "KmsKeyArn": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Layers": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "MemorySize": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "PermissionsBoundary": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Policies": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "ItemTypes": [
                    "IAMPolicyDocument",
                    "SAMPolicyTemplate"
                ],
                "PrimitiveItemTypes": [
                    "String"
                ],
                "PrimitiveTypes": [
                    "String"
                ],
                "Required": false,
                "Types": [
                    "IAMPolicyDocument"
                ],
                "UpdateType": "Immutable"
            },
            "ReservedConcurrentExecutions": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Role": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Runtime": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": true,
                "UpdateType": "Immutable"
            },
            "Tags": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            },
            "Timeout": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "Integer",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Tracing": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "VpcConfig": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction",
                "Required": false,
                "Type": "VpcConfig",
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::LayerVersion": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
        "Properties": {
            "CompatibleRuntimes": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "List",
                "UpdateType": "Immutable"
            },
            "ContentUri": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Description": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "LayerName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "LicenseInfo": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "RetentionPolicy": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesslayerversion",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            }
        }
    },
    "AWS::Serverless::SimpleTable": {
        "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesssimpletable",
        "Properties": {
            "PrimaryKey": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#primary-key-object",
                "Required": false,
                "Type": "PrimaryKey",
                "UpdateType": "Immutable"
            },
            "ProvisionedThroughput": {
                "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
                "Required": false,
                "Type": "ProvisionedThroughput",
                "UpdateType": "Immutable"
            },
            "SSESpecification": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesssimpletable",
                "Required": false,
                "Type": "SSESpecification",
                "UpdateType": "Immutable"
            },
            "TableName": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesssimpletable",
                "PrimitiveType": "String",
                "Required": false,
                "UpdateType": "Immutable"
            },
            "Tags": {
                "Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlesssimpletable",
                "PrimitiveItemType": "String",
                "Required": false,
                "Type": "Map",
                "UpdateType": "Immutable"
            }
        }
    }
}

}