Aggiungere le impostazioni del linter nel file di configurazione Bicep
In un file bicepconfig.json è possibile personalizzare le impostazioni di convalida per il linter Bicep. Linter usa queste impostazioni durante la valutazione dei file Bicep per le procedure consigliate.
Questo articolo descrive le impostazioni disponibili per l'uso del linter Bicep.
Personalizzare il linter
Le impostazioni del linter sono disponibili nell'elemento analyzers
. È possibile abilitare o disabilitare linter, specificare valori specifici della regola e impostare il livello di regole.
L'esempio seguente illustra le regole disponibili per la configurazione.
{
"analyzers": {
"core": {
"enabled": true,
"rules": {
"adminusername-should-not-be-literal": {
"level": "warning"
},
"artifacts-parameters": {
"level": "warning"
},
"decompiler-cleanup": {
"level": "warning"
},
"explicit-values-for-loc-params": {
"level": "off"
},
"max-asserts": {
"level": "warning"
},
"max-outputs": {
"level": "warning"
},
"max-params": {
"level": "warning"
},
"max-resources": {
"level": "warning"
},
"max-variables": {
"level": "warning"
},
"nested-deployment-template-scoping": {
"level": "error"
},
"no-conflicting-metadata" : {
"level": "warning"
},
"no-deployments-resources" : {
"level": "warning"
},
"no-hardcoded-env-urls": {
"level": "warning"
},
"no-hardcoded-location": {
"level": "off"
},
"no-loc-expr-outside-params": {
"level": "off"
},
"no-unnecessary-dependson": {
"level": "warning"
},
"no-unused-existing-resources": {
"level": "warning"
},
"no-unused-params": {
"level": "warning"
},
"no-unused-vars": {
"level": "warning"
},
"outputs-should-not-contain-secrets": {
"level": "warning"
},
"prefer-interpolation": {
"level": "warning"
},
"prefer-unquoted-property-names": {
"level": "warning"
},
"protect-commandtoexecute-secrets": {
"level": "warning"
},
"secure-parameter-default": {
"level": "warning"
},
"secure-params-in-nested-deploy": {
"level": "warning"
},
"secure-secrets-in-params": {
"level": "warning"
},
"simplify-interpolation": {
"level": "warning"
},
"simplify-json-null": {
"level": "warning"
},
"use-parent-property": {
"level": "warning"
},
"use-recent-api-versions": {
"level": "warning",
"maxAllowedAgeInDays": 730
},
"use-recent-module-versions": {
"level": "warning"
},
"use-resource-id-functions": {
"level": "warning"
},
"use-resource-symbol-reference": {
"level": "warning"
},
"use-safe-access": {
"level": "warning"
},
"use-secure-value-for-secure-inputs": {
"level": "error"
},
"use-stable-resource-identifiers": {
"level": "warning"
},
"use-stable-vm-image": {
"level": "warning"
},
"what-if-short-circuiting": {
"level": "warning"
}
}
}
}
}
Le proprietà sono:
- abilitato: specificare true per abilitare il linter, false per disabilitare il linter.
- verbose: specificare true per visualizzare il file bicepconfig.json usato da Visual Studio Code.
- rules: specificare valori specifici della regola. Ogni regola ha un livello che determina la modalità di risposta del linter quando viene trovata una violazione.
I valori disponibili per livello sono:
level | Comportamento in fase di compilazione | Comportamento dell'editor |
---|---|---|
Error |
Le violazioni vengono visualizzate come errori nell'output della compilazione della riga di comando e causano l'esito negativo della compilazione. | Il codice offensivo è sottolineato con una sottolineatura ondulata rossa e viene visualizzato nella scheda Problemi. |
Warning |
Le violazioni vengono visualizzate come avvisi nell'output di compilazione della riga di comando, ma non causano l'esito negativo della compilazione. | Il codice offensivo è sottolineato con una sottolineatura ondulata gialla e viene visualizzato nella scheda Problemi. |
Info |
Le violazioni non vengono visualizzate nell'output della compilazione della riga di comando. | Il codice offensivo è sottolineato con una sottolineatura a zigzag blu e viene visualizzato nella scheda Problemi. |
Off |
Completamente soppressa. | Completamente soppressa. |
URL di ambiente
Per la regola sugli URL dell'ambiente hardcoded, è possibile personalizzare gli URL verificati. Per impostazione predefinita, vengono applicate le impostazioni seguenti:
{
"analyzers": {
"core": {
"enabled": true,
"rules": {
"no-hardcoded-env-urls": {
"level": "warning",
"disallowedhosts": [
"api.loganalytics.io",
"api.loganalytics.iov1",
"asazure.windows.net",
"azuredatalakeanalytics.net",
"azuredatalakestore.net",
"batch.core.windows.net",
"core.windows.net",
"database.windows.net",
"datalake.azure.net",
"gallery.azure.com",
"graph.windows.net",
"login.microsoftonline.com",
"management.azure.com",
"management.core.windows.net",
"region.asazure.windows.net",
"trafficmanager.net",
"vault.azure.net"
],
"excludedhosts": [
"schema.management.azure.com"
]
}
}
}
}
}
Passaggi successivi
- Configurare l'ambiente Bicep
- Aggiungere le impostazioni del modulo in Configurazione Bicep
- Informazioni sul linter Bicep