作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个相当简单的 ARM 模板,用于创建 vnet、子网和服务端点。当我尝试更改服务端点时,出现错误“代码”:“InUseSubnetCannotBeDeleted”。指出我的一台虚拟机正在使用其中一个子网。但是,我不想删除该子网。我只是想更新它,我可以通过门户或 powershell 来完成操作。我是否需要更改一些开关才能使 ARM 模板更新资源而不是从头开始创建它们?
模板。我把它精简到最低限度。首先,我使用它创建 vnet 和两个子网,部署一个虚拟机,然后再次运行部署,我发现子网无法删除:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vnetName": {
"type": "string",
"defaultValue": "VNet1",
"metadata": {
"description": "VNet name"
}
},
"vnetAddressPrefix": {
"type": "string",
"defaultValue": "10.0.0.0/16",
"metadata": {
"description": "Address prefix"
}
},
"subnets": {
"type": "object"
}
},
"variables": {
"location": "[resourceGroup().location]",
"subnetcount": "[length(parameters('subnets').settings)]"
},
"resources": [
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('vnetName')]",
"location": "[variables('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": ["[parameters('vnetAddressPrefix')]"]
}
},
"resources": [
]
},
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[concat(parameters('vnetName') , '/' , parameters('subnets').settings[copyIndex()].name)]",
"location": "[variables('location')]",
"copy": {
"name": "subnetLoop",
"count": "[variables('subnetcount')]"
},
"dependsOn": ["[parameters('vnetName')]"],
"properties": {
"addressPrefix": "[parameters('subnets').settings[copyIndex()].addressPrefix]"
}
}
]
}
最佳答案
我也遇到了同样的问题。这是我找到的,与上面其他用户的答案基本相同。
在 ARM 模板中创建带有子网的 vnet 的三种方法。(非常粗略的例子)
{
"vnet"
},
{
"subnet",
"dependsOnVnet"
}
<小时/>
{
"vnet"
resources : [
{
"subnet",
"dependsOnVnet"
}
]
}
<小时/>
{
"vnet"
"properties":{
"subnets" : ["subnet"]
}
}
<小时/>
*这些示例采用增量 ARM 部署。*
关于 azure ARM "code": "InUseSubnetCannotBeDeleted" when trying to update vnet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901747/
我有一个相当简单的 ARM 模板,用于创建 vnet、子网和服务端点。当我尝试更改服务端点时,出现错误“代码”:“InUseSubnetCannotBeDeleted”。指出我的一台虚拟机正在使用其中
我是一名优秀的程序员,十分优秀!