إضافة إعدادات 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"
          ]
        }
      }
    }
  }
}

الخطوات التالية