在Terraform中,获取当前路径中第一个匹配的文件名



在terraform中,是否可以检索与当前目录或任何父目录中的某个正则表达式名称匹配的第一个文件?

例如,我希望它首先检查当前目录中的config.json。如果它存在,它就会停止。如果没有,则检查../config.json,然后检查../../config.json

.
├── directory1
│   ├── subdirectory1
│   │   └── main.tf
│   └── config.json
└── directory2
└── config.json

在本例中,它应该返回directory1/config.json。然后,我想使用jsondecode来解析这个配置文件中的一些值,并将其分配给一个变量。

我见过的最接近这个功能是文件集,但我不认为它可以用来解决这个问题。

我最近确实做了类似的事情。

选择存在的链的第一个文件:

output "first_match" {
value = try(
tolist(fileset(path.module, "file1"))[0], 
tolist(fileset(path.module, "folder/file2"))[0], 
tolist(fileset(path.module, "folder/folder/file3"))[0], 
"default if nothing matches")
}

最新更新