Partager via


Règle de linter : étendue du modèle de déploiement imbriqué

Cette règle de linter déclenche un diagnostic lorsqu’une ressource Microsoft.Resources/deployments utilise l’évaluation d’expression à étendue interne et contient toutes les références aux symboles définis dans le modèle parent.

Code de règle de linter

Utilisez la valeur suivante dans le fichier config Bicep pour personnaliser les paramètres de règle :

nested-deployment-template-scoping

Solution

L’exemple suivant échoue à ce test, car fizz est défini dans l’espace de noms du modèle parent.

var fizz = 'buzz'

resource nested 'Microsoft.Resources/deployments@2020-10-01' = {
  name: 'name'
  properties: {
    mode: 'Incremental'
    expressionEvaluationOptions: {
      scope: 'inner'
    }
    template: {
      '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#'
      contentVersion: '1.0.0.0'
      resources: [
        {
          apiVersion: '2022-09-01'
          type: 'Microsoft.Resources/tags'
          name: 'default'
          properties: {
            tags: {
              tag1: fizz // <-- Error! `fizz` is defined in the parent template's namespace
            }
          }
        }
      ]
    }
  }
}

Étapes suivantes

Pour plus d’informations sur le linter, consultez Utiliser le linter Bicep.