Terraform中strcontains函数报错“无此函数”,用法是否正确?
Terraform strcontains函数报错问题解决
- 报错原因:Terraform不存在
strcontains这个内置函数,你用错了函数名称,这是导致报错的直接原因。 - 正确函数:Terraform中用于检查字符串是否包含子串的函数是
contains,该函数支持在字符串(Terraform 0.12及以上版本)或列表中查找指定内容。 - 代码修正要点:
- 把所有
strcontains替换为contains - 注意你的变量名存在拼写错误:
var.nstance应该是var.instance,不修正会引发新的报错
- 把所有
修正后的代码如下:
name = contains(var.instance, "prod") && var.domain_name == "deploy" ? "${var.domain_name}_prod_restricted_${var.domain_name}_extended" : contains(var.instance, "dev") ? "${var.domain_name}_dev_restricted_${var.domain_name}_extended" : "${var.domain_name}_prod_processing_${var.domain_name}_extended"
额外说明:contains对字符串的匹配是区分大小写的,如果需要不区分大小写的匹配,可以结合大小写转换函数使用,示例:
contains(lower(var.instance), "prod")
内容的提问来源于stack exchange,提问作者a ravindra
相关产品推荐
相关产品推荐

