locals.tf 921 B

123456789101112131415161718192021222324252627282930
  1. data "aws_availability_zones" "available" {
  2. state = "available"
  3. }
  4. locals {
  5. az_count = min(var.availability_zone_count, length(data.aws_availability_zones.available.names))
  6. azs = slice(data.aws_availability_zones.available.names, 0, local.az_count)
  7. public_subnet_cidrs = [
  8. for index in range(local.az_count) : cidrsubnet(var.vpc_cidr, 4, index)
  9. ]
  10. private_subnet_cidrs = [
  11. for index in range(local.az_count) : cidrsubnet(var.vpc_cidr, 4, index + local.az_count)
  12. ]
  13. common_tags = merge(
  14. {
  15. Terraform = "true"
  16. Module = "eks-new-vpc"
  17. Environment = var.name
  18. },
  19. var.tags
  20. )
  21. vpc_id = var.create_vpc ? aws_vpc.this[0].id : var.existing_vpc_id
  22. public_subnet_ids = var.create_vpc ? values(aws_subnet.public)[*].id : var.existing_public_subnet_ids
  23. private_subnet_ids = var.create_vpc ? values(aws_subnet.private)[*].id : var.existing_private_subnet_ids
  24. }