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

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

variable "service_name" {
  description = "Service name"
  default     = "ddex-ingester"
}

variable "vpc_security_group_ids" {
  type        = list(string)
  description = "Security group IDs for the VPC where the lambdas will execute"
}

variable "vpc_subnet_ids" {
  type        = list(string)
  description = "VPC subnet IDs where the lambdas will execute"
}

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

variable "sme_marketing_prefix" {
  description = "S3 bucket prefix for SME marketing input"
  default = "sme_marketing"
}

variable "ddex_ingester_prefix" {
  description = "S3 bucket prefix for DDEX ingester"
  default     = "sme_ddex"
}

variable "ddex_ingester_input_bucket" {
  description = "S3 bucket for SME marketing data (minus prefix)"
  default     = "ddex-ingester"
}

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

variable "logger_dsn" {
  description = "Fluentd logger DSN"
}

variable "sme_marketing_cloudwatch_event_rule_pattern_file" {
  description = "JSON file representing the cloudwatch S3 event rule"
  default     = "sfn-sme-marketing-cloudwatch-event-rule.json"
}

variable "ddex_ingester_cloudwatch_event_rule_pattern_file" {
  description = "JSON file representing the cloudwatch S3 event rule"
  default     = "sfn-ddex-ingester-cloudwatch-event-rule.json"
}

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

variable "ddex_ingester_bucket_name" {
  description = "S3 bucket name for DDEX ingester (without environment prefix)"
  default     = "ddex-ingester"
}

variable "sfn_sme_marketing_definition_file" {
  description = "SME marketing SFN definition"
  default     = "sfn-sme-marketing-ingester.json"
}

variable "sfn_ddex_ingester_definition_file" {
  description = "DDEX ingester SFN definition"
  default     = "sfn-ddex-ingester.json"
}

variable "oa_user" {
  description = "OA user ID for graphql authentication"
  default     = "oa:101"
}

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

variable "raw_asset_bucket" {
  description = "Raw Asset bucket"
}

variable "sentinel_file" {
  description = "Filename pattern to trigger sfn"
  default     = "*.xml"
}

variable "process_tracks_map_concurrent_executions" {
  description = "Concurrent executions limit for lambdas in the process_tracks Map state machine step"
  default     = 100
}

variable "report_errors_cc" {
  type        = string
  description = "A JSON list of emails to cc when reporting errors"
  default     = "[\"qa-ddex-ingest-events@theorchard.com\"]"
}

variable "email_from_address" {
  type        = string
  description  = "A string containing the From address when emailing users"
  default     = "ddex-ingest@theorchard.com"
}

variable "video_asset_bucket" {
  type        = string
  description = "Video asset s3 Bucket"
}

variable "video_asset_bucket_prefix" {
  type        = string
  description = "Sub folder for video asset ingestion"
  default     = "raw"
}
