将另一个文件中的对象包含到主二头肌模板中

Include an object from another file into main bicep template

正在尝试做某事,我不知道是否可行,如果可行,我正在寻求一些关于如何做的帮助。

我有一个包含对象的文件“test.bicep”:

{
  name: 'testRafaelRule'
  priority: 1001
  ruleCollectionType: 'FirewallPolicyFilterRuleCollection'
  action: {
    type: 'Allow'
  }
  rules: [
    {
      name: 'deleteme-1'
      ipProtocols: [
        'Any'
      ]
      destinationPorts: [
        '*'
      ]
      sourceAddresses: [
        '192.168.0.0/16'
      ]
      sourceIpGroups: []
      destinationIpGroups: []
      destinationAddresses: [
        'AzureCloud.EastUS'
      ]            
      ruleType: 'NetworkRule'
      destinationFqdns: []
    }
  ]
}

我还有另一个文件,我在其中试图以某种方式将 test.bicep 中的对象输入到一个名为“ruleCollections”的特定 属性 中:

resource fwll 'Microsoft.Network/firewallPolicies/ruleCollectionGroups@2020-11-01' = {  
  name: 'netrules'  
  properties: {
    priority: 200
    ruleCollections: [
      **ADD_OBJECT_FROM_TEST.BICEP_HERE_HOW?**
    ]
  }
}

任何有用文档的建议或链接都​​会有所帮助。 我查看了输出和参数,但我试图仅将一个对象添加到现有的 属性 中,我没有单独添加整个资源,否则,我会输出资源并使用“模块”关键字。

这不可能直截了当,但您可以利用变量或模块的输出。

var RULE = {
  name: 'testRafaelRule'
  priority: 1001
(...)
}

resource fwll 'Microsoft.Network/firewallPolicies/ruleCollectionGroups@2020-11-01' = {  
 name 'netrules'
 properties: {
  ruleCollections: [ 
   RULE
  ]
 }
}

rule.bicep

output rule object = {
  name: 'testRafaelRule'
  priority: 1001
(...)
}

main.bicep

module fwrule 'rule.bicep' = {
 name: 'fwrule'
}
resource fwll 'Microsoft.Network/firewallPolicies/ruleCollectionGroups@2020-11-01' = {  
 name 'netrules'
 properties: {
  ruleCollections: [ 
   fwrule.outputs.rule
  ]
 }
}