Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform 基于变量的可选块_Terraform_Terraform Provider Azure - Fatal编程技术网

Terraform 基于变量的可选块

Terraform 基于变量的可选块,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我正在为azurerm\u存储\u帐户编写某种包装器模块 azurerm\u存储\u帐户具有可选块 static_website { index_document = string error_404_document = string } 我想根据变量设置它,但我不确定如何才能做到这一点?条件运算符实际上不适用于块(例如,static\u website=var.disable?null:{..}) 或者,如果我将index\u document和error\u 404\u docu

我正在为
azurerm\u存储\u帐户
编写某种包装器模块

azurerm\u存储\u帐户
具有可选块

static_website {
  index_document = string
  error_404_document = string
}
我想根据变量设置它,但我不确定如何才能做到这一点?条件运算符实际上不适用于块(例如,
static\u website=var.disable?null:{..}

或者,如果我将
index\u document
error\u 404\u document
设置为
null
,块的工作方式是否与不设置
静态网站
块相同

azurerm@2.x

TF@0.12.x

我想你可以用它。基本上,当
禁用
时,不会创建
静态网站
。否则,将构建一个
static_网站

例如,修改后的代码可以是:

  dynamic "static_website" {

    for_each = var.disable == true ? toset([]) : toset([1])

    content {
        index_document = string
        error_404_document = string
    }
  } 
您还可以尝试使用检查
disable
是否有值或为空:

  dynamic "static_website" {

    for_each = var.disable[*]

    content {
        index_document = string
        error_404_document = string
    }
  } 
在上述示例中,您可能需要根据
var.disable
实际可以具有的值来调整条件