terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 6.0"
    }
  }

  backend "s3" {
    bucket       = "autonomous-deployment-terraform-state"
    region       = "us-west-2"
    use_lockfile = true
  }
}

provider "aws" {
  profile = "default"
  region  = "us-west-2"
  alias   = "tf_state"
}

provider "aws" {
  profile = var.account
  region  = "us-west-2"
}

variable "env" {
  type = string
}

variable "account" {
  type = string
}

locals {
  hosted_zone_name = "${var.env}.aws.tidbcloud.com"
}

data "aws_route53_zone" "hosted_zone" {
  name = local.hosted_zone_name
}

data "aws_s3_object" "base_state" {
  bucket = "autonomous-deployment-terraform-state"
  key    = "aws/base/${var.env}.json"

  provider = aws.tf_state
}

output "env" {
  value = var.env
}

output "base_account" {
  value = jsondecode(data.aws_s3_object.base_state.body).outputs.account.value
}

output "seed_account" {
  value = var.account
}

output "hosted_zone_name" {
  value = local.hosted_zone_name
}

output "hosted_zone_id" {
  value = data.aws_route53_zone.hosted_zone.id
}
