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

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

variable "service_name" {
  description = "Service name"
  default     = "swf-feed-ingestion"
}

variable "sme_data_lake_account" {
  default = "280383026186"
}

variable "prod_sme_temp_db_access" {
  type = map(object({ database_permissions = list(string), table_permissions = list(string) }))
  default = {
    "arn:aws:iam::437795906767:role/qa-swf-youtube-claim-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-claim-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-youtube-channel-names-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-channel-names-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-asset-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-asset-conflict-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-bulk-reports-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-youtube-bulk-reports-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-bulk-reports-facts-video-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-bulk-reports-facts-asset-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-youtube-video-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-youtube-video-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-insta-reels-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-insta-reels-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-gfk-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-gfk-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-youtube-asset-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/qa-swf-spotify-track-metrics-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/prod-swf-spotify-track-metrics-task-role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
    "arn:aws:iam::437795906767:role/amazon_music_reporting_access_role" = {
      database_permissions = ["DESCRIBE", "ALTER", "CREATE_TABLE", "DROP"]
      table_permissions    = ["DESCRIBE", "SELECT"]
    }
  }
}

variable "amazon_music_aws_account_id" {
  default = "767398096717"
}

variable "amazon_music_reporting_access" {
  description = "List of entites with access to amazon_music_reporting_access_link database. Must be Datalake admin in order for it to work. Also allows to assume amazon_music_reporting_access_role"
  default = [
    "arn:aws:iam::437795906767:user/efedorov",
    "arn:aws:iam::437795906767:user/rroy",
    "arn:aws:iam::437795906767:user/tshagapov",
    "arn:aws:iam::437795906767:user/oshainoha",
    "arn:aws:iam::437795906767:role/qa-swf-amazon-music-task-role",
    "arn:aws:iam::437795906767:role/prod-swf-amazon-music-task-role",
    "arn:aws:iam::437795906767:user/sduberg",
    "arn:aws:iam::437795906767:user/etaranenko",
    "arn:aws:iam::437795906767:user/dkarnaukh",
    "arn:aws:iam::437795906767:user/rgodwin",
    "arn:aws:iam::437795906767:user/kshrayber",
    "arn:aws:iam::437795906767:user/oefanova",
    "arn:aws:iam::437795906767:user/iburilo",
  ]
}

variable "facebook_main_db_service_role_principals" {
  description = "IAM roles granted DESCRIBE on facebook_main_db and SELECT on facebook_main_db tables"
  type        = list(string)
  default = [
    "prod-swf-insta-reels-task-role",
    "prod-swf-youtube-asset-task-role",
    "prod-swf-youtube-bulk-reports-facts-video-task-role",
    "qa-swf-insta-reels-task-role",
  ]
}

variable "facebook_main_db_service_user_principals" {
  description = "IAM users granted DESCRIBE on facebook_main_db and SELECT on facebook_main_db tables"
  type        = list(string)
  default = [
    "prod-swf-feed-ingestion",
  ]
}

variable "facebook_main_db_human_user_principals" {
  type        = list(string)
  description = "IAM human users granted DESCRIBE on facebook_main_db"
  default = [
    "amccown",
    "aoshomoji",
    "buvarov",
    "cbeesley",
    "cvallecilla",
    "dkarnaukh",
    "efedorov",
    "etaranenko",
    "fasadullayev",
    "fumar",
    "iburilo",
    "kshrayber",
    "oefanova",
    "oshainoha",
    "rroy",
    "rshield",
    "rtorres",
    "ssavva",
    "tshagapov",
  ]
}

variable "sme_youtube_api_db_service_role_principals" {
  description = "IAM roles granted DESCRIBE on sme_youtube_api_db and SELECT on youtube_api_db tables"
  type        = list(string)
  default = [
    "prod-swf-spotify-track-metrics-task-role",
    "prod-swf-youtube-asset-conflict-task-role",
    "prod-swf-youtube-asset-task-role",
    "prod-swf-youtube-bulk-reports-facts-asset-task-role",
    "prod-swf-youtube-bulk-reports-facts-video-task-role",
    "prod-swf-youtube-bulk-reports-task-role",
    "prod-swf-youtube-channel-names-task-role",
    "prod-swf-youtube-claim-task-role",
    "prod-swf-youtube-video-task-role",
    "qa-swf-spotify-track-metrics-task-role",
    "qa-swf-youtube-asset-task-role",
    "qa-swf-youtube-bulk-reports-task-role",
    "qa-swf-youtube-channel-names-task-role",
    "qa-swf-youtube-claim-task-role",
    "qa-swf-youtube-video-task-role",
  ]
}

variable "sme_youtube_api_db_service_user_principals" {
  description = "IAM users granted DESCRIBE on sme_youtube_api_db and SELECT on youtube_api_db tables"
  type        = list(string)
  default = [
    "prod-swf-feed-ingestion",
  ]
}

variable "sme_youtube_api_db_human_user_principals" {
  type        = list(string)
  description = "IAM human users granted DESCRIBE on sme_youtube_api_db"
  default = [
    "aoshomoji",
    "buvarov",
    "cvallecilla",
    "dkarnaukh",
    "efedorov",
    "etaranenko",
    "fumar",
    "iburilo",
    "kshrayber",
    "oefanova",
    "rroy",
    "rtorres",
    "sduberg",
  ]
}

variable "spotify_reports_db_human_user_principals" {
  type        = list(string)
  description = "IAM human users granted DESCRIBE on spotify_reports_db"
  default = [
    "dkarnaukh",
    "efedorov",
    "kshrayber",
    "rgodwin",
    "rroy",
    "sduberg",
  ]
}

variable "spotify_reports_db_service_role_principals" {
  description = "IAM roles granted DESCRIBE on spotify_reports_db and SELECT on spotify_reports_db tables"
  type        = list(string)
  default = [
    "prod-swf-spotify-track-metrics-task-role",
    "qa-swf-spotify-track-metrics-task-role",
  ]
}
