<p>tfenv не читает required_version из conf.tf</p>

Созданный на 22 июл. 2019  ·  6Комментарии  ·  Источник: tfutils/tfenv

Проблема

В моем файле 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)

documentation enhancement

Самый полезный комментарий

Я думаю, что документация может немного вводить в заблуждение: https://github.com/tfutils/tfenv#min -required

// this will detect 0.12.3
terraform {
  required_version  = "<0.12.3, >= 0.10.0"
}

Все 6 Комментарий

Это не предполагаемый вариант использования. 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 .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

ibakayoko picture ibakayoko  ·  6Комментарии

dkolb picture dkolb  ·  6Комментарии

sthristov picture sthristov  ·  5Комментарии

gudlyf picture gudlyf  ·  10Комментарии

nitrocode picture nitrocode  ·  4Комментарии