Regra do Linter – utilizar a propriedade principal

Quando definido fora do recurso principal, utiliza barras para incluir o nome principal no nome do recurso subordinado. Não é recomendado definir o nome completo do recurso com o nome do recurso principal. A parent propriedade pode ser utilizada para simplificar a sintaxe. Veja Nome completo do recurso fora do principal.

Código de regra do Linter

Utilize o seguinte valor no ficheiro de configuração do Bicep para personalizar as definições de regras:

use-parent-property

Solução

O exemplo seguinte falha neste teste devido aos valores de nome para service e 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
  ]
}

Pode corrigir o problema com a parent propriedade:

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'
}

Pode corrigir o problema automaticamente ao selecionar Correção Rápida , conforme mostrado na seguinte captura de ecrã:

Captura de ecrã a mostrar a correção rápida da propriedade principal.

Passos seguintes

Para obter mais informações sobre o linter, consulte Utilizar linter Bicep.