<p>tfenv não lê a versão_necessária de conf.tf</p>

Criado em 22 jul. 2019  ·  6Comentários  ·  Fonte: tfutils/tfenv

Problema

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

Comportamento Pretendido

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)

documentation enhancement

Comentários muito úteis

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

Todos 6 comentários

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 .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

sthristov picture sthristov  ·  5Comentários

Constantin07 picture Constantin07  ·  8Comentários

alexppg picture alexppg  ·  4Comentários

ibakayoko picture ibakayoko  ·  6Comentários

gudlyf picture gudlyf  ·  10Comentários