Deploy using Terraform
edit
  1. Save the following yaml content as sar-application.tf and fill in the correct parameters according to Define deployment parameters:

      provider "aws" {
        region = ""  ## FILL WITH THE AWS REGION WHERE YOU WANT TO DEPLOY THE ELASTIC SERVERLESS FORWARDER
      }
      data "aws_serverlessapplicationrepository_application" "esf_sar" {
        application_id = "arn:aws:serverlessrepo:eu-central-1:267093732750:applications/elastic-serverless-forwarder"
      }
      resource "aws_serverlessapplicationrepository_cloudformation_stack" "esf_cf_stak" {
        name             = "terraform-elastic-serverless-forwarder"
        application_id   = data.aws_serverlessapplicationrepository_application.esf_sar.application_id
        semantic_version = data.aws_serverlessapplicationrepository_application.esf_sar.semantic_version
        capabilities     = data.aws_serverlessapplicationrepository_application.esf_sar.required_capabilities
      parameters = {
          ElasticServerlessForwarderS3ConfigFile = ""
          ElasticServerlessForwarderSSMSecrets = ""
          ElasticServerlessForwarderKMSKeys = ""
          ElasticServerlessForwarderSQSEvents = ""
          ElasticServerlessForwarderS3SQSEvents = ""
          ElasticServerlessForwarderKinesisEvents = ""
          ElasticServerlessForwarderCloudWatchLogsEvents = ""
          ElasticServerlessForwarderS3Buckets = ""
          ElasticServerlessForwarderSecurityGroups = ""
          ElasticServerlessForwarderSubnets = ""
        }
      }
  2. Deploy the function from SAR by running the following commands:

      terrafrom init
      terrafrom apply

From v1.4.0 and above, if you want to update the Events settings for the deployment, it is no longer required to manually delete existing settings before applying the new settings.

Due to a Terraform bug related to aws_serverlessapplicationrepository_application, if you want to delete existing Event parameters you have to set the related aws_serverlessapplicationrepository_cloudformation_stack.parameters to a blank space value (" ") instead of an empty string ("").