# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "prod-permissions-platform-terraform-state"
    key     = "prod/elasticsearch/user-roles/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

module "default_tags" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=1.0.0"
  environment        = var.environment
  application_family = var.application_family
  service_name       = var.domain_name
}

# AWS Provider
provider "aws" {
  region = var.aws_region

  default_tags {
    tags = module.default_tags.tags
  }
}

data "aws_caller_identity" "current" {}

data "aws_opensearch_domain" "pp_opensearch" {
  domain_name = local.domain_name_env
}

# Use role for Atlantis management of Opensearch
data "aws_iam_role" "es_index_role" {
  name = local.atlantis_opensearch_role
}

# Opensearch Provider using Atlantis role
provider "opensearch" {
  url                 = "https://${data.aws_opensearch_domain.pp_opensearch.endpoint}"
  healthcheck         = false
  aws_assume_role_arn = data.aws_iam_role.es_index_role.arn
}
