data "aws_availability_zones" "available" { state = "available" } data "aws_ami" "amazon_linux_2" { most_recent = true owners = ["137112412989"] filter { name = "name" values = ["amzn2-ami-hvm-*-x86_64-gp2"] } } module "network" { source = "../../modules/network" vpc_cidr = var.vpc_cidr public_subnet_cidrs = var.public_subnet_cidrs private_subnet_cidrs = var.private_subnet_cidrs availability_zones = slice(data.aws_availability_zones.available.names, 0, 2) tags = { Environment = var.environment Project = "devanshpatel-org" } } module "backend" { source = "../../modules/backend" vpc_id = module.network.vpc_id public_subnets = module.network.public_subnet_ids private_subnets = module.network.private_subnet_ids certificate_arn = var.alb_certificate_arn ami_id = var.app_ami_id != "" ? var.app_ami_id : data.aws_ami.amazon_linux_2.id instance_type = var.instance_type key_name = var.key_name desired_capacity = 1 min_size = 1 max_size = 2 } module "artifacts" { source = "../../modules/artifacts" artifacts_bucket_name = "devanshpatel-org-artifacts-private" } module "edge" { source = "../../modules/edge" site_bucket_name = "devanshpatel-org-site" artifacts_bucket_name = module.artifacts.artifacts_bucket_name alb_dns_name = module.backend.alb_dns_name domain_name = var.domain_name domain_aliases = var.domain_aliases cloudfront_certificate_arn = local.effective_cloudfront_certificate_arn }