locals {
  service_name = "sds-service"

  container_port = 9302

  env_account = terraform.workspace
  
  deploy_env_name = lookup(var.workspace_deploy_env, local.env_account)

  platform_sds_secret_name = "platform-sds-${deploy_env_name}"

  spring_config_label = lookup(var.spring_config_label_map, local.env_account)

  subdomain = lookup(var.subdomain_map, local.env_account)
  browzer_subdomain = lookup(var.browzer_subdomain_map, local.env_account)

  container_count = lookup(var.container_count_map, local.env_account)

  failover_region = data.terraform_remote_state.mop_core_failover.outputs.failover_region
  failover_task_count = var.failover_container_count_map[terraform.workspace]

  # DR Additions
  iam_suffix_map = {
    nf-sandbox = ""
    nf-staging-int = ""
    nf-prod-int = ""
    nf-staging-west-int = "-DR"
  }
  iam_suffix = local.iam_suffix_map[terraform.workspace]

  ansible_timeout_minutes = 30

  sds_vars = {
    image_url = "745435643501.dkr.ecr.us-east-1.amazonaws.com/sds:${data.aws_ssm_parameter.container_image.value}"
    #image_url             = "netfoundry/sds:${data.aws_ssm_parameter.container_image.value}"
    #docker_hub_secret_arn = data.terraform_remote_state.mop_core.outputs.dockerhub_secret_arn
    container_name        = local.service_name
    container_port        = local.container_port
    log_group_region      = var.region[terraform.workspace]
    log_group_name        = module.sds_service.cwlog_group_name
    spring_profiles_active = local.deploy_env_name
    ssh_id_rsa            = data.aws_secretsmanager_secret.ssh_id_rsa.arn
    beats_pem_key         = data.aws_secretsmanager_secret.beats_pem_key.arn
    logstash_private_key  = data.aws_secretsmanager_secret.logstash_private_key.arn
    aws_default_region    = var.region[terraform.workspace]
    environment_name      = local.deploy_env_name
    # from properties file
    subdomain             = local.subdomain
    browzer_subdomain     = local.browzer_subdomain
    auth0_client_id       = auth0_client.client.client_id
    auth0_client_secret   = auth0_client.client.client_secret
    deploy_env            = local.deploy_env_name
    ansible_timeout_minutes = local.ansible_timeout_minutes
    es_host = data.terraform_remote_state.mop_core.outputs.es_host
    es_micrometer_username = "${data.aws_secretsmanager_secret.es_micrometer_creds.arn}:username::"
    es_micrometer_password = "${data.aws_secretsmanager_secret.es_micrometer_creds.arn}:password::"
    rabbit_mq_endpoints  = data.terraform_remote_state.central_mq.outputs.central_rabbitmq_endpoints
    rabbit_mq_username  = data.terraform_remote_state.central_mq.outputs.central_rabbitmq_mopuser
    rabbit_mq_secret_arn  = data.terraform_remote_state.central_mq.outputs.central_rabbitmq_secret_arn
    route53_netfoundry_hostedzoneid  = data.terraform_remote_state.mop_core.outputs.zone_id
    route53_browzer_hostedzoneid  = data.terraform_remote_state.mop_core.outputs.browzer_zone_id
    platform_sds_secret_name = local.platform_sds_secret_name
  }

  sds_failover_vars = {
    image_url = "745435643501.dkr.ecr.us-east-1.amazonaws.com/sds:${data.aws_ssm_parameter.container_image.value}"
    #image_url             = "netfoundry/sds:${data.aws_ssm_parameter.container_image.value}"
    #docker_hub_secret_arn = data.terraform_remote_state.mop_core.outputs.dockerhub_secret_arn
    container_name        = local.service_name
    container_port        = local.container_port
    log_group_region      = local.failover_region
    log_group_name        = module.sds_service.cwlog_group_name
    spring_profiles_active = local.deploy_env_name
    ssh_id_rsa            = data.aws_secretsmanager_secret.ssh_id_rsa.arn
    beats_pem_key         = data.aws_secretsmanager_secret.beats_pem_key.arn
    logstash_private_key  = data.aws_secretsmanager_secret.logstash_private_key.arn
    aws_default_region    = var.region[terraform.workspace]
    environment_name      = local.deploy_env_name
    # from properties file
    subdomain             = local.subdomain
    browzer_subdomain     = local.browzer_subdomain
    auth0_client_id       = auth0_client.client.client_id
    auth0_client_secret   = auth0_client.client.client_secret
    deploy_env            = local.deploy_env_name
    ansible_timeout_minutes = local.ansible_timeout_minutes
    es_host = data.terraform_remote_state.mop_core.outputs.es_host
    es_micrometer_username = "${data.aws_secretsmanager_secret.es_micrometer_creds.arn}:username::"
    es_micrometer_password = "${data.aws_secretsmanager_secret.es_micrometer_creds.arn}:password::"
    rabbit_mq_endpoints  = data.terraform_remote_state.central_mq.outputs.central_rabbitmq_endpoints
    rabbit_mq_username  = data.terraform_remote_state.central_mq.outputs.central_rabbitmq_mopuser
    rabbit_mq_secret_arn  = data.terraform_remote_state.central_mq.outputs.central_rabbitmq_secret_arn
    route53_netfoundry_hostedzoneid  = data.terraform_remote_state.mop_core.outputs.zone_id
    route53_browzer_hostedzoneid  = data.terraform_remote_state.mop_core.outputs.browzer_zone_id
    platform_sds_secret_name = local.platform_sds_secret_name
  }
}