Linterbeállítások hozzáadása a Bicep-konfigurációs fájlban
A bicepconfig.json fájlban testre szabhatja a Bicep-linter érvényesítési beállításait. A linter ezeket a beállításokat használja a Bicep-fájlok ajánlott eljárásokhoz való kiértékelésekor.
Ez a cikk a Bicep-linter használatához elérhető beállításokat ismerteti.
A linter testreszabása
A linterbeállítások az analyzers
elem alatt érhetők el. Engedélyezheti vagy letilthatja a lintert, megadhatja a szabályspecifikus értékeket, és beállíthatja a szabályok szintjét.
Az alábbi példa a konfigurációhoz elérhető szabályokat mutatja be.
{
"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": "warning"
},
"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": "warning"
},
"no-loc-expr-outside-params": {
"level": "warning"
},
"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-resource-id-functions": {
"level": "warning"
},
"use-resource-symbol-reference": {
"level": "warning"
},
"use-stable-resource-identifiers": {
"level": "warning"
},
"use-stable-vm-image": {
"level": "warning"
}
}
}
}
}
A tulajdonságok a következők:
- enabled: adja meg a true értéket a linter engedélyezéséhez, hamis a linter letiltására.
- részletes: adja meg az true értéket a Visual Studio Code által használt bicepconfig.json fájl megjelenítéséhez.
- szabályok: adja meg a szabályspecifikus értékeket. Minden szabály rendelkezik egy szinttel, amely meghatározza, hogy a linter hogyan reagál a szabálysértés észlelésekor.
A szinthez elérhető értékek a következők:
szint | Buildelési idő viselkedése | A szerkesztő viselkedése |
---|---|---|
Error |
A szabálysértések hibákként jelennek meg a parancssori build kimenetében, és a build meghiúsulását okozza. | A hibás kódot piros hullámos vonallal aláhúzza a rendszer, és megjelenik a Problémák lapon. |
Warning |
A szabálysértések figyelmeztetésként jelennek meg a parancssori build kimenetében, de nem okozzák a build meghiúsulását. | A jogsértő kódot sárga hullámos vonallal aláhúzza a rendszer, és a Problémák lapon jelenik meg. |
Info |
A szabálysértések nem jelennek meg a parancssori build kimenetében. | A hibás kódot kék hullámos vonallal aláhúzza a rendszer, és a Problémák lapon jelenik meg. |
Off |
Teljesen el van rejtve. | Teljesen el van rejtve. |
Környezeti URL-címek
A rögzített környezeti URL-címekre vonatkozó szabály esetében testre szabhatja, hogy mely URL-címek legyenek bejelölve. Alapértelmezés szerint a rendszer a következő beállításokat alkalmazza:
{
"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"
]
}
}
}
}
}