Похоже, что это невозможно, что разочаровывает, но, возможно, есть функция, которую я пропустил
Я хочу автоматически установить путь к файлу состояния в s3 на основе относительного пути к рабочей области в хранилище
Это легко вычислить: как я могу получить относительный путь текущего директора до произвольного родительского каталога?
Но я не могу использовать функции в конфигурации бэкэнда и Я не могу использовать переменные в конфигурации сервера:
Это не разрешено
terraform {
backend "s3" {
bucket = "mybucket"
region = "us-west-2"
key = replace(
abspath(path.root),
"/.+?(topworkspace.*)/",
"$1"
)
}
}
Functions may not be called here.
Это запрещено
terraform {
backend "s3" {
bucket = "mybucket"
region = "us-west-2"
key = local.mypath
}
}
locals {
mypath = replace(
abspath(path.root),
"/.+?(topworkspace.*)/",
"$1"
)
}
Variables may not be used here.
Я также не хочу использовать переменную среды или что-либо еще внешний по отношению к самому конфигу.