إضافة إعدادات linter في ملف تكوين Bicep
في ملف 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"
},
"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-resource-id-functions": {
"level": "warning"
},
"use-resource-symbol-reference": {
"level": "warning"
},
"use-secure-value-for-secure-inputs": {
"level": "error"
},
"use-stable-resource-identifiers": {
"level": "warning"
},
"use-stable-vm-image": {
"level": "warning"
}
}
}
}
}
الخصائص هي:
- مُمكّن: حدد true لتمكين linter، false لتعطيل linter.
- مطول: حدد true لإظهار ملف bicepconfig.json المستخدم بواسطة تعليمة برمجية Visual Studio.
- القواعد: تحديد القيم الخاصة بالقواعد. كل قاعدة لها مستوى يحدد كيفية استجابة linter عند اكتشاف انتهاك.
القيم المتوفرة للمستوى هي:
المستوى | سلوك تحديث إصدار الوقت | سلوك المحرر |
---|---|---|
Error |
تظهر الانتهاكات كأخطاء في إخراج بنية خط الأوامر، وتتسبب فشل في البنية. | يتم وضع خط أحمر تحتها تعليمة برمجية المخالفة في علامة تبويب المشاكل. |
Warning |
تظهر الانتهاكات كتحذيرات في إخراج بنية خط الأوامر، لكنها لا تتسبب في فشل البنية. | تم وضع خط أصفر تحتها تعليمة برمجية المخالفة في علامة تبويب المشاكل. |
Info |
لا تظهر الانتهاكات في إخراج بنية خط الأوامر. | يتم وضع خط تحت تعليمة برمجية المخالف بخط أزرق ويظهر في علامة التبويب المشاكل. |
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"
]
}
}
}
}
}