service: ${env:STACK_NAME} provider: name: aws region: eu-west-2 architecture: x86_64 environment: RUNTIME_ENVIRONMENT: ${env:RUNTIME_ENVIRONMENT} PREDICTIONS_BUCKET: ${env:PREDICTIONS_BUCKET} DATA_BUCKET: ${env:DATA_BUCKET} DOMAIN_NAME: ${env:DOMAIN_NAME} ECR_URI: ${env:ECR_URI} GITHUB_SHA: ${env:GITHUB_SHA} iam: role: name: ${env:STACK_NAME}_s3_access statements: # Allow reading from the DATA_BUCKET - Effect: Allow Action: - s3:* Resource: - arn:aws:s3:::${env:DATA_BUCKET} - arn:aws:s3:::${env:DATA_BUCKET}/* # Allow reading and writing to PREDICTIONS_BUCKET - Effect: Allow Action: - s3:* Resource: - arn:aws:s3:::${env:PREDICTIONS_BUCKET} - arn:aws:s3:::${env:PREDICTIONS_BUCKET}/* plugins: - serverless-domain-manager custom: customDomain: domainName: api.${self:provider.environment.DOMAIN_NAME} basePath: ${env:STACK_NAME} createRoute53Record: true certificateArn: ${ssm:/ssl_certificate_arn} functions: sap_prediction_lambda: image: uri: ${env:ECR_URI}:${env:GITHUB_SHA} events: - http: path: /predict method: POST timeout: 120 # Set max run time to 2 minutes - we shouldn't need this much time so this can be reviewed memorySize: 3008