Terraform experts , Can we have multiple provider versions, ? example : ``` . . .

JK:
Terraform experts ,

Can we have multiple provider versions, ??
example :

terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "2.65.0"
    },
   azurermv3 = {
      source  = "hashicorp/azurerm"
      version = "3.12.0"
    }
  }

Alistair Mackay:
Should work by using provider aliases

Please see https://www.terraform.io/language/providers/configuration#alias-multiple-provider-configurations

John Turner:
The versioning within the provider blocks will eventually be fully removed, but you can currently use this type of config block.

terraform {
  required_providers {
    azure = {
      source                = "hashicorp/azurerm"
      configuration_aliases = [azure.v3]
    }
  }
}

provider "azure" {
  version = ">=2.20.0"
}

provider "azure" {
  version = "3.19.1"
  alias   = "v3"
}

John Turner:
Because your lowest set is a 2.xx.x then you can say ">= 2.xx.x" and still include a newer release like "3.19.1"