首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在计数条件下使用多个列表创建Terraform中的资源

在计数条件下使用多个列表创建Terraform中的资源
EN

Stack Overflow用户
提问于 2022-08-03 06:09:18
回答 1查看 113关注 0票数 1

我使用以下条件创建Terraform中的折叠资源

代码语言:javascript
复制
resource "google_bigquery_dataset_access" "access" {
  count         = contains(var.bq_access, "viewer") ? length(var.bigquery_datasets) : 0
  project       = "test-project"
  dataset_id    = var.bigquery_datasets[count.index].dataset_id
  role          = "roles/bigquery.dataViewer"
  user_by_email = lower(var.user_email[?])
}

我试图基于length(var.bigquery_datasets)创建这个资源的多个实例,问题是var.user_email是一个列表,我希望为所有电子邮件和bigquery_datasets的所有元素创建这个资源。如何在一个资源块中组合下面的代码和上面的代码?

代码语言:javascript
复制
resource "google_bigquery_dataset_access" "access" {
  count         = contains(var.bq_access, "viewer") ? length(var.user_email) : 0
  project       = "test-project"
  dataset_id    = var.bigquery_datasets[?].dataset_id
  role          = "roles/bigquery.dataViewer"
  user_by_email = lower(var.user_email[count.index])
}

var.bigquery_datasetsvar.user_email的长度不一样。任何帮助都将不胜感激。谢谢!

最新情况:

代码语言:javascript
复制
variable "user_email" {
  type        = list(any)
  description = "email addresses list"
}

定义user_email = "email1@xyz.com“、"email2@xyz.com”、"email3@xyz.com“

代码语言:javascript
复制
variable "bigquery_datasets" {
  type        = list(any)
  description = "datasets list"
}

定义bigquery_datasets = "datasetid1“、"datasetid2”、"datasetid3“、"datasetid4”、"datasetid5“

EN

Stack Overflow用户

回答已采纳

发布于 2022-08-03 10:46:49

我认为setproduct可以解决你的问题:

代码语言:javascript
复制
locals {
  emails_datasets = setproduct(var.user_email, var.bigquery_datasets)
}

resource "google_bigquery_dataset_access" "access" {
  count         = contains(var.bq_access, "viewer") ? length(local.emails_datasets) : 0
  project       = "test-project"
  dataset_id    = local.emails_datasets[count.index][1]
  role          = "roles/bigquery.dataViewer"
  user_by_email = lower(local.emails_datasets[count.index][0])
}
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73216961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档