это не модуль, а просто рабочее пространство
структура папок:
workspace1
- workspace2
- workspace3
- workspace4
- workspace5
Если я записываю CD в рабочее пространство для полного пути: /Users/me/my-files/terraform/workspace1/workspace3/workspace4
Как могу ли я использовать функции terraform, чтобы получить только путь workspace1/workspace3/workspace4
Есть ли способ получить полный путь (https://www.terraform.io/docs/configuration/functions/abspath.html) и затем обрезать все перед рабочим пространством1 ? возможно, замена () может сделать это? В последней версии tf есть много других функций, хотя я хочу проверить, что нет функции, которая облегчает эту задачу, которую я не могу найти в документации
# trying to use capture groups doesnt seem to work (just outputs full path)
locals {
test = replace(
abspath(path.root),
"/(.*)(workspace1.*)",
"$2"
)
}
output "test" { value = "${local.test}"
Редактирование этого соответствия должно работать, но оно не поддерживается:
test = replace(
abspath(path.root),
"/.+?(?=workspace1)/",
"$1"
unsupported Perl syntax: `(?=`.