[英]AzureRM Multiple Providers breaking
我不确定我是否做错了什么,但我正在尝试使用多个提供者[带有别名 + 订阅,以便我可以在不同的 sub 中使用 keyvault]
简化事情。
一个轻微的更新。 我删除了任何复杂性并在一个简单的 main.tf 中执行了以下操作:
terraform {
required_version = ">= 0.13.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "=2.93.1"
}
random = {
source = "hashicorp/random"
version = "=3.1.0"
}
}
}
provider "azurerm" {
features {}
skip_provider_registration = true
}
provider "azurerm" {
skip_provider_registration = true
alias = "kvaccess"
subscription_id = "subforkvaccess"
features {}
}
data "azurerm_key_vault" "this" {
provider = azurerm.kvaccess
name = "kvname"
resource_group_name = "kvresourcegroup"
}
resource "azurerm_key_vault_secret" "secret" {
key_vault_id = data.azurerm_key_vault.this.id
name = "test"
value = "test"
provider = azurerm.kvaccess
}
秘密已创建,然后超时并出现以下错误:
2022-03-18T19:45:54.921-0400 [ERROR] vertex "azurerm_key_vault_secret.secret" error: Provider produced inconsistent result after apply
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to azurerm_key_vault_secret.secret, provider "provider[\"registry.terraform.io/hashicorp/azurerm\"].kvaccess" produced an unexpected new value: Root resource was present, but now
│ absent.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
没有子模块或任何花哨的东西。 只是一个主要的 TF 试图在本地创建一个秘密。 我在这里做错了什么吗?
在我的环境中测试工作正常。 使用下面的 terraform 代码,我已对您的代码进行了更改。
Terraform 代码:
terraform { required_version = ">= 0.13.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "=2.93.1" } random = { source = "hashicorp/random" version = "=3.1.0" } } } provider "azurerm" { features {} skip_provider_registration = true } provider "azurerm" { skip_provider_registration = true alias = "kvaccess" subscription_id = "b83XXXXXXXXXXXXXXXXX-b5ba-2b83" features {} } data "azurerm_resource_group" "example" { name = "v-XXXXXXdtree" } data "azurerm_key_vault" "this" { provider = azurerm.kvaccess name = "kvname342" resource_group_name = data.azurerm_resource_group.example.name } resource "azurerm_key_vault_secret" "secret" { key_vault_id = data.azurerm_key_vault.this.id name = "test" value = "test" provider = azurerm.kvaccess }
存在与 Hashicorp 一起打开的现有错误11059 。
它已被讨论为一个不能总是复制的偶发问题,并且与 ARM 缓存不同步有关。
讨论了以下解决方法步骤:
虽然这似乎不太可能在您的自动化中实现,但我认为除了上面讨论的解决方法之外没有其他解决方法。
免责声明::我无法在各种情况下进行复制。 因此,按原样共享..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.