##################################
#         Common Variables       #
##################################

variable "common_tags" {
  description = "Common Tags for EC2 and can be used for other resources as well"
  type        = map(string)
  default = {
    Terraform     = "True"
    Business-Unit = "AOMA-Conversion"
    Owner         = "Mandar Padsalgikar"
    Project-Code  = "SME-2000-0306C"
    Project-Name  = "Media-Conversion"
    OPS           = "STND"
    DATA          = "NORMAL"
    map-migrated  = "migKNBMDMW06I"
  }
}

variable "tags" {
  description = "Common Tags for EC2 and can be used for other resources as well"
  type        = map(string)
  default = {
    Terraform     = "True"
    Business-Unit = "AOMA-Conversion"
    Owner         = "Mandar Padsalgikar"
    Project-Code  = "SME-2000-0306C"
    Project-Name  = "Media-Conversion"
    OPS           = "STND"
    DATA          = "NORMAL"
    map-migrated  = "migKNBMDMW06I"
  }
}

variable "batch-tags" {
  description = "Common Tags for EC2 and can be used for other resources as well"
  type        = map(string)
  default = {
    Terraform      = "True"
    Business-Unit  = "AOMA-Conversion"
    Owner          = "Mandar Padsalgikar"
    Project-Code   = "SME-2000-0306C"
    Project-Name   = "Media-Conversion"
    OPS            = "STND"
    DATA           = "NORMAL"
    SERVER_TYPE    = "BATCH"
    OS             = "AL3"
    CLOPS_APPROVED = "YES"
    Environment    = "DEV"
  }
}

##################### EKS CLUSTER VARIABLES #######################

variable "addons" {
  type = list(object({
    name    = string
    version = string
  }))
  default = [
    {
      name    = "kube-proxy"
      version = "v1.29.3-eksbuild.5"
    },
    {
      name    = "vpc-cni"
      version = "v1.18.2-eksbuild.1"
    },
    {
      name    = "coredns"
      version = "v1.11.1-eksbuild.9"
    },
    #{
    #  name    = "aws-ebs-csi-driver"
    #  version = "v1.25.0-eksbuild.1"
    #}
  ]
}

variable "enabled_cluster_log_types" {
  type    = list(string)
  default = ["api", "audit", "authenticator", "controllerManager", "scheduler"]
}


variable "eks_subnets" {
  type    = list(string)
  default = ["subnet-0860b9bbb34ac548a", "subnet-0e24bc3dc9e85b255"]
}

variable "worker_node_subnets" {
  type    = list(string)
  default = ["subnet-0860b9bbb34ac548a", "subnet-0e24bc3dc9e85b255"]
}

variable "eks_version" {
  type    = string
  default = "1.29"
}

variable "eks_cluster_role_arn" {
  type    = string
  default = "arn:aws:iam::104858398257:role/mcond-EKS-Service-Role"
}

variable "encryption_config_resources" {
  type    = list(string)
  default = ["secrets"]
}

variable "encryption_config_provider_key_arn" {
  type    = string
  default = "arn:aws:kms:eu-central-1:104858398257:key/bc277865-fdbb-48b8-8f3e-1fa066683cff"
}

variable "vpc_config_endpoint_private_access" {
  type    = bool
  default = true
}

variable "vpc_config_endpoint_public_access" {
  type    = bool
  default = false
}

##################### EKS NODE GROUP VARIABLES #######################

variable "node_group_role_arn" {
  type    = string
  default = "arn:aws:iam::104858398257:role/mcond-EKS-worker-node-Role"
}

##################### ASG LAUNCH TEMPLATE VARIABLES ###################

variable "launch_template_image_id" {
  type    = string
  default = "ami-04c83e4a5ddeeeba8"
}

variable "launch_template_instance_type" {
  type    = string
  default = "m5.2xlarge"
}

variable "launch_template_key_name" {
  type    = string
  default = "mc-key-dev-01"
}

variable "environment" {
  description = "Environment name"
  default     = "dev"
}

variable "account_group" {
  description = "The name of the account group that the account belongs to"
  default     = "media-conversion"
}

variable "resource_share_principals" {
  type        = set(string)
  description = "List of principals to share resources with using RAM"
  default = [
    "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-vu43qt3i", # The Orchard OU
    "arn:aws:organizations::970903126758:ou/o-bqioddgr91/ou-ax9e-ouayejxi", # Data Strategy aka GDB OU
  ]
}
