How can I find the version of all Terraform providers in a workspace?

I can't find the canonical way to report the version of a specific terraform Provider, in this case the AWS provider. I can find a binary that seems be named with version information:

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

But no other reference to v1.0.0_x4, or any other version.

I'm imagining some command like terraform providers --version, which currently will just print out the Terraform version.

Speaking of which, I'm using Terraform v0.10.7.

Cheers, James


Provider versions are included in the output of the version command:

terraform version

#=>

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

That's the only way I'm aware of. I presume that if that isn't how it's supposed to be done, when you report a bug the terraform developers will tell you how to do it differently.


Starting with v0.12.x, the version command is the simplest way to get provider versions:

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

For further info. on this, check the Terraform CLI reference here.

Detailed provider info.can be obtained in JSON format with:

terraform providers schema -json

#=>

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