Linter-regel – använd överordnad egenskap

När det definieras utanför den överordnade resursen använder du snedstreck för att inkludera det överordnade namnet i namnet på den underordnade resursen. Det rekommenderas inte att ange det fullständiga resursnamnet med det överordnade resursnamnet. Egenskapen parent kan användas för att förenkla syntaxen. Se Fullständigt resursnamn utanför överordnad.

Linterregelkod

Använd följande värde i Bicep-konfigurationsfilen för att anpassa regelinställningar:

use-parent-property

Lösning

I följande exempel misslyckas det här testet på grund av namnvärdena för service och share:

param location string = resourceGroup().location

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

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

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

Du kan åtgärda problemet med hjälp parent av egenskapen:

param location string = resourceGroup().location

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

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

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

Du kan åtgärda problemet automatiskt genom att välja Snabbkorrigering enligt följande skärmbild:

Skärmbild av snabbkorrigering av användning av överordnad egenskap.

Nästa steg

Mer information om linter finns i Använda Bicep-linter.