Multi-Account Setup

variable "account_name" {
  type        = string
  description = "AWS account name"
}

variable "account_type" {
  type        = string
  description = "Account type (workload, shared, security)"
}

module "org_tags" {
  source  = "registry.patterneddesigns.ca/standardnat/tagging-policy/aws"
  version = "1.1.0"

  required_tags = [
    "Environment",
    "Owner",
    "CostCenter",
    "AccountName",
    "AccountType"
  ]

  default_tags = {
    ManagedBy    = "terraform"
    Organization = "acme-corp"
    AccountName  = var.account_name
    AccountType  = var.account_type
  }

  tag_values = {
    AccountType = ["workload", "shared", "security", "sandbox"]
    Environment = ["dev", "staging", "prod", "shared"]
  }

  enforce_lowercase = true
}

# Apply across all providers
provider "aws" {
  alias  = "primary"
  region = "us-east-1"

  default_tags {
    tags = module.org_tags.merged_tags
  }
}

provider "aws" {
  alias  = "secondary"
  region = "us-west-2"

  default_tags {
    tags = module.org_tags.merged_tags
  }
}