используя свойство зависящий от шаблона ARM - PullRequest
0 голосов
/ 09 июня 2019

Я развертываю VNET перед развертыванием других ресурсов. Он развертывает первый шаблон VNET, но выдает ошибку при развертывании других, так как он говорит, что подсеть находится в состоянии подготовки, т.е. ресурс обновляется.

Я использую вложенные шаблоны и пробовал использовать свойство зависящий от ARM, хотя это не работает. Возможно ли использовать его на уровне ресурсов?

"resources": [
    {
      "apiVersion": "2017-05-10",
      "name": "vNet_ResourceUnit",
      "type": "Microsoft.Resources/deployments",
      "resourceGroup": "[resourceGroup().name]",
      "properties": {
        "mode": "Incremental",
        "templateLink": {
          "uri": "[variables('vnetTemplateUrl')]",
          "contentVersion": "1.0.0.0"
        },
        "parameters": {
          "hyphenBasedPrefix": {
            "value": "[variables('hyphenBasedPrefix')]"
          },
          "baseTemplateUrl": {
            "value": "[parameters('baseTemplateUrl')]"
          },
          "vnetObject": {
            "value": "[variables('vnet')]"
          }
        }
      }
    },
    {
      "apiversion": "2017-05-10",
      "name": "keyVault_resourceunit",
      "type": "microsoft.resources/deployments",
      "resourcegroup": "[resourcegroup().name]",
      "dependsOn": [
        ------
      ],
      "properties": {
        "mode": "incremental",
        "templatelink": {
          "uri": "[variables('keyVaultTemplateUrl')]",
          "contentversion": "1.0.0.0"
        },
        "parameters": {
          "hyphenbasedprefix": {
            "value": "[variables('hyphenbasedprefix')]"
          },
          "basetemplateurl": {
            "value": "[parameters('basetemplateurl')]"
          },
          "keyvaultobject": {
            "value": "[variables('keyvault')]"
          },
          "vnetObject": {
            "value": "[variables('vnet')]"
          }
        }
      }
    }
  ]

Как я могу использовать свойство depenOn здесь на уровне ресурсов? Я попробовал на последнем шаблоне, используя:

"[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"

Но это не работает. Как я могу использовать его в самом «keyVault_resourceunit»?

1 Ответ

1 голос
/ 09 июня 2019

вам нужно дождаться завершения развертывания, а не ресурсов внутри развертывания (поскольку они находятся в другом развертывании, шаблон ничего о них не знает).

"[resourceId('Microsoft.Resources/deployments', 'vNet_ResourceUnit')]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...