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

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

variable "service_name" {
  default = "lambda-content"
}

variable "application_family" {
  default = "content-review"
}

variable "vpc_id" {
  default = "vpc-7f0e841a"
}

variable "vpc_subnet_ids" {
  type        = list(string)
  description = "VPC subnet IDs where the lambdas will execute"
  default     = ["subnet-098b89d0c58c5693a", "subnet-067a6b45b079d7296"]
}

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

variable "trigger_msk_cluster_name" {
  description = "MSK cluster name"
  default     = "prod-managed-kafka-cdc-destination"
}

variable "trigger_msk_cluster_uuid" {
  description = "MSK cluster uuid"
  default     = "b103e027-ec75-4982-8d15-5bddc5e33831-6"
}

variable "releases_msk_topic" {
  description = "Single topic name to subscribe to"
  default     = "cdc.artRelations.releases"
}

variable "review_queue_msk_topic" {
  default = "cdc.contentReview.reviewQueue"
}

variable "product_review_msk_topic" {
  default = "event.owsContentReview.review"
}

variable "content_review_product_topic" {
  default = "event.owsContentReview.product"
}

variable "digital_product_submit_msk_topic" {
  default = "STREAM_DIGITAL_PRODUCT_SUBMIT"
}

variable "queue_move_history_msk_topic" {
  default = "stream.contentReview.queueMoveHistory"
}

variable "content_review_es_endpoint" {
  default = "vpc-prod-content-review-w7rqivh2dsb66pbktzmc7narge.us-east-1.es.amazonaws.com"
}

variable "additional_tags" {
  default = {
    "map-migrated" = "d-server-01hdpbwzxf15ud"
  }
}

variable "cleanup_secrets_manager_secret_names" {
  description = "List of secrets manager secrets to create"
  type        = list(string)
  default = [
    "SNOWFLAKE_KEY"
  ]
}

variable "replication_consumer_lambda_reserved_concurrency" {
  description = "Reserved concurrency executions for lambdas handling replication events."
  default     = 5
}

variable "lambda_function_provisioned_concurrent_executions" {
  default = 2
}

variable "schema_registry_url" {
  default = "https://prod-schema-registry.theorchard.io/"
}

variable "os_domain_endpoint" {
  default = "vpc-prod-content-review-os-aah5mskpw45xlbbxz6i5p4kvsy.us-east-1.es.amazonaws.com"
}

variable "os_domain_name" {
  description = "opensearch domain name"
  default     = "prod-content-review-os"
}

variable "os_domain_port" {
  default     = 443
}

variable "opensearch_index_read_alias" {
  default     = "review_read"
}

variable "opensearch_index_write_alias" {
  default     = "review_write"
}

variable "notification_endpoints" {
  description = "Endpoints for alerts. Can be email, slack, pagerduty, etc"
  type        = string
  default     = "@slack-content-review-support"
}

variable "escalation_notification_endpoints" {
  description = "Endpoints for escalation alerts. Can be email, slack, pagerduty, etc"
  type        = string
  default     = "@slack-content-review-support @oncall-content-review-management"
}

variable "snowflake_role" {
  default = "PROD_LAMBDA_CONTENT_REVIEW_QUEUE_CLEANUP"
}

variable "snowflake_warehouse" {
  default = "PROD_ETL_WAREHOUSE"
}

variable "snowflake_username" {
  default = "PROD_LAMBDA_CONTENT_REVIEW_QUEUE_CLEANUP"
}

variable "review_queue_cleanup_cloudwatch_event_enabled" {
  default = true
}

# Snowflake Proxy REST API variables
variable "role_session_duration" {
  description = "Duration for which the Snowflake Proxy role session is valid"
  type        = number
  default     = 3600
}

variable "acrcloud_audio_infringements_msk_topic" {
  default = "event.owsAssets.acrCloudAudioInfringements"
}

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