Compartilhar via


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á ser deployment().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.