我最近不得不创建一些Azure站点到站点的VPN连接,并决定为未来的部署创建一个BICEP文件。病毒网络网关资源模板可在以下位置找到:https://learn.microsoft.com/en-us/azure/templates/microsoft.network/virtualnetworkgateways?pivots=deployment-语言二头肌
我最初几次尝试BICEP部署失败(请求格式“无效”),在查看了手动创建的功能性虚拟网络网关JSON视图后,我确定我的BICEP丢失了:
ipConfigurations: [
{
id: string
name: string
我已经从链接的BICEP模板中删除了所有我没有使用的参数;其中包括删除上面的id和name。
Let s say the manually created and functional Virtual Network Gateway has ID: /subscriptions/0123456789-abcd/rgs/myRg/providers/Microsoft.Network/virtualNetworkGateways/myVnetGw
The value of the ipConfigurations ID in the JSON view would be: /subscriptions/0123456789-abcd/rgs/myRg/providers/Microsoft.Network/virtualNetworkGateways/myVnetGw/ipConfigurations/default
名称是“default”,也可以从ID中抽象出来。
我不太明白的是,BICEP资源定义怎么可能需要资源本身正在创建的ID?知道正确的值是什么,我取了这个预测值,并将其插入到我的BICEP参数中,现在它部署起来没有问题。
现在将其与ipConfigurations块中的其他2个ID进行比较。一个用于虚拟网络,另一个用于公共IP地址或完全独立的资源,当然,除非您提供数据,否则病毒网络网关不会知道这些资源。
我错过了什么?
谢谢