module "lambda_create_altafonte_user" {
  source                      = "git@github.com:theorchard/terraform-lambda.git?ref=3.1.9"
  environment                 = var.environment
  lambda_name                 = local.create_user_lambda_name
  lambda_description          = "Creates a user by calling the createIdentity graphql-user mutation.  Used in the altafonte user creation step function."
  lambda_function_timeout     = var.lambda_default_timeout
  use_container_image         = true
  vpc_subnet_ids              = module.vpc_info.default_private_subnet_ids
  vpc_enabled                 = true
  vpc_id                      = module.vpc_info.vpc_id
  datadog_advanced_enabled    = true
  application_family          = var.application_family
  lambda_function_memory_size = var.lambda_memory_size

  lambda_function_environment_variables = {
    ENVIRONMENT         = var.environment
    SENTRY_DSN          = module.sentry_altafonte_user_creation.sentry_key_dsn_public_output
  }

  lambda_function_reserved_concurrent_executions = var.lambda_concurrent_executions
}

module "datadog_lambda_create_altafonte_user_dashboards" {
  source                            = "git@github.com:theorchard/terraform-datadog.git//modules/lambda?ref=6.13.0"
  service_name                      = local.create_user_lambda_name
  environment                       = var.environment
  lambda_invocation_monitor_enabled = true
  lambda_error_monitor_enabled      = true
  notification_endpoints            = var.slack_alert_channel
}

module "m2m_secrets_create_user" {
  source = "git@github.com:theorchard/terraform-secrets-manager.git//modules/auth0m2m?ref=1.6.1"

  environment        = var.environment
  service_name       = local.create_user_lambda_name
  application_family = var.application_family
}
