regex 在Terraform中同时使用正则表达式和条件表达式

n9vozmp4  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(295)

我想在Terraform中写一个条件表达式,如下所示:

name = regex("p[1-9]+", my_input) ? "production" : "testing"

但是,这不起作用,因为regex函数:
1.返回匹配字符串而不是true/false
1.如果my_input与模式不匹配,则会引发错误
在Terraform中实现这一点的正确方法是什么?

vnzz0bqm

vnzz0bqm1#

您可以像这样使用can

name = can(regex("p[1-9]+", my_input)) ? "production" : "testing"

下面是一个简单的输入/输出示例:

$ terraform console
> can(regex("p[1-9]+", "pab1")) ? "production" : "testing"
"testing"
> can(regex("p[1-9]+", "p123")) ? "production" : "testing"
"production"
>

相关问题