在terraform中使用list和for_时如何定义输出列表
我正在尝试使用terraform部署BigQuery计划查询,但我不知道如何使用list和for_的每种语法 我有这个模板文件 挑选* 从mydataset.mytable_${suffix} 然后使用模板文件模块生成查询列表。这里是一个字符串列表 数据模板文件查询{ for\u each=var.suffix\u列表列表字符串 template=file/path/to/template/file 变量={ 后缀=each.value } } 从这个模块中,我想生成一个查询列表 输出查询{ value=呈现查询的列表 } 此输出将作为google\u bigquery\u data\u transfer\u config资源的输入在terraform中使用list和for_时如何定义输出列表,terraform,terraform-provider-gcp,Terraform,Terraform Provider Gcp,我正在尝试使用terraform部署BigQuery计划查询,但我不知道如何使用list和for_的每种语法 我有这个模板文件 挑选* 从mydataset.mytable_${suffix} 然后使用模板文件模块生成查询列表。这里是一个字符串列表 数据模板文件查询{ for\u each=var.suffix\u列表列表字符串 template=file/path/to/template/file 变量={ 后缀=each.value } } 从这个模块中,我想生成一个查询列表 输出查询{ v
resource "google_bigquery_data_transfer_config" "query_config" {
for_each = # a list of rendered query
data_refresh_window_days = var.data_refresh_window_days
data_source_id = "scheduled_query"
display_name = var.display_name
disabled = var.disabled
destination_dataset_id = var.destination_dataset_id
location = var.query_location
project = var.gcp_project
schedule = var.query_schedule
params = {
destination_table_name_template = var.destination_table_name_template
query = each.value
}
}
如何为google\u bigquery\u data\u transfer\u config输出定义和输入?
提前感谢。要使这项工作顺利进行,需要做几件事 每个for_的参数都应该是一个集合,因此需要使用
for_each = toset(var.suffix_list)
在模板本身中,变量名为suffix,但是,您正在传递变量模式。这些应该匹配
模板参数实际上需要是模板的文本。因此,您需要使用file函数在中读取文件,例如
template = file("path/to/template/file")
最后,要编写实际输出,可以使用列表
output "query" {
value = [for query in data.template_file.query : query.rendered]
}
要使这项工作顺利进行,有两件事是必要的 每个for_的参数都应该是一个集合,因此需要使用
for_each = toset(var.suffix_list)
在模板本身中,变量名为suffix,但是,您正在传递变量模式。这些应该匹配
模板参数实际上需要是模板的文本。因此,您需要使用file函数在中读取文件,例如
template = file("path/to/template/file")
最后,要编写实际输出,可以使用列表
output "query" {
value = [for query in data.template_file.query : query.rendered]
}
您还可以建议我如何在资源google\u bigquery\u data\u transfer\u配置中使用输出查询吗?您还可以建议我如何在资源google\u bigquery\u data\u transfer\u配置中使用输出查询吗?