Regra de linter – Parâmetros de artefatos
Essa regra verifica se os parâmetros de artefatos são definidos corretamente. As seguintes condições devem ser atendidas para passar neste teste:
- Se você fornecer um parâmetro (
_artifactsLocation
ou_artifactsLocationSasToken
), deverá fornecer o outro. _artifactsLocation
deve ser uma cadeia de caracteres.- Se
_artifactsLocation
tiver um valor padrão, ele deverá serdeployment().properties.templateLink.uri
ou uma URL bruta para seu valor padrão. _artifactsLocationSasToken
deve ser uma cadeia de caracteres segura.- Se
_artifactsLocationSasToken
tiver um valor padrão, ele deverá ser uma cadeia de caracteres vazia. - Se um módulo referenciado tiver um parâmetro
_artifactsLocation
ou_artifactsLocationSasToken
um valor, um valor deverá ser passado para esses parâmetros, mesmo que eles tenham valores padrão no módulo.
Código de regra linter
Use o seguinte valor no arquivo de configuração Bicep para personalizar as configurações de regra:
artifacts-parameters
Solução
O exemplo a seguir reprova neste teste porque _artifactsLocationSasToken
está ausente:
@description('The base URI where artifacts required by this template are located including a trailing \'/\'')
param _artifactsLocation string = deployment().properties.templateLink.uri
...
O exemplo a seguir falha nesse teste porque _artifactsLocation
deve ser deployment().properties.templateLink.uri
ou uma URL bruta quando o valor padrão é fornecido, e o valor padrão _artifactsLocationSasToken
não é uma cadeia de caracteres vazia.
@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'
...
Esse exemplo passa neste teste.
@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 = ''
...
Próximas etapas
Para saber mais sobre o linter, confira Usar o linter do Bicep.