gpt4 book ai didi

azure - 仅当分配方法是静态时,如何从 Arm 模板输出公共(public) IP 地址?

转载 作者:行者123 更新时间:2023-12-03 01:45:06 26 4
gpt4 key购买 nike

仅当公共(public)IP创建为静态时,我才尝试从arm模板输出公共(public)IP地址。如果是动态的,则可以忽略输出。

我们有一个主模板,它调用另一个模板来创建虚拟机。调用模板将传递构建机器所需的参数,包括使用参数 PIPAllocationMethod 公共(public) IP 应该是静态还是动态。

在输出部分构建虚拟机的模板中,我尝试了以下代码,但它不起作用并返回错误,如下所示“无法评估模板输出'publicIpAddress'无效。”

"outputs": {
"publicIpAddress": {
"value": "[if(equals(parameters('PIPAllocationMethod'),'Static'), reference(variables('primaryPIPAddressName')).ipAddress, parameters('PIPAllocationMethod'))]",
"type": "string"
}

我需要的是仅在静态时输出公共(public)IP地址,如果是动态则可以忽略

感谢帮助

最佳答案

我认为您正在谈论 PublicIP 资源,因此您有一个拼写错误(区分大小写):

reference(variables('primaryPIPAddressName')).IpAddress

对于网卡使用这个:

reference(variables('primaryPIPAddressName')).ipConfigurations[0].properties.privateIPAddress

对于你的情况,我建议你这样做。创建具有以下值的变量:

"picker": "[if(equals(parameters('PIPAllocationMethod'),'Static'), 'IpAddress', 'publicIPAllocationMethod')]"

在你的输出中你可以这样做:

"value": "[reference(variables('primaryPIPAddressName')).[variables('picker')]]"

关于azure - 仅当分配方法是静态时,如何从 Arm 模板输出公共(public) IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48226376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com