terraform {
  required_providers {
    alicloud = {
      source  = "aliyun/alicloud"
      version = ">= 1.268"
    }
    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 "alicloud" {
  profile = var.account
  region  = "ap-southeast-1"
}

variable "env" {
  type = string
}

variable "account" {
  type = string
}

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
}
