Terraform使用了错误版本的提供程序

Terraform使用了错误版本的提供程序,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我正在尝试使用azurerm\u postgresql\u服务器资源块在Azure上创建一个Postgres服务器。我已经将azurerm版本固定到了2.4.0,这意味着我应该是最新的,并且可以使用。相反,我发现缺少必需的参数错误,并且看到消息引用缺少的属性,根据文档,这些属性已被弃用 到目前为止,我已经尝试运行了terraforminit-upgrade,以防我以前尝试过使用较旧版本的提供者创建Postgres,它导致插件的缓存版本,但没有任何效果。我不知道出了什么问题——是代码本身还是我机器

我正在尝试使用
azurerm\u postgresql\u服务器
资源块在Azure上创建一个Postgres服务器。我已经将
azurerm
版本固定到了2.4.0,这意味着我应该是最新的,并且可以使用。相反,我发现缺少必需的参数错误,并且看到消息引用缺少的属性,根据文档,这些属性已被弃用

到目前为止,我已经尝试运行了
terraforminit-upgrade
,以防我以前尝试过使用较旧版本的提供者创建Postgres,它导致插件的缓存版本,但没有任何效果。我不知道出了什么问题——是代码本身还是我机器上的地形设置。下面是简化的代码片段和错误输出,谢谢

provider "azurerm" {
  version           = "=2.4.0"
  subscription_id   = "xxxxxxxxxxxxxxx"

  features {
    key_vault {
      purge_soft_delete_on_destroy = true
    }
  }
}

resource "azurerm_postgresql_server" "postgres" {
  name                         = "sarum-hymnal-postgresql-server"
  location                     = var.resource_group.location
  resource_group_name          = var.resource_group.name
  sku_name                     = "B_Gen4_1"
  storage_mb                   = 5120
  backup_retention_days        = 7
  geo_redundant_backup_enabled = false
  auto_grow_enabled            = false
  administrator_login          = data.azurerm_key_vault_secret.POSTGRES-USERNAME.value
  administrator_login_password = data.azurerm_key_vault_secret.POSTGRES-SECRET.value
  version                      = "11"
  ssl_enforcement_enabled      = true
  tags                         = var.resource_group.tags
}

通过在根目录下运行
terraformproviders
,我得到以下输出:

 .
 ├── provider.azurerm =2.4.0
 ├── module.early-modern-ballot
 │   └── provider.azurerm (inherited)
 ├── module.hands-on-reading
 │   └── provider.azurerm (inherited)
 ├── module.poetic-transformations
 │   └── provider.azurerm (inherited)
 ├── module.sarum-hymnal
 │   └── provider.azurerm (inherited)
 ├── module.soundscapes-of-text
 │   └── provider.azurerm (inherited)
 └── module.translations
     └── provider.azurerm (inherited)

您可以将terraform版本升级到
v0.12
,将
azurerm
提供程序的版本升级到
version=“>=2.7”
。这对我来说很有效


有关更多详细信息,请参阅和。

能否在根配置目录中显示
azurerm
提供程序的版本?通过在根目录下运行
terraform providers
,我将获得以下输出:
。├── provider.azurerm=2.4.0├── 模块。早期现代投票│   └── provider.azurerm(继承)├── 模块.动手阅读│   └── provider.azurerm(继承)├── 模数转换│   └── provider.azurerm(继承)├── 萨鲁姆赞美诗模块│   └── provider.azurerm(继承)├── 模块.声景/文本│   └── provider.azurerm(继承)└── 模块.翻译└── provider.azurerm(继承)
terraform版本的输出是什么?terraform版本为0.12将提供程序版本提升到2.7修复了该问题
 .
 ├── provider.azurerm =2.4.0
 ├── module.early-modern-ballot
 │   └── provider.azurerm (inherited)
 ├── module.hands-on-reading
 │   └── provider.azurerm (inherited)
 ├── module.poetic-transformations
 │   └── provider.azurerm (inherited)
 ├── module.sarum-hymnal
 │   └── provider.azurerm (inherited)
 ├── module.soundscapes-of-text
 │   └── provider.azurerm (inherited)
 └── module.translations
     └── provider.azurerm (inherited)