我正在制作自定义手臂模板。
我想在JSON中对特定的资源组进行硬编码 打开模板时,它将模拟"资源组:使用现有:预定义的选定资源组"
我已经抓了几个小时并深入搜索网页,我还尝试导出现有资源组模板并将其导入自定义部署,但仍显示
资源组*新建*使用现有
有没有办法在JSON模板中定义现有的RG?
答案 0 :(得分:2)
您可以使用嵌套模板,例如@ 4c74356b41所说的,但是您仍会在门户上看到难看的“选择资源组”字段。
我有一个类似的问题(即使@ 4c74356b41反复声称这没有任何意义)。我想通过参数生成资源组名称。
您可以在此处找到有关如何使用嵌套模板的更多信息:Create resource group and deploy resources
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.1",
"parameters": {
"someName": {
"type": "string"
}
},
"variables": {
"rgName": "[concat('rg-', parameters('someName'))]"
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2018-05-01",
"location": "[parameters('rgLocation')]",
"name": "[variables('rgName')]",
"properties": {}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"name": "rgDeployment",
"resourceGroup": "[variables('rgName')]",
"dependsOn": [
"[resourceId('Microsoft.Resources/resourceGroups/', variables('rgName'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
// PUT YOUR RESOURCES TEMPLATES HERE! //
}
],
"outputs": {}
}
}
}
],
"outputs": {}
}
只需将rgName
变量替换为实际资源组名称的名称即可。
答案 1 :(得分:0)
有几种方法可以实现这一点(不是说它有意义,但你可以这样做)。
同样,这一切都没有意义,因为您应该将其部署到正确的订阅\资源组组合。但如果你坚持的话,你就拥有它。
但是门户体验将保持不变(没有办法解决这个问题,你可以强制模板总是部署到同一个资源组(不是没有任何意义),但不能改变门户体验)如果那就是你所关心的事情。