如何找到工作区中所有 Terraform 提供程序的版本?

如何找到工作区中所有 Terraform 提供程序的版本?

我找不到报告特定 Terraform 提供商(在本例中为 AWS 提供商)版本的规范方法。我可以找到一个似乎以版本信息命名的二进制文件:

$ ls .terraform/plugins/darwin_amd64/
lock.json
terraform-provider-aws_v1.0.0_x4

但没有其他参考v1.0.0_x4或任何其他版本。

我正在想象一些类似的命令terraform providers --version,它目前只会打印出 Terraform 版本。

说到这,我正在使用 Terraform v0.10.7。

欢呼吧,詹姆斯

答案1

从 v0.12.x 开始,该version命令是获取提供程序版本的最简单方法:

terraform version

#=>

Terraform v0.13.5
 + provider registry.terraform.io/hashicorp/azuread v1.4.0
 + provider registry.terraform.io/hashicorp/azurerm v2.51.0
 + provider registry.terraform.io/hashicorp/helm v2.0.2
 + provider registry.terraform.io/hashicorp/kubernetes v2.0.1
 + provider registry.terraform.io/hashicorp/null v3.0.0

有关更多信息,请查看 Terraform CLI 参考这里

可以使用以下 JSON 格式获取提供商的详细信息:

terraform providers schema -json

#=>

{"format_version":"0.2","provider_schemas":{"registry.terraform.io/hashicorp . . .

答案2

提供程序版本包含在version命令的输出中:

terraform version

#=>

Terraform v0.12.x
on . . .
+ provider registry.terraform.io/hashicorp/. . .
+ provider registry.terraform.io/hashicorp/. . .
. . .

答案3

这是我知道的唯一方法。我推测如果这不是应该做的事情,当你报告错误时,terraform 开发人员会告诉你如何以不同的方式去做。

相关内容