Вложенный шаблон ARM «Неверный шаблон не может найти ресурс шаблона» - PullRequest
0 голосов
/ 13 июня 2019

Я развернул шаблон arm, чтобы создать SSL-сертификат для существующих менеджеров трафика и связать сертификаты со службами приложения. Поскольку приложение работает в одной группе ресурсов, а менеджер трафика и сертификат в другой группе ресурсов - я использую вложенный шаблон. я получил ошибку с сертификатом SSL:

Ошибка проверки шаблона развертывания: 'Ссылка на шаблон 'blabla-ssl1' недействителен: не удалось найти ресурс шаблона или ресурсная копия с таким именем

  "comments": "Get the Traffic Manager SSL cert that will be binded to the app",
  "copy": {
    "name": "loop",
    "count": "[length(variables('locations'))]"
  },
  "type": "Microsoft.Web/certificates",
  "name": "[concat(variables('tmsslcert')['secretname'], copyIndex())]",
  "apiVersion": "2016-03-01",
  "location": "[variables('locations')[copyIndex()]]",
  "dependsOn": [
    "[variables('TMName')]"
  ],
  "properties": {
    "keyVaultId": "[variables('tmsslcert')['KeyVaultId']]",
    "secretname": "[variables('tmsslcert')['secretname']]"
  }
},
{
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2018-05-01",
  "resourceGroup": "[variables('webappResourceGroup')]",
  "name": "[concat('AddTMSSLCert_',variables('locations')[copyIndex()],'_nestedTemplate')]",
  "copy": {
    "name": "endpointloop",
    "count": "[length(variables('locations'))]"
  },
  "properties": {
    "mode": "Incremental",
    "template": {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "resources": [
        {
          "comments": "app hostname binding of TM CNAME",
          "type": "Microsoft.Web/sites/hostNameBindings",
          "name": "[concat(variables('webappDNSNamePrefix'), '-', variables('locations')[copyIndex()], '/', variables('tmcname'))]",
          "apiVersion": "2016-08-01",
          "location": "[variables('locations')[copyIndex()]]",
          "scale": null,
          "properties": {
            "siteName": "variables('webappDNSNamePrefix'), '-', variables('locations')[copyIndex()]",
            "sslState": "SniEnabled",
            "thumbprint": "[reference(resourceId(variables('webappResourceGroup'),'Microsoft.Web/certificates', concat(variables('tmsslcert')['secretname'], copyIndex())),'2016-03-01').Thumbprint]"
          },
          "dependsOn": [
            "[concat(variables('tmsslcert')['secretname'], copyIndex())]",
            //"[concat('Microsoft.Web/certificates/', variables('tmsslcert')['secretname'], copyIndex())]"
          ]
        }
      ]
    }
  }
}

1 Ответ

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

невозможно точно определить, где именно находится ошибка (с учетом предоставленных вами данных), но это означает, что либо references, либо dependsOn пытаются получить доступ к ресурсу, который либо не создан, либо находится в другой группе ресурсов.Одна вещь, которая выглядит особенно неправильно, это:

"dependsOn": [
    "[concat(variables('tmsslcert')['secretname'], copyIndex())]",
    //"[concat('Microsoft.Web/certificates/', variables('tmsslcert')['secretname'], copyIndex())]"
]

это не будет работать, потому что это будет работать в контексте вложенного развертывания, поэтому в другой группе ресурсов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...