Freigeben über


Hinzufügen von Linter-Einstellungen in der Bicep-Konfigurationsdatei

In einer bicepconfig.json-Datei können Sie die Validierungseinstellungen für den Bicep-Linter anpassen. Der Linter verwendet diese Einstellungen, wenn er Ihre Bicep-Dateien nach den besten Verfahren auswertet.

Dieser Artikel beschreibt die Einstellungen, die für die Arbeit mit dem Bicep-Linter zur Verfügung stehen.

Anpassen des Linters

Die Linter-Einstellungen sind unter dem Element analyzers verfügbar. Sie können den Linter aktivieren oder deaktivieren, regelspezifische Werte angeben und auch die Ebene von Regeln festlegen.

Das folgende Beispiel zeigt die Regeln, die für die Konfiguration verfügbar sind.

{
  "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": "error"
        },
        "max-outputs": {
          "level": "error"
        },
        "max-params": {
          "level": "error"
        },
        "max-resources": {
          "level": "error"
        },
        "max-variables": {
          "level": "error"
        },
        "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-imports": {
          "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": "off",
          "maxAllowedAgeInDays": 730
        },
        "use-recent-module-versions": {
          "level": "off"
        },
        "use-resource-id-functions": {
          "level": "off"
        },
        "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": "off"
        }
      }
    }
  }
}

Die Eigenschaften sind:

  • enabled: Geben Sie true an, um den Linter zu aktivieren, false für das Deaktivieren des Linters.
  • verbose: Geben Sie true an, um die von Visual Studio Code verwendete „bicepconfig.json“-Datei anzuzeigen.
  • Regeln: spezifische regelbezogene Werte angeben. Jede Regel verfügt über eine Ebene, die bestimmt, wie der Linter reagiert, wenn ein Verstoß gefunden wird.

Die verfügbaren Werte für die Ebene sind:

Niveau Buildzeitverhalten Editorverhalten
Error Verstöße werden als Fehler in der Befehlszeilenbuildausgabe angezeigt und führen dazu, dass der Build fehlschlägt. Fehlerhafter Code wird mit einer roten Wellenlinie unterstrichen und auf der Registerkarte mit den Problemen angezeigt.
Warning Verstöße werden als Warnungen in der Befehlszeilenbuildausgabe angezeigt, führen aber nicht dazu, dass der Build fehlschlägt. Fehlerhafter Code wird mit einer gelben Wellenlinie unterstrichen und auf der Registerkarte mit den Problemen angezeigt.
Info Verstöße erscheinen in der Befehlszeilenausgabe des Builds nicht. Fehlerhafter Code wird mit einer blauen Wellenlinie unterstrichen und auf der Registerkarte mit den Problemen angezeigt.
Off Vollständig unterdrückt. Vollständig unterdrückt.

Umgebungs-URLs

Für die Regel zu hartcodierten Umgebungs-URLs können Sie anpassen, welche URLs überprüft werden. Standardmäßig werden die folgenden Einstellungen angewendet:

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

Nächste Schritte