provider "aws" {
  region = var.aws_region
}

data "aws_caller_identity" "current" {}

terraform {
  backend "s3" {
    bucket  = "dev-orcd-terraform-state"
    key     = "dev/lambda-gda-signup/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

data "aws_msk_cluster" "msk_cluster" {
  cluster_name = var.msk_cluster_name
}

module "lambda_gda_signup" {
  source = "git@github.com:theorchard/terraform-lambda.git?ref=2.3.1"

  environment              = var.environment
  lambda_name              = var.lambda_name
  lambda_description       = "Send GDA submission requests coming from the landing website into Kafka topic."
  use_container_image      = true
  datadog_enabled          = var.datadog_enabled
  datadog_advanced_enabled = var.datadog_enabled

  # checkov:skip=ORCD_AWS_11:this is a temporary/dev
  vpc_security_group_ids  = var.vpc_security_group_ids
  vpc_subnet_ids          = var.vpc_subnet_ids
  dlq_enabled             = var.dlq_enabled
  zappa_s3_policy_enabled = false
  application_family      = "gda"

  lambda_function_environment_variables = {
    Environment               = var.environment
    BOOTSTRAP_SERVERS         = data.aws_msk_cluster.msk_cluster.bootstrap_brokers_tls
    TOPIC_NAME                = var.kafka_topic
    KAFKA_API_VERSION         = data.aws_msk_cluster.msk_cluster.kafka_version
    DD_LAMBDA_HANDLER         = var.lambda_handler
    SALESFORCE_RECORD_TYPE_ID = var.salesforce_record_type_id
  }
}
