<p>tfenv liest die erforderliche_version nicht aus conf.tf</p>

Erstellt am 22. Juli 2019  ·  6Kommentare  ·  Quelle: tfutils/tfenv

Problem

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

Beabsichtigtes Verhalten

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)

documentation enhancement

Hilfreichster Kommentar

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"
}

Alle 6 Kommentare

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 .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen