AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: >
  health report v2

Parameters:
  Stage:
    Type: String
    Default: staging
    Description: Parameter for getting the deployment stage

Mappings:
  EnvConfigs:
    staging:
      TaskRole: arn:aws:iam::552185537300:role/ce-task
      SecurityGroupIds:
        - sg-08bb42935021e024b
      SubnetIds:
        - subnet-098de5356152db3c2
        - subnet-0aea29f5add64487c
      RuntimeDestARN: arn:aws:lambda:us-west-2:552185537300:function:ce-framework-runtime
      CELayerPy3: arn:aws:lambda:us-west-2:552185537300:layer:ce-python-layer:5
    prod:
      TaskRole: arn:aws:iam::557537366020:role/ce-task
      SecurityGroupIds:
        - sg-0118e0f1069a02381
      SubnetIds:
        - subnet-0539a75851b24df03
        - subnet-0258434fb4a0d03ef
        - subnet-007f996591222aec2
        - subnet-068050d69d264d42a
      RuntimeDestARN: arn:aws:lambda:us-west-2:557537366020:function:ce-framework-runtime
      CELayerPy3: arn:aws:lambda:us-west-2:557537366020:layer:ce-python-layer:8

Globals:
  Function:
    Timeout: 900

Resources:
  HandlerFunc:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: JOB_FUNC_NAME_PLACEHOLDER
      CodeUri: .
      Handler: lambda_function.lambda_handler
      Runtime: python3.9
      Architectures:
        - x86_64
      MemorySize: 256
      EphemeralStorage:
        Size: 512
      Role: !FindInMap
        - EnvConfigs
        - Ref: Stage
        - TaskRole
      Layers:
        - arn:aws:lambda:us-west-2:336392948345:layer:AWSDataWrangler-Python39:8
        - !FindInMap
          - EnvConfigs
          - Ref: Stage
          - CELayerPy3
      EventInvokeConfig:
        DestinationConfig:
          OnFailure:
            Type: Lambda
            Destination: !FindInMap
              - EnvConfigs
              - Ref: Stage
              - RuntimeDestARN
          OnSuccess:
            Type: Lambda
            Destination: !FindInMap
              - EnvConfigs
              - Ref: Stage
              - RuntimeDestARN
      Environment:
        Variables:
          CE_ENDPOINT: CE_ENDPOINT_PLACEHOLDER
          METRICS_SNAPSHOT_TASK_NAME: ce-job-metrics-snapshot
          S3_BUCKET: compute-engine-task-resumer
          S3_BUCKET_RESPONSE: compute-engine-response
      VpcConfig:
        SecurityGroupIds: !FindInMap
          - EnvConfigs
          - Ref: Stage
          - SecurityGroupIds
        SubnetIds: !FindInMap
          - EnvConfigs
          - Ref: Stage
          - SubnetIds
