如何在Terraform模块块中引用对象值列表

如何在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

变量.tf

tfvars

main.tf

我必须在我的模块块中引用一个查询值,但我不知道如何引用它。因为它是对象列表中的对象列表,所以我不确定如何从列表中选择特定的值 有人能帮我吗

你已经问过了,你得到了答案。
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

}