Ich habe Folgendes in meiner conf.tf
Datei deklariert:
terraform {
required_version = "0.12.5"
backend "s3" {
bucket = "somebucket"
region = "eu-central-1"
role_arn = "somerole"
}
}
Wenn ich terraform --version
ausführe, liest tfenv nicht die aufgelistete Version, sondern die von /usr/local/Cellar/tfenv/1.0.1/version
festgelegte Version
Ich erwarte, dass tfenv die Datei conf.tf nach required_version
analysiert, um die richtige Version zu verwenden.
Die Dokumentation ist etwas unklar, ob dies unterstützt wird oder nicht (https://github.com/tfutils/tfenv#min-required)
Dies ist kein beabsichtigter Anwendungsfall. tfenv wertet Terraform-Versionsdeklarationen nicht aus. Die verwendete Terraform-Core-Version wird von der Datei .terraform-version
. Ob Sie eine Einschränkung in Ihre required_version-Deklaration einfügen, um sicherzustellen, dass Ihr Code nicht ausgeführt wird, wenn er von einer inkompatiblen Version ausgewertet wird, liegt bei Ihnen.
Ich denke, die Dokumentation kann dann etwas irreführend sein: https://github.com/tfutils/tfenv#min -required
// this will detect 0.12.3
terraform {
required_version = "<0.12.3, >= 0.10.0"
}
@Zordrak, obwohl es nicht beabsichtigt ist, wären Sie offen für eine PR?
Ich denke, es sollte ziemlich einfach sein, sich an #118 zu binden (wenn ich endlich meine PR fertig habe - die ich zuerst brauche, um meine Arbeit an eslint-plugin-jest
zu beenden :joy:).
Zumindest könnte dies verwendet werden, um eine .terraform-version
Datei zu generieren (und sie auf dem neuesten Stand zu halten).
Ich übernehme gerne die Pflege und den Support dieser neuen Funktionen.
Hier und in #118 gibt es Vorschläge für einen PR-Beitrag. Haben Sie noch vor? Ich habe mich zuvor geirrt, als ich sagte, es sei kein Anwendungsfall, da ich die minimal erforderliche Arbeit, die andere beigesteuert haben, völlig vergessen hatte.
Wenn Sie glauben, dass Sie es sicher verbessern können, können Sie es gerne anbieten (mit zugehörigen Testfällen).
Andernfalls sollten dies und #118 wahrscheinlich vorerst geschlossen werden.
@Zordrak Ich nehme an, du
Ich habe #122 tatsächlich als erste Implementierung für #118 geöffnet, aber geschlossen, da sie seit über einem Jahr von niemandem beachtet wurde.
Es macht mir nichts aus, dies wieder aufzugreifen und zu sehen, ob ich die aktuelle Logik verbessern kann, wenn Sie sich die PR ansehen, aber es kann einige Zeit dauern.
Die Dokumente schlagen eine nackte Version vor, wie zum Beispiel:
required_version = "0.12.5"
wird so geparst, dass die erforderliche Mindestversion 0.12.5
. (Bearbeiten: Ich habe getestet - tfenv version-name
Fehler, wenn .terraform-version
und die env var nicht existieren.)
Es wäre IMO großartig, wenn, vielleicht als Teil des Parsens von >
/ <
, das Fehlen von ihnen (oder =
) genauso behandelt würde, als ob 0.12.5
wurde in einer separaten .terraform-version
Datei angegeben. Dies ist das eigene Verhalten von terraform - "0.12.5"
bedeutet 0.12.5
_only_, also wird dies als Minimum nicht funktionieren, wenn eine Version verfügbar ist >0.12.5
.
Hilfreichster Kommentar
Ich denke, die Dokumentation kann dann etwas irreführend sein: https://github.com/tfutils/tfenv#min -required