簡體   English   中英

Terraform 動態塊與for_each

[英]Terraform dynamic block with for_each

需要建議。 我正在嘗試運行以下代碼。 首先導入具有 vsts 配置的 adf。 對於第二個 adf,我不需要 vsts 配置。 我曾嘗試使用動態塊,但出現如下錯誤。

在 main.tf 第 16 行,在資源“azurerm_data_factory”“adf”中:2020-12-24T08:13:44.3101544Z 16:動態 [4m“action”

[0m { 2020-12-24T08:13:44.3101802Z [0m 2020-12-24T08:13:44.3102076Z 此處不應出現“動作”類型的塊。

主文件

resource "azurerm_data_factory" "adf"{

for_each = var.purposes
name=lower("${var.component}-${var.project}-${var.regionname}-${var.azureregion}-${var.environment}-${each.value.purpose}")

  location            = data.azurerm_resource_group.rg.location
  resource_group_name = data.azurerm_resource_group.rg.name
 

  identity{
    
    type="SystemAssigned"
    
    
  }

  dynamic "action" {
  for_each = var.vsts_config ? [1] : []
  
content {

  vsts_configuration {
    
    account_name = var.accountname
    branch_name = var.branchname
    project_name = var.projectname
    repository_name = var.repository
    tenant_id       = "__tenantId__"
    root_folder     = var.rootfolder

    }
  
}


  }

}

input.tfvars
purposes = {
  a =  {
        purpose = "load",
        
    }
  b =  {
        purpose = "live",
      
    }
}

action不是azurerm_data_factory中的有效塊。 如果你想讓vsts_configuration塊可選,那么你的代碼應該是:

dynamic "vsts_configuration" {

    for_each = var.vsts_config ? [1] : []
  
    content {
        account_name    = var.accountname
        branch_name     = var.branchname
        project_name    = var.projectname
        repository_name = var.repository
        tenant_id       = "__tenantId__"
        root_folder     = var.rootfolder  
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM