Linter 규칙 - 중첩된 배포 템플릿 범위 지정

이 linter 규칙은 내부 범위 식 평가를 사용하는 Microsoft.Resources/deployments 리소스가 부모 템플릿에 정의된 기호에 대한 참조를 포함하는 경우 진단을 트리거합니다.

Linter 규칙 코드

Bicep 구성 파일의 다음 값을 사용하여 규칙 설정을 사용자 지정합니다.

nested-deployment-template-scoping

솔루션

다음 예제에서는 부모 템플릿의 네임스페이스에 fizz가 정의되어 있으므로 이 테스트가 실패합니다.

var fizz = 'buzz'

resource nested 'Microsoft.Resources/deployments@2020-10-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: '2022-09-01'
          type: 'Microsoft.Resources/tags'
          name: 'default'
          properties: {
            tags: {
              tag1: fizz // <-- Error! `fizz` is defined in the parent template's namespace
            }
          }
        }
      ]
    }
  }
}

다음 단계

Linter에 관한 자세한 내용은 Bicep Linter 사용을 참조하세요.