Partager via


Règle de linter : utiliser une propriété parente

En cas de définition en dehors de la ressource parent, vous utilisez des barres obliques pour inclure le nom du parent dans le nom de la ressource enfant. La définition du nom de ressource complet avec le nom de ressource parent n’est pas recommandée. La propriété parent peut être utilisée pour simplifier la syntaxe. Voir Nom complet de la ressource en dehors du parent.

Code de règle de linter

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

use-parent-property

Solution

L’exemple suivant échoue à ce test en raison des valeurs de nom pour service et share :

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: 'examplestorage'
  location: location
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}

resource service 'Microsoft.Storage/storageAccounts/fileServices@2023-05-01' = {
  name: 'examplestorage/default'
  dependsOn: [
    storage
  ]
}

resource share 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-05-01' = {
  name: 'examplestorage/default/exampleshare'
  dependsOn: [
    service
  ]
}

Vous pouvez résoudre le problème en utilisant la propriété parent :

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: 'examplestorage'
  location: location
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}

resource service 'Microsoft.Storage/storageAccounts/fileServices@2023-05-01' = {
  parent: storage
  name: 'default'
}

resource share 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-05-01' = {
  parent: service
  name: 'exampleshare'
}

Utilisez le correctif rapide pour simplifier la syntaxe :

Capture d’écran de l’utilisation de Quick Fix pour la règle linter use-parent-property.

Étapes suivantes

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