BCPFR7 - Cross-Referencing Modules
ID: BCPFR7 - Cross-Referencing published Modules
Resource modules, that reference other modules (child, utility, or other resource modules), MUST disable the telemetry on the referenced modules.
Note
This only applies to resource modules that reference other modules, such as:
- other resource modules
- utility modules
- child-modules qualifying for publishing, i.e. having a
version.json
file in their directory and exposing theenableTelemetry
input parameter
For pattern modules, SFR4 still applies.
A variable named enableReferencedModulesTelemetry
is created in the main.bicep file of the module, that cross-references other published modules, and set to false
. This variable is used to set the enableTelemetry
parameter of cross-referenced modules.
var enableReferencedModulesTelemetry = false
// local referencing
module virtualNetwork_subnets 'subnet/main.bicep' = [
for (subnet, index) in (subnets ?? []): {
name: '${uniqueString(deployment().name, location)}-subnet-${index}'
params: {
(...)
enableTelemetry: enableReferencedModulesTelemetry
}
}
]
// published module reference
module virtualNetwork_subnet 'br/public:avm/res/network/virtual-network/subnet:0.1.0' = {
name: '${uniqueString(deployment().name, location)}-subnet-${index}'
params: {
(...)
enableTelemetry: enableReferencedModulesTelemetry
}
}