Linterregel – artefakterparametrar

Den här regeln verifierar om artefakternas parametrar har definierats korrekt. Följande villkor måste uppfyllas för att klara testet:

  • Om du anger en parameter (antingen _artifactsLocation eller _artifactsLocationSasToken) måste du ange den andra.
  • _artifactsLocation måste vara en sträng.
  • Om _artifactsLocation har ett standardvärde måste det vara antingen deployment().properties.templateLink.uri eller en rå-URL för dess standardvärde.
  • _artifactsLocationSasToken måste vara en säker sträng.
  • Om _artifactsLocationSasToken har ett standardvärde måste det vara en tom sträng.
  • Om en refererad modul har en _artifactsLocation eller _artifactsLocationSasToken -parameter måste ett värde skickas in för dessa parametrar, även om de har standardvärden i modulen.

Linterregelkod

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

artifacts-parameters

Lösning

Följande exempel misslyckas med det här testet eftersom _artifactsLocationSasToken det saknas:

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

...

Nästa exempel misslyckas med det här testet eftersom _artifactsLocation måste vara antingen deployment().properties.templateLink.uri eller en rå-URL när standardvärdet anges och standardvärdet _artifactsLocationSasToken för är inte en tom sträng.

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

...

Det här exemplet klarar det här testet.

@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 = ''

...

Nästa steg

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