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-version
ファイルによって維持されます。 互換性のないバージョンによって評価された場合にコードが実行されないように、required_version宣言に制限を設けるかどうかはあなた次第です。
ドキュメントは少し誤解を招く可能性があると思います: https :
// this will detect 0.12.3
terraform {
required_version = "<0.12.3, >= 0.10.0"
}
@Zordrakは意図されていませんが、PRを
#118に結び付けるのはかなり簡単なはずだと思います(PRが最終的に終了したら、最初にeslint-plugin-jest
作業を終了する必要があります:joy :)。
少なくとも、これは.terraform-version
ファイルの生成(および更新の維持)に結び付けるために使用できます。
これらの新機能の保守とサポートを喜んで処理します。
ここと#118には、PRへの貢献の提案があります。 あなたはまだそうするつもりですか? 以前、ユースケースではないと言ったときは間違っていました。他の人が貢献した最小要件の作業を完全に忘れていたからです。
安全に改善できると思われる場合は、(関連するテストケースとともに)提供することを歓迎します。
そうでなければ、これと#118はおそらく今のところ閉じられるべきです。
@Zordrak私はあなたが私を参照していると思います:)
#118の初期実装として実際に#122を開いたのですが、1年以上誰からも注目されていなかったので閉じました。
これを取り戻して、PRを確認してよければ、現在のロジックを改善できるかどうかを確認してもかまいませんが、時間がかかる場合があります。
ドキュメントは、次のようなベアバージョンを提案しています。
required_version = "0.12.5"
は、必要な最小バージョンが0.12.5
を意味するものとして解析されます。 (編集:テストしました- tfenv version-name
.terraform-version
とenv varが存在しない場合、 tfenv version-name
エラーが発生します。)
おそらく>
/ <
の解析の一部として、それらがないこと(または=
)が0.12.5
ように扱われるとしたら、すばらしいIMOになります。 .terraform-version
ファイルで指定されました。 これはterraform自体の動作です- "0.12.5"
は0.12.5
_only_を意味するため、 >0.12.5
利用可能なバージョンがある場合は、少なくともそれを採用しても機能しません。
最も参考になるコメント
ドキュメントは少し誤解を招く可能性があると思います: https :