Created
July 4, 2016 11:57
-
-
Save jakul/88532fca517f3899b97dc956d661a7b7 to your computer and use it in GitHub Desktop.
AWS CloudFormation template regex wrong
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "Outputs": { | |
| "ClioutputApigatewayFirstappSampleApi": { | |
| "Value": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "https://", | |
| { | |
| "Ref": "FirstappSampleApi" | |
| }, | |
| ".execute-api.", | |
| { | |
| "Ref": "AWS::Region" | |
| }, | |
| ".amazonaws.com/", | |
| { | |
| "Ref": "Stage" | |
| } | |
| ] | |
| ] | |
| } | |
| }, | |
| "ClioutputLambdaFirstappHelloworld": { | |
| "Value": { | |
| "Ref": "HelloworldCurrentalias" | |
| } | |
| } | |
| }, | |
| "Parameters": { | |
| "CodeBucket": { | |
| "Description": "Bucket where the code is located.", | |
| "Type": "String" | |
| }, | |
| "HelloworldS3Version": { | |
| "Type": "String" | |
| }, | |
| "Region": { | |
| "Description": "AWS Region", | |
| "Type": "String" | |
| }, | |
| "Stage": { | |
| "Default": "dev", | |
| "Description": "Name of the Stage", | |
| "Type": "String" | |
| }, | |
| "VersionS3Version": { | |
| "Type": "String" | |
| } | |
| }, | |
| "Resources": { | |
| "ContribLambdasVersion": { | |
| "DependsOn": [ | |
| "VersionRole" | |
| ], | |
| "Properties": { | |
| "Code": { | |
| "S3Bucket": { | |
| "Ref": "CodeBucket" | |
| }, | |
| "S3Key": "contrib_lambdas_version.zip", | |
| "S3ObjectVersion": { | |
| "Ref": "VersionS3Version" | |
| } | |
| }, | |
| "Description": "Publishes new versions of Lambdas.", | |
| "Handler": "version.handler", | |
| "MemorySize": 128, | |
| "Role": { | |
| "Fn::GetAtt": [ | |
| "VersionRole", | |
| "Arn" | |
| ] | |
| }, | |
| "Runtime": "python2.7", | |
| "Timeout": 300 | |
| }, | |
| "Type": "AWS::Lambda::Function" | |
| }, | |
| "FirstappHelloworld": { | |
| "DependsOn": [ | |
| "HelloworldRole" | |
| ], | |
| "Properties": { | |
| "Code": { | |
| "S3Bucket": { | |
| "Ref": "CodeBucket" | |
| }, | |
| "S3Key": "firstapp_helloworld.zip", | |
| "S3ObjectVersion": { | |
| "Ref": "HelloworldS3Version" | |
| } | |
| }, | |
| "Description": "", | |
| "Handler": "code.handler", | |
| "MemorySize": 128, | |
| "Role": { | |
| "Fn::GetAtt": [ | |
| "HelloworldRole", | |
| "Arn" | |
| ] | |
| }, | |
| "Runtime": "python2.7", | |
| "Timeout": 3 | |
| }, | |
| "Type": "AWS::Lambda::Function" | |
| }, | |
| "FirstappSampleApi": { | |
| "Properties": { | |
| "Description": "", | |
| "Name": { | |
| "Fn::Join": [ | |
| "-", | |
| [ | |
| "sample_api", | |
| { | |
| "Ref": "Stage" | |
| } | |
| ] | |
| ] | |
| } | |
| }, | |
| "Type": "AWS::ApiGateway::RestApi" | |
| }, | |
| "HelloworldCurrentalias": { | |
| "DependsOn": [ | |
| "HelloworldVersion" | |
| ], | |
| "Properties": { | |
| "FunctionName": { | |
| "Ref": "FirstappHelloworld" | |
| }, | |
| "FunctionVersion": { | |
| "Fn::GetAtt": [ | |
| "HelloworldVersion", | |
| "Version" | |
| ] | |
| }, | |
| "Name": "current" | |
| }, | |
| "Type": "AWS::Lambda::Alias" | |
| }, | |
| "HelloworldRole": { | |
| "Properties": { | |
| "AssumeRolePolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "sts:AssumeRole" | |
| ], | |
| "Effect": "Allow", | |
| "Principal": { | |
| "Service": [ | |
| "lambda.amazonaws.com" | |
| ] | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "Policies": [ | |
| { | |
| "PolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "lambda:InvokeFunction" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": [ | |
| "*" | |
| ] | |
| }, | |
| { | |
| "Action": [ | |
| "logs:CreateLogGroup", | |
| "logs:CreateLogStream", | |
| "logs:PutLogEvents" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": "arn:aws:logs:*:*:*" | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "PolicyName": "HelloworldLogsPolicy" | |
| } | |
| ] | |
| }, | |
| "Type": "AWS::IAM::Role" | |
| }, | |
| "HelloworldVersion": { | |
| "DependsOn": [ | |
| "VersionCurrentalias", | |
| "FirstappHelloworld" | |
| ], | |
| "Properties": { | |
| "FunctionName": { | |
| "Ref": "FirstappHelloworld" | |
| }, | |
| "S3ObjectVersion": { | |
| "Ref": "HelloworldS3Version" | |
| }, | |
| "ServiceToken": { | |
| "Ref": "VersionCurrentalias" | |
| } | |
| }, | |
| "Type": "Custom::LambdaVersion" | |
| }, | |
| "SampleApiDeploymentAf2Df63D": { | |
| "DependsOn": [ | |
| "SampleApiEventPost" | |
| ], | |
| "Properties": { | |
| "RestApiId": { | |
| "Ref": "FirstappSampleApi" | |
| }, | |
| "StageName": { | |
| "Ref": "Stage" | |
| } | |
| }, | |
| "Type": "AWS::ApiGateway::Deployment" | |
| }, | |
| "SampleApiEventPost": { | |
| "Properties": { | |
| "ApiKeyRequired": false, | |
| "AuthorizationType": "NONE", | |
| "HttpMethod": "POST", | |
| "Integration": { | |
| "Credentials": { | |
| "Fn::GetAtt": [ | |
| "SampleApiRole", | |
| "Arn" | |
| ] | |
| }, | |
| "IntegrationHttpMethod": "POST", | |
| "IntegrationResponses": [ | |
| { | |
| "SelectionPattern": "", | |
| "StatusCode": "201" | |
| }, | |
| { | |
| "SelectionPattern": ".*\"status\":400.*", | |
| "StatusCode": "400" | |
| }, | |
| { | |
| "SelectionPattern": "*.\\\"errorMessage\\\".*", | |
| "StatusCode": "500" | |
| } | |
| ], | |
| "RequestTemplates": {}, | |
| "Type": "AWS", | |
| "Uri": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:aws:apigateway:", | |
| { | |
| "Ref": "AWS::Region" | |
| }, | |
| ":lambda:path/2015-03-31/functions/", | |
| { | |
| "Ref": "HelloworldCurrentalias" | |
| }, | |
| "/invocations" | |
| ] | |
| ] | |
| } | |
| }, | |
| "MethodResponses": [ | |
| { | |
| "StatusCode": "201" | |
| }, | |
| { | |
| "StatusCode": "400" | |
| }, | |
| { | |
| "StatusCode": "500" | |
| } | |
| ], | |
| "ResourceId": { | |
| "Ref": "SampleApiResourceEvent" | |
| }, | |
| "RestApiId": { | |
| "Ref": "FirstappSampleApi" | |
| } | |
| }, | |
| "Type": "AWS::ApiGateway::Method" | |
| }, | |
| "SampleApiResourceEvent": { | |
| "Properties": { | |
| "ParentId": { | |
| "Fn::GetAtt": [ | |
| "FirstappSampleApi", | |
| "RootResourceId" | |
| ] | |
| }, | |
| "PathPart": "event", | |
| "RestApiId": { | |
| "Ref": "FirstappSampleApi" | |
| } | |
| }, | |
| "Type": "AWS::ApiGateway::Resource" | |
| }, | |
| "SampleApiRole": { | |
| "Properties": { | |
| "AssumeRolePolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "sts:AssumeRole" | |
| ], | |
| "Effect": "Allow", | |
| "Principal": { | |
| "Service": [ | |
| "apigateway.amazonaws.com" | |
| ] | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "Policies": [ | |
| { | |
| "PolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "lambda:InvokeFunction" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": [ | |
| "*" | |
| ] | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "PolicyName": "SampleApiRolePolicy" | |
| } | |
| ] | |
| }, | |
| "Type": "AWS::IAM::Role" | |
| }, | |
| "VersionCurrentalias": { | |
| "DependsOn": [ | |
| "VersionVersion" | |
| ], | |
| "Properties": { | |
| "FunctionName": { | |
| "Ref": "ContribLambdasVersion" | |
| }, | |
| "FunctionVersion": { | |
| "Fn::GetAtt": [ | |
| "VersionVersion", | |
| "Version" | |
| ] | |
| }, | |
| "Name": "current" | |
| }, | |
| "Type": "AWS::Lambda::Alias" | |
| }, | |
| "VersionRole": { | |
| "Properties": { | |
| "AssumeRolePolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "sts:AssumeRole" | |
| ], | |
| "Effect": "Allow", | |
| "Principal": { | |
| "Service": [ | |
| "lambda.amazonaws.com" | |
| ] | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "Policies": [ | |
| { | |
| "PolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "lambda:InvokeFunction" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": [ | |
| "*" | |
| ] | |
| }, | |
| { | |
| "Action": [ | |
| "logs:CreateLogGroup", | |
| "logs:CreateLogStream", | |
| "logs:PutLogEvents" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": "arn:aws:logs:*:*:*" | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "PolicyName": "VersionLogsPolicy" | |
| }, | |
| { | |
| "PolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "lambda:PublishVersion", | |
| "lambda:GetFunction" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": "arn:aws:lambda:*:*:*" | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "PolicyName": "VersionManageVersionPolicy" | |
| } | |
| ] | |
| }, | |
| "Type": "AWS::IAM::Role" | |
| }, | |
| "VersionVersion": { | |
| "DependsOn": [ | |
| "ContribLambdasVersion", | |
| "ContribLambdasVersion" | |
| ], | |
| "Properties": { | |
| "FunctionName": { | |
| "Ref": "ContribLambdasVersion" | |
| }, | |
| "S3ObjectVersion": { | |
| "Ref": "VersionS3Version" | |
| }, | |
| "ServiceToken": { | |
| "Fn::GetAtt": [ | |
| "ContribLambdasVersion", | |
| "Arn" | |
| ] | |
| } | |
| }, | |
| "Type": "Custom::LambdaVersion" | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment