web-dev-qa-db-fra.com

La ressource n'est pas définie dans le modèle

Déploiement du modèle ci-dessous:

https://Gist.github.com/rnkhouse/aea0a8fd395da37b19466348b919d62

Erreur:

"Le déploiement a échoué avec le code d'état: 400 et le message: La validation du modèle de déploiement a échoué: 'La ressource' Microsoft.Network/virtualNetworks/mtes-dev-VNET 'n'est pas définie dans le modèle. Veuillez consulter https: // aka .ms/arm-template pour les détails d'utilisation. '. "

J'ai déjà créé un réseau virtuel dans un autre modèle et j'utilise le même groupe de ressources ici. Mais, je suis toujours au-dessus de l'erreur. S'il vous plaît des conseils!

16
Ronak Patel

Supprimez dependsOn le Vnet dans votre code, il n'est nécessaire que si cette ressource fait partie du modèle, pas si elle est déjà déployée.

23
4c74356b41

Pour toute autre personne se retrouvant ici à partir d'une recherche de 'La ressource n'est pas définie dans le modèle', une autre raison possible de ce message d'erreur est une référence du formulaire:

reference('<some complete id outside this template>')

ou

listkeys('<some complete id outside this template>')

Le message d'erreur ne vous le dit pas, mais vous devez inclure la version de l'API lors du référencement d'une ressource définie en dehors du modèle actuel.

par exemple.

reference('<some complete id outside this template>', '2018-03-01')
8
Ian Mercer

Je suis tombé sur cette question à la recherche du même code d'erreur. J'ai eu un problème différent cependant: je faisais référence à des ressources enfants d'une autre ressource dans le modèle. Je suppose que ceux-ci sont considérés en dehors du modèle actuel.

par exemple.

{
    "$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)]"
            ],
        }
    ]
}

Là, le correctif consiste à placer la ressource parent dans un déploiement et à en dépendre.

par exemple.

{
    "$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"
            ],
        }
    ]
}
1
Jesse Jutson