Created
August 16, 2020 22:36
-
-
Save richardsonlima/684dad0a03de8ffae4791ba70de63813 to your computer and use it in GitHub Desktop.
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
| { | |
| "Resources": { | |
| "queue276F7297": { | |
| "Type": "AWS::SQS::Queue", | |
| "Properties": { | |
| "QueueName": "queue" | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/queue/Resource" | |
| } | |
| }, | |
| "table8235A42E": { | |
| "Type": "AWS::DynamoDB::Table", | |
| "Properties": { | |
| "KeySchema": [ | |
| { | |
| "AttributeName": "id", | |
| "KeyType": "HASH" | |
| } | |
| ], | |
| "AttributeDefinitions": [ | |
| { | |
| "AttributeName": "id", | |
| "AttributeType": "N" | |
| } | |
| ], | |
| "ProvisionedThroughput": { | |
| "ReadCapacityUnits": 5, | |
| "WriteCapacityUnits": 5 | |
| } | |
| }, | |
| "UpdateReplacePolicy": "Retain", | |
| "DeletionPolicy": "Retain", | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/table/Resource" | |
| } | |
| }, | |
| "publishFunctionServiceRole779A3536": { | |
| "Type": "AWS::IAM::Role", | |
| "Properties": { | |
| "AssumeRolePolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": "sts:AssumeRole", | |
| "Effect": "Allow", | |
| "Principal": { | |
| "Service": "lambda.amazonaws.com" | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "ManagedPolicyArns": [ | |
| { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:", | |
| { | |
| "Ref": "AWS::Partition" | |
| }, | |
| ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" | |
| ] | |
| ] | |
| } | |
| ] | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/publishFunction/ServiceRole/Resource" | |
| } | |
| }, | |
| "publishFunctionServiceRoleDefaultPolicy57B1EA19": { | |
| "Type": "AWS::IAM::Policy", | |
| "Properties": { | |
| "PolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "sqs:SendMessage", | |
| "sqs:GetQueueAttributes", | |
| "sqs:GetQueueUrl" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": { | |
| "Fn::GetAtt": [ | |
| "queue276F7297", | |
| "Arn" | |
| ] | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "PolicyName": "publishFunctionServiceRoleDefaultPolicy57B1EA19", | |
| "Roles": [ | |
| { | |
| "Ref": "publishFunctionServiceRole779A3536" | |
| } | |
| ] | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/publishFunction/ServiceRole/DefaultPolicy/Resource" | |
| } | |
| }, | |
| "publishFunction0955FBF8": { | |
| "Type": "AWS::Lambda::Function", | |
| "Properties": { | |
| "Code": { | |
| "S3Bucket": { | |
| "Ref": "AssetParameters7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcdS3BucketEB74C09E" | |
| }, | |
| "S3Key": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| { | |
| "Fn::Select": [ | |
| 0, | |
| { | |
| "Fn::Split": [ | |
| "||", | |
| { | |
| "Ref": "AssetParameters7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcdS3VersionKey04255F4F" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "Fn::Select": [ | |
| 1, | |
| { | |
| "Fn::Split": [ | |
| "||", | |
| { | |
| "Ref": "AssetParameters7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcdS3VersionKey04255F4F" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| ] | |
| } | |
| }, | |
| "Handler": "index.handler", | |
| "Role": { | |
| "Fn::GetAtt": [ | |
| "publishFunctionServiceRole779A3536", | |
| "Arn" | |
| ] | |
| }, | |
| "Runtime": "nodejs10.x", | |
| "Environment": { | |
| "Variables": { | |
| "QUEUE_URL": { | |
| "Ref": "queue276F7297" | |
| } | |
| } | |
| } | |
| }, | |
| "DependsOn": [ | |
| "publishFunctionServiceRoleDefaultPolicy57B1EA19", | |
| "publishFunctionServiceRole779A3536" | |
| ], | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/publishFunction/Resource", | |
| "aws:asset:path": "asset.7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcd", | |
| "aws:asset:property": "Code" | |
| } | |
| }, | |
| "apiC8550315": { | |
| "Type": "AWS::ApiGateway::RestApi", | |
| "Properties": { | |
| "Name": "api" | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/Resource" | |
| } | |
| }, | |
| "apiCloudWatchRoleAC81D93E": { | |
| "Type": "AWS::IAM::Role", | |
| "Properties": { | |
| "AssumeRolePolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": "sts:AssumeRole", | |
| "Effect": "Allow", | |
| "Principal": { | |
| "Service": "apigateway.amazonaws.com" | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "ManagedPolicyArns": [ | |
| { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:", | |
| { | |
| "Ref": "AWS::Partition" | |
| }, | |
| ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs" | |
| ] | |
| ] | |
| } | |
| ] | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/CloudWatchRole/Resource" | |
| } | |
| }, | |
| "apiAccount57E28B43": { | |
| "Type": "AWS::ApiGateway::Account", | |
| "Properties": { | |
| "CloudWatchRoleArn": { | |
| "Fn::GetAtt": [ | |
| "apiCloudWatchRoleAC81D93E", | |
| "Arn" | |
| ] | |
| } | |
| }, | |
| "DependsOn": [ | |
| "apiC8550315" | |
| ], | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/Account" | |
| } | |
| }, | |
| "apiDeployment149F129447fad4ecb3fd9eb45e3c57629a3ce366": { | |
| "Type": "AWS::ApiGateway::Deployment", | |
| "Properties": { | |
| "RestApiId": { | |
| "Ref": "apiC8550315" | |
| }, | |
| "Description": "Automatically created by the RestApi construct" | |
| }, | |
| "DependsOn": [ | |
| "apiGETECF0BD67" | |
| ], | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/Deployment/Resource" | |
| } | |
| }, | |
| "apiDeploymentStagedev96712F43": { | |
| "Type": "AWS::ApiGateway::Stage", | |
| "Properties": { | |
| "RestApiId": { | |
| "Ref": "apiC8550315" | |
| }, | |
| "DeploymentId": { | |
| "Ref": "apiDeployment149F129447fad4ecb3fd9eb45e3c57629a3ce366" | |
| }, | |
| "StageName": "dev" | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/DeploymentStage.dev/Resource" | |
| } | |
| }, | |
| "apiGETApiPermissionServerlessStackStackapi3414ED78GET0BFE12FF": { | |
| "Type": "AWS::Lambda::Permission", | |
| "Properties": { | |
| "Action": "lambda:InvokeFunction", | |
| "FunctionName": { | |
| "Fn::GetAtt": [ | |
| "publishFunction0955FBF8", | |
| "Arn" | |
| ] | |
| }, | |
| "Principal": "apigateway.amazonaws.com", | |
| "SourceArn": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:", | |
| { | |
| "Ref": "AWS::Partition" | |
| }, | |
| ":execute-api:", | |
| { | |
| "Ref": "AWS::Region" | |
| }, | |
| ":", | |
| { | |
| "Ref": "AWS::AccountId" | |
| }, | |
| ":", | |
| { | |
| "Ref": "apiC8550315" | |
| }, | |
| "/", | |
| { | |
| "Ref": "apiDeploymentStagedev96712F43" | |
| }, | |
| "/GET/" | |
| ] | |
| ] | |
| } | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/Default/GET/ApiPermission.ServerlessStackStackapi3414ED78.GET.." | |
| } | |
| }, | |
| "apiGETApiPermissionTestServerlessStackStackapi3414ED78GET2FE6D074": { | |
| "Type": "AWS::Lambda::Permission", | |
| "Properties": { | |
| "Action": "lambda:InvokeFunction", | |
| "FunctionName": { | |
| "Fn::GetAtt": [ | |
| "publishFunction0955FBF8", | |
| "Arn" | |
| ] | |
| }, | |
| "Principal": "apigateway.amazonaws.com", | |
| "SourceArn": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:", | |
| { | |
| "Ref": "AWS::Partition" | |
| }, | |
| ":execute-api:", | |
| { | |
| "Ref": "AWS::Region" | |
| }, | |
| ":", | |
| { | |
| "Ref": "AWS::AccountId" | |
| }, | |
| ":", | |
| { | |
| "Ref": "apiC8550315" | |
| }, | |
| "/test-invoke-stage/GET/" | |
| ] | |
| ] | |
| } | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/Default/GET/ApiPermission.Test.ServerlessStackStackapi3414ED78.GET.." | |
| } | |
| }, | |
| "apiGETECF0BD67": { | |
| "Type": "AWS::ApiGateway::Method", | |
| "Properties": { | |
| "HttpMethod": "GET", | |
| "ResourceId": { | |
| "Fn::GetAtt": [ | |
| "apiC8550315", | |
| "RootResourceId" | |
| ] | |
| }, | |
| "RestApiId": { | |
| "Ref": "apiC8550315" | |
| }, | |
| "AuthorizationType": "NONE", | |
| "Integration": { | |
| "IntegrationHttpMethod": "POST", | |
| "Type": "AWS_PROXY", | |
| "Uri": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:", | |
| { | |
| "Ref": "AWS::Partition" | |
| }, | |
| ":apigateway:", | |
| { | |
| "Ref": "AWS::Region" | |
| }, | |
| ":lambda:path/2015-03-31/functions/", | |
| { | |
| "Fn::GetAtt": [ | |
| "publishFunction0955FBF8", | |
| "Arn" | |
| ] | |
| }, | |
| "/invocations" | |
| ] | |
| ] | |
| } | |
| } | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/api/Default/GET/Resource" | |
| } | |
| }, | |
| "subscribeFunctionServiceRoleE1E26A6E": { | |
| "Type": "AWS::IAM::Role", | |
| "Properties": { | |
| "AssumeRolePolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": "sts:AssumeRole", | |
| "Effect": "Allow", | |
| "Principal": { | |
| "Service": "lambda.amazonaws.com" | |
| } | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "ManagedPolicyArns": [ | |
| { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "arn:", | |
| { | |
| "Ref": "AWS::Partition" | |
| }, | |
| ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" | |
| ] | |
| ] | |
| } | |
| ] | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/subscribeFunction/ServiceRole/Resource" | |
| } | |
| }, | |
| "subscribeFunctionServiceRoleDefaultPolicyA1C1D645": { | |
| "Type": "AWS::IAM::Policy", | |
| "Properties": { | |
| "PolicyDocument": { | |
| "Statement": [ | |
| { | |
| "Action": [ | |
| "sqs:ReceiveMessage", | |
| "sqs:ChangeMessageVisibility", | |
| "sqs:GetQueueUrl", | |
| "sqs:DeleteMessage", | |
| "sqs:GetQueueAttributes" | |
| ], | |
| "Effect": "Allow", | |
| "Resource": { | |
| "Fn::GetAtt": [ | |
| "queue276F7297", | |
| "Arn" | |
| ] | |
| } | |
| }, | |
| { | |
| "Action": "dynamodb:PutItem", | |
| "Effect": "Allow", | |
| "Resource": [ | |
| { | |
| "Fn::GetAtt": [ | |
| "table8235A42E", | |
| "Arn" | |
| ] | |
| }, | |
| { | |
| "Ref": "AWS::NoValue" | |
| } | |
| ] | |
| } | |
| ], | |
| "Version": "2012-10-17" | |
| }, | |
| "PolicyName": "subscribeFunctionServiceRoleDefaultPolicyA1C1D645", | |
| "Roles": [ | |
| { | |
| "Ref": "subscribeFunctionServiceRoleE1E26A6E" | |
| } | |
| ] | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/subscribeFunction/ServiceRole/DefaultPolicy/Resource" | |
| } | |
| }, | |
| "subscribeFunction1FA97757": { | |
| "Type": "AWS::Lambda::Function", | |
| "Properties": { | |
| "Code": { | |
| "S3Bucket": { | |
| "Ref": "AssetParameters74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1S3Bucket15325D83" | |
| }, | |
| "S3Key": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| { | |
| "Fn::Select": [ | |
| 0, | |
| { | |
| "Fn::Split": [ | |
| "||", | |
| { | |
| "Ref": "AssetParameters74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1S3VersionKeyA6810A34" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "Fn::Select": [ | |
| 1, | |
| { | |
| "Fn::Split": [ | |
| "||", | |
| { | |
| "Ref": "AssetParameters74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1S3VersionKeyA6810A34" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| ] | |
| } | |
| }, | |
| "Handler": "index.handler", | |
| "Role": { | |
| "Fn::GetAtt": [ | |
| "subscribeFunctionServiceRoleE1E26A6E", | |
| "Arn" | |
| ] | |
| }, | |
| "Runtime": "nodejs10.x", | |
| "Environment": { | |
| "Variables": { | |
| "QUEUE_URL": { | |
| "Ref": "queue276F7297" | |
| }, | |
| "TABLE_NAME": { | |
| "Ref": "table8235A42E" | |
| } | |
| } | |
| } | |
| }, | |
| "DependsOn": [ | |
| "subscribeFunctionServiceRoleDefaultPolicyA1C1D645", | |
| "subscribeFunctionServiceRoleE1E26A6E" | |
| ], | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/subscribeFunction/Resource", | |
| "aws:asset:path": "asset.74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1", | |
| "aws:asset:property": "Code" | |
| } | |
| }, | |
| "subscribeFunctionSqsEventSourceServerlessStackStackqueueDE23BF8294529142": { | |
| "Type": "AWS::Lambda::EventSourceMapping", | |
| "Properties": { | |
| "EventSourceArn": { | |
| "Fn::GetAtt": [ | |
| "queue276F7297", | |
| "Arn" | |
| ] | |
| }, | |
| "FunctionName": { | |
| "Ref": "subscribeFunction1FA97757" | |
| } | |
| }, | |
| "Metadata": { | |
| "aws:cdk:path": "ServerlessStackStack/subscribeFunction/SqsEventSource:ServerlessStackStackqueueDE23BF82/Resource" | |
| } | |
| } | |
| }, | |
| "Parameters": { | |
| "AssetParameters7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcdS3BucketEB74C09E": { | |
| "Type": "String", | |
| "Description": "S3 bucket for asset \"7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcd\"" | |
| }, | |
| "AssetParameters7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcdS3VersionKey04255F4F": { | |
| "Type": "String", | |
| "Description": "S3 key for asset version \"7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcd\"" | |
| }, | |
| "AssetParameters7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcdArtifactHash1A31DC85": { | |
| "Type": "String", | |
| "Description": "Artifact hash for asset \"7f810969731f35a84999fb2df6994a365001650983102aa57a8e04af29134fcd\"" | |
| }, | |
| "AssetParameters74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1S3Bucket15325D83": { | |
| "Type": "String", | |
| "Description": "S3 bucket for asset \"74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1\"" | |
| }, | |
| "AssetParameters74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1S3VersionKeyA6810A34": { | |
| "Type": "String", | |
| "Description": "S3 key for asset version \"74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1\"" | |
| }, | |
| "AssetParameters74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1ArtifactHash5C191C5A": { | |
| "Type": "String", | |
| "Description": "Artifact hash for asset \"74cc2d35754eea9df5d0110831c9ba5ec416db8e8c171b0e195ef48fe5ad57b1\"" | |
| } | |
| }, | |
| "Outputs": { | |
| "apiEndpoint9349E63C": { | |
| "Value": { | |
| "Fn::Join": [ | |
| "", | |
| [ | |
| "https://", | |
| { | |
| "Ref": "apiC8550315" | |
| }, | |
| ".execute-api.", | |
| { | |
| "Ref": "AWS::Region" | |
| }, | |
| ".", | |
| { | |
| "Ref": "AWS::URLSuffix" | |
| }, | |
| "/", | |
| { | |
| "Ref": "apiDeploymentStagedev96712F43" | |
| }, | |
| "/" | |
| ] | |
| ] | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment