В моем файле conf.tf
указано следующее:
terraform {
required_version = "0.12.5"
backend "s3" {
bucket = "somebucket"
region = "eu-central-1"
role_arn = "somerole"
}
}
когда я запускаю terraform --version
, tfenv читает не указанную версию, а версию, установленную /usr/local/Cellar/tfenv/1.0.1/version
Я ожидаю, что tfenv проанализирует файл conf.tf на предмет required_version
чтобы использовать правильную версию.
В документации немного неясно, поддерживается это или нет (https://github.com/tfutils/tfenv#min-required)
Это не предполагаемый вариант использования. tfenv не оценивает объявления версий terraform. Используемая версия ядра terraform поддерживается файлом .terraform-version
. Внесете ли вы ограничение в свое объявление required_version, чтобы гарантировать, что ваш код не будет выполняться при оценке несовместимой версией, зависит от вас.
Я думаю, что документация может немного вводить в заблуждение: https://github.com/tfutils/tfenv#min -required
// this will detect 0.12.3
terraform {
required_version = "<0.12.3, >= 0.10.0"
}
@Zordrak, хотя это и не предназначено, вы бы открылись для пиара?
Я думаю, будет довольно легко привязать к # 118 (как только я, наконец, закончу свой PR - что мне нужно, чтобы закончить свою работу над eslint-plugin-jest
сначала: радость :).
По крайней мере, это можно было бы использовать для создания файла .terraform-version
(и поддержания его в актуальном состоянии).
Я счастлив заниматься обслуживанием и поддержкой этих новых функций.
Здесь и в № 118 есть предложения по поводу PR-вклада. Вы все еще собираетесь? Раньше я ошибался, когда говорил, что это не вариант использования, так как полностью забыл о минимально необходимой работе, которую внесли другие.
Если вы думаете, что можете безопасно улучшить его, вы можете предложить его (с соответствующими тестовыми примерами).
В противном случае, это и # 118, вероятно, следует закрыть на данный момент.
@Zordrak Полагаю, вы имеете в виду меня :)
Я действительно открыл # 122 как начальную реализацию для # 118, но закрыл его, так как он не привлекал никакого внимания больше года.
Я не против взять эту резервную копию и посмотреть, смогу ли я улучшить текущую логику, если вы будете счастливы просмотреть PR, но это может занять некоторое время.
Документы предлагают голую версию, например:
required_version = "0.12.5"
анализируется так, что минимальная необходимая версия - 0.12.5
. (редактировать: я тестировал - tfenv version-name
ошибок, если .terraform-version
и env var не существуют.)
Было бы здорово, ИМО, если бы, возможно, в рамках синтаксического анализа >
/ <
их отсутствие (или =
) обрабатывалось бы так же, как если бы 0.12.5
указан в отдельном файле .terraform-version
. Это собственное поведение terraform - "0.12.5"
означает 0.12.5
_only_, поэтому использование этого как минимум не сработает, если есть доступная версия >0.12.5
.
Самый полезный комментарий
Я думаю, что документация может немного вводить в заблуждение: https://github.com/tfutils/tfenv#min -required