Adición de una configuración de linter en el archivo de configuración de Bicep
En un archivo bicepconfig.json, puede personalizar la configuración de validación para el linter de Bicep. Linter usa esta configuración al evaluar los archivos de Bicep para los procedimientos recomendados.
En este artículo se describe la configuración disponible para trabajar con el linter de Bicep.
Personalización de linter
La configuración de linter está disponible en el elemento analyzers
. Puede habilitar o deshabilitar el linter, proporcionar valores específicos de la regla y establecer el nivel de reglas.
En el ejemplo siguiente se muestran las reglas que están disponibles para la configuración.
{
"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"
}
}
}
}
}
Las propiedades son las siguientes:
- enabled: especifique true para habilitar el linter o false para deshabilitarlo.
- verbose: especifique true para mostrar el archivo bicepconfig.json empleado por Visual Studio Code.
- rules: especifique los valores específicos de la regla. Cada regla tiene un nivel que determina cómo responde el linter cuando se detecta una infracción.
Los valores disponibles de level son los siguientes:
level | Comportamiento en tiempo de compilación | Comportamiento del editor |
---|---|---|
Error |
Las infracciones aparecen como Errores en la salida de compilación de la línea de comandos y provocan un error de compilación. | El código incorrecto se subraya en rojo y aparece en la pestaña Problemas. |
Warning |
Las infracciones aparecen como Advertencias en la salida de compilación de la línea de comandos, pero no provocan un error de compilación. | El código incorrecto se subraya en amarillo y aparece en la pestaña Problemas. |
Info |
Las infracciones no aparecen en la salida de compilación de la línea de comandos. | El código incorrecto se subraya en azul y aparece en la pestaña Problemas. |
Off |
Se suprime por completo. | Se suprime por completo. |
Direcciones URL de entorno
En el caso de la regla sobre las direcciones URL de entorno codificadas de forma rígida, puede personalizar las direcciones URL que se comprueban. De manera predeterminada, se aplican los siguientes valores:
{
"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"
]
}
}
}
}
}
Pasos siguientes
- Configuración del entorno de Bicep
- Adición de la configuración del módulo en la configuración de Bicep
- Más información acerca del linter de Bicep