AWS Lambda Create a Lambda Function with CloudFromation

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Resource Types

AWS::Lambda::Function

AWS::Lambda::Function
CreateFunction
Resources:
  LambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: playground-lambda-execution-role
      Path: /service-role/
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: 'Allow'
            Principal:
              Service:
                - "lambda.amazonaws.com"
            Action:
              - "sts:AssumeRole"
      Policies:
        - PolicyName: 'inline-policy'
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: 'Allow'
                Action:
                  - 'logs:CreateLogGroup'
                  - 'logs:CreateLogStream'
                  - 'logs:PutLogEvents'
                Resource:
                  - 'arn:aws:logs:*:*:*'

  LambdaExample:
    Type: "AWS::Lambda::Function"
    Properties: 
      FunctionName: my-lambda
      Description: 'Some description'
      Code:
        S3Bucket: a-bucket
        S3Key: a-deployment-package
        # S3ObjectVersion: String
        # ZipFile: String
      Handler: handler
      Runtime: java-1.8.0-openjdk
      Environment:
        Variables:
          MY_ENV_VAR: 'my value'
      VpcConfig:
        SubnetIds:
          - red-subnet
        SecurityGroupIds:
          - ...
      MemorySize: 128
      Role: !GetAtt LambdaExecutionRole.Arn
      Timeout: Integer
      ReservedConcurrentExecutions: Integer
      DeadLetterConfig:
        DeadLetterConfig
      KmsKeyArn: String
      Layers:
        - String
      TracingConfig:
        TracingConfig
      Tags:
        Resource Tag

Create a bash Lambda

Publishing a Custom Runtime

Create a Java Lambda

AWS Java Lambda Development