locals {
  account_id          = data.aws_caller_identity.current.account_id
  account_alias       = data.aws_iam_account_alias.current.account_alias
  project_group       = lower(replace(var.platform["name"], "/\\s/", ""))
  name_prefix         = lower("${var.platform["prefix"]}-${local.project_group}")
  env_prefix          = lower(var.platform["prefix"])
  secrets_name_prefix = "${local.project_group}/${local.env_prefix}"
  aggregated_tag      = "${var.platform.short_platform_name}_${upper(var.platform.prefix)}"
  policy_base_arn     = "arn:aws:iam::${local.account_id}:policy/${local.name_prefix}"
  environment         = lower(var.platform.environment)

  common_tags = {}
}

# The attribute `${data.aws_caller_identity.current.account_id}` will be current account number.
data "aws_caller_identity" "current" {}

# The attribue `${data.aws_iam_account_alias.current.account_alias}` will be current account alias
data "aws_iam_account_alias" "current" {}

module "domains" {
  source = "../../../modules/domains/rti"
}

module "logs_retention" {
  source = "../../../modules/cloudwatch/logs_retention_by_env"
}

/*
data "aws_vpc" "main" {
  tags = {
    Name = "${local.name_prefix}-vpc"
  }
}

data "aws_subnets" "public_subnets" {
  filter {
    name   = "vpc-id"
    values = [data.aws_vpc.main.id]
  }

  tags = {
    Name = "${local.name_prefix}-subnet-public-0*"
  }
}

data "aws_subnets" "private_subnets" {
  filter {
    name   = "vpc-id"
    values = [data.aws_vpc.main.id]
  }

  tags = {
    Name = "${local.name_prefix}-subnet-private-0*"
  }
}

data "aws_security_group" "main" {
  tags = {
    Name = "${local.name_prefix}-sg-ecs"
  }
}

data "aws_iam_role" "ecs_tasks_execution_role" {
  name = "${local.name_prefix}-ecs_tasks_execution"
}

data "aws_ecs_cluster" "main" {
  cluster_name = "${local.name_prefix}-clu"
}

data "aws_lb" "external_alb" {
  name = "${local.name_prefix}-alb-external"
}

data "aws_lb_listener" "external_https_listener" {
  load_balancer_arn = data.aws_lb.external_alb.arn
  port              = 443
}

data "aws_lb_listener" "external_http_listener" {
  load_balancer_arn = data.aws_lb.external_alb.arn
  port              = 80
}

data "aws_ecr_repository" "artistapp_api_ecr" {
  name = "artistapp/api"
}
*/
data "aws_kms_key" "secrets_general_key" {
  key_id = "alias/${local.env_prefix}/${local.project_group}/secrets_general"
}
/*
data "aws_iam_policy" "secrets-services-ro" {
  arn = "${local.policy_base_arn}-secrets-services-ro"
}

data "aws_iam_policy" "logging_policy" {
  arn = "${local.policy_base_arn}-logging"
}

data "aws_iam_policy" "images_mapping_ro" {
  arn = "${local.policy_base_arn}-images-mapping-ro"
}

resource "aws_cloudwatch_log_group" "datadog-agent" {
  name = "/ecs/${local.name_prefix}-datadog-agent"

  retention_in_days = module.logs_retention[local.env_prefix]

  tags = merge(
    local.common_tags,
    {
      project                  = "Infrastructure",
      service                  = "CloudWatch",
      plat_env_project_service = "${local.aggregated_tag}_INFRA_CW"
    }
  )
}
*/
