リンター ルール - parent プロパティを使用する

親リソースの外側に子リソースを定義するとき、スラッシュを使用して、その名前に親の名前を含めます。 親リソース名を含む完全なリソース名を設定することは、推奨されていません。 parent プロパティを使用して、構文を簡略化できます。 「親の外側の完全なリソース名」を参照してください。

リンター ルールのコード

ルール設定をカスタマイズするには、Bicep 構成ファイルで次の値を使用します。

use-parent-property

解決策

次の例では、serviceshare の name 値が原因で、このテストに不合格となります。

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

この問題は、parent プロパティを使用して修正できます。

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

次のスクリーンショットに示すように、"クイック修正" を選択すれば、問題を自動的に修正できます。

親プロパティのクイック修正の使用を示すスクリーンショット。

次のステップ

リンターの詳細については、「Bicep リンターの使用方法」を参照してください。