我已經搜索并嘗試了很多,但還沒有找到解決方案。
我正在嘗試通過“azurerm_resource_provider_registration”資源管理訂閱提供商和預覽功能。
如果我只想使用以下方法管理具有多個子功能的一個提供商,我已經可以正常作業了:
tfvars 檔案
provider_name = "Microsoft.Network"
provider_feature_name = {
feature1 = {
feature_name = "BypassCnameCheckForCustomDomainDeletion"
registered = true
}
feature2 = {
feature_name = "AllowTcpPort25Out"
registered = true
}
}
主程式
resource "azurerm_resource_provider_registration" "provider_registration" {
name = var.provider_name
dynamic "feature" {
for_each = var.provider_feature_name
content {
name = feature.value.feature_name
registered = feature.value.registered
}
}
}
如果我只想管理一個提供商及其功能,效果很好。
當/如果我想添加一個額外的“provider_name”時,問題就來了。我嘗試了一個單獨的 provider_name 塊,但我不斷收到“此處出現意外塊”錯誤。如果我像這樣引入一個塊;
變數.tf
provider_name = {
provider1 = {
provider_name = "Microsoft.Network" {
feature1 = {
feature_name = "test"
registered = true
}
}
}
provider2 = {
provider_name = "Microsoft.Storage" {
feature2 = {
feature_name = "test2"
registered = true
}
}
}
}
主程式
resource "azurerm_resource_provider_registration" "provider_registration" {
for_each = var.provider_name
name = each.value.provider_name
dynamic "feature" {
for_each = var.provider_feature_name
content {
name = feature.value.feature_name
registered = feature.value.registered
}
}
我可以讓它回圈,但不能讓它僅將 feature1 關聯到提供者 1 等,因為這些功能是該提供者獨有的。它將 feature1 關聯到提供者 1 和 2。
如果我嘗試為“名稱”值引入 for_each 或動態組,它會出現“此處不希望提供型別塊”和/或“需要引數名稱但未找到定義”
簡而言之,我怎樣才能讓我的 main 遍歷每個 provider_name 并且只將功能的子塊與該提供者相關聯(每個提供者型別可能有多個功能)。這種型別的資源是不可能的嗎?或者我只是沒有正確理解 loop/for_each 檔案。
任何幫助表示贊賞
謝謝你。
uj5u.com熱心網友回復:
首先我們需要清理和優化輸入結構。我推測這些值應該是多少,因為問題中指定了兩種不同的假設結構,但結構本身是準確的。
providers = {
"Microsoft.Network" = {
features = { "BypassCnameCheckForCustomDomainDeletion" = true }
}
"Microsoft.Storage" = {
features = { "AllowTcpPort25Out" = true }
}
}
現在我們可以輕松地在資源中使用帶有for_each元引數的結構。
resource "azurerm_resource_provider_registration" "provider_registration" {
for_each = var.providers
name = each.key
dynamic "feature" {
for_each = each.value.features
content {
name = feature.key
registered = feature.value
}
}
}
這導致兩個提供者注冊,每個提供者都映射了相應的功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/535068.html
