简体   繁体   English

如何拆分 Terraform 中的字符串列表

[英]How to split a list of strings in Terraform

Is there a way to split a Terraform list of strings per item with a double quotes for each and as string output format?有没有办法拆分 Terraform 每个项目的字符串列表,每个项目都有一个双引号和字符串 output 格式? I'd like to put this dynamic variable inside the permissions argument.我想把这个动态变量放在权限参数中。

variables.tf变量.tf

variable "ext_permissions" {
  type        = list(string)
  default = ["iam.roles.list", "iam.roles.create", "iam.roles.delete"]
}

main.tf主文件

resource "google_project_iam_custom_role" "my-custom-role" {
  role_id     = "myCustomRole"
  title       = "My Custom Role"
  description = "A description"
  permissions = ["iam.serviceAccounts.create","iam.serviceAccounts.getIamPolicy", "${var.ext_permissions}"]
}

Error: Incorrect attribute value type错误:属性值类型不正确

var.ext_permissions is list of string with 2 elements Inappropriate value for attribute "permissions": element 9: string required. var.ext_permissions 是包含 2 个元素的字符串列表 属性“permissions”的值不合适:元素 9:需要字符串。

AFAIS you need list concatenation, like AFAIS 你需要列表连接,比如

concat(["a", "b"], ["c", "d"]) -> ["a",  "b",  "c",  "d"]

or in your case:或者在你的情况下:

permissions = concat(["iam.serviceAccounts.create","iam.serviceAccounts.getIamPolicy"], var.ext_permissions)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM