Eu tenho o seguinte declarado em meu arquivo conf.tf
:
terraform {
required_version = "0.12.5"
backend "s3" {
bucket = "somebucket"
region = "eu-central-1"
role_arn = "somerole"
}
}
quando executo terraform --version
, tfenv não lê a versão listada, mas a versão definida por /usr/local/Cellar/tfenv/1.0.1/version
Espero que o tfenv analise o arquivo conf.tf para required_version
para usar a versão correta.
A documentação não está um pouco clara se isso é compatível ou não (https://github.com/tfutils/tfenv#min-required)
Este não é um caso de uso pretendido. tfenv não avalia as declarações de versão do terreno. A versão do núcleo do terraform em uso é mantida pelo arquivo .terraform-version
. Depende de você colocar uma restrição em sua declaração required_version para garantir que seu código não será executado se avaliado por uma versão incompatível.
Acho que a documentação pode ser um pouco enganosa, então: https://github.com/tfutils/tfenv#min -required
// this will detect 0.12.3
terraform {
required_version = "<0.12.3, >= 0.10.0"
}
@Zordrak embora não seja intencional, você estaria aberto para um PR?
Acho que deve ser bastante fácil vincular ao # 118 (assim que eu finalmente terminar meu PR - que preciso terminar meu trabalho em eslint-plugin-jest
primeiro: alegria :).
No mínimo, isso poderia ser usado para gerar um arquivo .terraform-version
(e mantê-lo atualizado).
Fico feliz em manter e oferecer suporte a esses novos recursos.
Aqui e no nº 118 há sugestões de uma contribuição de RP. Você ainda pretende? Eu estava errado antes quando disse que não era um caso de uso, pois havia me esquecido completamente do trabalho mínimo exigido que outros contribuíram.
Se você acha que pode melhorá-lo com segurança, fique à vontade para oferecê-lo (com casos de teste associados).
Caso contrário, este e o nº 118 provavelmente devem ser fechados por enquanto.
@Zordrak , presumo que você esteja se referindo a mim :)
Na verdade, eu abri o nº 122 como uma implementação inicial do nº 118, mas fechei-o porque não havia recebido a atenção de ninguém em mais de um ano.
Não me importo em retomar e ver se posso melhorar a lógica atual se você estiver feliz em revisar o PR, mas pode levar algum tempo.
Os documentos sugerem uma versão simples, como:
required_version = "0.12.5"
é analisado como significando que a versão mínima necessária é 0.12.5
. (editar: Eu testei - tfenv version-name
erros se .terraform-version
e o env var não existirem.)
Seria ótimo IMO se, talvez como parte da análise de >
/ <
, a ausência deles (ou =
) fosse tratada da mesma forma como se 0.12.5
foi especificado em um arquivo .terraform-version
separado. Este é o próprio comportamento do terraform - "0.12.5"
significa 0.12.5
_only_, então assumir isso como um mínimo não funcionará se houver uma versão disponível >0.12.5
.
Comentários muito úteis
Acho que a documentação pode ser um pouco enganosa, então: https://github.com/tfutils/tfenv#min -required