Bicep 诊断代码 – BCP037

如果指定的属性未在资源类型中定义,则会出现此诊断。

说明

不允许在 <type-defintion> 类型的对象上使用 <property-name> 属性。

Level

警告/错误

解决方案

删除未定义的属性。

示例

以下示例会引发此诊断,因为 bar 没有在 storageAccountType 中定义:

type storageAccountConfigType = {
  name: string
  sku: string
}

param foo storageAccountConfigType = {
  name: 'myStorage'
  sku: 'Standard_LRS' 
  bar: 'myBar'
}

可以通过删除属性来修复此问题:

type storageAccountConfigType = {
  name: string
  sku: string
}

param foo storageAccountConfigType = {
  name: 'myStorage'
  sku: 'Standard_LRS' 
}

以下示例会引发此诊断,因为 obj 是密封类型,没有定义 baz 属性。

@sealed()
type obj = {
  foo: string
  bar: string
}

param p obj = {
  foo: 'foo'
  bar: 'bar'
  baz: 'baz' 
}

可以通过删除属性来修复此问题:

@sealed()
type obj = {
  foo: string
  bar: string
}

param p obj = {
  foo: 'foo'
  bar: 'bar'
}

后续步骤

有关 Bicep 诊断的详细信息,请参阅 Bicep 核心诊断