# Lambda definition for create_contract step

# lambda definition
module "lambda_create_contract" {
  source = "git@github.com:theorchard/terraform-lambda.git//?ref=5.2.1"

  environment              = var.environment
  use_container_image      = true
  lambda_name              = "lambda-create-contract"
  lambda_description       = "For create_contract step in step function."
  application_family       = var.application_family
  datadog_advanced_enabled = var.datadog_advanced_enabled
  lambda_function_handler  = "src.app.handler"

  lambda_function_environment_variables = {
    Environment         = var.environment
    LOGGER_DSN          = var.logger_dsn
    SENTRY_DSN          = module.sentry_gda_account_creation.sentry_key_dsn_public_output
    GRAPHQL_GATEWAY_URL = var.graphql_gateway_url
  }

  lambda_function_timeout                        = var.lambda_default_timeout
  vpc_id                                         = var.vpc_id
  vpc_subnet_ids                                 = var.vpc_subnet_ids
  lambda_function_reserved_concurrent_executions = var.lambda_concurrent_executions
  datadog_enabled                                = var.datadog_enabled
}


# create datadog dashboards.
module "datadog_lambda_create_contract_lambda" {
  source = "git@github.com:theorchard/terraform-datadog.git//modules/lambda?ref=6.15.3"

  environment                       = var.environment
  service_name                      = "lambda-create-contract"
  lambda_invocation_monitor_enabled = false
}
