Menambahkan pengaturan linter dalam file konfigurasi Bisep

Dalam file bicepconfig.json, Anda dapat menyesuaikan setelan validasi untuk Bicep linter. Linter menggunakan pengaturan ini saat mengevaluasi file Bicep Anda untuk praktik terbaik.

Artikel ini menjelaskan pengaturan yang tersedia untuk bekerja dengan linter Bicep.

Menyesuaikan linter

Setelan linter tersedia di bawah elemen analyzers. Anda dapat mengaktifkan atau menonaktifkan linter, memberikan nilai khusus aturan, dan menyetel level aturan.

Contoh berikut menunjukkan aturan yang tersedia untuk konfigurasi.

{
  "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"
        }
      }
    }
  }
}

Propertinya adalah:

  • aktif: tentukan benar untuk mengaktifkan linter, salah untuk menonaktifkan linter.
  • verbose: tentukan benar untuk menampilkan file bicepconfig.json yang digunakan oleh Visual Studio Code.
  • aturan: tentukan nilai aturan khusus. Setiap aturan memiliki level yang menentukan bagaimana linter merespons saat pelanggaran ditemukan.

Nilai yang tersedia untuk level adalah:

tingkat Perilaku waktu-build Perilaku editor
Error Pelanggaran muncul sebagai Kesalahan dalam output build baris perintah, dan menyebabkan build gagal. Kode yang menyinggung digarisbawahi dengan garis bawah bergelombang warna merah dan muncul di tab Masalah.
Warning Pelanggaran muncul sebagai Peringatan di output build baris perintah, tetapi tidak menyebabkan build gagal. Kode yang menyinggung digarisbawahi dengan garis bawah bergelombang warna kuning dan muncul di tab Masalah.
Info Pelanggaran tidak muncul dalam output build baris perintah. Kode yang menyinggung digarisbawahi dengan garis bawah bergelombang warna biru dan muncul di tab Masalah.
Off Ditahan sepenuhnya. Ditahan sepenuhnya.

URL Lingkungan

Untuk aturan tentang URL lingkungan hardcode, Anda dapat menyesuaikan URL mana yang dicentang. Secara default, pengaturan berikut diterapkan:

{
  "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"
          ]
        }
      }
    }
  }
}

Langkah berikutnya