【发布时间】:2021-07-24 07:07:57
【问题描述】:
所以我遇到了这个普遍的问题,还没有找到答案。
问题:输入值可以有可选变量,如下例所示,group_memberships 是可选输入,目前我将其设为空字符串输入以使其工作。
但是,如果我如下所示将其注释掉并运行它,我会收到错误消息:
The given key does not identify an element in this collection value.
基本上它抱怨我没有list_of_users.test_user.group_memberships。如果输入没有声明,有没有办法告诉terraform,忽略它?我知道我可以保持原样,但用户可能有许多可选值,并且制作大量空输入实际上没有意义。
谢谢!第一个问题,抱歉代码布局不佳:)
在我的 .tfvars 文件中:
list_of_users = {
regular_user = {
email = "pdv@abc.com",
group_memberships = "regular_group"
},
test_user = {
email = "test@abc.com",
// group_memberships = "" <------ Currently can work if not comment out, looking for solution that I can remove those reduent empty declariation
},
admin_user = {
email = "admin@abc.com",
group_memberships = "admin_group"
}
}
在 .tf 文件中:
variable "list_of_users" {}
resource "user_api_from_provider" "user_generate" {
for_each = var.list_of_users
email = each.value["email"]
group_memberships = each.value["group_memberships"] !=""? [user_api_from_provider.group_generate[each.value["group_memberships"]].id] : null
}
【问题讨论】:
-
这能回答你的问题吗? Terraform optional nested object variable
标签: terraform