terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/break-glass/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.service_name
}

provider "aws" {
  region = var.aws_region

  default_tags {
    tags = module.default_tags.tags
  }
}

provider "aws" {
  region  = var.aws_region
  alias   = "networking"
  profile = "networking"

  default_tags {
    tags = module.default_tags.tags
  }
}

module "vpc_info" {
  source = "git@github.com:theorchard/terraform-vpc-info.git//?ref=3.1.0"

  environment = var.environment
}

data "aws_s3_bucket" "load_balancer_access_logs_bucket" {
  bucket = var.load_balancer_access_logs_bucket_name
}

data "aws_acm_certificate" "acm_certificate" {
  domain   = var.acm_certificate_domain
  statuses = ["ISSUED"]
}

data "aws_route53_zone" "route53_zone" {
  name = var.route53_dns_zone
}

data "aws_route53_zone" "route53_zone_networking" {
  provider = aws.networking

  name = var.route53_dns_zone
}

data "aws_caller_identity" "current" {}

module "aws_accounts" {
  source = "git@github.com:theorchard/terraform-aws-accounts-map.git//modules/read_accounts_map?ref=3.1.0"
}
