Reguła lintera — parametry artefaktów
Ta reguła sprawdza, czy parametry artefaktów są poprawnie zdefiniowane. Aby przejść test, należy spełnić następujące warunki:
- Jeśli podasz jeden parametr (
_artifactsLocation
lub_artifactsLocationSasToken
), musisz podać drugi. _artifactsLocation
musi być ciągiem.- Jeśli
_artifactsLocation
ma wartość domyślną, musi być to albodeployment().properties.templateLink.uri
nieprzetworzone adresy URL dla jego wartości domyślnej. _artifactsLocationSasToken
musi być bezpiecznym ciągiem.- Jeśli
_artifactsLocationSasToken
ma wartość domyślną, musi być pustym ciągiem. - Jeśli przywoływane moduły mają
_artifactsLocation
parametr or_artifactsLocationSasToken
, wartość musi zostać przekazana dla tych parametrów, nawet jeśli w module mają wartości domyślne.
Kod reguły Linter
Użyj następującej wartości w pliku konfiguracji Bicep, aby dostosować ustawienia reguły:
artifacts-parameters
Rozwiązanie
Poniższy przykład kończy się niepowodzeniem tego testu, ponieważ _artifactsLocationSasToken
brakuje go:
@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = deployment().properties.templateLink.uri
...
Następny przykład kończy się niepowodzeniem tego testu, ponieważ _artifactsLocation
musi być albo deployment().properties.templateLink.uri
nieprzetworzonym adresem URL po podaniu wartości domyślnej, a wartość _artifactsLocationSasToken
domyślna nie jest pustym ciągiem.
@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'
...
W tym przykładzie ten test przebiegnie pomyślnie.
@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 = ''
...
Następne kroki
Aby uzyskać więcej informacji na temat lintera, zobacz Use Bicep linter (Używanie lintera Bicep).