【发布时间】:2021-01-23 05:07:18
【问题描述】:
我有这个问题。我正在尝试在gcp 中创建network 和subnetworks,并且我正在使用模块来执行此操作。
所以我的目录结构如下:
modules
network
main.tf
variables.tf
subnetworks
main.tf
variables.tf
main.tf
terraform.tfvars
variables.tf
module 内的文件夹,顾名思义,我在其中放置了模块。
而network 中的main.tf 看起来像这样:
# module to create the subnet
resource "google_compute_network" "network" {
name = var.network_name
auto_create_subnetworks = "false"
}
subnetworks 中的 main.tf 看起来像这样:
resource "google_compute_subnetwork" "public-subnetwork" {
network = // how to refer the network name here?
...
}
在正常情况下,当我们为每个资源都有一个单一的 terraform 文件时(当我们不使用模块时),它看起来像这样:
# create vpc
resource "google_compute_network" "kubernetes-vpc" {
name = "kubernetes-vpc"
auto_create_subnetworks = "false"
}
resource "google_compute_subnetwork" "master-sub" {
network = google_compute_network.kubernetes-vpc.name
...
}
我们可以在创建google_compute_subnetwork时直接调用google_compute_network.kubernetes-vpc.name获取network的值。但是现在我使用的是模块,我该如何实现呢?
谢谢。
【问题讨论】:
标签: google-cloud-platform terraform