Regra de Linter - parâmetros de artefatos

Esta regra verifica se os parâmetros dos artefatos estão definidos corretamente. Para passar no ensaio, devem ser preenchidas as seguintes condições:

  • Se você fornecer um parâmetro (um _artifactsLocation ou _artifactsLocationSasToken), deverá fornecer o outro.
  • _artifactsLocation deve ser uma cadeia de caracteres.
  • Se _artifactsLocation tiver um valor padrão, ele deve ser um deployment().properties.templateLink.uri ou um URL bruto para seu valor padrão.
  • _artifactsLocationSasToken deve ser uma cadeia de caracteres segura.
  • Se _artifactsLocationSasToken tiver um valor padrão, ele deve ser uma cadeia de caracteres vazia.
  • Se um módulo referenciado tiver um _artifactsLocation_artifactsLocationSasToken ou parâmetro, um valor deve ser passado para esses parâmetros, mesmo que eles tenham valores padrão no módulo.

Código da regra de linha

Use o seguinte valor no arquivo de configuração do Bicep para personalizar as configurações da regra:

artifacts-parameters

Solução

O exemplo a seguir falha neste teste porque _artifactsLocationSasToken está faltando:

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

...

O próximo exemplo falha neste teste porque _artifactsLocation deve ser uma deployment().properties.templateLink.uri ou uma URL bruta quando o valor padrão é fornecido, e o valor padrão de não é uma cadeia de _artifactsLocationSasToken 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'

...

Este 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óximos passos

Para obter mais informações sobre o linter, consulte Usar binter linter.