terraform 中的模块依赖
Dependency in Modules in terraform
我正在尝试使用 terraform 在 gcp 上的 bigquery 中创建数据集、表和视图。我正在使用这个模块。
module “bigquery-tenant-datasets” {
for_each = var.tenant_datasets
source = “terraform-google-modules/bigquery/google”
version = “5.1.0”
dataset_id = each.value.datasetName
dataset_name = each.value.datasetName
description = each.value.datasetName
project_id = var.project_id
location = var.location
tables = [for table in var.tenant_tables: merge(table, {“schema”: file(table[“schema”])})]
views = [for view in var.tenant_views: merge(view, {“query”: replace(view[“query”], “tenantName”, each.value.datasetName)})]
dataset_labels = var.dataset_labels
}
问题是 terraform 目前需要 运行 多次,因为对象创建的顺序有点 运行dom ……即尝试在表存在之前创建视图。所以它有时会出错。
我可以在这里做什么来解决这个问题并确保始终先创建表然后再创建视图?
使用depends_on明确指定相互依赖的资源顺序,哪些TF不会自动正确排序。
我正在尝试使用 terraform 在 gcp 上的 bigquery 中创建数据集、表和视图。我正在使用这个模块。
module “bigquery-tenant-datasets” {
for_each = var.tenant_datasets
source = “terraform-google-modules/bigquery/google”
version = “5.1.0”
dataset_id = each.value.datasetName
dataset_name = each.value.datasetName
description = each.value.datasetName
project_id = var.project_id
location = var.location
tables = [for table in var.tenant_tables: merge(table, {“schema”: file(table[“schema”])})]
views = [for view in var.tenant_views: merge(view, {“query”: replace(view[“query”], “tenantName”, each.value.datasetName)})]
dataset_labels = var.dataset_labels
}
问题是 terraform 目前需要 运行 多次,因为对象创建的顺序有点 运行dom ……即尝试在表存在之前创建视图。所以它有时会出错。 我可以在这里做什么来解决这个问题并确保始终先创建表然后再创建视图?
使用depends_on明确指定相互依赖的资源顺序,哪些TF不会自动正确排序。