Regla linter: parámetros de artefactos

Esta regla comprueba si los parámetros de artefactos se definen correctamente. Deben cumplirse las condiciones siguientes para superar la prueba:

  • Si indica uno de los parámetros (tanto _artifactsLocation como _artifactsLocationSasToken), tiene que indicar el otro.
  • _artifactsLocation debe ser una cadena.
  • Si _artifactsLocation tiene un valor predeterminado, debe ser deployment().properties.templateLink.uri o una dirección URL sin formato para su valor predeterminado.
  • _artifactsLocationSasToken es una cadena segura.
  • Si _artifactsLocationSasToken tiene un valor predeterminado, debe ser una cadena vacía.
  • Si un módulo al que se hace referencia tiene un parámetro _artifactsLocation o _artifactsLocationSasToken, se debe pasar un valor para esos parámetros, incluso si tienen valores predeterminados en el módulo.

Código de regla de linter

Use el valor siguiente del archivo de configuración de Bicep para personalizar los valores de regla:

artifacts-parameters

Soluciones

En el siguiente ejemplo no se supera esta prueba porque falta _artifactsLocationSasToken:

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

...

En el ejemplo siguiente esta prueba genera un error porque _artifactsLocation debe ser deployment().properties.templateLink.uri o una dirección URL sin formato cuando se proporciona el valor predeterminado y el valor predeterminado de _artifactsLocationSasToken no es una cadena vacía.

@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 ejemplo supera la prueba.

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

...

Pasos siguientes

Para obtener más información acerca de linter, consulte Uso de linter de Bicep.