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)