Hinzufügen von Linter-Einstellungen in der Bicep-Konfigurationsdatei
In einer bicepconfig.json-Datei können Sie die Validierungseinstellungen für den Bicep-Linter anpassen. Der Linter verwendet diese Einstellungen, wenn er Ihre Bicep-Dateien nach den besten Verfahren auswertet.
Dieser Artikel beschreibt die Einstellungen, die für die Arbeit mit dem Bicep-Linter zur Verfügung stehen.
Anpassen des Linters
Die Linter-Einstellungen sind unter dem Element analyzers
verfügbar. Sie können den Linter aktivieren oder deaktivieren, regelspezifische Werte angeben und auch die Ebene von Regeln festlegen.
Das folgende Beispiel zeigt die Regeln, die für die Konfiguration verfügbar sind.
{
"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"
}
}
}
}
}
Dabei handelt es sich um die folgenden Eigenschaften:
- enabled: Geben Sie true an, um den Linter zu aktivieren, und false, um den Linter zu deaktivieren.
- verbose: Geben Sie true an, um die von Visual Studio Code verwendete „bicepconfig.json“-Datei anzuzeigen.
- rules: Geben Sie regelspezifische Werte an. Jede Regel verfügt über eine Ebene, die bestimmt, wie der Linter reagiert, wenn ein Verstoß gefunden wird.
Die verfügbaren Werte für level (Eben) lauten:
level | Verhalten zur Buildzeit | Editor-Verhalten |
---|---|---|
Error |
Verstöße werden in der Buildausgabe der Befehlszeile als Fehler angezeigt und bewirken ein Fehlschlagen des Buildvorgangs. | Fehlerhafter Code wird mit einer roten Wellenlinie unterstrichen und auf der Registerkarte mit den Problemen angezeigt. |
Warning |
Verstöße werden in der Buildausgabe der Befehlszeile als Warnungen angezeigt, führen aber nicht zum Fehlschlagen des Buildvorgangs. | Fehlerhafter Code wird mit einer gelben Wellenlinie unterstrichen und auf der Registerkarte mit den Problemen angezeigt. |
Info |
Verstöße erscheinen in der Befehlszeilenausgabe des Builds nicht. | Fehlerhafter Code wird mit einer blauen Wellenlinie unterstrichen und auf der Registerkarte mit den Problemen angezeigt. |
Off |
Vollständig unterdrückt. | Vollständig unterdrückt. |
Environment URLs
Für die Regel zu hartcodierten Umgebungs-URLs können Sie anpassen, welche URLs aktiviert sind. Standardmäßig werden die folgenden Einstellungen angewendet:
{
"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"
]
}
}
}
}
}
Nächste Schritte
- Konfigurieren Sie Ihre Bicep-Umgebung
- Modul-Einstellungen in der Bicep-Konfiguration hinzufügen
- Erfahren Sie mehr über den Bizeps-Linter