# Welcome to Serverless!
#
# This file is the main config file for your service.
# It's very minimal at this point and uses default values.
# You can always add more config options for more control.
# We've included some commented out config examples here.
# Just uncomment any of them to get that config option.
#
# For full config options, check the docs:
#    docs.serverless.com
#
# Happy Coding!

org: ORG_PLACEHOLDER
app: APP_PLACEHOLDER
service: SERVICE_PLACEHOLDER

# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
frameworkVersion: '>=1.37.1'

outputs:
  outputVariable: outputValue

custom:
  defaultIamRole: []
  badIamRole:
    - Effect: 'Allow'
      Action:
        - 's3:PutObject'
      Resource: '*'
  httpEvents:
    - http:
        path: hello
        method: post
  noEvents: []
  testSecret: ${secrets:test}

provider:
  name: aws
  runtime: nodejs12.x
  region: REGION_PLACEHOLDER

  # you can overwrite defaults here
  #  stage: dev

  # you can add statements to the Lambda function's IAM Role here
  iamRoleStatements: ${self:custom.${env:IAM_ROLE, 'defaultIamRole'}}
  #    - Effect: "Allow"
  #      Action:
  #        - "s3:ListBucket"
  #      Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ]  }
  #    - Effect: "Allow"
  #      Action:
  #        - "s3:PutObject"
  #      Resource:
  #        Fn::Join:
  #          - ""
  #          - - "arn:aws:s3:::"
  #            - "Ref" : "ServerlessDeploymentBucket"
  #            - "/*"

  # you can define service wide environment variables here
  environment:
    variable1: ${env:ENV_OPT, 'value1'}

# you can add packaging information here
#package:
#  include:
#    - include-me.js
#    - include-me-dir/**
#  exclude:
#    - exclude-me.js
#    - exclude-me-dir/**

functions:
  hello:
    handler: handler.hello

    events: ${self:custom.${env:EVENTS, 'httpEvents'}}
#    The following are a few example events you can configure
#    NOTE: Please make sure to change your handler code to work with those events
#    Check the event documentation for details
#      - s3: ${env:BUCKET}
#      - schedule: rate(10 minutes)
#      - sns: greeter-topic
#      - stream: arn:aws:dynamodb:region:XXXXXX:table/foo/stream/1970-01-01T00:00:00.000
#      - alexaSkill: amzn1.ask.skill.xx-xx-xx-xx
#      - alexaSmartHome: amzn1.ask.skill.xx-xx-xx-xx
#      - iot:
#          sql: "SELECT * FROM 'some_topic'"
#      - cloudwatchEvent:
#          event:
#            source:
#              - "aws.ec2"
#            detail-type:
#              - "EC2 Instance State-change Notification"
#            detail:
#              state:
#                - pending
#      - cloudwatchLog: '/aws/lambda/hello'
#      - cognitoUserPool:
#          pool: MyUserPool
#          trigger: PreSignUp

#    Define function environment variables here
#    environment:
#      variable2: value2

# you can add CloudFormation resource templates here
#resources:
#  Resources:
#    NewResource:
#      Type: AWS::S3::Bucket
#      Properties:
#        BucketName: my-new-bucket
#  Outputs:
#     NewOutput:
#       Description: "Description for the output"
#       Value: "Some output value"
