Bicep yapılandırma dosyasına lint ayarları ekleme

bicepconfig.json dosyasında, Bicep linter için doğrulama ayarlarını özelleştirebilirsiniz. Lint, Bicep dosyalarınızı en iyi yöntemler için değerlendirirken bu ayarları kullanır.

Bu makalede, Bicep linter ile çalışmak için kullanılabilecek ayarlar açıklanmaktadır.

Lintleri özelleştirme

Lint ayarları öğesinin analyzers altında kullanılabilir. Lintleyiciyi etkinleştirebilir veya devre dışı bırakabilir, kurala özgü değerler sağlayabilir ve kural düzeyini ayarlayabilirsiniz.

Aşağıdaki örnekte, yapılandırma için kullanılabilecek kurallar gösterilmektedir.

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

Özellikler şunlardır:

  • enabled: linter'i etkinleştirmek için true , lint'i devre dışı bırakmak için false değerini belirtin.
  • verbose: Visual Studio Code tarafından kullanılan bicepconfig.json dosyasını göstermek için true değerini belirtin.
  • kurallar: Kurala özgü değerleri belirtin. Her kuralın, ihlal bulunduğunda lintleyicinin nasıl yanıt vereceğini belirleyen bir düzeyi vardır.

Düzey için kullanılabilir değerler şunlardır:

düzey Derleme zamanı davranışı Düzenleyici davranışı
Error İhlaller komut satırı derleme çıkışında Hatalar olarak görünür ve derlemenin başarısız olmasına neden olur. Sorunlu kodun altı kırmızı dalgalı çizgiyle çizilir ve Sorunlar sekmesinde görünür.
Warning İhlaller komut satırı derleme çıkışında Uyarılar olarak görünür, ancak derlemenin başarısız olmasına neden olmaz. Sorunlu kodun altı sarı dalgalı çizgiyle çizilir ve Sorunlar sekmesinde görüntülenir.
Info İhlaller komut satırı derleme çıkışında görünmez. Sorunlu kodun altı mavi dalgalı çizgiyle çizilir ve Sorunlar sekmesinde görüntülenir.
Off Tamamen bastırıldı. Tamamen bastırıldı.

Ortam URL'leri

Sabit kodlanmış ortam URL'leri hakkındaki kural için, hangi URL'lerin denetlenebileceğini özelleştirebilirsiniz. Varsayılan olarak, aşağıdaki ayarlar uygulanır:

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

Sonraki adımlar