AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  prod

  Sample SAM Template for prod

# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
  Function:
    Timeout: 30

    # You can add LoggingConfig parameters such as the Logformat, Log Group, and SystemLogLevel or ApplicationLogLevel. Learn more here https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-loggingconfig.
    LoggingConfig:
      LogFormat: JSON
Resources:
  SendQueFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      CodeUri: sendque/
      Handler: app.lambdaHandler
      Runtime: nodejs20.x
      Architectures:
      - x86_64
      Policies:
        - AmazonSESFullAccess
        - Version: "2012-10-17"
          Statement:
            - Effect: Allow
              Action:
                - ssm:GetParameter
              Resource: 
                - arn:aws:ssm:eu-west-1:761018868594:parameter/intersectcloud-supabase/url
                - arn:aws:ssm:eu-west-1:761018868594:parameter/intersectcloud-ses/password
                - arn:aws:ssm:eu-west-1:761018868594:parameter/intersectcloud-ses/username
                - arn:aws:ssm:eu-west-1:761018868594:parameter/Supabase-Simpleflow-Production/JwtSecret/ServiceRoleKey
                - arn:aws:ssm:eu-west-1:761018868594:parameter/intersectcloud-ses/no-reply-email
      Events:
        SendQueScheduler: # Added scheduler event
          Type: Schedule
          Properties:
            Schedule: rate(1 minute) # Trigger every minute
            Input: '{}' # You can provide input JSON for the event here if needed

  # ApplicationResourceGroup:
  #   Type: AWS::ResourceGroups::Group
  #   Properties:
  #     Name:
  #       Fn::Sub: ApplicationInsights-SAM-${AWS::StackName}
  #     ResourceQuery:
  #       Type: CLOUDFORMATION_STACK_1_0
  # ApplicationInsightsMonitoring:
  #   Type: AWS::ApplicationInsights::Application
  #   Properties:
  #     ResourceGroupName:
  #       Ref: ApplicationResourceGroup
  #     AutoConfigurationEnabled: 'true'
# Outputs:
#   # ServerlessRestApi is an implicit API created out of Events key under Serverless::Function
#   # Find out more about other implicit resources you can reference within SAM
#   # https://github.com/awslabs/serverless-application-model/blob/master/docs/internals/generated_resources.rst#api
#   HelloWorldApi:
#     Description: API Gateway endpoint URL for Prod stage for Hello World function
#     Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/"
#   HelloWorldFunction:
#     Description: Hello World Lambda Function ARN
#     Value: !GetAtt HelloWorldFunction.Arn
#   HelloWorldFunctionIamRole:
#     Description: Implicit IAM Role created for Hello World function
#     Value: !GetAtt HelloWorldFunctionRole.Arn
