在 Bicep 配置文件中添加 linter 设置
在 bicepconfig.json 文件中,可以自定义 Bicep linter 的验证设置。 Linter 在评估 Bicep 文件以获得最佳做法时使用这些设置。
本文介绍可用于处理 Bicep Linter 的设置。
自定义 Linter
Linter 设置在 analyzers
元素下可用。 你可以启用或禁用 Linter,提供特定于规则的值,以及设置规则级别。
下面的示例演示了可用于配置的规则。
{
"analyzers": {
"core": {
"enabled": true,
"rules": {
"adminusername-should-not-be-literal": {
"level": "warning"
},
"artifacts-parameters": {
"level": "warning"
},
"decompiler-cleanup": {
"level": "warning"
},
"max-outputs": {
"level": "warning"
},
"max-params": {
"level": "warning"
},
"max-resources": {
"level": "warning"
},
"max-variables": {
"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"
},
"use-protectedsettings-for-commandtoexecute-secrets": {
"level": "warning"
},
"use-recent-api-versions": {
"level": "warning"
},
"use-resource-id-functions": {
"level": "warning"
},
"use-stable-resource-identifiers": {
"level": "warning"
},
"use-stable-vm-image": {
"level": "warning"
}
}
}
}
}
这些属性为:
- enabled:指定为“true”可启用 Linter,指定为 “false”可禁用 Linter。
- verbose:指定为“true”可显示 Visual Studio Code 使用的 bicepconfig.json 文件。
- rules:指定特定于规则的值。 每个规则都有一个级别,该级别确定在发现冲突时 Linter 的响应方式。
“级别”的可用值为:
level | 生成时行为 | 编辑器行为 |
---|---|---|
Error |
冲突在命令行生成输出中显示为“错误”,并导致生成失败。 | 有问题的代码带有红色的波浪下划线,并显示在“问题”选项卡中。 |
Warning |
冲突在命令行生成输出中显示为“警告”,但不会导致生成失败。 | 有问题的代码带有黄色的波浪下划线,并显示在“问题”选项卡中。 |
Info |
冲突不会出现在命令行生成输出中。 | 有问题的代码带有蓝色的波浪下划线,并显示在“问题”选项卡中。 |
Off |
完全禁止显示。 | 完全禁止显示。 |
环境 URL
有关硬编码环境 URL 的规则,可以自定义在 Azure 中国云上检查哪些 URL。
{
"analyzers": {
"core": {
"enabled": true,
"rules": {
"no-hardcoded-env-urls": {
"level": "warning",
"disallowedhosts": [
"management.core.chinacloudapi.cn",
"gallery.azure.com",
"management.core.chinacloudapi.cn",
"management.chinacloudapi.cn",
"database.chinacloudapi.cn",
"core.chinacloudapi.cn",
"login.chinacloudapi.cn",
"microsoftgraph.chinacloudapi.cn",
"trafficmanager.cn",
"vault.azure.cn",
"datalake.chinacloudapi.cn",
"azuredatalakestore.net",
"azuredatalakeanalytics.net",
"vault.azure.cn",
"api.loganalytics.io",
"api.loganalytics.iov1",
"asazure.chinacloudapi.cn",
"region.asazure.chinacloudapi.cn",
"api.loganalytics.iov1",
"api.loganalytics.io",
"asazure.chinacloudapi.cn",
"region.asazure.chinacloudapi.cn",
"batch.core.chinacloudapi.cn"
],
"excludedhosts": [
"schema.management.azure.com"
]
}
}
}
}
}