Usar o linter do Bicep

O linter Bicep verifica os erros de sintaxe e as violações de práticas recomendadas em arquivos Bicep. O linter ajuda a impor padrões de codificação fornecendo diretrizes durante o desenvolvimento. Você pode personalizar melhores práticas de criação a serem usadas para verificar o arquivo.

Requisitos do Linter

O linter está integrado à CLI do Bicep e à extensão do Bicep para Visual Studio Code. Para usá-lo, você deve ter a CLI do Bicep versão 0.4 ou posterior.

Regras padrão

O conjunto padrão de regras de linter é mínimo e retirado de casos de teste arm-ttk. A extensão e a CLI do Bicep verificam as regras a seguir, que são definidas para o nível de aviso.

Regra do Linter Nível padrão
nomeadministrador-não-deve-ser-literal aviso
artefatos-parâmetros aviso
Limpeza de descompilador aviso
valores-explícitos-para-parâmetros-loc Desligar
max-asserts erro
saídas máximas erro
parâmetros máximos erro
max-recursos erro
variáveis máximas erro
aninhado-deployment-template-scoping erro
metadados sem conflitos aviso
sem implantações-recursos aviso
não-explicit-any aviso
no-hardcoded-env-urls aviso
local não codificado Desligar
saídas sem codificação fixa no código Desligar
no-loc-expr-outside-parameters Desligar
Sem-nome-módulo Desligar
no-unnecessary-dependson (sem dependências desnecessárias) aviso
sem-recursos-existentes-não-utilizados aviso
sem importações não utilizadas aviso
sem-parâmetros-não-utilizados aviso
Não-Tipos Não Usados aviso
Sem vars não utilizados aviso
saídas-não-devem-conter-segredos aviso
prefer-interpolação aviso
prefira-nomes-de-propriedades-sem-aspas aviso
proteger-comandoexecutarsecretos aviso
parâmetro-padrão-seguro aviso
parâmetros-seguros-em-implantação-aninhada aviso
parâmetros seguros no arquivo de parâmetros aviso
proteger-segredos-em-parâmetros aviso
simplificação da interpolação aviso
simplify-json-null aviso
use-description-outputs Desligar
parámetros-de-descrição-de uso Desligar
Uso-descrição-Tipo-Propriedades Desligar
Type-de-Uso-Descrição Desligar
use-description-vars Desligar
Posse-pai-uso aviso
use-recent-api-versions Desligar
usar-versão-recente-do-az-powershell aviso
utilizar-versões-recentes-do-módulo Desligar
usar-tipo-de-recurso-reconhecido aviso
usar-funções-de-id-de-recurso Desligar
usar-recurso-símbolo-referência aviso
usar acesso seguro aviso
use-valor-seguro-para-entradas-seguras aviso
usar-identificadores-de-recurso-estáveis aviso
use-stable-vm-image aviso
usar-tipos-definidos-pelo-usuário Desligar
e-se-curto-circuito Desligar

Você pode habilitar ou desabilitar todas as regras de linter e controlar como elas são aplicadas usando um arquivo de configuração. Para substituir o comportamento padrão, crie um arquivo bicepconfig.json com suas configurações personalizadas. Para obter mais informações sobre como aplicar essas configurações, confira Adicionar configurações personalizadas no arquivo de configuração bicep.

Usar no Visual Studio Code

A seguinte captura de tela mostra o linter no Visual Studio Code:

Uso de linter do Bicep no Visual Studio Code.

No painel PROBLEMAS , a captura de tela mostra quatro erros, um aviso e uma mensagem de informações. A mensagem de informações mostra o arquivo de configuração de Bicep usado. Ele só mostra essa informação quando você definir verbose como true no arquivo de configuração.

Passe o cursor do mouse sobre uma das áreas problemáticas. O linter fornece os detalhes sobre o erro ou aviso. Uma lâmpada azul também será exibida ao selecionar a área:

Uso de linter do Bicep no Visual Studio Code - mostrar correção rápida.

Selecione a lâmpada ou o link Correção rápida para ver a solução:

Uso de linter do Bicep no Visual Studio Code - mostrar solução de correção rápida.

Selecione a solução para corrigir o problema automaticamente.

Usar na CLI do Bicep

A captura de tela a seguir mostra o linter na linha de comando. A saída do comando lint e do comando de build mostra quaisquer violações de regra.

Uso de linter Bicep na linha de comando.

Você pode integrar essas verificações como parte de seus pipelines de CI/CD. Você pode usar uma ação do GitHub para tentar um build do Bicep. Erros fazem com que os pipelines falhem.

Silenciar falsos positivos

Às vezes, uma regra tem falsos positivos. Por exemplo, talvez seja necessário incluir um link para um armazenamento de blobs diretamente sem usar a função environment().

Você pode suprimir regras de linter Bicep usando disable-next-line e disable-diagnostics. Consulte diretivas. Se você quiser suprimir uma regra de linter, altere o nível da regra para Off em bicepconfig.json. No exemplo a seguir, a no-deployments-resources regra é suprimida:

{
  "analyzers": {
    "core": {
      "rules": {
        "no-deployments-resources": {
          "level": "off"
        }
      }
    }
  }
}

Próximas etapas