Tengo lo siguiente declarado en mi archivo conf.tf
:
terraform {
required_version = "0.12.5"
backend "s3" {
bucket = "somebucket"
region = "eu-central-1"
role_arn = "somerole"
}
}
cuando ejecuto terraform --version
, tfenv no lee la versión listada pero la versión establecida por /usr/local/Cellar/tfenv/1.0.1/version
Espero que tfenv analice el archivo conf.tf por required_version
para usar la versión correcta.
La documentación no está un poco clara si esto es compatible o no (https://github.com/tfutils/tfenv#min-required)
Este no es un caso de uso previsto. tfenv no evalúa las declaraciones de versiones de terraform. La versión principal de terraform en uso se mantiene mediante el archivo .terraform-version
. Depende de usted si coloca una restricción en su declaración required_version para asegurarse de que su código no se ejecute si es evaluado por una versión incompatible.
Creo que la documentación puede ser un poco engañosa entonces: https://github.com/tfutils/tfenv#min -required
// this will detect 0.12.3
terraform {
required_version = "<0.12.3, >= 0.10.0"
}
@Zordrak, si bien no está previsto, ¿estaría abierto a un PR?
Creo que debería ser bastante fácil de vincular con el # 118 (una vez que finalmente termine mi PR, que necesito para terminar mi trabajo en eslint-plugin-jest
primero: alegría :).
Como mínimo, esto podría usarse para generar un archivo .terraform-version
(y mantenerlo actualizado).
Me complace encargarme del mantenimiento y el soporte de estas nuevas funciones.
Aquí y en el n. ° 118 hay sugerencias de una contribución de relaciones públicas. ¿Todavía tienes la intención de hacerlo? Me equivoqué antes cuando dije que no era un caso de uso, ya que me había olvidado por completo del trabajo mínimo requerido que otros contribuyeron.
Si cree que puede mejorarlo de manera segura, puede ofrecerlo (con casos de prueba asociados).
De lo contrario, esto y el número 118 probablemente deberían estar cerrados por ahora.
@Zordrak Supongo que te refieres a mí :)
De hecho, abrí el # 122 como una implementación inicial para el # 118, pero lo cerré porque no había recibido ninguna atención de nadie en más de un año.
No me importa retomar esto y ver si puedo mejorar la lógica actual si está contento de revisar el PR, pero puede llevar algún tiempo.
Los documentos sugieren una versión básica, como:
required_version = "0.12.5"
se analiza en el sentido de que la versión mínima requerida es 0.12.5
. (editar: probé - tfenv version-name
errores si .terraform-version
y la var env no existen).
En mi opinión, sería genial si, tal vez como parte del análisis de >
/ <
, la ausencia de ellos (o =
) se tratara de la misma manera que si 0.12.5
se especificó en un archivo .terraform-version
separado. Este es el comportamiento de terraform : "0.12.5"
significa 0.12.5
_only_, por lo que tomar eso como mínimo no funcionará si hay una versión disponible >0.12.5
.
Comentario más útil
Creo que la documentación puede ser un poco engañosa entonces: https://github.com/tfutils/tfenv#min -required