以下のテンプレートを展開しています:
https://Gist.github.com/rnkhouse/aea0a8fd395da37b19466348b919d62
エラー:
「ステータスコード400のデプロイメントが失敗し、メッセージ:デプロイメントテンプレートの検証が失敗しました: 'リソース' Microsoft.Network/virtualNetworks/mtes-dev-VNET 'がテンプレートで定義されていません。参照してください https:// aka .ms/arm-template 使用法の詳細。 '。 "
他のテンプレートですでに仮想ネットワークを作成しており、ここで同じリソースグループを使用しています。しかし、それでもエラーが発生しています。アドバイスを下さい!
コード内のVnetをdependsOn
削除します。これは、そのリソースがテンプレートの一部である場合にのみ必要であり、すでにデプロイされている場合は必要ありません。
'The resource is not defined in the template'を検索してここに到達する他の人にとって、このエラーメッセージの別の考えられる理由は、フォームの参照です。
reference('<some complete id outside this template>')
または
listkeys('<some complete id outside this template>')
エラーメッセージには表示されませんが、現在のテンプレートの外部で定義されたリソースを参照するときは、APIバージョンを含める必要があります。
例えば.
reference('<some complete id outside this template>', '2018-03-01')
私は同じエラーコードを探しているこの質問に出くわしました。しかし、別の問題がありました。テンプレート内の別のリソースの子リソースを参照していました。それらは現在のテンプレートの外で考慮されていると思います。
例えば.
{
"$schema": "http://schema.management.Azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "vnetName",
"location": "[resourceGroup().location]",
"apiVersion": "2018-11-01",
"properties": {
...
}
},
"resources": [
{
"type": "subnets",
"apiVersion": "2018-11-01",
"name": "subnetName",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', vnetName)]"
],
"properties": {
...
}
}
}
},
{
"apiVersion": "2016-02-01",
"name": "deploymentName",
"type": "Microsoft.Resources/deployments",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks.subnets', vnetName, subnetName)]"
],
}
]
}
そこでの修正は、親リソースをデプロイメントに入れて、それに依存することです。
例えば.
{
"$schema": "http://schema.management.Azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion": "2016-02-01",
"name": "deployment1",
"type": "Microsoft.Resources/deployments",
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "vnetName",
"location": "[resourceGroup().location]",
"apiVersion": "2018-11-01",
"properties": {
...
},
"resources": [
{
"type": "subnets",
"apiVersion": "2018-11-01",
"name": "subnetName",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', vnetName)]"
],
"properties": {
...
}
}
]
}
]
},
{
"apiVersion": "2016-02-01",
"name": "deployment2",
"type": "Microsoft.Resources/deployments",
"dependsOn": [
"deployment1"
],
}
]
}