如何在Terraform模块块中引用对象值列表
变量.tf tfvars main.tf 我必须在我的模块块中引用一个查询值,但我不知道如何引用它。因为它是对象列表中的对象列表,所以我不确定如何从列表中选择特定的值 有人能帮我吗 你已经问过了,你得到了答案。如何在Terraform模块块中引用对象值列表,terraform,terraform-provider-gcp,Terraform,Terraform Provider Gcp,变量.tf tfvars main.tf 我必须在我的模块块中引用一个查询值,但我不知道如何引用它。因为它是对象列表中的对象列表,所以我不确定如何从列表中选择特定的值 有人能帮我吗 你已经问过了,你得到了答案。 variable "list_views_datasets" { description = "List of Views in the Datasets" type = list(object({ dataset_id = s
variable "list_views_datasets" {
description = "List of Views in the Datasets"
type = list(object({
dataset_id = string
dataset_name = string
views = list(object({
view_id = string,
query = string,
use_legacy_sql = bool,
labels = map(string),
}))
}))
default = []
}
list_views_datasets = [
{
dataset_id = "testservice"
dataset_name = "testservice"
views = [
{
view_id = "issue-data",
use_legacy_sql = false,
query = ".test.sql"
# unfortunately we have to repeat the project id, dataset id and table id in here.
labels = {
env = "dev"
billable = "true"
owner = "dev"
}
},
]
}
module "bigquery_views" {
source = "terraform-google-modules/bigquery/google"
version = "4.3.0"
depends_on = [module.bigquery]
for_each = { for list_view in var.list_views_datasets : list_view.dataset_id => list_view }
dataset_id = each.value.dataset_id
dataset_name = each.value.dataset_name
description = var.views_description
project_id = var.project_id
location = var.location
views = {
view_id = each.value.views[view_id]
labels = each.value.views[labels]
query = file(each.value.views[query])
use_legacy_sql = each.value.views[use_legacy_sql]
}
dataset_labels = var.dataset_labels
}