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

  environment              = var.environment
  lambda_name              = "${var.service_name}-generate-ddex"
  application_family       = var.application_family
  use_custom_function_name = true
  custom_function_name     = "${var.environment}-${var.service_name}-generate-ddex"
  lambda_description       = "Generates DDEX extended metadata"
  use_container_image      = true

  lambda_assume_role_service_identifiers = [
    "lambda.amazonaws.com",
    "events.amazonaws.com",
    "apigateway.amazonaws.com",
  ]

  lambda_function_environment_variables = {
    Environment         = var.environment
    LOGGER_DSN          = var.logger_dsn
    SENTRY_DSN          = module.sentry_generate_ddex_lambda.sentry_key_dsn_public_output
    OA_USER             = var.oa_user
    GRAPHQL_GATEWAY_URL = var.graphql_gateway_url
  }

  lambda_function_memory_size                    = 256
  lambda_function_timeout                        = var.lambda_default_timeout
  lambda_function_reserved_concurrent_executions = 50
  vpc_id                                         = module.vpc_info.vpc_id
  vpc_subnet_ids                                 = module.vpc_info.default_private_subnet_ids
}

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

  environment        = var.environment
  service_name       = "${var.service_name}-generate-ddex"
  application_family = var.application_family
}
