Azure ARM模板vnet对等连接-子网删除

时间:2019-08-21 13:50:20

标签: azure templates azure-resource-manager vnet

这是我收集到的已知问题(https://github.com/Azure/azure-quickstart-templates/issues/2786

我已经构建了一个Python脚本,该脚本接受一个.csv并构建了一个环境。一切正常。我还有第二个.csv做对等连接,它可以工作,但是在事实(而不是再次指定子网)删除已存在的所有子网之后,对virtualNetworks进行了任何更改。您可能以为我可以更新代码以在同一脚本中动态创建对等节点,但是我不能...增量模式不起作用。我希望它是一个更加动态和独立的过程。

注意:我也在订阅中执行此操作,因此为混合添加了一些乐趣

需要一些帮助来了解我如何在事实建立后建立对等体:

我看到的选项:

  1. 在进行对等互连时再次指定子网-问题是我的代码最终会变得更大,并且.csv文件会很丑陋。我认为效率不是很高,但是会起作用。

  2. 在Python中使用某种有条件的条件,这些条件将在初始构建时执行对等操作-在这里发出鸡和蛋的问题,事后我仍然无法返回并进行对等操作。更不用说我正在发生轮毂/轮辐情况...这将需要很多工作。

  3. 您甚至可以使用嵌套吗?

此外,我脚本的一个“特点”是完成后会吐出所有完整的ARM模板和参数文件。整个想法是使启动程序仅需填写.csv即可完成所有操作。

希望我丢失了一些东西。可以发布代码,但是有很多,而且很简单。

编辑:删除我所作的儿童父母评论,这似乎很难理解该问题。

1 个答案:

答案 0 :(得分:0)

这是在不修改其他vnet属性的情况下创建对等连接的方式:

{
    "apiVersion": "2017-04-01",
    "name": "%vnetname%/%peeringName%",
    "location": "%location%",
    "type": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings",
    "properties": {
        "remoteVirtualNetwork": {
            "id": "[resourceId('Microsoft.Network/virtualNetworks', '%vnetName%')]"
        },
        "allowVirtualNetworkAccess": true,
        "allowForwardedTraffic": false,
        "allowGatewayTransit": false,
        "useRemoteGateways": false
    }
}

请注意,您需要执行两次,每个vnet一次。仅在一个vnet上执行此操作并不能真正实现任何目的。