O símbolo ~> significa nesse caso maior ou igual a 3.0?
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
O símbolo ~> significa nesse caso maior ou igual a 3.0?
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
Olá Felipe, tudo bem? Se não me engano o Terraform como o Vagrant são feitos em Ruby, e em Ruby o ~>
significa Pessimistic version constraint ou seja "restrição de versão pessimista". E este conceito faz com que possamos sempre está com a versão mais atualizada porém nunca vamos utilizar uma atualização que possa "quebrar" as coisas que estamos utilizando no momento.
Acho que não ficou muito claro minha explicação, então vou ti dar uma exemplo, nesse caso:
version = "~> 3.0"
Queremos sempre usar o provider AWS na versão MAJOR (conceito de SEMANTIC VERSIONING você pode ver melhor nesse linkMAJOR), mas enfim, queremos sempre usar a versão mais atualizada do provider dentro da versão MAJOR 3, então podemos utilizar a versão 3.1, ou 3.2, ou 3.3 mas nunca vamos poder usar a versão 4.0 ou a versão 2.9, apenas as versões que estiverem dentro da versão MAJOR 3, isso evita que nosso arquivo fique quebrado na versão 4 por exemplo.
Espero ter esclarecido sua dúvida!