Правило Linter — области вложенных шаблонов развертывания
Это правило linter активирует диагностику, когда Microsoft.Resources/deployments
ресурс с помощью оценки выражения внутреннего область и содержит все ссылки на символы, определенные в родительском шаблоне.
Код правила анализатора кода
Для настройки параметров правил укажите в файле конфигурации Bicep следующее значение:
nested-deployment-template-scoping
Решение
Следующий пример завершается сбоем этого теста, так как fizz
определяется в пространстве имен родительского шаблона.
var fizz = 'buzz'
resource nested 'Microsoft.Resources/deployments@2024-03-01' = {
name: 'name'
properties: {
mode: 'Incremental'
expressionEvaluationOptions: {
scope: 'inner'
}
template: {
'$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#'
contentVersion: '1.0.0.0'
resources: [
{
apiVersion: '2024-03-01'
type: 'Microsoft.Resources/tags'
name: 'default'
properties: {
tags: {
tag1: fizz // <-- Error! `fizz` is defined in the parent template's namespace
}
}
}
]
}
}
}
Следующие шаги
Дополнительные сведения об анализаторе кода Bicep см. в разделе Использование анализатора кода Bicep.