# 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!

service: catherine-fc-api
# app and org for use with dashboard.serverless.com
#app: your-app-name
#org: your-org-name
custom:
  VpcId:
    dev: "vpc-c54553a2"
    sqa: "vpc-c54553a2"
    int: "vpc-c54553a2"
    uat: "vpc-c54553a2"
    prd: "vpc-c54553a2"
  Subnet1:
    dev: "subnet-0d0fdf45"
    sqa: "subnet-0d0fdf45"
    int: "subnet-0d0fdf45"
    uat: "subnet-0d0fdf45"
    prd: "subnet-0d0fdf45"
  Subnet2:
    dev: "subnet-4dcecc16"
    sqa: "subnet-4dcecc16"
    int: "subnet-4dcecc16"
    uat: "subnet-4dcecc16"
    prd: "subnet-4dcecc16"

# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
# frameworkVersion: "=X.X.X"
frameworkVersion: '>=1.28.0 <=2.0.0'

provider:
  name: aws
  runtime: go1.x
  region: ap-northeast-1
  versionFunctions: false
  logRetentionInDays: 14
  memorySize: 128
  deploymentBucket: catherine-fc-serverless-bucket
  stage: dev
# you can overwrite defaults here
#  stage: dev
#  region: us-east-1
  iamRoleStatements:
    - Effect: "Allow"
      Action:
        - "lambda:InvokeFunction"
      Resource:
        - "arn:aws:lambda:*:*:function:*"

    - Effect: "Allow"
      Action:
        - "logs:CreateLogGroup"
        - "logs:CreateLogStream"
        - "logs:PutLogEvents"
      Resource:
        - "arn:aws:logs:*:*:*"

    - Effect: "Allow"
      Action:
        - "ssm:GetParameter"
      Resource:
        - "arn:aws:ssm:*:*:parameter/*"

# you can define service wide environment variables here
#  environment:
#    variable1: value1

package:
  exclude:
    - ./**
  include:
    - ./bin/**

functions:
  guideAPI:
    handler: bin/guide
    timeout: 3
    events:
      - http:
          path: guide
          method: get
  archiveAPI:
    handler: bin/archive
    timeout: 3
    events:
      - http:
          path: archive
          method: get
#    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
# events:
#    events:
#      - http:
#          path: users/create
#          method: get
#      - websocket: $connect
#      - 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
#      - alb:
#          listenerArn: arn:aws:elasticloadbalancing:us-east-1:XXXXXX:listener/app/my-load-balancer/50dc6c495c0c9188/
#          priority: 1
#          conditions:
#            host: example.com
#            path: /hello

#    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"
