Executando verificação de segurança...
1

[DUVIDA-TERRAFORM] Como usar um variável de um módulo dentro de outro módulo

Ótimo dia, espero que esteja bem, estou brincando com terraform e aws, estou tentando criar minha rede pelo terraform, separei em modulos:

-projeto
-modules
---network
----vpc
------main
------outputs
----subnets
------main
------outputs
----routes_tables

Minha duvida é como exporto ás váriáveis da vpc(id) para poder usar em minhas subnets tentei algumas coisa e deu erro(de acordo com minhas pesquisas) a uníca coisa que deu certo foi incluir o modulo dentro do main de minha subnet:

\modules\network\subnets\main.tf

module "vpcs" {
  source = "../vpcs"
}

resource "aws_subnet" "subnet_public_us_east_1a" {
    vpc_id = module.vpcs.vpc_taskapp_id
    cidr_block = "10.0.0.0/24"
    availability_zone = "us-east-1a"
    tags = {
        project = "taskapp"
    }
}

resource "aws_subnet" "subnet_public_us_east_1b" {
    vpc_id = module.vpcs.vpc_taskapp_id
    cidr_block = "10.0.1.0/24"
    availability_zone = "us-east-1b"
    tags = {
        project = "taskapp"
    }
}

resource "aws_subnet" "subnet_public_us_east_1c" {
    vpc_id = module.vpcs.vpc_taskapp_id
    cidr_block = "10.0.1.0/24"
    availability_zone = "us-east-1c"
    tags = {
        project = "taskapp"
    }
}

modules\network\vpcs\outputs.tf

output "vpc_taskapp_id" {
  value = aws_vpc.vpc_taskapp.id
}

terraform\main.tf

provider "aws" {
  region = "us-east-1"
}

module "vpcs" {
  source = "./modules/network/vpcs"
}

module "subnets" {
  source = "./modules/network/subnets"
  depends_on = [ module.vpcs ]
}

Agora não sei se estou fazendo nas melhores práticas ou se desse jeito é gambiarra.

Carregando publicação patrocinada...