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

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

variable "service_name" {
  default = "sme-analytics-account-creation"
}

variable "vpc_id" {
  description = "VPC where the lambdas will execute"
  default = "vpc-7f0e841a"
}

variable "vpc_subnet_ids" {
  type        = list(string)
  description = "VPC subnet IDs where the lambdas will execute"
  default = ["subnet-cb4dbae0", "subnet-5366ef24"]
}

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

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     = 10
}

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-1.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094,b-2.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094,b-3.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094"
}

variable "kafka_topic" {
  description = "event kafka topic for sme analytics dead_letter queue"
  default     = "dlq.smeAnalyticsAccountCreation.failures"
}

variable "success_kafka_topic" {
  description = "event kafka topic for sme analytics success queue"
  default     = "event.smeAnalyticsAccountCreation.success"
}

variable "trigger_msk_cluster_name" {
  description = "MSK cluster name that will trigger the step function lambda"
  default     = "prod-managed-kafka-cdc-destination"
}

variable "trigger_msk_cluster_uuid" {
  description = "MSK cluster uuid that will trigger the step function lambda"
  default     = "b103e027-ec75-4982-8d15-5bddc5e33831-6"
}

variable "trigger_sme_analytics_account_creation_topic" {
  description = "MSK topic used to trigger the SME Analytics account-creation Jenkins job"
  default     = "event.smeAnalyticsAccountCreation"
}

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

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

variable "notification_endpoints" {
  default = "@slack-team-data-ingestion-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     = "data-platform"
}

variable "snowflake_account" {
  default = "delphi.us-east-1"
}

variable "snowflake_schema" {
  default = "PROD"
}

variable "snowflake_warehouse" {
  default = "PROD_ETL_WAREHOUSE"
}

variable "snowflake_database" {
  default = "FACTS"
}

variable "snowflake_role" {
  default = "FACTS_DB_PROD_SCHEMA_READWRITE"
}

variable "snowflake_user" {
  default = "PROD_LAMBDA_SME_ANALYTICS_ACCOUNT_CREATION"
}

variable "secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create"
  type        = list(string)
  default     = [
    "SNOWFLAKE_KEY",
    "ART_RELATIONS_DB_HOST",
    "ART_RELATIONS_DB_USER",
    "ART_RELATIONS_DB_PASSWORD"
  ]
}

variable "team_name" {
  default = "data-platform"
}
