-
-
Save aquiseb/7bf716c0d63933f4f4ae42f50c383db6 to your computer and use it in GitHub Desktop.
AWS cfn template for serverless
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: | |
ZachLambdaRole: | |
Type: AWS::IAM::Role | |
Properties: | |
Description: Lambda execution role for Zach | |
AssumeRolePolicyDocument: | |
Version: 2012-10-17 | |
Statement: | |
- Effect: Allow | |
Principal: | |
Service: | |
- lambda.amazonaws.com | |
Action: | |
- sts:AssumeRole | |
ManagedPolicyArns: | |
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | |
PrivateS3Bucket: | |
Type: AWS::S3::Bucket | |
Properties: | |
AccessControl: Private | |
BucketName: zachserverlessappbucket | |
ApiGateway: | |
Type: AWS::ApiGatewayV2::Api | |
Properties: | |
Description: An api for testing lambda functions with s3 | |
Name: zachsserverlessapi | |
ProtocolType: HTTP | |
MyLambdaFunction: | |
Type: AWS::Lambda::Function | |
Properties: | |
Runtime: nodejs12.x | |
Role: !GetAtt ZachLambdaRole.Arn | |
Handler: index.handler | |
Code: | |
ZipFile: | | |
var aws = require('aws-sdk') | |
exports.handler = function(event, context, cb) { | |
cb(null, {"val":"0"}) | |
} | |
Description: Test function used for this stack | |
MainRouteIntegration: | |
Type: AWS::ApiGatewayV2::Integration | |
DependsOn: | |
- ApiGateway | |
Properties: | |
ApiId: !Ref ApiGateway | |
Description: Lambda Integration for main route | |
IntegrationType: AWS_PROXY | |
IntegrationUri: !GetAtt MyLambdaFunction.Arn | |
IntegrationMethod: GET | |
PayloadFormatVersion: '2.0' | |
ConnectionType: INTERNET | |
MainRoute: | |
Type: AWS::ApiGatewayV2::Route | |
DependsOn: | |
- ApiGateway | |
- MyLambdaFunction | |
- MainRouteIntegration | |
Properties: | |
ApiId: !Ref ApiGateway | |
RouteKey: GET /home | |
Target: !Join | |
- / | |
- - integrations | |
- !Ref MainRouteIntegration | |
MainRouteDeployment: | |
Type: AWS::ApiGatewayV2::Deployment | |
DependsOn: | |
- ApiGateway | |
- MainRoute | |
- MainStage | |
Properties: | |
Description: Main deployment for serverless api | |
ApiId: !Ref ApiGateway | |
StageName: Test | |
MainStage: | |
Type: AWS::ApiGatewayV2::Stage | |
DependsOn: | |
- ApiGateway | |
- MainRoute | |
Properties: | |
ApiId: !Ref ApiGateway | |
StageName: Test | |
Description: Test Stage for serverless api |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment