variable "aws_region" {
  description = "AWS region"
  default     = "us-east-1"
}

variable "environment" {
  description = "Available values:  dev, qa, prod."
  default     = "qa"
}

variable "service_name" {
  default = "gda-account-creation"
}

variable "lambda_function_names" {
  description = "List of lambda function names"
  type        = list(string)
  default = [
    "lambda-create-vendor",
    "lambda-create-artist",
    "lambda-create-contract",
    "lambda-create-master-contact",
    "lambda-create-subscription",
    "lambda-redeem-voucher",
    "lambda-send-org-invite-email",
    "lambda-send-success",
    "lambda-send-failure",
    "lambda-trigger-gda-account-creation",
  ]
}

variable "logger_dsn" {
  description = "DSN for logging."
  default     = "udp://qa-fluentd-applications-udp.theorchard.io:5160"
}

variable "lambda_default_timeout" {
  description = "Default value for timeout"
  default     = "300"
}

variable "graphql_gateway_url" {
  description = "GraphQL gateway URL"
  default     = "https://qa-graphql-gateway.theorchard.io/graphql"
}

variable "graphql_router_url" {
  description = "GraphQL router URL"
  default     = "https://qa-graphql-router.theorchard.io/graphql"
}

variable "lambda_concurrent_executions" {
  description = "Number of reserved concurrent executions for lambda function"
  default     = 100
}

variable "trigger_lambda_concurrent_executions" {
  description = "Number of reserved concurrent executions for step function trigger lambda"
  default     = 5
}

variable "datadog_enabled" {
  description = "Whether or not to attach datadog secretsmanager IAM policy"
  default     = true
}

variable "kafka_brokers" {
  description = "comma separated cdc kafka brokers"
  default     = "b-3.qa-managed-kafka-artis.6zl6au.c6.kafka.us-east-1.amazonaws.com:9094,b-2.qa-managed-kafka-artis.6zl6au.c6.kafka.us-east-1.amazonaws.com:9094,b-1.qa-managed-kafka-artis.6zl6au.c6.kafka.us-east-1.amazonaws.com:9094"
}

variable "kafka_topic" {
  description = "event kafka topic for gda dead_letter queue"
  default     = "dlq.gdaAccountCreation.failures"
}

variable "success_kafka_topic" {
  description = "event kafka topic for gda success queue"
  default     = "event.gdaAccountCreation.success"
}

variable "trigger_msk_cluster_name" {
  description = "MSK cluster name that will trigger the step function lambda"
  default     = "qa-managed-kafka-artist-diy"
}

variable "trigger_msk_cluster_uuid" {
  description = "MSK cluster uuid that will trigger the step function lambda"
  default     = "992c3c6c-419a-4c89-a3f4-0d83eadce2db-6"
}

variable "trigger_msk_topic" {
  description = "MSK topic that triggers the step function lambda"
  default     = "event.gdaApproval"
}

variable "knr_trigger_msk_topic" {
  description = "MSK topic used in account-creation Jenkins job"
  default     = "event.knrAccountCreation"
}

variable "trigger_awal_plus_account_creation_topic" {
  description = "MSK topic used to trigger the AWAL PLus account-creation Jenkins job"
  default     = "event.awalPlusAccountCreation"
}

variable "trigger_msk_deadletter_topic" {
  description = "Dead letter queue for gdaApproval triger failures"
  default     = "dlq.gdaApproval"
}

variable "monitor_dlq_topic_name" {
  description = "MSK topic name to monitor messages to in datadog"
  default     = "dlq.gdaAccountCreation.failures"
}

variable "notification_endpoints" {
  default = "@slack-accounts-team-alerts"
}

variable "datadog_advanced_enabled" {
  description = "Enabled DataDog monitoring."
  default     = true
}

variable "application_family" {
  description = "Application family of which this is a component. Used for tagging"
  default     = "user-platform"
}

variable "hash_key" {
  description = "Name of the primary key"
  default     = "correlation_id"
}

variable "lambda_gda_account_creation_retry_attempts" {
  description = "Default value for number of retries"
  default     = 4
}

variable "lambda_gda_account_creation_interval_seconds" {
  description = "Default value for interval retry attempts"
  default     = "120"
}
