Добавление параметров анализатора кода в файл конфигурации Bicep
В файле bicepconfig.json можно настроить параметры проверки для анализатора кода Bicep. Анализатор кода использует эти параметры при оценке файлов Bicep в соответствии с лучшими методиками.
В этой статье описаны параметры, доступные для работы с анализатором кода Bicep.
Настройка анализатора кода
Параметры анализатора кода можно найти в элементе analyzers
. Вы можете включать и отключать анализатор кода, предоставлять значения для отдельных правил и задавать уровень этих правил.
В следующем примере показаны правила, которые можно настроить.
{
"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"
}
}
}
}
}
Это следующие свойства:
- enabled: введите true, чтобы включить анализатор кода, или false, чтобы отключить его.
- verbose: введите true, чтобы отобразить используемый в Visual Studio Code файл bicepconfig.json.
- rules: укажите значения для конкретных правил. У каждого правила есть уровень, который определяет реакцию анализатора кода при обнаружении нарушения.
Дляlevel доступны следующие значения.
level | Реакция на событие во время сборки | Поведение редактора |
---|---|---|
Error |
Нарушения отображаются как ошибки в выходных данных сборки в командной строке, и сборка завершается сбоем. | Проблемный код подчеркивается красной волнистой линией и отображается на вкладке Problems (Проблемы). |
Warning |
Нарушения отображаются как предупреждения в выходных данных сборки в командной строке, но сборка не завершается сбоем. | Проблемный код подчеркивается желтой волнистой линией и отображается на вкладке Problems (Проблемы). |
Info |
Нарушения не отображаются в выходных данных сборки в командной строке. | Проблемный код подчеркивается синей волнистой линией и отображается на вкладке Problems (Проблемы). |
Off |
Полностью подавлена. | Полностью подавлена. |
URL-адреса среды
В правиле URL-адресов жестко заданной среды можно указать, какие URL-адреса будут проверяться. По умолчанию применяются следующие параметры:
{
"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"
]
}
}
}
}
}