适用于Azure Application Gateway的IP地址列表格式

问题描述 投票:0回答:1

我正在创建一个Terraform配置,以在Azure中部署应用程序网关,该应用程序网关将位于配置为使用内部负载平衡器的应用程序服务环境(ASE)之前。我使用shell脚本从Azure Cloud Shell运行我的terraform配置。在shell脚本中,我运行AZ CLI命令以获取ASE内部负载均衡器的IP地址,然后将其作为命令行变量提供给我的Terraform配置。我一直收到错误,说ip_address_list应该是一个列表,但我不确定这意味着什么格式。

以下是我用来获取IP地址的命令:

ilbase_virtual_ip=$(
  az resource show \
  --ids "/subscriptions/$subscription_id/resourceGroups/$ilbase_rg_name/providers/Microsoft.Web/hostingEnvironments/$ilbase_name/capacities/virtualip" \
  --query "additionalProperties.internalIpAddress"
)

这将返回格式如下的IP地址。我作为shell脚本的一部分回应它,所以我可以验证它是否成功获得:

"10.10.1.11"

下面是我在shell脚本中使用的Terraform命令行:

terraform plan \
  -var "tfstate_access_key=$tfstate_storage_access_key" \
  -var "ilbase_virtual_ip=$ilbase_virtual_ip"

以下是我的Terraform配置中的代码,我尝试应用IP地址:

backend_address_pool {
  name            = "${data.terraform_remote_state.rg.vnetnamew}-beap"
  ip_address_list = "[${var.ilbase_virtual_ip}]"
}

我在没有[]的情况下尝试过但是得到了同样的错误。

azure terraform terraform-provider-azure terraform-template-file
1个回答
0
投票

语法中的轻微错误是问题的原因。我试图使用以下内容:

backend_address_pool {
  name            = "${data.terraform_remote_state.rg.vnetnamew}-beap"
  ip_address_list = "[${var.ilbase_virtual_ip}]"
}

但应该是:

backend_address_pool {
  name            = "${data.terraform_remote_state.rg.vnetnamew}-beap"
  ip_address_list = ["${var.ilbase_virtual_ip}"]
}
© www.soinside.com 2019 - 2024. All rights reserved.