リンタールール - 成果物のパラメーター

このルールは、成果物のパラメーターが正しく定義されているかどうかを検証します。 このテストに合格するには、次の条件が満たされている必要があります。

  • 一方のパラメーターを指定する場合 (_artifactsLocation または _artifactsLocationSasToken) は、他方も指定する必要があります。
  • _artifactsLocation は文字列である必要があります。
  • _artifactsLocation に既定値がある場合は、既定値の deployment().properties.templateLink.uri または未加工の URL のいずれかである必要があります。
  • _artifactsLocationSasToken はセキュリティで保護された文字列である必要があります。
  • _artifactsLocationSasToken に既定値がある場合は、空の文字列である必要があります。
  • 参照されるモジュールに _artifactsLocation または _artifactsLocationSasToken パラメーターがある場合は、モジュールに既定値があっても、それらのパラメーターに値を渡す必要があります。

リンター ルールのコード

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

artifacts-parameters

解決策

_artifactsLocationSasToken が欠落しているため、次の例ではこのテストに不合格となります。

@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = deployment().properties.templateLink.uri

...

次の例では、既定値が指定されている場合に _artifactsLocationdeployment().properties.templateLink.uri または未加工の URL である必要があるという理由と、_artifactsLocationSasToken の既定値が空の文字列ではないという理由で、このテストは失敗します。

@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = 'something'

@description('SAS Token for accessing script path')
@secure()
param _artifactsLocationSasToken string = 'something'

...

次の例は、このテストに合格します。

@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = deployment().properties.templateLink.uri

@description('SAS Token for accessing script path')
@secure()
param _artifactsLocationSasToken string = ''

...

次のステップ

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