Azure 如何替换ARM模板中IP地址的最后八位字节

Azure 如何替换ARM模板中IP地址的最后八位字节,azure,arm-template,vnet,Azure,Arm Template,Vnet,我试图在ARM模板中传递一个带有IP地址前缀(比如10.0.0.0/24)的参数来部署VNET 在ARM模板中,我想将10.0.0.0/24替换为10.0.0.123,并将其分配给一个NIC,我想稍后使用该NIC创建VM 我希望有什么方法可以使用ARM模板实现这一点?您可以使用privateIPAllocationMethod:“Static”并指定私有IP地址,如下所示: "ipConfigurations": [ { "name": "ipconf

我试图在ARM模板中传递一个带有IP地址前缀(比如10.0.0.0/24)的参数来部署VNET

在ARM模板中,我想将10.0.0.0/24替换为10.0.0.123,并将其分配给一个NIC,我想稍后使用该NIC创建VM

我希望有什么方法可以使用ARM模板实现这一点?

您可以使用
privateIPAllocationMethod:“Static”
并指定私有IP地址,如下所示:

"ipConfigurations": [
          {
            "name": "ipconfig1",
            "properties": {
              "privateIPAllocationMethod": "Static",
              "privateIPAddress": "[parameters('privateIPAddress')]",
              "publicIPAddress": {
                "id": "[resourceId('Microsoft.Network/publicIPAddresses',parameters('publicIPAddressName'))]"
              },
              "subnet": {
                "id": "[parameters('subnetRef')]"
              }
            }
          }
        ]

这里有一个关于静态私有IP地址的示例,请参考。

好吧,没有什么好方法可以做到这一点,最简单的方法是:

"var1": "[first(split(parameters('addressPrefix'), '/'))]",
"var2": "[substring(variables('var1'), 0, sub(length(variables('var1'), 1)))]"
"var3": "[concat(variables('var2'), 'ipgoeshere')]"
或者,您可以将最后4个字符和concat ip地址切掉,或将和concat部分拆分为一个ip地址:

"var1": "[first(split(parameters('addressPrefix'), '/'))]",
"var2": "[concat(variables('var1')[0], '.', variables('var1')[1], '.', variables('var1')[2], '.ipgoeshere')]"
我就是这么做的

“变量”:{
“subnetAddress”:“[首先(拆分(参数('subnetAddressWithMask'),'/)]”,
“subnetotets3:“[take(split(变量('subnetAddress'),'”),3)]”,
“子网”:“[concat(变量('subnetotets3')[0],'.',变量('subnetotets3')[1],'.',变量('subnetotets3')[2])”
},
“产出”:{
“子网地址”:{
“类型”:“字符串”,
“值”:“[变量('subnetAddress')”
},
“子网3”:
{
“类型”:“数组”,
“值”:“[变量('subnetotets3')”
}
,
“子网”:{
“类型”:“字符串”,
“值”:“[变量('子网')]”
}
有输出

“输出”:{
“deploymentAppGw”:{
“类型”:“对象”,
“价值”:{
“子网地址”:{
“类型”:“字符串”,
“值”:“10.0.0.0”
},
“子网3”:{
“类型”:“数组”,
“价值”:[
"10",
"0",
"0"
]
},
“子网”:{
“类型”:“字符串”,
“值”:“10.0.0”
}
}
}
},
后来我以这种方式使用它:
“[concat(variables('subnetnetnetwork'),“.”,copyIndex(10))”
或类似的方式