From 375a1831c084a3bc8bb983eff7ceaaadf9c496d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Mon, 3 Feb 2025 14:57:00 +0100 Subject: [PATCH 01/14] add child modules --- .../helper/Get-CrossReferencedModuleList.ps1 | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 b/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 index c97b5ea58b..90a3adc2c3 100644 --- a/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 +++ b/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 @@ -75,9 +75,9 @@ function Get-ReferenceObject { $involvedFilePaths = Get-LocallyReferencedFileList -FilePath $ModuleTemplateFilePath -TemplateMap $TemplateMap $resultSet = @{ - resourceReferences = @() - remoteReferences = @() - localPathReferences = $involvedFilePaths | Where-Object { + resourceReferences = @() + remoteReferences = @() + localPathReferences = $involvedFilePaths | Where-Object { $involvedFilePath = $_ # We only care about module templates (Split-Path $involvedFilePath -Leaf) -eq 'main.bicep' -and @@ -86,6 +86,13 @@ function Get-ReferenceObject { (Split-Path $involvedFilePath) -match ('{0}[\/|\\].+' -f [Regex]::Escape((Split-Path $_ -Parent))) # i.e., if a path has its parent in the list, kick it out }).count -eq 0 } + childModuleReferences = $involvedFilePaths | Where-Object { + $involvedFilePath = $_ + # We only care about module templates + (Split-Path $involvedFilePath -Leaf) -eq 'main.bicep' -and + # only return child modules + (Test-Path -Path (Join-Path (Split-Path $involvedFilePath) 'version.json') -PathType Leaf) + } } foreach ($involvedFilePath in (@($ModuleTemplateFilePath) + @($involvedFilePaths))) { @@ -96,9 +103,10 @@ function Get-ReferenceObject { } return @{ - resourceReferences = $resultSet.resourceReferences | Sort-Object -Culture 'en-US' -Unique - remoteReferences = $resultSet.remoteReferences | Sort-Object -Culture 'en-US' -Unique - localPathReferences = $resultSet.localPathReferences | Sort-Object -Culture 'en-US' -Unique + resourceReferences = $resultSet.resourceReferences | Sort-Object -Culture 'en-US' -Unique + remoteReferences = $resultSet.remoteReferences | Sort-Object -Culture 'en-US' -Unique + localPathReferences = $resultSet.localPathReferences | Sort-Object -Culture 'en-US' -Unique + childModuleReferences = $resultSet.childModuleReferences | Sort-Object -Culture 'en-US' -Unique } } #endregion From 54ce80802515ddac06d82a42bc782c7564a62e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Mon, 3 Feb 2025 20:14:49 +0100 Subject: [PATCH 02/14] - initial child modules don't need to bump the parent - referenced child modules should have the telemetry disabled --- .../compliance/module.tests.ps1 | 59 ++++++++++++++++++- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 323b291142..4ae613ae5b 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -116,7 +116,7 @@ Describe 'File/folder tests' -Tag 'Modules' { } # if the child modules version has been increased, the main modules version should be increased as well - It '[] main module version should be increased if the child version number has been increased.' -TestCases ($moduleFolderTestCases | Where-Object { (-Not $_.isTopLevelModule) }) { + It '[] main module version should be increased if the child version number has been increased.' -TestCases ($moduleFolderTestCases | Where-Object { -Not $_.isTopLevelModule }) { param ( [string] $moduleFolderPath @@ -128,7 +128,8 @@ Describe 'File/folder tests' -Tag 'Modules' { $parentFolderPath = Split-Path -Path $moduleFolderPath -Parent $moduleVersion = Get-ModuleTargetVersion -ModuleFolderPath $parentFolderPath - ($childModuleVersion.EndsWith('.0') -and -not $moduleVersion.EndsWith('.0')) | Should -Be $false + # the first release of a child module does not require the parent module to be updated + ($childModuleVersion -ne '0.1.0' -and $childModuleVersion.EndsWith('.0') -and -not $moduleVersion.EndsWith('.0')) | Should -Be $false } } @@ -481,6 +482,7 @@ Describe 'Module tests' -Tag 'Module' { # Test file setup $moduleFolderTestCases += @{ moduleFolderName = $resourceTypeIdentifier + moduleFolderPath = Split-Path $templateFilePath templateFileContent = $templateFileContent templateFilePath = $templateFilePath templateFileParameters = Resolve-ReadMeParameterList -TemplateFileContent $templateFileContent @@ -491,6 +493,13 @@ Describe 'Module tests' -Tag 'Module' { } } + BeforeAll { + # Load function + . (Join-Path $repoRootPath 'utilities' 'pipelines' 'sharedScripts' 'helper' 'Get-CrossReferencedModuleList.ps1') + # load cross-references + $crossReferencedModuleList = Get-CrossReferencedModuleList + } + Context 'General' { It '[] The template file should not be empty.' -TestCases $moduleFolderTestCases { @@ -992,6 +1001,52 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeploymentName = $telemetryDeployment.name # The AVM telemetry prefix $telemetryDeploymentName | Should -Match "$expectedTelemetryIdentifier" } + + It '[] Telemetry should be disabled for child modules.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule }) { + + param( + [hashtable] $templateFileContent, + [string] $templateFilePath + ) + + $crossReferencedModuleList = Get-CrossReferencedModuleList -Path $moduleFolderPath + $modulesWithChildReferences = $crossReferencedModuleList.Values | Where-Object { + $_.ContainsKey('childModuleReferences') -and $_['childModuleReferences'].Count -gt 0 + } + if ($modulesWithChildReferences.Count -eq 0) { + Set-ItResult -Skipped -Because 'no child modules found' + return + } + + $modulesWithChildReferences | ForEach-Object { + $_['childModuleReferences'] | ForEach-Object { + # 'avm/res|ptn|utl///' would return 'avm', 'res|ptn|utl', '//' + $null, $childModuleType, $childResourceTypeIdentifier = ((Split-Path $_) -split '[\/|\\]avm[\/|\\](res|ptn|utl)[\/|\\]') + $childModuleName = (Split-Path $childResourceTypeIdentifier -Leaf) + Write-Verbose "Checking telemetry for child module [$childModuleName]" -Verbose + # find the child modules reference in the parent module + $moduleBicep = Get-Content -Path $templateFilePath + $regexPattern = "module\s+(\S+)\s+'$childModuleName/main.bicep'\s+=" + $moduleName = '' + foreach ($line in $moduleBicep) { + if ($line -match $regexPattern) { + $moduleName = $matches[1] + break + } + } + # with the module name, get the resource and its properties + $childModuleParameters = $templateFileContent.resources.$moduleName.properties.parameters + $containsTelemetryParameter = $childModuleParameters.ContainsKey('enableTelemetry') + $containsTelemetryParameter | Should -Be $true -Because "the child module [$childModuleName] should be referenced with a telemetry parameter." + + if ($containsTelemetryParameter) { + $isTelemetryDisabled = $childModuleParameters.enableTelemetry.value -eq $false + $isTelemetryDisabled | Should -Be $true -Because "the child module [$childModuleName] should have telemetry disabled." + } + } + } + + } } Context 'Output' { From 0949f889c975196558625f0d8fc273e0c0a4b223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Fri, 7 Feb 2025 16:22:08 +0100 Subject: [PATCH 03/14] Update utilities/pipelines/staticValidation/compliance/module.tests.ps1 Co-authored-by: Alexander Sehr --- .../pipelines/staticValidation/compliance/module.tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 4ae613ae5b..760b11671d 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -1002,7 +1002,7 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeploymentName | Should -Match "$expectedTelemetryIdentifier" } - It '[] Telemetry should be disabled for child modules.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule }) { + It '[] Telemetry should be disabled for referenced modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { param( [hashtable] $templateFileContent, From 83272f88e4b362a67311fec044d65a249e4e35b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Wed, 12 Feb 2025 18:40:08 +0100 Subject: [PATCH 04/14] simplify and cleanup --- .../helper/Get-CrossReferencedModuleList.ps1 | 20 +++----- .../compliance/module.tests.ps1 | 50 ++++++++----------- 2 files changed, 26 insertions(+), 44 deletions(-) diff --git a/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 b/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 index 90a3adc2c3..c97b5ea58b 100644 --- a/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 +++ b/utilities/pipelines/sharedScripts/helper/Get-CrossReferencedModuleList.ps1 @@ -75,9 +75,9 @@ function Get-ReferenceObject { $involvedFilePaths = Get-LocallyReferencedFileList -FilePath $ModuleTemplateFilePath -TemplateMap $TemplateMap $resultSet = @{ - resourceReferences = @() - remoteReferences = @() - localPathReferences = $involvedFilePaths | Where-Object { + resourceReferences = @() + remoteReferences = @() + localPathReferences = $involvedFilePaths | Where-Object { $involvedFilePath = $_ # We only care about module templates (Split-Path $involvedFilePath -Leaf) -eq 'main.bicep' -and @@ -86,13 +86,6 @@ function Get-ReferenceObject { (Split-Path $involvedFilePath) -match ('{0}[\/|\\].+' -f [Regex]::Escape((Split-Path $_ -Parent))) # i.e., if a path has its parent in the list, kick it out }).count -eq 0 } - childModuleReferences = $involvedFilePaths | Where-Object { - $involvedFilePath = $_ - # We only care about module templates - (Split-Path $involvedFilePath -Leaf) -eq 'main.bicep' -and - # only return child modules - (Test-Path -Path (Join-Path (Split-Path $involvedFilePath) 'version.json') -PathType Leaf) - } } foreach ($involvedFilePath in (@($ModuleTemplateFilePath) + @($involvedFilePaths))) { @@ -103,10 +96,9 @@ function Get-ReferenceObject { } return @{ - resourceReferences = $resultSet.resourceReferences | Sort-Object -Culture 'en-US' -Unique - remoteReferences = $resultSet.remoteReferences | Sort-Object -Culture 'en-US' -Unique - localPathReferences = $resultSet.localPathReferences | Sort-Object -Culture 'en-US' -Unique - childModuleReferences = $resultSet.childModuleReferences | Sort-Object -Culture 'en-US' -Unique + resourceReferences = $resultSet.resourceReferences | Sort-Object -Culture 'en-US' -Unique + remoteReferences = $resultSet.remoteReferences | Sort-Object -Culture 'en-US' -Unique + localPathReferences = $resultSet.localPathReferences | Sort-Object -Culture 'en-US' -Unique } } #endregion diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 760b11671d..755cd56fc4 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -1009,43 +1009,33 @@ Describe 'Module tests' -Tag 'Module' { [string] $templateFilePath ) - $crossReferencedModuleList = Get-CrossReferencedModuleList -Path $moduleFolderPath - $modulesWithChildReferences = $crossReferencedModuleList.Values | Where-Object { - $_.ContainsKey('childModuleReferences') -and $_['childModuleReferences'].Count -gt 0 + # get all referenced modules, that offer a telemetry parameter + $referencesWithTelemetry = $templateFileContent.resources.Values | Where-Object { + $_.type -eq 'Microsoft.Resources/deployments' -and + $_.properties.template.parameters.Keys -contains 'enableTelemetry' } - if ($modulesWithChildReferences.Count -eq 0) { - Set-ItResult -Skipped -Because 'no child modules found' + + if ($referencesWithTelemetry.Count -eq 0) { + Set-ItResult -Skipped -Because 'no modules with dedicated telemetry are deployed.' return } - $modulesWithChildReferences | ForEach-Object { - $_['childModuleReferences'] | ForEach-Object { - # 'avm/res|ptn|utl///' would return 'avm', 'res|ptn|utl', '//' - $null, $childModuleType, $childResourceTypeIdentifier = ((Split-Path $_) -split '[\/|\\]avm[\/|\\](res|ptn|utl)[\/|\\]') - $childModuleName = (Split-Path $childResourceTypeIdentifier -Leaf) - Write-Verbose "Checking telemetry for child module [$childModuleName]" -Verbose - # find the child modules reference in the parent module - $moduleBicep = Get-Content -Path $templateFilePath - $regexPattern = "module\s+(\S+)\s+'$childModuleName/main.bicep'\s+=" - $moduleName = '' - foreach ($line in $moduleBicep) { - if ($line -match $regexPattern) { - $moduleName = $matches[1] - break - } - } - # with the module name, get the resource and its properties - $childModuleParameters = $templateFileContent.resources.$moduleName.properties.parameters - $containsTelemetryParameter = $childModuleParameters.ContainsKey('enableTelemetry') - $containsTelemetryParameter | Should -Be $true -Because "the child module [$childModuleName] should be referenced with a telemetry parameter." - - if ($containsTelemetryParameter) { - $isTelemetryDisabled = $childModuleParameters.enableTelemetry.value -eq $false - $isTelemetryDisabled | Should -Be $true -Because "the child module [$childModuleName] should have telemetry disabled." - } + # telemetry should be disabled for the referenced module + $incorrectCrossReferences = [System.Collections.ArrayList]@() + foreach ($referencedModule in $referencesWithTelemetry) { + if (-not $referencedModule.properties.parameters.ContainsKey('enableTelemetry') -or $referencedModule.properties.parameters.enableTelemetry.value -ne $false) { + $incorrectCrossReferences.Add($referencedModule.identifier) } } + if ($incorrectCrossReferences.Count -gt 0) { + $warningMessage = ('Cross reference modules must be referenced with the enableTelemetry parameter set to false. Found incorrect references: [{0}].' -f ($incorrectCrossReferences -join ', ')) + Write-Warning $warningMessage + + Write-Output @{ + Warning = $warningMessage + } + } } } From d26bfe10a87db6abd72578f24e260a215064b686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Wed, 12 Feb 2025 18:42:27 +0100 Subject: [PATCH 05/14] cleanup --- .../pipelines/staticValidation/compliance/module.tests.ps1 | 7 ------- 1 file changed, 7 deletions(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 755cd56fc4..3bd91fcff7 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -493,13 +493,6 @@ Describe 'Module tests' -Tag 'Module' { } } - BeforeAll { - # Load function - . (Join-Path $repoRootPath 'utilities' 'pipelines' 'sharedScripts' 'helper' 'Get-CrossReferencedModuleList.ps1') - # load cross-references - $crossReferencedModuleList = Get-CrossReferencedModuleList - } - Context 'General' { It '[] The template file should not be empty.' -TestCases $moduleFolderTestCases { From 9e1974305da9f42cd8bb2506a04454c8b3056c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Wed, 12 Feb 2025 18:45:40 +0100 Subject: [PATCH 06/14] cleanup --- utilities/pipelines/staticValidation/compliance/module.tests.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 3bd91fcff7..1b3ec88ca3 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -482,7 +482,6 @@ Describe 'Module tests' -Tag 'Module' { # Test file setup $moduleFolderTestCases += @{ moduleFolderName = $resourceTypeIdentifier - moduleFolderPath = Split-Path $templateFilePath templateFileContent = $templateFileContent templateFilePath = $templateFilePath templateFileParameters = Resolve-ReadMeParameterList -TemplateFileContent $templateFileContent From 473ee35f86d39744d1b9b337a6458a3289359b6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Thu, 13 Feb 2025 10:33:40 +0100 Subject: [PATCH 07/14] generate an error instead of a warning --- .../staticValidation/compliance/module.tests.ps1 | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 1b3ec88ca3..368b38eeb9 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -1016,18 +1016,12 @@ Describe 'Module tests' -Tag 'Module' { $incorrectCrossReferences = [System.Collections.ArrayList]@() foreach ($referencedModule in $referencesWithTelemetry) { if (-not $referencedModule.properties.parameters.ContainsKey('enableTelemetry') -or $referencedModule.properties.parameters.enableTelemetry.value -ne $false) { + # remember the names (e.g. 'virtualNetwork_subnets') to provide a better error message $incorrectCrossReferences.Add($referencedModule.identifier) } } - if ($incorrectCrossReferences.Count -gt 0) { - $warningMessage = ('Cross reference modules must be referenced with the enableTelemetry parameter set to false. Found incorrect references: [{0}].' -f ($incorrectCrossReferences -join ', ')) - Write-Warning $warningMessage - - Write-Output @{ - Warning = $warningMessage - } - } + $incorrectCrossReferences | Should -BeNullOrEmpty -Because ('cross reference modules must be referenced with the enableTelemetry parameter set to false. Found incorrect items: [{0}].' -f ($incorrectCrossReferences -join ', ')) } } From a5d1d1706641275ae2fc968b670f2e3417c78fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Thu, 13 Feb 2025 19:48:46 +0100 Subject: [PATCH 08/14] changed logic to use variable --- .../compliance/module.tests.ps1 | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 368b38eeb9..51778c12cb 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -994,6 +994,27 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeploymentName | Should -Match "$expectedTelemetryIdentifier" } + It '[] Variable "enableReferencedModulesTelemetry" should exist and set to "false" if module references other modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { + + param( + [hashtable] $templateFileContent + ) + + # get all referenced modules, that offer a telemetry parameter + $referencesWithTelemetry = $templateFileContent.resources.Values | Where-Object { + $_.type -eq 'Microsoft.Resources/deployments' -and + $_.properties.template.parameters.Keys -contains 'enableTelemetry' + } + + if ($referencesWithTelemetry.Count -eq 0) { + Set-ItResult -Skipped -Because 'no modules with dedicated telemetry are deployed.' + return + } + + $templateFileContent.variables.Keys | Should -Contain 'enableReferencedModulesTelemetry' + $templateFileContent.variables.enableReferencedModulesTelemetry | Should -Be $false + } + It '[] Telemetry should be disabled for referenced modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { param( @@ -1015,13 +1036,14 @@ Describe 'Module tests' -Tag 'Module' { # telemetry should be disabled for the referenced module $incorrectCrossReferences = [System.Collections.ArrayList]@() foreach ($referencedModule in $referencesWithTelemetry) { - if (-not $referencedModule.properties.parameters.ContainsKey('enableTelemetry') -or $referencedModule.properties.parameters.enableTelemetry.value -ne $false) { + if ($referencedModule.properties.parameters.Keys -notcontains 'enableTelemetry' -or + $referencedModule.properties.parameters.enableTelemetry.value -ne "[variables('enableReferencedModulesTelemetry')]") { # remember the names (e.g. 'virtualNetwork_subnets') to provide a better error message $incorrectCrossReferences.Add($referencedModule.identifier) } } - $incorrectCrossReferences | Should -BeNullOrEmpty -Because ('cross reference modules must be referenced with the enableTelemetry parameter set to false. Found incorrect items: [{0}].' -f ($incorrectCrossReferences -join ', ')) + $incorrectCrossReferences | Should -BeNullOrEmpty -Because ('cross reference modules must be referenced with the enableTelemetry parameter set to the "enableReferencedModulesTelemetry" variable. Found incorrect items: [{0}].' -f ($incorrectCrossReferences -join ', ')) } } From ab04d150f97ef5c5fa1f59706262fdb3a5ac7e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Thu, 13 Feb 2025 20:45:22 +0100 Subject: [PATCH 09/14] telemetry tests adjusted for published modules and not only toplevel --- .../staticValidation/compliance/module.tests.ps1 | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 51778c12cb..2544f078c4 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -488,6 +488,7 @@ Describe 'Module tests' -Tag 'Module' { readMeFilePath = Join-Path (Split-Path $templateFilePath) 'README.md' isTopLevelModule = ($resourceTypeIdentifier -split '[\/|\\]').Count -eq 2 moduleType = $moduleType + versionFileExists = Test-Path (Join-Path -Path $moduleFolderPath 'version.json') } } } @@ -867,8 +868,10 @@ Describe 'Module tests' -Tag 'Module' { } Context 'Resources' { - # If any resources in the module are deployed, a telemetry deployment should be carried out as well - It '[] Telemetry deployment should be present in the template.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule -and $_.templateFileContent.resources.count -gt 0 }) { + # If any resources in the module are deployed, a telemetry deployment should be carried out as well. Ignore e.g. utility modules + It '[] Telemetry deployment should be present in the template.' -TestCases ($moduleFolderTestCases | Where-Object { + $_.versionFileExists -and $_.templateFileContent.resources.count -gt 0 + }) { param( [hashtable] $templateFileContent @@ -885,7 +888,7 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeployment | Should -Not -BeNullOrEmpty -Because 'A telemetry resource with name prefix [46d3xbcp] should be present in the template' } - It '[] Telemetry deployment should have correct condition in the template.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule }) { + It '[] Telemetry deployment should have correct condition in the template.' -TestCases ($moduleFolderTestCases | Where-Object { $_.versionFileExists }) { param( [hashtable] $templateFileContent @@ -908,7 +911,7 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeployment.condition | Should -Be "[parameters('enableTelemetry')]" } - It '[] Telemetry deployment should have expected inner output for verbosity.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule }) { + It '[] Telemetry deployment should have expected inner output for verbosity.' -TestCases ($moduleFolderTestCases | Where-Object { $_.versionFileExists }) { param( [hashtable] $templateFileContent @@ -932,7 +935,7 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeployment.properties.template.outputs['telemetry'].value | Should -Be 'For more information, see https://aka.ms/avm/TelemetryInfo' } - It '[] Telemetry deployment should have expected telemetry identifier.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule }) { + It '[] Telemetry deployment should have expected telemetry identifier.' -TestCases ($moduleFolderTestCases | Where-Object { $_.versionFileExists }) { param( [string] $templateFilePath, From 5b801d0c6debd3cdd3fb087f39e7221f17e9f4c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Fri, 14 Feb 2025 15:21:58 +0100 Subject: [PATCH 10/14] updates --- .../compliance/module.tests.ps1 | 49 +++++++++---------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 2544f078c4..b61a4c5be3 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -581,7 +581,7 @@ Describe 'Module tests' -Tag 'Module' { } # If any resources in the module are deployed, a telemetry deployment should be carried out as well - It '[] The telemetry parameter should be present & have the expected type, default value & metadata description.' -TestCases ($moduleFolderTestCases | Where-Object { $_.isTopLevelModule -and $_.templateFileContent.resources.count -gt 0 }) { + It '[] The telemetry parameter should be present & have the expected type, default value & metadata description.' -TestCases ($moduleFolderTestCases | Where-Object { $_.versionFileExists -and $_.templateFileContent.resources.count -gt 0 }) { param( [hashtable] $templateFileParameters @@ -675,7 +675,6 @@ Describe 'Module tests' -Tag 'Module' { $incorrectParameters | Should -BeNullOrEmpty -Because ('conditional parameters in the template file should lack a description that starts with "Required.". Found incorrect items: [{0}].' -f ($incorrectParameters -join ', ')) } - It '[] All non-required parameters & UDTs in template file should not have description that start with "Required.".' -TestCases $moduleFolderTestCases { param ( [hashtable] $templateFileContent, @@ -865,13 +864,32 @@ Describe 'Module tests' -Tag 'Module' { } $incorrectVariables | Should -BeNullOrEmpty } + + It '[] Variable "enableReferencedModulesTelemetry" should exist and set to "false" if module references other modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { + + param( + [hashtable] $templateFileContent + ) + + # get all referenced modules, that offer a telemetry parameter + $referencesWithTelemetry = $templateFileContent.resources.Values | Where-Object { + $_.type -eq 'Microsoft.Resources/deployments' -and + $_.properties.template.parameters.Keys -contains 'enableTelemetry' + } + + if ($referencesWithTelemetry.Count -eq 0) { + Set-ItResult -Skipped -Because 'no modules with dedicated telemetry are deployed.' + return + } + + $templateFileContent.variables.Keys | Should -Contain 'enableReferencedModulesTelemetry' + $templateFileContent.variables.enableReferencedModulesTelemetry | Should -Be $false + } } Context 'Resources' { # If any resources in the module are deployed, a telemetry deployment should be carried out as well. Ignore e.g. utility modules - It '[] Telemetry deployment should be present in the template.' -TestCases ($moduleFolderTestCases | Where-Object { - $_.versionFileExists -and $_.templateFileContent.resources.count -gt 0 - }) { + It '[] Telemetry deployment should be present in the template.' -TestCases ($moduleFolderTestCases | Where-Object { $_.versionFileExists -and $_.templateFileContent.resources.count -gt 0 }) { param( [hashtable] $templateFileContent @@ -997,27 +1015,6 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeploymentName | Should -Match "$expectedTelemetryIdentifier" } - It '[] Variable "enableReferencedModulesTelemetry" should exist and set to "false" if module references other modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { - - param( - [hashtable] $templateFileContent - ) - - # get all referenced modules, that offer a telemetry parameter - $referencesWithTelemetry = $templateFileContent.resources.Values | Where-Object { - $_.type -eq 'Microsoft.Resources/deployments' -and - $_.properties.template.parameters.Keys -contains 'enableTelemetry' - } - - if ($referencesWithTelemetry.Count -eq 0) { - Set-ItResult -Skipped -Because 'no modules with dedicated telemetry are deployed.' - return - } - - $templateFileContent.variables.Keys | Should -Contain 'enableReferencedModulesTelemetry' - $templateFileContent.variables.enableReferencedModulesTelemetry | Should -Be $false - } - It '[] Telemetry should be disabled for referenced modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { param( From 1307c58ff436ed9f89bd575212c9473c23fa0ae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Fri, 21 Feb 2025 19:41:16 +0100 Subject: [PATCH 11/14] updated res modules to pass test --- .../configuration-store/key-value/main.json | 4 +- .../configuration-store/main.bicep | 4 +- .../configuration-store/main.json | 15 +++-- .../configuration-store/replica/main.json | 4 +- .../automation/automation-account/README.md | 1 + .../automation-account/credential/main.json | 4 +- .../automation-account/job-schedule/main.json | 4 +- .../automation/automation-account/main.bicep | 8 ++- .../automation/automation-account/main.json | 52 +++++++------- .../automation-account/module/main.json | 4 +- .../automation-account/runbook/main.json | 4 +- .../automation-account/schedule/main.json | 4 +- .../software-update-configuration/main.json | 4 +- .../automation-account/variable/main.json | 4 +- avm/res/batch/batch-account/main.bicep | 4 +- avm/res/batch/batch-account/main.json | 7 +- avm/res/cache/redis/main.bicep | 4 +- avm/res/cache/redis/main.json | 15 +++-- avm/res/cognitive-services/account/main.bicep | 4 +- avm/res/cognitive-services/account/main.json | 11 +-- .../virtual-machine/extension/main.json | 4 +- avm/res/compute/virtual-machine/main.bicep | 4 +- avm/res/compute/virtual-machine/main.json | 63 ++++++++--------- .../container-registry/registry/main.bicep | 4 +- avm/res/container-registry/registry/main.json | 27 ++++---- .../managed-cluster/main.bicep | 4 +- .../managed-cluster/main.json | 5 +- .../factory/integration-runtime/main.json | 4 +- .../factory/linked-service/main.json | 4 +- avm/res/data-factory/factory/main.bicep | 4 +- avm/res/data-factory/factory/main.json | 23 ++++--- .../factory/managed-virtual-network/main.json | 8 +-- .../managed-private-endpoint/main.json | 4 +- avm/res/databricks/workspace/main.bicep | 6 +- avm/res/databricks/workspace/main.json | 9 +-- .../flexible-server/administrator/main.json | 4 +- .../advanced-threat-protection/main.json | 4 +- .../flexible-server/configuration/main.json | 4 +- .../flexible-server/database/main.json | 4 +- .../flexible-server/firewall-rule/main.json | 4 +- .../flexible-server/main.bicep | 4 +- .../flexible-server/main.json | 27 ++++---- .../host-pool/main.bicep | 4 +- .../host-pool/main.json | 7 +- .../workspace/main.bicep | 4 +- .../workspace/main.json | 7 +- .../endpoint--event-grid/main.json | 4 +- .../endpoint--event-hub/main.json | 4 +- .../endpoint--service-bus/main.json | 4 +- .../digital-twins-instance/main.bicep | 4 +- .../digital-twins-instance/main.json | 19 +++--- .../gremlin-database/graph/main.json | 4 +- .../gremlin-database/main.json | 8 +-- .../document-db/database-account/main.bicep | 4 +- .../document-db/database-account/main.json | 51 +++++++------- .../mongodb-database/collection/main.json | 4 +- .../mongodb-database/main.json | 8 +-- .../sql-database/container/main.json | 4 +- .../database-account/sql-database/main.json | 8 +-- .../database-account/sql-role/main.json | 12 ++-- .../sql-role/sql-role-assignments/main.json | 4 +- .../sql-role/sql-role-definitions/main.json | 4 +- .../database-account/table/main.json | 4 +- .../mongo-cluster/firewall-rule/main.json | 4 +- avm/res/document-db/mongo-cluster/main.bicep | 4 +- avm/res/document-db/mongo-cluster/main.json | 15 +++-- avm/res/elastic-san/elastic-san/main.bicep | 4 +- avm/res/elastic-san/elastic-san/main.json | 25 ++++--- .../elastic-san/volume-group/main.bicep | 4 +- .../elastic-san/volume-group/main.json | 15 +++-- .../volume-group/snapshot/main.json | 4 +- .../elastic-san/volume-group/volume/main.json | 8 +-- avm/res/event-grid/domain/main.bicep | 4 +- avm/res/event-grid/domain/main.json | 11 +-- avm/res/event-grid/domain/topic/main.json | 4 +- avm/res/event-grid/namespace/main.bicep | 4 +- avm/res/event-grid/namespace/main.json | 35 +++++----- .../topic/event-subscription/main.json | 4 +- avm/res/event-grid/topic/main.bicep | 4 +- avm/res/event-grid/topic/main.json | 11 +-- .../namespace/authorization-rule/main.json | 4 +- .../disaster-recovery-config/main.json | 4 +- .../eventhub/authorization-rule/main.json | 4 +- .../eventhub/consumergroup/main.json | 4 +- .../event-hub/namespace/eventhub/main.json | 12 ++-- avm/res/event-hub/namespace/main.bicep | 4 +- avm/res/event-hub/namespace/main.json | 35 +++++----- .../namespace/network-rule-set/main.json | 4 +- .../workspace/dicomservice/main.json | 4 +- .../workspace/fhirservice/main.json | 4 +- .../iotconnector/fhirdestination/main.json | 4 +- .../workspace/iotconnector/main.json | 8 +-- avm/res/healthcare-apis/workspace/main.json | 26 +++---- .../insights/private-link-scope/main.bicep | 4 +- avm/res/insights/private-link-scope/main.json | 11 +-- .../key-vault/vault/access-policy/main.json | 4 +- avm/res/key-vault/vault/key/main.json | 4 +- avm/res/key-vault/vault/main.bicep | 4 +- avm/res/key-vault/vault/main.json | 19 +++--- avm/res/key-vault/vault/secret/main.json | 4 +- .../extension/main.bicep | 4 +- .../extension/main.json | 9 ++- avm/res/kusto/cluster/database/main.json | 4 +- avm/res/kusto/cluster/main.bicep | 4 +- avm/res/kusto/cluster/main.json | 15 +++-- .../cluster/principal-assignment/main.json | 4 +- .../workspace/compute/main.json | 4 +- .../workspace/connection/main.json | 4 +- .../workspace/main.bicep | 4 +- .../workspace/main.json | 15 +++-- .../network/application-gateway/main.bicep | 4 +- avm/res/network/application-gateway/main.json | 7 +- avm/res/network/azure-firewall/main.bicep | 5 +- avm/res/network/azure-firewall/main.json | 9 +-- avm/res/network/bastion-host/main.bicep | 4 +- avm/res/network/bastion-host/main.json | 5 +- avm/res/network/firewall-policy/README.md | 15 ++++- avm/res/network/firewall-policy/main.bicep | 8 +-- avm/res/network/firewall-policy/main.json | 47 +++++++------ .../rule-collection-group/main.json | 4 +- avm/res/network/nat-gateway/main.bicep | 6 +- avm/res/network/nat-gateway/main.json | 17 ++--- .../network/virtual-network-gateway/README.md | 62 ++++++++--------- .../virtual-network-gateway/main.bicep | 5 +- .../network/virtual-network-gateway/main.json | 14 ++-- .../nat-rule/main.json | 4 +- .../operational-insights/workspace/main.bicep | 4 +- .../operational-insights/workspace/main.json | 5 +- avm/res/purview/account/main.bicep | 12 ++-- avm/res/purview/account/main.json | 15 +++-- .../vault/backup-config/main.json | 4 +- .../protected-item/main.json | 4 +- .../vault/backup-policy/main.json | 4 +- .../vault/backup-storage-config/main.json | 4 +- avm/res/recovery-services/vault/main.bicep | 4 +- avm/res/recovery-services/vault/main.json | 43 ++++++------ .../vault/replication-alert-setting/main.json | 4 +- .../vault/replication-fabric/main.json | 12 ++-- .../main.json | 8 +-- .../main.json | 4 +- .../vault/replication-policy/main.json | 4 +- .../namespace/authorization-rule/main.json | 4 +- .../authorization-rule/main.json | 4 +- .../namespace/hybrid-connection/main.json | 8 +-- avm/res/relay/namespace/main.bicep | 4 +- avm/res/relay/namespace/main.json | 31 ++++----- .../namespace/network-rule-set/main.json | 4 +- .../wcf-relay/authorization-rule/main.json | 4 +- avm/res/relay/namespace/wcf-relay/main.json | 8 +-- avm/res/search/search-service/main.bicep | 4 +- avm/res/search/search-service/main.json | 15 +++-- .../shared-private-link-resource/main.json | 4 +- .../namespace/authorization-rule/main.json | 4 +- .../disaster-recovery-config/main.json | 4 +- avm/res/service-bus/namespace/main.bicep | 4 +- avm/res/service-bus/namespace/main.json | 47 ++++++------- .../migration-configuration/main.json | 4 +- .../namespace/network-rule-set/main.json | 4 +- .../queue/authorization-rule/main.json | 4 +- avm/res/service-bus/namespace/queue/main.json | 8 +-- .../topic/authorization-rule/main.json | 4 +- avm/res/service-bus/namespace/topic/main.json | 16 ++--- .../namespace/topic/subscription/main.json | 8 +-- .../topic/subscription/rule/main.json | 4 +- avm/res/signal-r-service/signal-r/main.bicep | 4 +- avm/res/signal-r-service/signal-r/main.json | 7 +- .../signal-r-service/web-pub-sub/main.bicep | 4 +- .../signal-r-service/web-pub-sub/main.json | 7 +- avm/res/sql/server/audit-settings/main.json | 8 +-- .../main.json | 4 +- .../main.json | 4 +- avm/res/sql/server/database/main.json | 12 ++-- avm/res/sql/server/elastic-pool/main.json | 4 +- .../sql/server/encryption-protector/main.json | 4 +- avm/res/sql/server/failover-group/main.json | 4 +- avm/res/sql/server/firewall-rule/main.json | 4 +- avm/res/sql/server/key/main.json | 4 +- avm/res/sql/server/main.bicep | 4 +- avm/res/sql/server/main.json | 67 ++++++++++--------- .../server/security-alert-policy/main.json | 4 +- .../sql/server/virtual-network-rule/main.json | 4 +- .../server/vulnerability-assessment/main.json | 8 +-- .../container/immutability-policy/main.json | 4 +- .../blob-service/container/main.json | 8 +-- .../storage-account/blob-service/main.json | 12 ++-- .../storage-account/file-service/main.json | 8 +-- .../file-service/share/main.json | 4 +- .../storage-account/local-user/main.json | 4 +- avm/res/storage/storage-account/main.bicep | 4 +- avm/res/storage/storage-account/main.json | 55 +++++++-------- .../management-policy/main.json | 4 +- .../storage-account/queue-service/main.json | 8 +-- .../queue-service/queue/main.json | 4 +- .../storage-account/table-service/main.json | 8 +-- .../table-service/table/main.json | 4 +- avm/res/synapse/private-link-hub/main.bicep | 4 +- avm/res/synapse/private-link-hub/main.json | 7 +- .../workspace/administrators/main.json | 4 +- .../workspace/firewall-rules/main.json | 4 +- .../workspace/integration-runtime/main.json | 4 +- avm/res/synapse/workspace/key/main.json | 4 +- avm/res/synapse/workspace/main.bicep | 4 +- avm/res/synapse/workspace/main.json | 27 ++++---- .../main.json | 4 +- .../web/site/config--appsettings/main.json | 4 +- .../web/site/config--authsettingsv2/main.json | 4 +- avm/res/web/site/config--logs/main.json | 4 +- avm/res/web/site/config--web/main.json | 4 +- .../web/site/extensions--msdeploy/main.json | 4 +- .../relay/main.json | 4 +- avm/res/web/site/main.bicep | 4 +- avm/res/web/site/main.json | 59 ++++++++-------- .../main.json | 4 +- .../site/slot/config--appsettings/main.json | 4 +- .../slot/config--authsettingsv2/main.json | 4 +- .../site/slot/extensions--msdeploy/main.json | 4 +- .../relay/main.json | 4 +- avm/res/web/site/slot/main.json | 24 +++---- avm/res/web/static-site/config/main.json | 4 +- .../web/static-site/custom-domain/main.json | 4 +- .../web/static-site/linked-backend/main.json | 4 +- avm/res/web/static-site/main.bicep | 4 +- avm/res/web/static-site/main.json | 23 ++++--- .../compliance/module.tests.ps1 | 4 +- 224 files changed, 1088 insertions(+), 931 deletions(-) diff --git a/avm/res/app-configuration/configuration-store/key-value/main.json b/avm/res/app-configuration/configuration-store/key-value/main.json index 81f3866c2e..8ee087c588 100644 --- a/avm/res/app-configuration/configuration-store/key-value/main.json +++ b/avm/res/app-configuration/configuration-store/key-value/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "13095124618196842295" + "version": "0.33.93.31351", + "templateHash": "5084967332926134609" }, "name": "App Configuration Stores Key Values", "description": "This module deploys an App Configuration Store Key Value." diff --git a/avm/res/app-configuration/configuration-store/main.bicep b/avm/res/app-configuration/configuration-store/main.bicep index 5cdde24fa1..bd8ca69a1f 100644 --- a/avm/res/app-configuration/configuration-store/main.bicep +++ b/avm/res/app-configuration/configuration-store/main.bicep @@ -78,6 +78,8 @@ import { privateEndpointSingleServiceType } from 'br/public:avm/utl/types/avm-co @description('Optional. Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.') param privateEndpoints privateEndpointSingleServiceType[]? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -330,7 +332,7 @@ module configurationStore_privateEndpoints 'br/public:avm/res/network/private-en ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/app-configuration/configuration-store/main.json b/avm/res/app-configuration/configuration-store/main.json index 3b977aff9b..c25bde9688 100644 --- a/avm/res/app-configuration/configuration-store/main.json +++ b/avm/res/app-configuration/configuration-store/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2153109225497217544" + "version": "0.33.93.31351", + "templateHash": "11270374205801019141" }, "name": "App Configuration Stores", "description": "This module deploys an App Configuration Store." @@ -758,6 +758,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -958,8 +959,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "13095124618196842295" + "version": "0.33.93.31351", + "templateHash": "5084967332926134609" }, "name": "App Configuration Stores Key Values", "description": "This module deploys an App Configuration Store Key Value." @@ -1075,8 +1076,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4070298136487551153" + "version": "0.33.93.31351", + "templateHash": "17508622087481054882" }, "name": "App Configuration Replicas", "description": "This module deploys an App Configuration Replica." @@ -1164,7 +1165,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/app-configuration/configuration-store/replica/main.json b/avm/res/app-configuration/configuration-store/replica/main.json index 53a566ae80..d04f8055b6 100644 --- a/avm/res/app-configuration/configuration-store/replica/main.json +++ b/avm/res/app-configuration/configuration-store/replica/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4070298136487551153" + "version": "0.33.93.31351", + "templateHash": "17508622087481054882" }, "name": "App Configuration Replicas", "description": "This module deploys an App Configuration Replica." diff --git a/avm/res/automation/automation-account/README.md b/avm/res/automation/automation-account/README.md index 47dbff7312..7bf3057f43 100644 --- a/avm/res/automation/automation-account/README.md +++ b/avm/res/automation/automation-account/README.md @@ -2714,6 +2714,7 @@ This section gives you an overview of all local-referenced module files (i.e., o | :-- | :-- | | `br/public:avm/res/network/private-endpoint:0.7.1` | Remote reference | | `br/public:avm/res/operations-management/solution:0.3.0` | Remote reference | +| `br/public:avm/res/operations-management/solution:0.3.1` | Remote reference | | `br/public:avm/utl/types/avm-common-types:0.4.0` | Remote reference | ## Data Collection diff --git a/avm/res/automation/automation-account/credential/main.json b/avm/res/automation/automation-account/credential/main.json index b3c932b29e..27b5b99ecd 100644 --- a/avm/res/automation/automation-account/credential/main.json +++ b/avm/res/automation/automation-account/credential/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "10206419659334193725" + "version": "0.33.93.31351", + "templateHash": "16763569324712719287" }, "name": "Automation Account Credential", "description": "This module deploys Azure Automation Account Credential." diff --git a/avm/res/automation/automation-account/job-schedule/main.json b/avm/res/automation/automation-account/job-schedule/main.json index 006aded516..0a0c5acef8 100644 --- a/avm/res/automation/automation-account/job-schedule/main.json +++ b/avm/res/automation/automation-account/job-schedule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4203011213224324137" + "version": "0.33.93.31351", + "templateHash": "13059723911488011478" }, "name": "Automation Account Job Schedules", "description": "This module deploys an Azure Automation Account Job Schedule." diff --git a/avm/res/automation/automation-account/main.bicep b/avm/res/automation/automation-account/main.bicep index b496d11796..95d2fd06ac 100644 --- a/avm/res/automation/automation-account/main.bicep +++ b/avm/res/automation/automation-account/main.bicep @@ -82,6 +82,8 @@ param tags object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -322,7 +324,7 @@ module automationAccount_linkedService 'modules/linked-service.bicep' = if (!emp ) } -module automationAccount_solutions 'br/public:avm/res/operations-management/solution:0.3.0' = [ +module automationAccount_solutions 'br/public:avm/res/operations-management/solution:0.3.1' = [ for (gallerySolution, index) in gallerySolutions ?? []: if (!empty(linkedWorkspaceResourceId)) { name: '${uniqueString(deployment().name, location)}-AutoAccount-Solution-${index}' params: { @@ -330,7 +332,7 @@ module automationAccount_solutions 'br/public:avm/res/operations-management/solu location: location logAnalyticsWorkspaceName: last(split(linkedWorkspaceResourceId, '/'))! plan: gallerySolution.plan - enableTelemetry: enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry } // This is to support solution to law in different subscription and resource group than the automation account. // The current scope is used by default if no linked service is intended to be created. @@ -465,7 +467,7 @@ module automationAccount_privateEndpoints 'br/public:avm/res/network/private-end ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/automation/automation-account/main.json b/avm/res/automation/automation-account/main.json index cbc86ad7f0..b9197c8d54 100644 --- a/avm/res/automation/automation-account/main.json +++ b/avm/res/automation/automation-account/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "16427250452433742384" + "version": "0.33.93.31351", + "templateHash": "1045029425274283591" }, "name": "Automation Accounts", "description": "This module deploys an Azure Automation Account." @@ -825,6 +825,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1021,8 +1022,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "10206419659334193725" + "version": "0.33.93.31351", + "templateHash": "16763569324712719287" }, "name": "Automation Account Credential", "description": "This module deploys Azure Automation Account Credential." @@ -1147,8 +1148,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "3828537230935003385" + "version": "0.33.93.31351", + "templateHash": "13366658380832072114" }, "name": "Automation Account Modules", "description": "This module deploys an Azure Automation Account Module." @@ -1299,8 +1300,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6875246782544956895" + "version": "0.33.93.31351", + "templateHash": "4851965874926974667" }, "name": "Automation Account Schedules", "description": "This module deploys an Azure Automation Account Schedule." @@ -1483,8 +1484,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15686123148609089393" + "version": "0.33.93.31351", + "templateHash": "862421752535573850" }, "name": "Automation Account Runbooks", "description": "This module deploys an Azure Automation Account Runbook." @@ -1686,8 +1687,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4203011213224324137" + "version": "0.33.93.31351", + "templateHash": "13059723911488011478" }, "name": "Automation Account Job Schedules", "description": "This module deploys an Azure Automation Account Job Schedule." @@ -1817,8 +1818,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "16330558441628473023" + "version": "0.33.93.31351", + "templateHash": "12352649950003218402" }, "name": "Automation Account Variables", "description": "This module deploys an Azure Automation Account Variable." @@ -1931,8 +1932,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11223130094132311066" + "version": "0.33.93.31351", + "templateHash": "17219087038726192111" }, "name": "Log Analytics Workspace Linked Services", "description": "This module deploys a Log Analytics Workspace Linked Service." @@ -2049,7 +2050,7 @@ "value": "[coalesce(parameters('gallerySolutions'), createArray())[copyIndex()].plan]" }, "enableTelemetry": { - "value": "[parameters('enableTelemetry')]" + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { @@ -2059,8 +2060,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.30.23.60470", - "templateHash": "1867653058254938383" + "version": "0.32.4.45862", + "templateHash": "10255889523646649592" }, "name": "Operations Management Solutions", "description": "This module deploys an Operations Management Solution.", @@ -2135,7 +2136,7 @@ "condition": "[parameters('enableTelemetry')]", "type": "Microsoft.Resources/deployments", "apiVersion": "2024-03-01", - "name": "[format('46d3xbcp.res.operationsmanagement-solution.{0}.{1}', replace('0.3.0', '.', '-'), substring(uniqueString(deployment().name, parameters('location')), 0, 4))]", + "name": "[format('46d3xbcp.res.operationsmanagement-solution.{0}.{1}', replace('0.3.1', '.', '-'), substring(uniqueString(deployment().name, parameters('location')), 0, 4))]", "properties": { "mode": "Incremental", "template": { @@ -2170,10 +2171,7 @@ "promotionCode": "", "product": "[parameters('plan').product]", "publisher": "[coalesce(tryGet(parameters('plan'), 'publisher'), 'Microsoft')]" - }, - "dependsOn": [ - "logAnalyticsWorkspace" - ] + } } }, "outputs": { @@ -2330,8 +2328,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18142998771588913270" + "version": "0.33.93.31351", + "templateHash": "15439780899055216009" }, "name": "Automation Account Software Update Configurations", "description": "This module deploys an Azure Automation Account Software Update Configuration." @@ -2770,7 +2768,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/automation/automation-account/module/main.json b/avm/res/automation/automation-account/module/main.json index 1e22a6eabe..41a4286070 100644 --- a/avm/res/automation/automation-account/module/main.json +++ b/avm/res/automation/automation-account/module/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "3828537230935003385" + "version": "0.33.93.31351", + "templateHash": "13366658380832072114" }, "name": "Automation Account Modules", "description": "This module deploys an Azure Automation Account Module." diff --git a/avm/res/automation/automation-account/runbook/main.json b/avm/res/automation/automation-account/runbook/main.json index 60bd89d989..f3c2629a54 100644 --- a/avm/res/automation/automation-account/runbook/main.json +++ b/avm/res/automation/automation-account/runbook/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15686123148609089393" + "version": "0.33.93.31351", + "templateHash": "862421752535573850" }, "name": "Automation Account Runbooks", "description": "This module deploys an Azure Automation Account Runbook." diff --git a/avm/res/automation/automation-account/schedule/main.json b/avm/res/automation/automation-account/schedule/main.json index 6673a1a20c..74352c6d1f 100644 --- a/avm/res/automation/automation-account/schedule/main.json +++ b/avm/res/automation/automation-account/schedule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6875246782544956895" + "version": "0.33.93.31351", + "templateHash": "4851965874926974667" }, "name": "Automation Account Schedules", "description": "This module deploys an Azure Automation Account Schedule." diff --git a/avm/res/automation/automation-account/software-update-configuration/main.json b/avm/res/automation/automation-account/software-update-configuration/main.json index ebabcc0560..9f94e2591a 100644 --- a/avm/res/automation/automation-account/software-update-configuration/main.json +++ b/avm/res/automation/automation-account/software-update-configuration/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18142998771588913270" + "version": "0.33.93.31351", + "templateHash": "15439780899055216009" }, "name": "Automation Account Software Update Configurations", "description": "This module deploys an Azure Automation Account Software Update Configuration." diff --git a/avm/res/automation/automation-account/variable/main.json b/avm/res/automation/automation-account/variable/main.json index 3f80fee689..635a2f7b6d 100644 --- a/avm/res/automation/automation-account/variable/main.json +++ b/avm/res/automation/automation-account/variable/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "16330558441628473023" + "version": "0.33.93.31351", + "templateHash": "12352649950003218402" }, "name": "Automation Account Variables", "description": "This module deploys an Azure Automation Account Variable." diff --git a/avm/res/batch/batch-account/main.bicep b/avm/res/batch/batch-account/main.bicep index 04590f30af..aeede937f7 100644 --- a/avm/res/batch/batch-account/main.bicep +++ b/avm/res/batch/batch-account/main.bicep @@ -79,6 +79,8 @@ import { managedIdentityAllType } from 'br/public:avm/utl/types/avm-common-types @description('Optional. The managed identity definition for this resource.') param managedIdentities managedIdentityAllType? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -302,7 +304,7 @@ module batchAccount_privateEndpoints 'br/public:avm/res/network/private-endpoint ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/batch/batch-account/main.json b/avm/res/batch/batch-account/main.json index 74815a754f..b42e67b750 100644 --- a/avm/res/batch/batch-account/main.json +++ b/avm/res/batch/batch-account/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7929429293972132995" + "version": "0.33.93.31351", + "templateHash": "9349570189899951030" }, "name": "Batch Accounts", "description": "This module deploys a Batch Account." @@ -787,6 +787,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), 'SystemAssigned', if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -971,7 +972,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/cache/redis/main.bicep b/avm/res/cache/redis/main.bicep index 5fb715ddd1..2e33d57439 100644 --- a/avm/res/cache/redis/main.bicep +++ b/avm/res/cache/redis/main.bicep @@ -124,6 +124,8 @@ param accessPolicyAssignments accessPolicyAssignmentType[] = [] @description('Optional. Key vault reference and secret settings for the module\'s secrets export.') param secretsExportConfiguration secretsExportConfigurationType? +var enableReferencedModulesTelemetry = false + var availabilityZones = skuName == 'Premium' ? zoneRedundant ? !empty(zones) ? zones : pickZones('Microsoft.Cache', 'redis', location, 3) : [] : [] @@ -338,7 +340,7 @@ module redis_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.10.1 ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/cache/redis/main.json b/avm/res/cache/redis/main.json index 7fe701ef6a..70f3495962 100644 --- a/avm/res/cache/redis/main.json +++ b/avm/res/cache/redis/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9499818712606838127" + "version": "0.33.93.31351", + "templateHash": "7160551208293569842" }, "name": "Redis Cache", "description": "This module deploys a Redis Cache." @@ -988,6 +988,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "availabilityZones": "[if(equals(parameters('skuName'), 'Premium'), if(parameters('zoneRedundant'), if(not(empty(parameters('zones'))), parameters('zones'), pickZones('Microsoft.Cache', 'redis', parameters('location'), 3)), createArray()), createArray())]", "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", @@ -1184,7 +1185,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -1947,8 +1948,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11294861621866290910" + "version": "0.33.93.31351", + "templateHash": "322534394383651316" }, "name": "Redis Cache Linked Servers", "description": "This module connects a primary and secondary Redis Cache together for geo-replication." @@ -2073,8 +2074,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14045530027687796477" + "version": "0.33.93.31351", + "templateHash": "8063348652715653257" } }, "definitions": { diff --git a/avm/res/cognitive-services/account/main.bicep b/avm/res/cognitive-services/account/main.bicep index 12afba8477..bd0d0113f5 100644 --- a/avm/res/cognitive-services/account/main.bicep +++ b/avm/res/cognitive-services/account/main.bicep @@ -132,6 +132,8 @@ param deployments deploymentsType @description('Optional. Key vault reference and secret settings for the module\'s secrets export.') param secretsExportConfiguration secretsExportConfigurationType? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -447,7 +449,7 @@ module cognitiveService_privateEndpoints 'br/public:avm/res/network/private-endp ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/cognitive-services/account/main.json b/avm/res/cognitive-services/account/main.json index fc711cdcdb..aed0c3e59c 100644 --- a/avm/res/cognitive-services/account/main.json +++ b/avm/res/cognitive-services/account/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "30090795733018099" + "version": "0.33.93.31351", + "templateHash": "13247144655400784203" }, "name": "Cognitive Services", "description": "This module deploys a Cognitive Service." @@ -994,6 +994,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1228,7 +1229,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -1997,8 +1998,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6846536646656162824" + "version": "0.33.93.31351", + "templateHash": "1340925512665498953" } }, "definitions": { diff --git a/avm/res/compute/virtual-machine/extension/main.json b/avm/res/compute/virtual-machine/extension/main.json index 7bbd7e373c..b2f6ae199d 100644 --- a/avm/res/compute/virtual-machine/extension/main.json +++ b/avm/res/compute/virtual-machine/extension/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "17394804773765276039" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." diff --git a/avm/res/compute/virtual-machine/main.bicep b/avm/res/compute/virtual-machine/main.bicep index 63aca72621..d45298f364 100644 --- a/avm/res/compute/virtual-machine/main.bicep +++ b/avm/res/compute/virtual-machine/main.bicep @@ -306,6 +306,8 @@ param winRM array = [] @description('Optional. The configuration profile of automanage. Either \'/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction\', \'providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest\' or the resource Id of custom profile.') param configurationProfile string = '' +var enableReferencedModulesTelemetry = false + var publicKeysFormatted = [ for publicKey in publicKeys: { path: publicKey.path @@ -496,7 +498,7 @@ module vm_nic 'modules/nic-configuration.bicep' = [ tags: nicConfiguration.?tags ?? tags diagnosticSettings: nicConfiguration.?diagnosticSettings roleAssignments: nicConfiguration.?roleAssignments - enableTelemetry: nicConfiguration.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry } } ] diff --git a/avm/res/compute/virtual-machine/main.json b/avm/res/compute/virtual-machine/main.json index 04fbf9f843..5452c7d3f6 100644 --- a/avm/res/compute/virtual-machine/main.json +++ b/avm/res/compute/virtual-machine/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11202694269777473963" + "version": "0.33.93.31351", + "templateHash": "12566234555040465553" }, "name": "Virtual Machines", "description": "This module deploys a Virtual Machine with one or multiple NICs and optionally one or multiple public IPs." @@ -931,6 +931,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "linuxConfiguration": { "disablePasswordAuthentication": "[parameters('disablePasswordAuthentication')]", "ssh": { @@ -1291,7 +1292,7 @@ "value": "[tryGet(parameters('nicConfigurations')[copyIndex()], 'roleAssignments')]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(parameters('nicConfigurations')[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { @@ -1301,8 +1302,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9361328819285350634" + "version": "0.33.93.31351", + "templateHash": "17423406578946107257" } }, "definitions": { @@ -2905,8 +2906,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -3116,8 +3117,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -3323,8 +3324,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -3525,8 +3526,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -3732,8 +3733,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -3934,8 +3935,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -4144,8 +4145,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -4358,8 +4359,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -4566,8 +4567,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -4770,8 +4771,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -4983,8 +4984,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -5192,8 +5193,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10459557628823249787" + "version": "0.33.93.31351", + "templateHash": "2171772621334669730" }, "name": "Virtual Machine Extensions", "description": "This module deploys a Virtual Machine Extension." @@ -5387,8 +5388,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16309659094506585930" + "version": "0.33.93.31351", + "templateHash": "5910828956272534599" }, "name": "Recovery Service Vaults Protection Container Protected Item", "description": "This module deploys a Recovery Services Vault Protection Container Protected Item." diff --git a/avm/res/container-registry/registry/main.bicep b/avm/res/container-registry/registry/main.bicep index ee4fd6b958..54cd48b89a 100644 --- a/avm/res/container-registry/registry/main.bicep +++ b/avm/res/container-registry/registry/main.bicep @@ -150,6 +150,8 @@ param credentialSets credentialSetType[]? @description('Optional. Scope maps setting.') param scopeMaps scopeMapsType[]? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -481,7 +483,7 @@ module registry_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.1 ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/container-registry/registry/main.json b/avm/res/container-registry/registry/main.json index f5de253d59..2818cc1ef0 100644 --- a/avm/res/container-registry/registry/main.json +++ b/avm/res/container-registry/registry/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2125225472095331873" + "version": "0.33.93.31351", + "templateHash": "7725937349396046157" }, "name": "Azure Container Registries (ACR)", "description": "This module deploys an Azure Container Registry (ACR)." @@ -1202,6 +1202,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1415,8 +1416,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8957375042269792339" + "version": "0.33.93.31351", + "templateHash": "11112300500664950599" }, "name": "Container Registries scopeMaps", "description": "This module deploys an Azure Container Registry (ACR) scopeMap." @@ -1538,8 +1539,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2771208879484692364" + "version": "0.33.93.31351", + "templateHash": "6036875058945996178" }, "name": "Azure Container Registry (ACR) Replications", "description": "This module deploys an Azure Container Registry (ACR) Replication." @@ -1682,8 +1683,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16839288679507454258" + "version": "0.33.93.31351", + "templateHash": "15848218260506856293" }, "name": "Container Registries Credential Sets", "description": "This module deploys an ACR Credential Set." @@ -1866,8 +1867,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13450234979206794925" + "version": "0.33.93.31351", + "templateHash": "3783697279882479947" }, "name": "Container Registries Cache", "description": "Cache for Azure Container Registry (Preview) feature allows users to cache container images in a private container registry. Cache for ACR, is a preview feature available in Basic, Standard, and Premium service tiers ([ref](https://learn.microsoft.com/en-us/azure/container-registry/tutorial-registry-cache))." @@ -2004,8 +2005,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14557981877826360902" + "version": "0.33.93.31351", + "templateHash": "10084997815751263562" }, "name": "Azure Container Registry (ACR) Webhooks", "description": "This module deploys an Azure Container Registry (ACR) Webhook." @@ -2192,7 +2193,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/container-service/managed-cluster/main.bicep b/avm/res/container-service/managed-cluster/main.bicep index b781128a02..1968b2a7ff 100644 --- a/avm/res/container-service/managed-cluster/main.bicep +++ b/avm/res/container-service/managed-cluster/main.bicep @@ -422,6 +422,8 @@ param istioServiceMeshCertificateAuthority istioServiceMeshCertificateAuthorityT // Variables // // =========== // +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -939,7 +941,7 @@ module managedCluster_extension 'br/public:avm/res/kubernetes-configuration/exte clusterName: managedCluster.name configurationProtectedSettings: fluxExtension.?configurationProtectedSettings configurationSettings: fluxExtension.?configurationSettings - enableTelemetry: enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry extensionType: 'microsoft.flux' fluxConfigurations: fluxExtension.?configurations location: location diff --git a/avm/res/container-service/managed-cluster/main.json b/avm/res/container-service/managed-cluster/main.json index 5d5b313589..2d04f676a2 100644 --- a/avm/res/container-service/managed-cluster/main.json +++ b/avm/res/container-service/managed-cluster/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "5916819919470014658" + "templateHash": "17137853273383550249" }, "name": "Azure Kubernetes Service (AKS) Managed Clusters", "description": "This module deploys an Azure Kubernetes Service (AKS) Managed Cluster." @@ -1658,6 +1658,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), 'SystemAssigned', if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -2589,7 +2590,7 @@ "value": "[tryGet(parameters('fluxExtension'), 'configurationSettings')]" }, "enableTelemetry": { - "value": "[parameters('enableTelemetry')]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "extensionType": { "value": "microsoft.flux" diff --git a/avm/res/data-factory/factory/integration-runtime/main.json b/avm/res/data-factory/factory/integration-runtime/main.json index 2ad9af1ee7..300d86c17a 100644 --- a/avm/res/data-factory/factory/integration-runtime/main.json +++ b/avm/res/data-factory/factory/integration-runtime/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8093952642750500375" + "version": "0.33.93.31351", + "templateHash": "7650828947547729565" }, "name": "Data Factory Integration RunTimes", "description": "This module deploys a Data Factory Managed or Self-Hosted Integration Runtime." diff --git a/avm/res/data-factory/factory/linked-service/main.json b/avm/res/data-factory/factory/linked-service/main.json index fbe3aaed70..1c00741f0f 100644 --- a/avm/res/data-factory/factory/linked-service/main.json +++ b/avm/res/data-factory/factory/linked-service/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2233835364121960452" + "version": "0.33.93.31351", + "templateHash": "1816680587919850777" }, "name": "Data Factory Linked Service", "description": "This module deploys a Data Factory Linked Service." diff --git a/avm/res/data-factory/factory/main.bicep b/avm/res/data-factory/factory/main.bicep index 12b7128adc..d883759801 100644 --- a/avm/res/data-factory/factory/main.bicep +++ b/avm/res/data-factory/factory/main.bicep @@ -93,6 +93,8 @@ param tags object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -360,7 +362,7 @@ module dataFactory_privateEndpoints 'br/public:avm/res/network/private-endpoint: ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/data-factory/factory/main.json b/avm/res/data-factory/factory/main.json index b04c839488..c49a252c18 100644 --- a/avm/res/data-factory/factory/main.json +++ b/avm/res/data-factory/factory/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2855675946430231043" + "version": "0.33.93.31351", + "templateHash": "1040889409508280622" }, "name": "Data Factories", "description": "This module deploys a Data Factory." @@ -912,6 +912,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1093,8 +1094,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17988798320328415885" + "version": "0.33.93.31351", + "templateHash": "14125623215975510552" }, "name": "Data Factory Managed Virtual Networks", "description": "This module deploys a Data Factory Managed Virtual Network." @@ -1166,8 +1167,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12304621154639480158" + "version": "0.33.93.31351", + "templateHash": "8874930941679557296" }, "name": "Data Factory Managed Virtual Network Managed PrivateEndpoints", "description": "This module deploys a Data Factory Managed Virtual Network Managed Private Endpoint." @@ -1317,8 +1318,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12984160632921626743" + "version": "0.33.93.31351", + "templateHash": "7650828947547729565" }, "name": "Data Factory Integration RunTimes", "description": "This module deploys a Data Factory Managed or Self-Hosted Integration Runtime." @@ -1454,8 +1455,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8426964975127254817" + "version": "0.33.93.31351", + "templateHash": "1816680587919850777" }, "name": "Data Factory Linked Service", "description": "This module deploys a Data Factory Linked Service." @@ -1577,7 +1578,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/data-factory/factory/managed-virtual-network/main.json b/avm/res/data-factory/factory/managed-virtual-network/main.json index ae38775c22..08249a0cab 100644 --- a/avm/res/data-factory/factory/managed-virtual-network/main.json +++ b/avm/res/data-factory/factory/managed-virtual-network/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11848856352373050663" + "version": "0.33.93.31351", + "templateHash": "14125623215975510552" }, "name": "Data Factory Managed Virtual Networks", "description": "This module deploys a Data Factory Managed Virtual Network." @@ -77,8 +77,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "5082368270790092206" + "version": "0.33.93.31351", + "templateHash": "8874930941679557296" }, "name": "Data Factory Managed Virtual Network Managed PrivateEndpoints", "description": "This module deploys a Data Factory Managed Virtual Network Managed Private Endpoint." diff --git a/avm/res/data-factory/factory/managed-virtual-network/managed-private-endpoint/main.json b/avm/res/data-factory/factory/managed-virtual-network/managed-private-endpoint/main.json index f522c28e87..8c85e0f99e 100644 --- a/avm/res/data-factory/factory/managed-virtual-network/managed-private-endpoint/main.json +++ b/avm/res/data-factory/factory/managed-virtual-network/managed-private-endpoint/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "5082368270790092206" + "version": "0.33.93.31351", + "templateHash": "8874930941679557296" }, "name": "Data Factory Managed Virtual Network Managed PrivateEndpoints", "description": "This module deploys a Data Factory Managed Virtual Network Managed Private Endpoint." diff --git a/avm/res/databricks/workspace/main.bicep b/avm/res/databricks/workspace/main.bicep index 1ba0d3ef7d..3378494ba5 100644 --- a/avm/res/databricks/workspace/main.bicep +++ b/avm/res/databricks/workspace/main.bicep @@ -148,6 +148,8 @@ param complianceSecurityProfileValue string = '' ]) param enhancedSecurityMonitoring string = '' +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') @@ -478,7 +480,7 @@ module workspace_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', @@ -542,7 +544,7 @@ module storageAccount_storageAccountPrivateEndpoints 'br/public:avm/res/network/ ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/databricks/workspace/main.json b/avm/res/databricks/workspace/main.json index 7667b60709..c77c5f2162 100644 --- a/avm/res/databricks/workspace/main.json +++ b/avm/res/databricks/workspace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11877768173688066898" + "version": "0.33.93.31351", + "templateHash": "7536182671645093821" }, "name": "Azure Databricks Workspaces", "description": "This module deploys an Azure Databricks Workspace." @@ -935,6 +935,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", @@ -1112,7 +1113,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -1872,7 +1873,7 @@ "value": "[coalesce(parameters('storageAccountPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('storageAccountPrivateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('storageAccountPrivateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('storageAccountPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/db-for-postgre-sql/flexible-server/administrator/main.json b/avm/res/db-for-postgre-sql/flexible-server/administrator/main.json index 2990c88822..bc0f3f670e 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/administrator/main.json +++ b/avm/res/db-for-postgre-sql/flexible-server/administrator/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9438694500506305843" + "version": "0.33.93.31351", + "templateHash": "14949929816214813418" }, "name": "DBforPostgreSQL Flexible Server Administrators", "description": "This module deploys a DBforPostgreSQL Flexible Server Administrator." diff --git a/avm/res/db-for-postgre-sql/flexible-server/advanced-threat-protection/main.json b/avm/res/db-for-postgre-sql/flexible-server/advanced-threat-protection/main.json index f8f5d9ad49..49c177f263 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/advanced-threat-protection/main.json +++ b/avm/res/db-for-postgre-sql/flexible-server/advanced-threat-protection/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17600786812294347393" + "version": "0.33.93.31351", + "templateHash": "7080936927606489698" }, "name": "DBforPostgreSQL Flexible Server Advanced Threat Protection", "description": "This module deploys a DBforPostgreSQL Advanced Threat Protection." diff --git a/avm/res/db-for-postgre-sql/flexible-server/configuration/main.json b/avm/res/db-for-postgre-sql/flexible-server/configuration/main.json index 8dae49f87f..0261d9b131 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/configuration/main.json +++ b/avm/res/db-for-postgre-sql/flexible-server/configuration/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14381841795302215842" + "version": "0.33.93.31351", + "templateHash": "10184004603904028584" }, "name": "DBforPostgreSQL Flexible Server Configurations", "description": "This module deploys a DBforPostgreSQL Flexible Server Configuration." diff --git a/avm/res/db-for-postgre-sql/flexible-server/database/main.json b/avm/res/db-for-postgre-sql/flexible-server/database/main.json index ef10f4396c..6871bb8e2b 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/database/main.json +++ b/avm/res/db-for-postgre-sql/flexible-server/database/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12559382321541199726" + "version": "0.33.93.31351", + "templateHash": "562413302994246231" }, "name": "DBforPostgreSQL Flexible Server Databases", "description": "This module deploys a DBforPostgreSQL Flexible Server Database." diff --git a/avm/res/db-for-postgre-sql/flexible-server/firewall-rule/main.json b/avm/res/db-for-postgre-sql/flexible-server/firewall-rule/main.json index 001cbab662..02efd95ae8 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/firewall-rule/main.json +++ b/avm/res/db-for-postgre-sql/flexible-server/firewall-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "533163168353951900" + "version": "0.33.93.31351", + "templateHash": "17303238617469661530" }, "name": "DBforPostgreSQL Flexible Server Firewall Rules", "description": "This module deploys a DBforPostgreSQL Flexible Server Firewall Rule." diff --git a/avm/res/db-for-postgre-sql/flexible-server/main.bicep b/avm/res/db-for-postgre-sql/flexible-server/main.bicep index 86d932de42..94e427d468 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/main.bicep +++ b/avm/res/db-for-postgre-sql/flexible-server/main.bicep @@ -183,6 +183,8 @@ import { privateEndpointSingleServiceType } from 'br/public:avm/utl/types/avm-co @description('Optional. Configuration details for private endpoints. Used when the desired connectivity mode is \'Public Access\' and \'delegatedSubnetResourceId\' is NOT used.') param privateEndpoints privateEndpointSingleServiceType[]? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -487,7 +489,7 @@ module server_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.10. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/db-for-postgre-sql/flexible-server/main.json b/avm/res/db-for-postgre-sql/flexible-server/main.json index 40da17f7d9..6e241d2ec3 100644 --- a/avm/res/db-for-postgre-sql/flexible-server/main.json +++ b/avm/res/db-for-postgre-sql/flexible-server/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8506855526660659778" + "version": "0.33.93.31351", + "templateHash": "6350795977347687440" }, "name": "DBforPostgreSQL Flexible Servers", "description": "This module deploys a DBforPostgreSQL Flexible Server." @@ -987,6 +987,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None'), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1201,8 +1202,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12559382321541199726" + "version": "0.33.93.31351", + "templateHash": "562413302994246231" }, "name": "DBforPostgreSQL Flexible Server Databases", "description": "This module deploys a DBforPostgreSQL Flexible Server Database." @@ -1314,8 +1315,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "533163168353951900" + "version": "0.33.93.31351", + "templateHash": "17303238617469661530" }, "name": "DBforPostgreSQL Flexible Server Firewall Rules", "description": "This module deploys a DBforPostgreSQL Flexible Server Firewall Rule." @@ -1423,8 +1424,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14381841795302215842" + "version": "0.33.93.31351", + "templateHash": "10184004603904028584" }, "name": "DBforPostgreSQL Flexible Server Configurations", "description": "This module deploys a DBforPostgreSQL Flexible Server Configuration." @@ -1540,8 +1541,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9438694500506305843" + "version": "0.33.93.31351", + "templateHash": "14949929816214813418" }, "name": "DBforPostgreSQL Flexible Server Administrators", "description": "This module deploys a DBforPostgreSQL Flexible Server Administrator." @@ -1651,8 +1652,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17600786812294347393" + "version": "0.33.93.31351", + "templateHash": "7080936927606489698" }, "name": "DBforPostgreSQL Flexible Server Advanced Threat Protection", "description": "This module deploys a DBforPostgreSQL Advanced Threat Protection." @@ -1748,7 +1749,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/desktop-virtualization/host-pool/main.bicep b/avm/res/desktop-virtualization/host-pool/main.bicep index 557c4f5f4d..da423806a8 100644 --- a/avm/res/desktop-virtualization/host-pool/main.bicep +++ b/avm/res/desktop-virtualization/host-pool/main.bicep @@ -128,6 +128,8 @@ param enableTelemetry bool = true @sys.description('Optional. The diagnostic settings of the service.') param diagnosticSettings diagnosticSettingType +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Owner: '/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635' Contributor: '/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c' @@ -251,7 +253,7 @@ module hostPool_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.7 ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/desktop-virtualization/host-pool/main.json b/avm/res/desktop-virtualization/host-pool/main.json index 263f0fd06e..8613d136d8 100644 --- a/avm/res/desktop-virtualization/host-pool/main.json +++ b/avm/res/desktop-virtualization/host-pool/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "13222003463237903084" + "version": "0.33.93.31351", + "templateHash": "9848167756252303852" }, "name": "Azure Virtual Desktop Host Pool", "description": "This module deploys an Azure Virtual Desktop Host Pool" @@ -668,6 +668,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Owner": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", "Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", @@ -838,7 +839,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/desktop-virtualization/workspace/main.bicep b/avm/res/desktop-virtualization/workspace/main.bicep index 85c3f855bc..ecb98866fb 100644 --- a/avm/res/desktop-virtualization/workspace/main.bicep +++ b/avm/res/desktop-virtualization/workspace/main.bicep @@ -37,6 +37,8 @@ param enableTelemetry bool = true @sys.description('Optional. The diagnostic settings of the service.') param diagnosticSettings diagnosticSettingType +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Owner: '/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635' Contributor: '/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c' @@ -138,7 +140,7 @@ module workspace_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/desktop-virtualization/workspace/main.json b/avm/res/desktop-virtualization/workspace/main.json index 1a65903061..ce26592d3d 100644 --- a/avm/res/desktop-virtualization/workspace/main.json +++ b/avm/res/desktop-virtualization/workspace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15242596555785609463" + "version": "0.33.93.31351", + "templateHash": "6694366519789750943" }, "name": "Workspace", "description": "This module deploys an Azure Virtual Desktop Workspace." @@ -508,6 +508,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Owner": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", "Contributor": "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", @@ -646,7 +647,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/digital-twins/digital-twins-instance/endpoint--event-grid/main.json b/avm/res/digital-twins/digital-twins-instance/endpoint--event-grid/main.json index 8835c48bd3..3bf69dcdc3 100644 --- a/avm/res/digital-twins/digital-twins-instance/endpoint--event-grid/main.json +++ b/avm/res/digital-twins/digital-twins-instance/endpoint--event-grid/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18416577662181981626" + "version": "0.33.93.31351", + "templateHash": "7506275240141843335" }, "name": "Digital Twins Instance Event Grid Endpoints", "description": "This module deploys a Digital Twins Instance Event Grid Endpoint." diff --git a/avm/res/digital-twins/digital-twins-instance/endpoint--event-hub/main.json b/avm/res/digital-twins/digital-twins-instance/endpoint--event-hub/main.json index b87e488ad6..749a9d1e90 100644 --- a/avm/res/digital-twins/digital-twins-instance/endpoint--event-hub/main.json +++ b/avm/res/digital-twins/digital-twins-instance/endpoint--event-hub/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16389406048518633124" + "version": "0.33.93.31351", + "templateHash": "10933228893871694752" }, "name": "Digital Twins Instance EventHub Endpoint", "description": "This module deploys a Digital Twins Instance EventHub Endpoint." diff --git a/avm/res/digital-twins/digital-twins-instance/endpoint--service-bus/main.json b/avm/res/digital-twins/digital-twins-instance/endpoint--service-bus/main.json index 14e46090a8..23627a5210 100644 --- a/avm/res/digital-twins/digital-twins-instance/endpoint--service-bus/main.json +++ b/avm/res/digital-twins/digital-twins-instance/endpoint--service-bus/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11967411831157387474" + "version": "0.33.93.31351", + "templateHash": "2762256234913724536" }, "name": "Digital Twins Instance ServiceBus Endpoint", "description": "This module deploys a Digital Twins Instance ServiceBus Endpoint." diff --git a/avm/res/digital-twins/digital-twins-instance/main.bicep b/avm/res/digital-twins/digital-twins-instance/main.bicep index 2f1db04b71..a16c37e24b 100644 --- a/avm/res/digital-twins/digital-twins-instance/main.bicep +++ b/avm/res/digital-twins/digital-twins-instance/main.bicep @@ -47,6 +47,8 @@ param enableTelemetry bool = true @description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalIds\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') param roleAssignments roleAssignmentType +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -213,7 +215,7 @@ module digitalTwinsInstance_privateEndpoints 'br/public:avm/res/network/private- ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/digital-twins/digital-twins-instance/main.json b/avm/res/digital-twins/digital-twins-instance/main.json index 69ceb6f17a..e09df666bf 100644 --- a/avm/res/digital-twins/digital-twins-instance/main.json +++ b/avm/res/digital-twins/digital-twins-instance/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10648420169478187370" + "version": "0.33.93.31351", + "templateHash": "2358314941177005175" }, "name": "Digital Twins Instances", "description": "This module deploys an Azure Digital Twins Instance." @@ -539,6 +539,7 @@ } }, "variables": { + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -694,8 +695,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16389406048518633124" + "version": "0.33.93.31351", + "templateHash": "10933228893871694752" }, "name": "Digital Twins Instance EventHub Endpoint", "description": "This module deploys a Digital Twins Instance EventHub Endpoint." @@ -889,8 +890,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10272263217980237853" + "version": "0.33.93.31351", + "templateHash": "7506275240141843335" }, "name": "Digital Twins Instance Event Grid Endpoints", "description": "This module deploys a Digital Twins Instance Event Grid Endpoint." @@ -1015,8 +1016,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11967411831157387474" + "version": "0.33.93.31351", + "templateHash": "2762256234913724536" }, "name": "Digital Twins Instance ServiceBus Endpoint", "description": "This module deploys a Digital Twins Instance ServiceBus Endpoint." @@ -1205,7 +1206,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/document-db/database-account/gremlin-database/graph/main.json b/avm/res/document-db/database-account/gremlin-database/graph/main.json index 0fc3998452..0d354a7d4a 100644 --- a/avm/res/document-db/database-account/gremlin-database/graph/main.json +++ b/avm/res/document-db/database-account/gremlin-database/graph/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1700064870992628026" + "version": "0.33.93.31351", + "templateHash": "3717641655060686556" }, "name": "DocumentDB Database Accounts Gremlin Databases Graphs", "description": "This module deploys a DocumentDB Database Accounts Gremlin Database Graph." diff --git a/avm/res/document-db/database-account/gremlin-database/main.json b/avm/res/document-db/database-account/gremlin-database/main.json index 8633cb6d91..3595c0d490 100644 --- a/avm/res/document-db/database-account/gremlin-database/main.json +++ b/avm/res/document-db/database-account/gremlin-database/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2572955421461314223" + "version": "0.33.93.31351", + "templateHash": "2305698409425699794" }, "name": "DocumentDB Database Account Gremlin Databases", "description": "This module deploys a Gremlin Database within a CosmosDB Account." @@ -110,8 +110,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1700064870992628026" + "version": "0.33.93.31351", + "templateHash": "3717641655060686556" }, "name": "DocumentDB Database Accounts Gremlin Databases Graphs", "description": "This module deploys a DocumentDB Database Accounts Gremlin Database Graph." diff --git a/avm/res/document-db/database-account/main.bicep b/avm/res/document-db/database-account/main.bicep index 96153da271..06c1a066de 100644 --- a/avm/res/document-db/database-account/main.bicep +++ b/avm/res/document-db/database-account/main.bicep @@ -170,6 +170,8 @@ param networkRestrictions networkRestrictionsType = { @description('Optional. Default to TLS 1.2. Enum to indicate the minimum allowed TLS version. Azure Cosmos DB for MongoDB RU and Apache Cassandra only work with TLS 1.2 or later.') param minimumTlsVersion string = 'Tls12' +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -535,7 +537,7 @@ module databaseAccount_privateEndpoints 'br/public:avm/res/network/private-endpo ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/document-db/database-account/main.json b/avm/res/document-db/database-account/main.json index c616ca134d..13923ecf7e 100644 --- a/avm/res/document-db/database-account/main.json +++ b/avm/res/document-db/database-account/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9027478510653399442" + "version": "0.33.93.31351", + "templateHash": "2521834011950520180" }, "name": "DocumentDB Database Accounts", "description": "This module deploys a DocumentDB Database Account." @@ -1219,6 +1219,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "consistencyPolicy": { @@ -1408,8 +1409,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4730660366074754478" + "version": "0.33.93.31351", + "templateHash": "1989869202015976298" }, "name": "DocumentDB Database Account SQL Databases", "description": "This module deploys a SQL Database in a CosmosDB Account." @@ -1540,8 +1541,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17386250764817703718" + "version": "0.33.93.31351", + "templateHash": "12023419088114367985" }, "name": "DocumentDB Database Account SQL Database Containers", "description": "This module deploys a SQL Database Container in a CosmosDB Account." @@ -1793,8 +1794,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "1685904024748106506" + "version": "0.33.93.31351", + "templateHash": "10702362485253818591" }, "name": "DocumentDB Database Account SQL Role.", "description": "This module deploys SQL Role Definision and Assignment in a CosmosDB Account." @@ -1879,8 +1880,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2400533018599684506" + "version": "0.33.93.31351", + "templateHash": "226082505863315224" }, "name": "DocumentDB Database Account SQL Role Definitions.", "description": "This module deploys a SQL Role Definision in a CosmosDB Account." @@ -1999,8 +2000,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7526212004798871599" + "version": "0.33.93.31351", + "templateHash": "4459562534723287578" }, "name": "DocumentDB Database Account SQL Role Assignments.", "description": "This module deploys a SQL Role Assignment in a CosmosDB Account." @@ -2112,8 +2113,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "1267602765838127257" + "version": "0.33.93.31351", + "templateHash": "8920471273670088909" }, "name": "DocumentDB Database Account MongoDB Databases", "description": "This module deploys a MongoDB Database within a CosmosDB Account." @@ -2214,8 +2215,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14692457778129855727" + "version": "0.33.93.31351", + "templateHash": "7171237014304841298" }, "name": "DocumentDB Database Account MongoDB Database Collections", "description": "This module deploys a MongoDB Database Collection." @@ -2373,8 +2374,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8525966528580996304" + "version": "0.33.93.31351", + "templateHash": "2305698409425699794" }, "name": "DocumentDB Database Account Gremlin Databases", "description": "This module deploys a Gremlin Database within a CosmosDB Account." @@ -2478,8 +2479,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6842956277724193822" + "version": "0.33.93.31351", + "templateHash": "3717641655060686556" }, "name": "DocumentDB Database Accounts Gremlin Databases Graphs", "description": "This module deploys a DocumentDB Database Accounts Gremlin Database Graph." @@ -2650,8 +2651,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8085041866356798294" + "version": "0.33.93.31351", + "templateHash": "8861672171630913677" }, "name": "Azure Cosmos DB account tables", "description": "This module deploys a table within an Azure Cosmos DB Account." @@ -2767,7 +2768,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -3536,8 +3537,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5455406267618725608" + "version": "0.33.93.31351", + "templateHash": "8130113748408624333" } }, "definitions": { diff --git a/avm/res/document-db/database-account/mongodb-database/collection/main.json b/avm/res/document-db/database-account/mongodb-database/collection/main.json index f7d0042140..8b18a349a5 100644 --- a/avm/res/document-db/database-account/mongodb-database/collection/main.json +++ b/avm/res/document-db/database-account/mongodb-database/collection/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4404429052939193681" + "version": "0.33.93.31351", + "templateHash": "7171237014304841298" }, "name": "DocumentDB Database Account MongoDB Database Collections", "description": "This module deploys a MongoDB Database Collection." diff --git a/avm/res/document-db/database-account/mongodb-database/main.json b/avm/res/document-db/database-account/mongodb-database/main.json index 7ca8ffc20e..81395e0f31 100644 --- a/avm/res/document-db/database-account/mongodb-database/main.json +++ b/avm/res/document-db/database-account/mongodb-database/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9677932317263312170" + "version": "0.33.93.31351", + "templateHash": "8920471273670088909" }, "name": "DocumentDB Database Account MongoDB Databases", "description": "This module deploys a MongoDB Database within a CosmosDB Account." @@ -107,8 +107,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4404429052939193681" + "version": "0.33.93.31351", + "templateHash": "7171237014304841298" }, "name": "DocumentDB Database Account MongoDB Database Collections", "description": "This module deploys a MongoDB Database Collection." diff --git a/avm/res/document-db/database-account/sql-database/container/main.json b/avm/res/document-db/database-account/sql-database/container/main.json index 7a1867b1f7..39d2c186f6 100644 --- a/avm/res/document-db/database-account/sql-database/container/main.json +++ b/avm/res/document-db/database-account/sql-database/container/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4596147096867557868" + "version": "0.33.93.31351", + "templateHash": "12023419088114367985" }, "name": "DocumentDB Database Account SQL Database Containers", "description": "This module deploys a SQL Database Container in a CosmosDB Account." diff --git a/avm/res/document-db/database-account/sql-database/main.json b/avm/res/document-db/database-account/sql-database/main.json index 64d58b088e..9c8af6ce5e 100644 --- a/avm/res/document-db/database-account/sql-database/main.json +++ b/avm/res/document-db/database-account/sql-database/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18126017281663864760" + "version": "0.33.93.31351", + "templateHash": "1989869202015976298" }, "name": "DocumentDB Database Account SQL Databases", "description": "This module deploys a SQL Database in a CosmosDB Account." @@ -137,8 +137,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4596147096867557868" + "version": "0.33.93.31351", + "templateHash": "12023419088114367985" }, "name": "DocumentDB Database Account SQL Database Containers", "description": "This module deploys a SQL Database Container in a CosmosDB Account." diff --git a/avm/res/document-db/database-account/sql-role/main.json b/avm/res/document-db/database-account/sql-role/main.json index 6e6719ae30..4f5a86d250 100644 --- a/avm/res/document-db/database-account/sql-role/main.json +++ b/avm/res/document-db/database-account/sql-role/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6559464455472088945" + "version": "0.33.93.31351", + "templateHash": "10702362485253818591" }, "name": "DocumentDB Database Account SQL Role.", "description": "This module deploys SQL Role Definision and Assignment in a CosmosDB Account." @@ -90,8 +90,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "14750214357725995743" + "version": "0.33.93.31351", + "templateHash": "226082505863315224" }, "name": "DocumentDB Database Account SQL Role Definitions.", "description": "This module deploys a SQL Role Definision in a CosmosDB Account." @@ -210,8 +210,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12764194787789521059" + "version": "0.33.93.31351", + "templateHash": "4459562534723287578" }, "name": "DocumentDB Database Account SQL Role Assignments.", "description": "This module deploys a SQL Role Assignment in a CosmosDB Account." diff --git a/avm/res/document-db/database-account/sql-role/sql-role-assignments/main.json b/avm/res/document-db/database-account/sql-role/sql-role-assignments/main.json index 892c33bef9..91accb2179 100644 --- a/avm/res/document-db/database-account/sql-role/sql-role-assignments/main.json +++ b/avm/res/document-db/database-account/sql-role/sql-role-assignments/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12764194787789521059" + "version": "0.33.93.31351", + "templateHash": "4459562534723287578" }, "name": "DocumentDB Database Account SQL Role Assignments.", "description": "This module deploys a SQL Role Assignment in a CosmosDB Account." diff --git a/avm/res/document-db/database-account/sql-role/sql-role-definitions/main.json b/avm/res/document-db/database-account/sql-role/sql-role-definitions/main.json index 5e63e065e4..894419c672 100644 --- a/avm/res/document-db/database-account/sql-role/sql-role-definitions/main.json +++ b/avm/res/document-db/database-account/sql-role/sql-role-definitions/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "14750214357725995743" + "version": "0.33.93.31351", + "templateHash": "226082505863315224" }, "name": "DocumentDB Database Account SQL Role Definitions.", "description": "This module deploys a SQL Role Definision in a CosmosDB Account." diff --git a/avm/res/document-db/database-account/table/main.json b/avm/res/document-db/database-account/table/main.json index c1eb93c273..44ac9ac7a0 100644 --- a/avm/res/document-db/database-account/table/main.json +++ b/avm/res/document-db/database-account/table/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2653851241415133906" + "version": "0.33.93.31351", + "templateHash": "8861672171630913677" }, "name": "Azure Cosmos DB account tables", "description": "This module deploys a table within an Azure Cosmos DB Account." diff --git a/avm/res/document-db/mongo-cluster/firewall-rule/main.json b/avm/res/document-db/mongo-cluster/firewall-rule/main.json index 137b52b138..632e65164b 100644 --- a/avm/res/document-db/mongo-cluster/firewall-rule/main.json +++ b/avm/res/document-db/mongo-cluster/firewall-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1544899685990336416" + "version": "0.33.93.31351", + "templateHash": "9916755480501583026" }, "name": "Azure Cosmos DB MongoDB vCore Cluster Config FireWall Rules", "description": "This module config firewall rules for the Azure Cosmos DB MongoDB vCore cluster." diff --git a/avm/res/document-db/mongo-cluster/main.bicep b/avm/res/document-db/mongo-cluster/main.bicep index 458564ec1d..1a82a52d95 100644 --- a/avm/res/document-db/mongo-cluster/main.bicep +++ b/avm/res/document-db/mongo-cluster/main.bicep @@ -60,6 +60,8 @@ param sku string @description('Required. Disk storage size for the node group in GB.') param storage int +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') @@ -263,7 +265,7 @@ module mongoCluster_privateEndpoints 'br/public:avm/res/network/private-endpoint ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/document-db/mongo-cluster/main.json b/avm/res/document-db/mongo-cluster/main.json index 24becfdcda..99c604a60e 100644 --- a/avm/res/document-db/mongo-cluster/main.json +++ b/avm/res/document-db/mongo-cluster/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "16775573492614816510" + "version": "0.33.93.31351", + "templateHash": "14839292240991993149" }, "name": "Azure Cosmos DB MongoDB vCore cluster", "description": "This module deploys a Azure Cosmos DB MongoDB vCore cluster.\n\n**Note:** This module is not intended for broad, generic use, as it was designed to cater for the requirements of the AZD CLI product. Feature requests and bug fix requests are welcome if they support the development of the AZD CLI but may not be incorporated if they aim to make this module more generic than what it needs to be for its primary use case." @@ -697,6 +697,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", @@ -844,8 +845,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1544899685990336416" + "version": "0.33.93.31351", + "templateHash": "9916755480501583026" }, "name": "Azure Cosmos DB MongoDB vCore Cluster Config FireWall Rules", "description": "This module config firewall rules for the Azure Cosmos DB MongoDB vCore cluster." @@ -943,8 +944,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7635336304585068699" + "version": "0.33.93.31351", + "templateHash": "12332357407282560285" } }, "definitions": { @@ -1071,7 +1072,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/elastic-san/elastic-san/main.bicep b/avm/res/elastic-san/elastic-san/main.bicep index e19679384c..e0c3ae4d34 100644 --- a/avm/res/elastic-san/elastic-san/main.bicep +++ b/avm/res/elastic-san/elastic-san/main.bicep @@ -66,6 +66,8 @@ param roleAssignments roleAssignmentType[]? // Variables // // ============== // +var enableReferencedModulesTelemetry = false + // Default to Premium_ZRS unless the user specifically chooses Premium_LRS and specifies an availability zone number. var calculatedSku = sku == 'Premium_LRS' ? (availabilityZone != null ? 'Premium_LRS' : 'Premium_ZRS') : 'Premium_ZRS' @@ -203,7 +205,7 @@ module elasticSan_volumeGroups 'volume-group/main.bicep' = [ customerManagedKey: volumeGroup.?customerManagedKey privateEndpoints: volumeGroup.?privateEndpoints tags: tags - enableTelemetry: enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry lock: lock } } diff --git a/avm/res/elastic-san/elastic-san/main.json b/avm/res/elastic-san/elastic-san/main.json index ce70415213..4680cb87d9 100644 --- a/avm/res/elastic-san/elastic-san/main.json +++ b/avm/res/elastic-san/elastic-san/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12187658159470614288" + "version": "0.33.93.31351", + "templateHash": "3254665209073060520" }, "name": "Elastic SANs", "description": "This module deploys an Elastic SAN." @@ -937,6 +937,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "calculatedSku": "[if(equals(parameters('sku'), 'Premium_LRS'), if(not(equals(parameters('availabilityZone'), null())), 'Premium_LRS', 'Premium_ZRS'), 'Premium_ZRS')]", "calculatedZone": "[if(equals(parameters('sku'), 'Premium_LRS'), if(not(equals(parameters('availabilityZone'), null())), createArray(format('{0}', parameters('availabilityZone'))), null()), null())]", "totalVirtualNetworkRules": "[reduce(map(coalesce(parameters('volumeGroups'), createArray()), lambda('volumeGroup', length(coalesce(tryGet(lambdaVariables('volumeGroup'), 'virtualNetworkRules'), createArray())))), 0, lambda('cur', 'next', add(lambdaVariables('cur'), lambdaVariables('next'))))]", @@ -1088,7 +1089,7 @@ "value": "[parameters('tags')]" }, "enableTelemetry": { - "value": "[parameters('enableTelemetry')]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "lock": { "value": "[parameters('lock')]" @@ -1101,8 +1102,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "5472510668055424391" + "version": "0.33.93.31351", + "templateHash": "11631320144986992996" }, "name": "Elastic SAN Volume Groups", "description": "This module deploys an Elastic SAN Volume Group." @@ -1798,6 +1799,7 @@ } } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]" }, @@ -1891,8 +1893,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7324265222363694864" + "version": "0.33.93.31351", + "templateHash": "11635704021988875359" }, "name": "Elastic SAN Volumes", "description": "This module deploys an Elastic SAN Volume." @@ -2056,8 +2058,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11683450086168084373" + "version": "0.33.93.31351", + "templateHash": "6701978252436416407" }, "name": "Elastic SAN Volume Snapshots", "description": "This module deploys an Elastic SAN Volume Snapshot." @@ -2259,7 +2261,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -3072,10 +3074,11 @@ }, "systemAssignedMIPrincipalId": { "type": "string", + "nullable": true, "metadata": { "description": "The principal ID of the system assigned identity of the deployed Elastic SAN Volume Group." }, - "value": "[coalesce(tryGet(tryGet(reference('volumeGroup', '2023-01-01', 'full'), 'identity'), 'principalId'), '')]" + "value": "[tryGet(tryGet(reference('volumeGroup', '2023-01-01', 'full'), 'identity'), 'principalId')]" }, "volumes": { "type": "array", diff --git a/avm/res/elastic-san/elastic-san/volume-group/main.bicep b/avm/res/elastic-san/elastic-san/volume-group/main.bicep index b7e5a12751..f44b37101c 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/main.bicep +++ b/avm/res/elastic-san/elastic-san/volume-group/main.bicep @@ -47,6 +47,8 @@ param lock lockType? // Variables // // ============== // +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -180,7 +182,7 @@ module volumeGroup_privateEndpoints 'br/public:avm/res/network/private-endpoint: ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/elastic-san/elastic-san/volume-group/main.json b/avm/res/elastic-san/elastic-san/volume-group/main.json index 4e8f1f03f0..58c5f5745f 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/main.json +++ b/avm/res/elastic-san/elastic-san/volume-group/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5043762592549190927" + "version": "0.33.93.31351", + "templateHash": "11631320144986992996" }, "name": "Elastic SAN Volume Groups", "description": "This module deploys an Elastic SAN Volume Group." @@ -702,6 +702,7 @@ } } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]" }, @@ -795,8 +796,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8260850643378717237" + "version": "0.33.93.31351", + "templateHash": "11635704021988875359" }, "name": "Elastic SAN Volumes", "description": "This module deploys an Elastic SAN Volume." @@ -960,8 +961,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4007403623410700025" + "version": "0.33.93.31351", + "templateHash": "6701978252436416407" }, "name": "Elastic SAN Volume Snapshots", "description": "This module deploys an Elastic SAN Volume Snapshot." @@ -1163,7 +1164,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/elastic-san/elastic-san/volume-group/snapshot/main.json b/avm/res/elastic-san/elastic-san/volume-group/snapshot/main.json index 11c8f97d64..da30811a47 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/snapshot/main.json +++ b/avm/res/elastic-san/elastic-san/volume-group/snapshot/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11683450086168084373" + "version": "0.33.93.31351", + "templateHash": "6701978252436416407" }, "name": "Elastic SAN Volume Snapshots", "description": "This module deploys an Elastic SAN Volume Snapshot." diff --git a/avm/res/elastic-san/elastic-san/volume-group/volume/main.json b/avm/res/elastic-san/elastic-san/volume-group/volume/main.json index 5a698ee8c3..59abcc46f1 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/volume/main.json +++ b/avm/res/elastic-san/elastic-san/volume-group/volume/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7324265222363694864" + "version": "0.33.93.31351", + "templateHash": "11635704021988875359" }, "name": "Elastic SAN Volumes", "description": "This module deploys an Elastic SAN Volume." @@ -170,8 +170,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11683450086168084373" + "version": "0.33.93.31351", + "templateHash": "6701978252436416407" }, "name": "Elastic SAN Volume Snapshots", "description": "This module deploys an Elastic SAN Volume Snapshot." diff --git a/avm/res/event-grid/domain/main.bicep b/avm/res/event-grid/domain/main.bicep index de608c4f9c..6dac2ba715 100644 --- a/avm/res/event-grid/domain/main.bicep +++ b/avm/res/event-grid/domain/main.bicep @@ -51,6 +51,8 @@ param managedIdentities managedIdentitiesType @description('Optional. Allow only Azure AD authentication. Should be enabled for security reasons.') param disableLocalAuth bool = true +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourcesIds ?? []), (id) => { '${id}': {} }), {}, @@ -229,7 +231,7 @@ module domain_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.7.1 ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/event-grid/domain/main.json b/avm/res/event-grid/domain/main.json index aa1eec1de1..00a5b95582 100644 --- a/avm/res/event-grid/domain/main.json +++ b/avm/res/event-grid/domain/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10294267768523198198" + "version": "0.33.93.31351", + "templateHash": "11388103925395631605" }, "name": "Event Grid Domains", "description": "This module deploys an Event Grid Domain." @@ -588,6 +588,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourcesIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourcesIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourcesIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -742,8 +743,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5314850646834911928" + "version": "0.33.93.31351", + "templateHash": "18083375789598078271" }, "name": "Event Grid Domain Topics", "description": "This module deploys an Event Grid Domain Topic." @@ -822,7 +823,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/event-grid/domain/topic/main.json b/avm/res/event-grid/domain/topic/main.json index 0e726bd87b..2918ff5a74 100644 --- a/avm/res/event-grid/domain/topic/main.json +++ b/avm/res/event-grid/domain/topic/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9083571930533091533" + "version": "0.33.93.31351", + "templateHash": "18083375789598078271" }, "name": "Event Grid Domain Topics", "description": "This module deploys an Event Grid Domain Topic." diff --git a/avm/res/event-grid/namespace/main.bicep b/avm/res/event-grid/namespace/main.bicep index 856b561a0c..5fab84b67e 100644 --- a/avm/res/event-grid/namespace/main.bicep +++ b/avm/res/event-grid/namespace/main.bicep @@ -103,6 +103,8 @@ param topicSpaces array? @description('Optional. All namespace Permission Bindings to create. Used only when MQTT broker is enabled (\'topicSpacesState\' is set to \'Enabled\').') param permissionBindings array? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -309,7 +311,7 @@ module namespace_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/event-grid/namespace/main.json b/avm/res/event-grid/namespace/main.json index 19ca5f738c..25de053c99 100644 --- a/avm/res/event-grid/namespace/main.json +++ b/avm/res/event-grid/namespace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "1976622211901619784" + "version": "0.33.93.31351", + "templateHash": "13898673242113249080" }, "name": "Event Grid Namespaces", "description": "This module deploys an Event Grid Namespace." @@ -798,6 +798,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -953,7 +954,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -1728,8 +1729,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13625381498949263441" + "version": "0.33.93.31351", + "templateHash": "3750609028879158720" }, "name": "Eventgrid Namespace Topics", "description": "This module deploys an Eventgrid Namespace Topic." @@ -2022,8 +2023,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14274639062376243006" + "version": "0.33.93.31351", + "templateHash": "2786410706674700781" }, "name": "Event Subscriptions", "description": "This module deploys an Event Subscription." @@ -2320,8 +2321,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16684000080098402376" + "version": "0.33.93.31351", + "templateHash": "5500161725034179010" }, "name": "Eventgrid Namespace CA Certificates", "description": "This module deploys an Eventgrid Namespace CA Certificate." @@ -2446,8 +2447,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11246395673519136496" + "version": "0.33.93.31351", + "templateHash": "310861179374860968" }, "name": "Eventgrid Namespace Clients", "description": "This module deploys an Eventgrid Namespace Client." @@ -2608,8 +2609,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15188233906898213813" + "version": "0.33.93.31351", + "templateHash": "15034210943727152335" }, "name": "Eventgrid Namespace Client Groups", "description": "This module deploys an Eventgrid Namespace Client Group." @@ -2725,8 +2726,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2849991174853656103" + "version": "0.33.93.31351", + "templateHash": "8680886384150003323" }, "name": "Eventgrid Namespace Topic Spaces", "description": "This module deploys an Eventgrid Namespace Topic Space." @@ -2979,8 +2980,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2140320336515533966" + "version": "0.33.93.31351", + "templateHash": "17347618187908890991" }, "name": "Eventgrid Namespace Permissions Bindings", "description": "This module deploys an Eventgrid Namespace Permission Binding." diff --git a/avm/res/event-grid/topic/event-subscription/main.json b/avm/res/event-grid/topic/event-subscription/main.json index d96250e3de..3e492a132c 100644 --- a/avm/res/event-grid/topic/event-subscription/main.json +++ b/avm/res/event-grid/topic/event-subscription/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11005827950776268335" + "version": "0.33.93.31351", + "templateHash": "2448618087704999018" }, "name": "EventGrid Topic Event Subscriptions", "description": "This module deploys an Event Grid Topic Event Subscription." diff --git a/avm/res/event-grid/topic/main.bicep b/avm/res/event-grid/topic/main.bicep index 1289eeae49..89b2fe3424 100644 --- a/avm/res/event-grid/topic/main.bicep +++ b/avm/res/event-grid/topic/main.bicep @@ -45,6 +45,8 @@ param tags object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourcesIds ?? []), (id) => { '${id}': {} }), {}, @@ -239,7 +241,7 @@ module topic_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.7.1' ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/event-grid/topic/main.json b/avm/res/event-grid/topic/main.json index 1bda01ac28..649917306f 100644 --- a/avm/res/event-grid/topic/main.json +++ b/avm/res/event-grid/topic/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17090087854048089391" + "version": "0.33.93.31351", + "templateHash": "1934078030754827335" }, "name": "Event Grid Topics", "description": "This module deploys an Event Grid Topic." @@ -574,6 +574,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourcesIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourcesIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourcesIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -737,8 +738,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16170611451956085210" + "version": "0.33.93.31351", + "templateHash": "2448618087704999018" }, "name": "EventGrid Topic Event Subscriptions", "description": "This module deploys an Event Grid Topic Event Subscription." @@ -903,7 +904,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/event-hub/namespace/authorization-rule/main.json b/avm/res/event-hub/namespace/authorization-rule/main.json index 80b6598dcb..ba95a9192f 100644 --- a/avm/res/event-hub/namespace/authorization-rule/main.json +++ b/avm/res/event-hub/namespace/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12932983739098297779" + "version": "0.33.93.31351", + "templateHash": "10622466301065060150" }, "name": "Event Hub Namespace Authorization Rule", "description": "This module deploys an Event Hub Namespace Authorization Rule." diff --git a/avm/res/event-hub/namespace/disaster-recovery-config/main.json b/avm/res/event-hub/namespace/disaster-recovery-config/main.json index 6933e3642a..2416894134 100644 --- a/avm/res/event-hub/namespace/disaster-recovery-config/main.json +++ b/avm/res/event-hub/namespace/disaster-recovery-config/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7157026557302056743" + "version": "0.33.93.31351", + "templateHash": "4690791594051561997" }, "name": "Event Hub Namespace Disaster Recovery Configs", "description": "This module deploys an Event Hub Namespace Disaster Recovery Config." diff --git a/avm/res/event-hub/namespace/eventhub/authorization-rule/main.json b/avm/res/event-hub/namespace/eventhub/authorization-rule/main.json index 9e4dacc917..115c77ee5c 100644 --- a/avm/res/event-hub/namespace/eventhub/authorization-rule/main.json +++ b/avm/res/event-hub/namespace/eventhub/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15938058071622087714" + "version": "0.33.93.31351", + "templateHash": "5591325767835614815" }, "name": "Event Hub Namespace Event Hub Authorization Rules", "description": "This module deploys an Event Hub Namespace Event Hub Authorization Rule." diff --git a/avm/res/event-hub/namespace/eventhub/consumergroup/main.json b/avm/res/event-hub/namespace/eventhub/consumergroup/main.json index 63fb4370f0..1353a98d63 100644 --- a/avm/res/event-hub/namespace/eventhub/consumergroup/main.json +++ b/avm/res/event-hub/namespace/eventhub/consumergroup/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15726313856377224651" + "version": "0.33.93.31351", + "templateHash": "6600585942129882296" }, "name": "Event Hub Namespace Event Hub Consumer Groups", "description": "This module deploys an Event Hub Namespace Event Hub Consumer Group." diff --git a/avm/res/event-hub/namespace/eventhub/main.json b/avm/res/event-hub/namespace/eventhub/main.json index 52ca9207bd..65a8456fab 100644 --- a/avm/res/event-hub/namespace/eventhub/main.json +++ b/avm/res/event-hub/namespace/eventhub/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4296815979830269323" + "version": "0.33.93.31351", + "templateHash": "3890887436119201915" }, "name": "Event Hub Namespace Event Hubs", "description": "This module deploys an Event Hub Namespace Event Hub." @@ -440,8 +440,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15726313856377224651" + "version": "0.33.93.31351", + "templateHash": "6600585942129882296" }, "name": "Event Hub Namespace Event Hub Consumer Groups", "description": "This module deploys an Event Hub Namespace Event Hub Consumer Group." @@ -545,8 +545,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15938058071622087714" + "version": "0.33.93.31351", + "templateHash": "5591325767835614815" }, "name": "Event Hub Namespace Event Hub Authorization Rules", "description": "This module deploys an Event Hub Namespace Event Hub Authorization Rule." diff --git a/avm/res/event-hub/namespace/main.bicep b/avm/res/event-hub/namespace/main.bicep index 55b9886a4a..c237a4f56a 100644 --- a/avm/res/event-hub/namespace/main.bicep +++ b/avm/res/event-hub/namespace/main.bicep @@ -112,6 +112,8 @@ param disasterRecoveryConfig disasterRecoveryConfigType? @description('Optional. Key vault reference and secret settings for the module\'s secrets export.') param secretsExportConfiguration secretsExportConfigurationType? +var enableReferencedModulesTelemetry = false + var maximumThroughputUnitsVar = !isAutoInflateEnabled ? 0 : maximumThroughputUnits var formattedUserAssignedIdentities = reduce( @@ -347,7 +349,7 @@ module eventHubNamespace_privateEndpoints 'br/public:avm/res/network/private-end ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/event-hub/namespace/main.json b/avm/res/event-hub/namespace/main.json index c9143c3066..127c4a6602 100644 --- a/avm/res/event-hub/namespace/main.json +++ b/avm/res/event-hub/namespace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7151416896607308553" + "version": "0.33.93.31351", + "templateHash": "15691829084660378340" }, "name": "Event Hub Namespaces", "description": "This module deploys an Event Hub Namespace." @@ -957,6 +957,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "maximumThroughputUnitsVar": "[if(not(parameters('isAutoInflateEnabled')), 0, parameters('maximumThroughputUnits'))]", "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", @@ -1153,8 +1154,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10986956603827645787" + "version": "0.33.93.31351", + "templateHash": "10622466301065060150" }, "name": "Event Hub Namespace Authorization Rule", "description": "This module deploys an Event Hub Namespace Authorization Rule." @@ -1251,8 +1252,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "367738327808042586" + "version": "0.33.93.31351", + "templateHash": "4690791594051561997" }, "name": "Event Hub Namespace Disaster Recovery Configs", "description": "This module deploys an Event Hub Namespace Disaster Recovery Config." @@ -1402,8 +1403,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6867966200326116947" + "version": "0.33.93.31351", + "templateHash": "3890887436119201915" }, "name": "Event Hub Namespace Event Hubs", "description": "This module deploys an Event Hub Namespace Event Hub." @@ -1837,8 +1838,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12407548355987095287" + "version": "0.33.93.31351", + "templateHash": "6600585942129882296" }, "name": "Event Hub Namespace Event Hub Consumer Groups", "description": "This module deploys an Event Hub Namespace Event Hub Consumer Group." @@ -1942,8 +1943,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3026048541307905778" + "version": "0.33.93.31351", + "templateHash": "5591325767835614815" }, "name": "Event Hub Namespace Event Hub Authorization Rules", "description": "This module deploys an Event Hub Namespace Event Hub Authorization Rule." @@ -2085,8 +2086,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8142109563540488179" + "version": "0.33.93.31351", + "templateHash": "14712794493871024289" }, "name": "Event Hub Namespace Network Rule Sets", "description": "This module deploys an Event Hub Namespace Network Rule Set." @@ -2228,7 +2229,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -2987,8 +2988,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14045530027687796477" + "version": "0.33.93.31351", + "templateHash": "8063348652715653257" } }, "definitions": { diff --git a/avm/res/event-hub/namespace/network-rule-set/main.json b/avm/res/event-hub/namespace/network-rule-set/main.json index 1ef4710135..6f9456331a 100644 --- a/avm/res/event-hub/namespace/network-rule-set/main.json +++ b/avm/res/event-hub/namespace/network-rule-set/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18355940501932134026" + "version": "0.33.93.31351", + "templateHash": "14712794493871024289" }, "name": "Event Hub Namespace Network Rule Sets", "description": "This module deploys an Event Hub Namespace Network Rule Set." diff --git a/avm/res/healthcare-apis/workspace/dicomservice/main.json b/avm/res/healthcare-apis/workspace/dicomservice/main.json index 5b2016f9f5..24e6e397f7 100644 --- a/avm/res/healthcare-apis/workspace/dicomservice/main.json +++ b/avm/res/healthcare-apis/workspace/dicomservice/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6035434891698156409" + "version": "0.33.93.31351", + "templateHash": "7209455646454855037" }, "name": "Healthcare API Workspace DICOM Services", "description": "This module deploys a Healthcare API Workspace DICOM Service." diff --git a/avm/res/healthcare-apis/workspace/fhirservice/main.json b/avm/res/healthcare-apis/workspace/fhirservice/main.json index b7fa4bfc79..c968d70371 100644 --- a/avm/res/healthcare-apis/workspace/fhirservice/main.json +++ b/avm/res/healthcare-apis/workspace/fhirservice/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "720257412430408145" + "version": "0.33.93.31351", + "templateHash": "14990235238154710931" }, "name": "Healthcare API Workspace FHIR Services", "description": "This module deploys a Healthcare API Workspace FHIR Service." diff --git a/avm/res/healthcare-apis/workspace/iotconnector/fhirdestination/main.json b/avm/res/healthcare-apis/workspace/iotconnector/fhirdestination/main.json index fed492fce5..b750b479d8 100644 --- a/avm/res/healthcare-apis/workspace/iotconnector/fhirdestination/main.json +++ b/avm/res/healthcare-apis/workspace/iotconnector/fhirdestination/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4307853570131837135" + "version": "0.33.93.31351", + "templateHash": "5934704896298273681" }, "name": "Healthcare API Workspace IoT Connector FHIR Destinations", "description": "This module deploys a Healthcare API Workspace IoT Connector FHIR Destination." diff --git a/avm/res/healthcare-apis/workspace/iotconnector/main.json b/avm/res/healthcare-apis/workspace/iotconnector/main.json index 82eb7d6b7b..ae9f6cfad6 100644 --- a/avm/res/healthcare-apis/workspace/iotconnector/main.json +++ b/avm/res/healthcare-apis/workspace/iotconnector/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3685356098294718814" + "version": "0.33.93.31351", + "templateHash": "3567118249768131683" }, "name": "Healthcare API Workspace IoT Connectors", "description": "This module deploys a Healthcare API Workspace IoT Connector." @@ -388,8 +388,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10762900247985096400" + "version": "0.33.93.31351", + "templateHash": "5934704896298273681" }, "name": "Healthcare API Workspace IoT Connector FHIR Destinations", "description": "This module deploys a Healthcare API Workspace IoT Connector FHIR Destination." diff --git a/avm/res/healthcare-apis/workspace/main.json b/avm/res/healthcare-apis/workspace/main.json index c6813fefe2..dcd30ff5d6 100644 --- a/avm/res/healthcare-apis/workspace/main.json +++ b/avm/res/healthcare-apis/workspace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8497599531477204854" + "version": "0.33.93.31351", + "templateHash": "3570971471911757368" }, "name": "Healthcare API Workspaces", "description": "This module deploys a Healthcare API Workspace." @@ -393,8 +393,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "720257412430408145" + "version": "0.33.93.31351", + "templateHash": "14990235238154710931" }, "name": "Healthcare API Workspace FHIR Services", "description": "This module deploys a Healthcare API Workspace FHIR Service." @@ -1123,8 +1123,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15725443146645806343" + "version": "0.33.93.31351", + "templateHash": "7209455646454855037" }, "name": "Healthcare API Workspace DICOM Services", "description": "This module deploys a Healthcare API Workspace DICOM Service." @@ -1509,10 +1509,11 @@ }, "systemAssignedMIPrincipalId": { "type": "string", + "nullable": true, "metadata": { "description": "The principal ID of the system assigned identity." }, - "value": "[coalesce(tryGet(tryGet(reference('dicom', '2022-06-01', 'full'), 'identity'), 'principalId'), '')]" + "value": "[tryGet(tryGet(reference('dicom', '2022-06-01', 'full'), 'identity'), 'principalId')]" }, "location": { "type": "string", @@ -1586,8 +1587,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15307253086923849247" + "version": "0.33.93.31351", + "templateHash": "3567118249768131683" }, "name": "Healthcare API Workspace IoT Connectors", "description": "This module deploys a Healthcare API Workspace IoT Connector." @@ -1969,8 +1970,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4307853570131837135" + "version": "0.33.93.31351", + "templateHash": "5934704896298273681" }, "name": "Healthcare API Workspace IoT Connector FHIR Destinations", "description": "This module deploys a Healthcare API Workspace IoT Connector FHIR Destination." @@ -2113,10 +2114,11 @@ }, "systemAssignedMIPrincipalId": { "type": "string", + "nullable": true, "metadata": { "description": "The principal ID of the system assigned identity." }, - "value": "[coalesce(tryGet(tryGet(reference('iotConnector', '2022-06-01', 'full'), 'identity'), 'principalId'), '')]" + "value": "[tryGet(tryGet(reference('iotConnector', '2022-06-01', 'full'), 'identity'), 'principalId')]" }, "location": { "type": "string", diff --git a/avm/res/insights/private-link-scope/main.bicep b/avm/res/insights/private-link-scope/main.bicep index c061541297..c10865c8e8 100644 --- a/avm/res/insights/private-link-scope/main.bicep +++ b/avm/res/insights/private-link-scope/main.bicep @@ -35,6 +35,8 @@ param tags object? @sys.description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') 'Log Analytics Contributor': subscriptionResourceId( @@ -192,7 +194,7 @@ module privateLinkScope_privateEndpoints 'br/public:avm/res/network/private-endp ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/insights/private-link-scope/main.json b/avm/res/insights/private-link-scope/main.json index 589aebaee6..8068b96601 100644 --- a/avm/res/insights/private-link-scope/main.json +++ b/avm/res/insights/private-link-scope/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5613742865192153837" + "version": "0.33.93.31351", + "templateHash": "5839327174406846672" }, "name": "Azure Monitor Private Link Scopes", "description": "This module deploys an Azure Monitor Private Link Scope." @@ -604,6 +604,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Log Analytics Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293')]", @@ -718,8 +719,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16373447809622934069" + "version": "0.33.93.31351", + "templateHash": "18319290317274254807" }, "name": "Private Link Scope Scoped Resources", "description": "This module deploys a Private Link Scope Scoped Resource." @@ -810,7 +811,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/key-vault/vault/access-policy/main.json b/avm/res/key-vault/vault/access-policy/main.json index 1b7d43a370..2e05afd5ec 100644 --- a/avm/res/key-vault/vault/access-policy/main.json +++ b/avm/res/key-vault/vault/access-policy/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15662374115599475123" + "version": "0.33.93.31351", + "templateHash": "6321524620984159084" }, "name": "Key Vault Access Policies", "description": "This module deploys a Key Vault Access Policy." diff --git a/avm/res/key-vault/vault/key/main.json b/avm/res/key-vault/vault/key/main.json index ecd8d6c830..987f860c22 100644 --- a/avm/res/key-vault/vault/key/main.json +++ b/avm/res/key-vault/vault/key/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8627699258587559559" + "version": "0.33.93.31351", + "templateHash": "12000970886778046699" }, "name": "Key Vault Keys", "description": "This module deploys a Key Vault Key." diff --git a/avm/res/key-vault/vault/main.bicep b/avm/res/key-vault/vault/main.bicep index 1650de8ae7..92b0f49dc2 100644 --- a/avm/res/key-vault/vault/main.bicep +++ b/avm/res/key-vault/vault/main.bicep @@ -88,6 +88,8 @@ param enableTelemetry bool = true // Variables // // =========== // +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') 'Key Vault Administrator': subscriptionResourceId( @@ -341,7 +343,7 @@ module keyVault_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.1 ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/key-vault/vault/main.json b/avm/res/key-vault/vault/main.json index 2281286ba8..e7f8ab4c51 100644 --- a/avm/res/key-vault/vault/main.json +++ b/avm/res/key-vault/vault/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3889592928706338435" + "version": "0.33.93.31351", + "templateHash": "13438891749229457866" }, "name": "Key Vaults", "description": "This module deploys a Key Vault." @@ -1218,6 +1218,7 @@ } } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Key Vault Administrator": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '00482a5a-887f-4fb3-b363-3b7fe8e74483')]", @@ -1384,8 +1385,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15662374115599475123" + "version": "0.33.93.31351", + "templateHash": "6321524620984159084" }, "name": "Key Vault Access Policies", "description": "This module deploys a Key Vault Access Policy." @@ -1650,8 +1651,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7030946530357291103" + "version": "0.33.93.31351", + "templateHash": "4741547827723795923" }, "name": "Key Vault Secrets", "description": "This module deploys a Key Vault Secret." @@ -1964,8 +1965,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8627699258587559559" + "version": "0.33.93.31351", + "templateHash": "12000970886778046699" }, "name": "Key Vault Keys", "description": "This module deploys a Key Vault Key." @@ -2289,7 +2290,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/key-vault/vault/secret/main.json b/avm/res/key-vault/vault/secret/main.json index 75557e043c..16f64b0625 100644 --- a/avm/res/key-vault/vault/secret/main.json +++ b/avm/res/key-vault/vault/secret/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7030946530357291103" + "version": "0.33.93.31351", + "templateHash": "4741547827723795923" }, "name": "Key Vault Secrets", "description": "This module deploys a Key Vault Secret." diff --git a/avm/res/kubernetes-configuration/extension/main.bicep b/avm/res/kubernetes-configuration/extension/main.bicep index 9df7aadc81..d3dea6c6dc 100644 --- a/avm/res/kubernetes-configuration/extension/main.bicep +++ b/avm/res/kubernetes-configuration/extension/main.bicep @@ -38,6 +38,8 @@ param version string? @description('Optional. A list of flux configuraitons.') param fluxConfigurations array? +var enableReferencedModulesTelemetry = false + #disable-next-line no-deployments-resources resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableTelemetry) { name: '46d3xbcp.res.kubernetesconfiguration-extension.${replace('-..--..-', '.', '-')}.${substring(uniqueString(deployment().name, location), 0, 4)}' @@ -90,7 +92,7 @@ module fluxConfiguration 'br/public:avm/res/kubernetes-configuration/flux-config for (fluxConfiguration, index) in (fluxConfigurations ?? []): { name: '${uniqueString(deployment().name, location)}-ManagedCluster-FluxConfiguration${index}' params: { - enableTelemetry: fluxConfiguration.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry clusterName: managedCluster.name scope: fluxConfiguration.scope namespace: fluxConfiguration.namespace diff --git a/avm/res/kubernetes-configuration/extension/main.json b/avm/res/kubernetes-configuration/extension/main.json index 9b6685cbfd..7121f77444 100644 --- a/avm/res/kubernetes-configuration/extension/main.json +++ b/avm/res/kubernetes-configuration/extension/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15390859648845394603" + "version": "0.33.93.31351", + "templateHash": "2069097510556451782" }, "name": "Kubernetes Configuration Extensions", "description": "This module deploys a Kubernetes Configuration Extension." @@ -94,6 +94,9 @@ } } }, + "variables": { + "enableReferencedModulesTelemetry": false + }, "resources": { "avmTelemetry": { "condition": "[parameters('enableTelemetry')]", @@ -154,7 +157,7 @@ "mode": "Incremental", "parameters": { "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('fluxConfigurations'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "clusterName": { "value": "[parameters('clusterName')]" diff --git a/avm/res/kusto/cluster/database/main.json b/avm/res/kusto/cluster/database/main.json index 25a273e332..60a180678c 100644 --- a/avm/res/kusto/cluster/database/main.json +++ b/avm/res/kusto/cluster/database/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2230838564092408507" + "version": "0.33.93.31351", + "templateHash": "11877937459195392501" }, "name": "Kusto Cluster Databases", "description": "This module deploys a Kusto Cluster Database." diff --git a/avm/res/kusto/cluster/main.bicep b/avm/res/kusto/cluster/main.bicep index 78d6c7f91f..42ef8bc370 100644 --- a/avm/res/kusto/cluster/main.bicep +++ b/avm/res/kusto/cluster/main.bicep @@ -132,6 +132,8 @@ param principalAssignments principalAssignmentType[]? @description('Optional. The Kusto Cluster databases.') param databases databaseType[]? +var enableReferencedModulesTelemetry = false + // Converts the flat array to an object like { '${id1}': {}, '${id2}': {} } var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), @@ -370,7 +372,7 @@ module kustoCluster_privateEndpoints 'br/public:avm/res/network/private-endpoint ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/kusto/cluster/main.json b/avm/res/kusto/cluster/main.json index 2e96a9e150..a59505b964 100644 --- a/avm/res/kusto/cluster/main.json +++ b/avm/res/kusto/cluster/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11582444553750572233" + "version": "0.33.93.31351", + "templateHash": "3403718826921365407" }, "name": "Kusto Cluster", "description": "This module deploys a Kusto Cluster." @@ -1084,6 +1084,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1289,8 +1290,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12417822146116787074" + "version": "0.33.93.31351", + "templateHash": "318453625851923291" }, "name": "Kusto Cluster Principal Assignments", "description": "This module deploys a Kusto Cluster Principal Assignment." @@ -1407,7 +1408,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -2181,8 +2182,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2230838564092408507" + "version": "0.33.93.31351", + "templateHash": "11877937459195392501" }, "name": "Kusto Cluster Databases", "description": "This module deploys a Kusto Cluster Database." diff --git a/avm/res/kusto/cluster/principal-assignment/main.json b/avm/res/kusto/cluster/principal-assignment/main.json index 609b10b00f..f9efeb2572 100644 --- a/avm/res/kusto/cluster/principal-assignment/main.json +++ b/avm/res/kusto/cluster/principal-assignment/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12417822146116787074" + "version": "0.33.93.31351", + "templateHash": "318453625851923291" }, "name": "Kusto Cluster Principal Assignments", "description": "This module deploys a Kusto Cluster Principal Assignment." diff --git a/avm/res/machine-learning-services/workspace/compute/main.json b/avm/res/machine-learning-services/workspace/compute/main.json index 526e32cd66..13ed19018b 100644 --- a/avm/res/machine-learning-services/workspace/compute/main.json +++ b/avm/res/machine-learning-services/workspace/compute/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7984703420037754517" + "version": "0.33.93.31351", + "templateHash": "6400587070695625658" }, "name": "Machine Learning Services Workspaces Computes", "description": "This module deploys a Machine Learning Services Workspaces Compute.\n\nAttaching a compute is not idempotent and will fail in case you try to redeploy over an existing compute in AML (see parameter `deployCompute`)." diff --git a/avm/res/machine-learning-services/workspace/connection/main.json b/avm/res/machine-learning-services/workspace/connection/main.json index 0d98fe4052..79968bc9fc 100644 --- a/avm/res/machine-learning-services/workspace/connection/main.json +++ b/avm/res/machine-learning-services/workspace/connection/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5713415122054029428" + "version": "0.33.93.31351", + "templateHash": "10473859406464148345" }, "name": "Machine Learning Services Workspaces Connections", "description": "This module creates a connection in a Machine Learning Services workspace." diff --git a/avm/res/machine-learning-services/workspace/main.bicep b/avm/res/machine-learning-services/workspace/main.bicep index 7c1e8a0f07..2c350f0c52 100644 --- a/avm/res/machine-learning-services/workspace/main.bicep +++ b/avm/res/machine-learning-services/workspace/main.bicep @@ -133,6 +133,8 @@ param publicNetworkAccess string = 'Disabled' // Variables // // ================// +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -402,7 +404,7 @@ module workspace_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/machine-learning-services/workspace/main.json b/avm/res/machine-learning-services/workspace/main.json index 4d7b0d77a0..6fae2bb942 100644 --- a/avm/res/machine-learning-services/workspace/main.json +++ b/avm/res/machine-learning-services/workspace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3640059412959361960" + "version": "0.33.93.31351", + "templateHash": "15776608798550000052" }, "name": "Machine Learning Services Workspaces", "description": "This module deploys a Machine Learning Services Workspace." @@ -1851,6 +1851,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -2068,8 +2069,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7984703420037754517" + "version": "0.33.93.31351", + "templateHash": "6400587070695625658" }, "name": "Machine Learning Services Workspaces Computes", "description": "This module deploys a Machine Learning Services Workspaces Compute.\n\nAttaching a compute is not idempotent and will fail in case you try to redeploy over an existing compute in AML (see parameter `deployCompute`)." @@ -2334,8 +2335,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5713415122054029428" + "version": "0.33.93.31351", + "templateHash": "10473859406464148345" }, "name": "Machine Learning Services Workspaces Connections", "description": "This module creates a connection in a Machine Learning Services workspace." @@ -3075,7 +3076,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/network/application-gateway/main.bicep b/avm/res/network/application-gateway/main.bicep index 586885786a..324d986981 100644 --- a/avm/res/network/application-gateway/main.bicep +++ b/avm/res/network/application-gateway/main.bicep @@ -220,6 +220,8 @@ param routingRules array = [] @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') @@ -415,7 +417,7 @@ module applicationGateway_privateEndpoints 'br/public:avm/res/network/private-en ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/network/application-gateway/main.json b/avm/res/network/application-gateway/main.json index 824e92d7b1..422a84b2f7 100644 --- a/avm/res/network/application-gateway/main.json +++ b/avm/res/network/application-gateway/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "5192277678912295849" + "version": "0.33.93.31351", + "templateHash": "4341210974430627478" }, "name": "Network Application Gateways", "description": "This module deploys a Network Application Gateway." @@ -862,6 +862,7 @@ ], "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null()), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", @@ -1002,7 +1003,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/network/azure-firewall/main.bicep b/avm/res/network/azure-firewall/main.bicep index f6f86143d7..86094376e8 100644 --- a/avm/res/network/azure-firewall/main.bicep +++ b/avm/res/network/azure-firewall/main.bicep @@ -86,6 +86,7 @@ param tags object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false var azureSkuName = empty(virtualNetworkResourceId) ? 'AZFW_Hub' : 'AZFW_VNet' var requiresManagementIp = (azureSkuTier == 'Basic' || enableForcedTunneling) ? true : false var isCreateDefaultManagementIP = empty(managementIPResourceID) && requiresManagementIp @@ -221,7 +222,7 @@ module publicIPAddress 'br/public:avm/res/network/public-ip-address:0.6.0' = if lock: lock tags: publicIPAddressObject.?tags ?? tags zones: zones - enableTelemetry: publicIPAddressObject.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry } } @@ -255,7 +256,7 @@ module managementIPAddress 'br/public:avm/res/network/public-ip-address:0.6.0' = location: location tags: managementIPAddressObject.?tags ?? tags zones: zones - enableTelemetry: managementIPAddressObject.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry } } diff --git a/avm/res/network/azure-firewall/main.json b/avm/res/network/azure-firewall/main.json index d2fe782ed0..9e6a72dc92 100644 --- a/avm/res/network/azure-firewall/main.json +++ b/avm/res/network/azure-firewall/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8237462610300553734" + "version": "0.33.93.31351", + "templateHash": "10245477801202471846" }, "name": "Azure Firewalls", "description": "This module deploys an Azure Firewall." @@ -905,6 +905,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "azureSkuName": "[if(empty(parameters('virtualNetworkResourceId')), 'AZFW_Hub', 'AZFW_VNet')]", "requiresManagementIp": "[if(or(equals(parameters('azureSkuTier'), 'Basic'), parameters('enableForcedTunneling')), true(), false())]", "isCreateDefaultManagementIP": "[and(empty(parameters('managementIPResourceID')), variables('requiresManagementIp'))]", @@ -1062,7 +1063,7 @@ "value": "[parameters('zones')]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(parameters('publicIPAddressObject'), 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { @@ -1715,7 +1716,7 @@ "value": "[parameters('zones')]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(parameters('managementIPAddressObject'), 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { diff --git a/avm/res/network/bastion-host/main.bicep b/avm/res/network/bastion-host/main.bicep index 70c415b18b..e710db40bc 100644 --- a/avm/res/network/bastion-host/main.bicep +++ b/avm/res/network/bastion-host/main.bicep @@ -77,6 +77,8 @@ param enableTelemetry bool = true ]) param zones int[] = [] // Availability Zones are currently in preview and only available in certain regions, therefore the default is an empty array. +var enableReferencedModulesTelemetry = false + // ---------------------------------------------------------------------------- // Prep ipConfigurations object AzureBastionSubnet for different uses cases: // 1. Use existing Public IP @@ -157,7 +159,7 @@ module publicIPAddress 'br/public:avm/res/network/public-ip-address:0.8.0' = if name: '${uniqueString(deployment().name, location)}-Bastion-PIP' params: { name: publicIPAddressObject.name - enableTelemetry: enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: location lock: lock diagnosticSettings: publicIPAddressObject.?diagnosticSettings diff --git a/avm/res/network/bastion-host/main.json b/avm/res/network/bastion-host/main.json index 27dfd312d4..feb467418d 100644 --- a/avm/res/network/bastion-host/main.json +++ b/avm/res/network/bastion-host/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "16499979971476585213" + "templateHash": "542037632528730428" }, "name": "Bastion Hosts", "description": "This module deploys a Bastion Host." @@ -385,6 +385,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", @@ -512,7 +513,7 @@ "value": "[parameters('publicIPAddressObject').name]" }, "enableTelemetry": { - "value": "[parameters('enableTelemetry')]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[parameters('location')]" diff --git a/avm/res/network/firewall-policy/README.md b/avm/res/network/firewall-policy/README.md index 304e1f9755..cab91c64de 100644 --- a/avm/res/network/firewall-policy/README.md +++ b/avm/res/network/firewall-policy/README.md @@ -8,6 +8,7 @@ This module deploys a Firewall Policy. - [Usage examples](#Usage-examples) - [Parameters](#Parameters) - [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) - [Data Collection](#Data-Collection) ## Resource Types @@ -811,13 +812,13 @@ The managed identity definition for this resource. | Parameter | Type | Description | | :-- | :-- | :-- | -| [`userAssignedResourceIds`](#parameter-managedidentitiesuserassignedresourceids) | array | The resource ID(s) to assign to the resource. | +| [`userAssignedResourceIds`](#parameter-managedidentitiesuserassignedresourceids) | array | The resource ID(s) to assign to the resource. Required if a user assigned identity is used for encryption. | ### Parameter: `managedIdentities.userAssignedResourceIds` -The resource ID(s) to assign to the resource. +The resource ID(s) to assign to the resource. Required if a user assigned identity is used for encryption. -- Required: Yes +- Required: No - Type: array ### Parameter: `mode` @@ -1031,6 +1032,14 @@ List of workspaces for Firewall Policy Insights. | `resourceGroupName` | string | The resource group of the deployed firewall policy. | | `resourceId` | string | The resource ID of the deployed firewall policy. | +## Cross-referenced modules + +This section gives you an overview of all local-referenced module files (i.e., other modules that are referenced in this module) and all remote-referenced files (i.e., Bicep modules that are referenced from a Bicep Registry or Template Specs). + +| Reference | Type | +| :-- | :-- | +| `br/public:avm/utl/types/avm-common-types:0.5.1` | Remote reference | + ## Data Collection The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the [repository](https://aka.ms/avm/telemetry). There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at . You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices. diff --git a/avm/res/network/firewall-policy/main.bicep b/avm/res/network/firewall-policy/main.bicep index fe08b236db..c59e50c2ea 100644 --- a/avm/res/network/firewall-policy/main.bicep +++ b/avm/res/network/firewall-policy/main.bicep @@ -10,8 +10,9 @@ param location string = resourceGroup().location @description('Optional. Tags of the Firewall policy resource.') param tags object? +import { managedIdentityOnlyUserAssignedType } from 'br/public:avm/utl/types/avm-common-types:0.5.1' @description('Optional. The managed identity definition for this resource.') -param managedIdentities managedIdentitiesType +param managedIdentities managedIdentityOnlyUserAssignedType? @description('Optional. Resource ID of the base policy.') param basePolicyResourceId string? @@ -285,11 +286,6 @@ output location string = firewallPolicy.location // Definitions // // =============== // -type managedIdentitiesType = { - @description('Optional. The resource ID(s) to assign to the resource.') - userAssignedResourceIds: string[] -}? - type roleAssignmentType = { @description('Optional. The name (as GUID) of the role assignment. If not provided, a GUID will be generated.') name: string? diff --git a/avm/res/network/firewall-policy/main.json b/avm/res/network/firewall-policy/main.json index 4a72e24140..66fe5cd677 100644 --- a/avm/res/network/firewall-policy/main.json +++ b/avm/res/network/firewall-policy/main.json @@ -5,28 +5,13 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12793095614224117013" + "version": "0.33.93.31351", + "templateHash": "3876724901187679748" }, "name": "Firewall Policies", "description": "This module deploys a Firewall Policy." }, "definitions": { - "managedIdentitiesType": { - "type": "object", - "properties": { - "userAssignedResourceIds": { - "type": "array", - "items": { - "type": "string" - }, - "metadata": { - "description": "Optional. The resource ID(s) to assign to the resource." - } - } - }, - "nullable": true - }, "roleAssignmentType": { "type": "array", "items": { @@ -124,6 +109,27 @@ } }, "nullable": true + }, + "managedIdentityOnlyUserAssignedType": { + "type": "object", + "properties": { + "userAssignedResourceIds": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "metadata": { + "description": "Optional. The resource ID(s) to assign to the resource. Required if a user assigned identity is used for encryption." + } + } + }, + "metadata": { + "description": "An AVM-aligned type for a managed identity configuration. To be used if only user-assigned identities are supported by the resource provider.", + "__bicep_imported_from!": { + "sourceTemplate": "br:mcr.microsoft.com/bicep/avm/utl/types/avm-common-types:0.5.1" + } + } } }, "parameters": { @@ -148,7 +154,8 @@ } }, "managedIdentities": { - "$ref": "#/definitions/managedIdentitiesType", + "$ref": "#/definitions/managedIdentityOnlyUserAssignedType", + "nullable": true, "metadata": { "description": "Optional. The managed identity definition for this resource." } @@ -470,8 +477,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12754430700106125957" + "version": "0.33.93.31351", + "templateHash": "16872244979902179380" }, "name": "Firewall Policy Rule Collection Groups", "description": "This module deploys a Firewall Policy Rule Collection Group." diff --git a/avm/res/network/firewall-policy/rule-collection-group/main.json b/avm/res/network/firewall-policy/rule-collection-group/main.json index ba672d4a41..f313d69539 100644 --- a/avm/res/network/firewall-policy/rule-collection-group/main.json +++ b/avm/res/network/firewall-policy/rule-collection-group/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12754430700106125957" + "version": "0.33.93.31351", + "templateHash": "16872244979902179380" }, "name": "Firewall Policy Rule Collection Groups", "description": "This module deploys a Firewall Policy Rule Collection Group." diff --git a/avm/res/network/nat-gateway/main.bicep b/avm/res/network/nat-gateway/main.bicep index 04a52c5ae1..dbccb31d2c 100644 --- a/avm/res/network/nat-gateway/main.bicep +++ b/avm/res/network/nat-gateway/main.bicep @@ -43,6 +43,8 @@ param tags object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') 'Network Contributor': subscriptionResourceId( @@ -110,7 +112,7 @@ module publicIPAddresses 'br/public:avm/res/network/public-ip-address:0.5.1' = [ skuTier: publicIPAddressObject.?skuTier tags: publicIPAddressObject.?tags ?? tags zones: publicIPAddressObject.?zones ?? (zone != 0 ? [zone] : null) - enableTelemetry: publicIPAddressObject.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry ddosSettings: publicIPAddressObject.?ddosSettings dnsSettings: publicIPAddressObject.?dnsSettings idleTimeoutInMinutes: publicIPAddressObject.?idleTimeoutInMinutes @@ -139,7 +141,7 @@ module publicIPPrefixes 'br/public:avm/res/network/public-ip-prefix:0.4.1' = [ customIPPrefix: publicIPPrefixObject.?customIPPrefix roleAssignments: publicIPPrefixObject.?roleAssignments tags: publicIPPrefixObject.?tags ?? tags - enableTelemetry: publicIPPrefixObject.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry } } ] diff --git a/avm/res/network/nat-gateway/main.json b/avm/res/network/nat-gateway/main.json index ef2596e616..a3b08d63eb 100644 --- a/avm/res/network/nat-gateway/main.json +++ b/avm/res/network/nat-gateway/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6945935143037087267" + "version": "0.33.93.31351", + "templateHash": "1228674487075439131" }, "name": "NAT Gateways", "description": "This module deploys a NAT Gateway." @@ -207,6 +207,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Network Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4d97b98b-1d4f-4787-a291-c67834d212e7')]", @@ -344,7 +345,7 @@ "value": "[coalesce(tryGet(coalesce(parameters('publicIPAddressObjects'), createArray())[copyIndex()], 'zones'), if(not(equals(parameters('zone'), 0)), createArray(parameters('zone')), null()))]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('publicIPAddressObjects'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "ddosSettings": { "value": "[tryGet(coalesce(parameters('publicIPAddressObjects'), createArray())[copyIndex()], 'ddosSettings')]" @@ -1005,8 +1006,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1685955788035758459" + "version": "0.33.93.31351", + "templateHash": "15600590522677918373" } }, "parameters": { @@ -1073,7 +1074,7 @@ "value": "[coalesce(tryGet(coalesce(parameters('publicIPPrefixObjects'), createArray())[copyIndex()], 'tags'), parameters('tags'))]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('publicIPPrefixObjects'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { @@ -1419,8 +1420,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1685955788035758459" + "version": "0.33.93.31351", + "templateHash": "15600590522677918373" } }, "parameters": { diff --git a/avm/res/network/virtual-network-gateway/README.md b/avm/res/network/virtual-network-gateway/README.md index 4d876db399..5992fa5c57 100644 --- a/avm/res/network/virtual-network-gateway/README.md +++ b/avm/res/network/virtual-network-gateway/README.md @@ -2446,7 +2446,6 @@ param vpnType = 'RouteBased' | [`clusterSettings`](#parameter-clustersettings) | object | Specifies one of the following four configurations: Active-Active with (clusterMode = activeActiveBgp) or without (clusterMode = activeActiveNoBgp) BGP, Active-Passive with (clusterMode = activePassiveBgp) or without (clusterMode = activePassiveNoBgp) BGP. | | [`gatewayType`](#parameter-gatewaytype) | string | Specifies the gateway type. E.g. VPN, ExpressRoute. | | [`name`](#parameter-name) | string | Specifies the Virtual Network Gateway name. | -| [`skuName`](#parameter-skuname) | string | The SKU of the Gateway. | | [`vNetResourceId`](#parameter-vnetresourceid) | string | Virtual Network resource ID. | **Optional parameters** @@ -2474,6 +2473,7 @@ param vpnType = 'RouteBased' | [`publicIPPrefixResourceId`](#parameter-publicipprefixresourceid) | string | Resource ID of the Public IP Prefix object. This is only needed if you want your Public IPs created in a PIP Prefix. | | [`publicIpZones`](#parameter-publicipzones) | array | Specifies the zones of the Public IP address. Basic IP SKU does not support Availability Zones. | | [`roleAssignments`](#parameter-roleassignments) | array | Array of role assignments to create. | +| [`skuName`](#parameter-skuname) | string | The SKU of the Gateway. | | [`tags`](#parameter-tags) | object | Tags of the resource. | | [`vpnClientAadConfiguration`](#parameter-vpnclientaadconfiguration) | object | Configuration for AAD Authentication for P2S Tunnel Type, Cannot be configured if clientRootCertData is provided. | | [`vpnClientAddressPoolPrefix`](#parameter-vpnclientaddresspoolprefix) | string | The IP address range from which VPN clients will receive an IP address when connected. Range specified must not overlap with on-premise network. | @@ -2508,36 +2508,6 @@ Specifies the Virtual Network Gateway name. - Required: Yes - Type: string -### Parameter: `skuName` - -The SKU of the Gateway. - -- Required: No -- Type: string -- Default: `[if(equals(parameters('gatewayType'), 'VPN'), 'VpnGw1AZ', 'ErGw1AZ')]` -- Allowed: - ```Bicep - [ - 'Basic' - 'ErGw1AZ' - 'ErGw2AZ' - 'ErGw3AZ' - 'HighPerformance' - 'Standard' - 'UltraPerformance' - 'VpnGw1' - 'VpnGw1AZ' - 'VpnGw2' - 'VpnGw2AZ' - 'VpnGw3' - 'VpnGw3AZ' - 'VpnGw4' - 'VpnGw4AZ' - 'VpnGw5' - 'VpnGw5AZ' - ] - ``` - ### Parameter: `vNetResourceId` Virtual Network resource ID. @@ -3120,6 +3090,36 @@ The principal type of the assigned principal ID. ] ``` +### Parameter: `skuName` + +The SKU of the Gateway. + +- Required: No +- Type: string +- Default: `[if(equals(parameters('gatewayType'), 'VPN'), 'VpnGw1AZ', 'ErGw1AZ')]` +- Allowed: + ```Bicep + [ + 'Basic' + 'ErGw1AZ' + 'ErGw2AZ' + 'ErGw3AZ' + 'HighPerformance' + 'Standard' + 'UltraPerformance' + 'VpnGw1' + 'VpnGw1AZ' + 'VpnGw2' + 'VpnGw2AZ' + 'VpnGw3' + 'VpnGw3AZ' + 'VpnGw4' + 'VpnGw4AZ' + 'VpnGw5' + 'VpnGw5AZ' + ] + ``` + ### Parameter: `tags` Tags of the resource. diff --git a/avm/res/network/virtual-network-gateway/main.bicep b/avm/res/network/virtual-network-gateway/main.bicep index a213b41020..ebadcbb6c6 100644 --- a/avm/res/network/virtual-network-gateway/main.bicep +++ b/avm/res/network/virtual-network-gateway/main.bicep @@ -41,7 +41,7 @@ param gatewayType string ]) param vpnGatewayGeneration string = 'None' -@description('Required. The SKU of the Gateway.') +@description('Optional. The SKU of the Gateway.') @allowed([ 'Basic' 'VpnGw1' @@ -134,6 +134,8 @@ param vpnClientAadConfiguration object = {} // Variables // // ================// +var enableReferencedModulesTelemetry = false + // Other Variables var gatewayPipAllocationMethod = skuName == 'Basic' ? 'Dynamic' : 'Static' @@ -352,6 +354,7 @@ module publicIPAddress 'br/public:avm/res/network/public-ip-address:0.5.1' = [ : virtualGatewayPublicIpName domainNameLabelScope: '' } + enableTelemetry: enableReferencedModulesTelemetry } } ] diff --git a/avm/res/network/virtual-network-gateway/main.json b/avm/res/network/virtual-network-gateway/main.json index 55383394d8..8b729884ea 100644 --- a/avm/res/network/virtual-network-gateway/main.json +++ b/avm/res/network/virtual-network-gateway/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7603428291495557736" + "version": "0.33.93.31351", + "templateHash": "9238138996696938841" }, "name": "Virtual Network Gateways", "description": "This module deploys a Virtual Network Gateway." @@ -469,7 +469,7 @@ "ErGw3AZ" ], "metadata": { - "description": "Required. The SKU of the Gateway." + "description": "Optional. The SKU of the Gateway." } }, "vpnType": { @@ -626,6 +626,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "gatewayPipAllocationMethod": "[if(equals(parameters('skuName'), 'Basic'), 'Dynamic', 'Static')]", "isExpressRoute": "[equals(parameters('gatewayType'), 'ExpressRoute')]", "vpnTypeVar": "[if(not(variables('isExpressRoute')), parameters('vpnType'), 'PolicyBased')]", @@ -817,6 +818,9 @@ "domainNameLabel": "[if(equals(length(variables('arrayPipNameVar')), length(parameters('domainNameLabel'))), parameters('domainNameLabel')[copyIndex()], variables('arrayPipNameVar')[copyIndex()])]", "domainNameLabelScope": "" } + }, + "enableTelemetry": { + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { @@ -1481,8 +1485,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9322793849134607569" + "version": "0.33.93.31351", + "templateHash": "10378291342967831694" }, "name": "VPN Gateway NAT Rules", "description": "This module deploys a Virtual Network Gateway NAT Rule." diff --git a/avm/res/network/virtual-network-gateway/nat-rule/main.json b/avm/res/network/virtual-network-gateway/nat-rule/main.json index 368de8bf96..c58c7e0ef5 100644 --- a/avm/res/network/virtual-network-gateway/nat-rule/main.json +++ b/avm/res/network/virtual-network-gateway/nat-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9322793849134607569" + "version": "0.33.93.31351", + "templateHash": "10378291342967831694" }, "name": "VPN Gateway NAT Rules", "description": "This module deploys a Virtual Network Gateway NAT Rule." diff --git a/avm/res/operational-insights/workspace/main.bicep b/avm/res/operational-insights/workspace/main.bicep index d5b2e65c13..1f4e58356c 100644 --- a/avm/res/operational-insights/workspace/main.bicep +++ b/avm/res/operational-insights/workspace/main.bicep @@ -102,6 +102,8 @@ param tags object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -360,7 +362,7 @@ module logAnalyticsWorkspace_solutions 'br/public:avm/res/operations-management/ location: location logAnalyticsWorkspaceName: logAnalyticsWorkspace.name plan: gallerySolution.plan - enableTelemetry: gallerySolution.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry } } ] diff --git a/avm/res/operational-insights/workspace/main.json b/avm/res/operational-insights/workspace/main.json index 4debca7e83..99751975f2 100644 --- a/avm/res/operational-insights/workspace/main.json +++ b/avm/res/operational-insights/workspace/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "2355986442928910370" + "templateHash": "3924872257187155355" }, "name": "Log Analytics Workspaces", "description": "This module deploys a Log Analytics Workspace." @@ -1171,6 +1171,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), 'SystemAssigned', if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -2784,7 +2785,7 @@ "value": "[coalesce(parameters('gallerySolutions'), createArray())[copyIndex()].plan]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('gallerySolutions'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" } }, "template": { diff --git a/avm/res/purview/account/main.bicep b/avm/res/purview/account/main.bicep index 0b77d542e6..880bb861e8 100644 --- a/avm/res/purview/account/main.bicep +++ b/avm/res/purview/account/main.bicep @@ -78,6 +78,8 @@ param lock lockType? // Variables // // =========== // +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -224,7 +226,7 @@ module account_accountPrivateEndpoints 'br/public:avm/res/network/private-endpoi ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', @@ -279,7 +281,7 @@ module account_portalPrivateEndpoints 'br/public:avm/res/network/private-endpoin ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', @@ -334,7 +336,7 @@ module account_storageBlobPrivateEndpoints 'br/public:avm/res/network/private-en ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', @@ -389,7 +391,7 @@ module account_storageQueuePrivateEndpoints 'br/public:avm/res/network/private-e ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', @@ -444,7 +446,7 @@ module account_eventHubPrivateEndpoints 'br/public:avm/res/network/private-endpo ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/purview/account/main.json b/avm/res/purview/account/main.json index 816e454b55..50d7504b56 100644 --- a/avm/res/purview/account/main.json +++ b/avm/res/purview/account/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7064847066299467788" + "version": "0.33.93.31351", + "templateHash": "11260171183181471992" }, "name": "Purview Accounts", "description": "This module deploys a Purview Account." @@ -741,6 +741,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": { "type": "[if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned')]", @@ -892,7 +893,7 @@ "value": "[coalesce(parameters('accountPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('accountPrivateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('accountPrivateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('accountPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -1649,7 +1650,7 @@ "value": "[coalesce(parameters('portalPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('portalPrivateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('portalPrivateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('portalPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -2406,7 +2407,7 @@ "value": "[coalesce(parameters('storageBlobPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('storageBlobPrivateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('storageBlobPrivateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('storageBlobPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -3163,7 +3164,7 @@ "value": "[coalesce(parameters('storageQueuePrivateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('storageQueuePrivateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('storageQueuePrivateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('storageQueuePrivateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -3920,7 +3921,7 @@ "value": "[coalesce(parameters('eventHubPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('eventHubPrivateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('eventHubPrivateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('eventHubPrivateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/recovery-services/vault/backup-config/main.json b/avm/res/recovery-services/vault/backup-config/main.json index b855197f7c..92fbc77e84 100644 --- a/avm/res/recovery-services/vault/backup-config/main.json +++ b/avm/res/recovery-services/vault/backup-config/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "1001038691929568740" + "version": "0.33.93.31351", + "templateHash": "9852518266265355905" }, "name": "Recovery Services Vault Backup Config", "description": "This module deploys a Recovery Services Vault Backup Config." diff --git a/avm/res/recovery-services/vault/backup-fabric/protection-container/protected-item/main.json b/avm/res/recovery-services/vault/backup-fabric/protection-container/protected-item/main.json index 6abfc869ee..d103b9ce0e 100644 --- a/avm/res/recovery-services/vault/backup-fabric/protection-container/protected-item/main.json +++ b/avm/res/recovery-services/vault/backup-fabric/protection-container/protected-item/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14694277488209426813" + "version": "0.33.93.31351", + "templateHash": "10294897873641603439" }, "name": "Recovery Service Vaults Protection Container Protected Item", "description": "This module deploys a Recovery Services Vault Protection Container Protected Item." diff --git a/avm/res/recovery-services/vault/backup-policy/main.json b/avm/res/recovery-services/vault/backup-policy/main.json index aadb42246e..8fb6e32b4e 100644 --- a/avm/res/recovery-services/vault/backup-policy/main.json +++ b/avm/res/recovery-services/vault/backup-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "18409788320626401161" + "version": "0.33.93.31351", + "templateHash": "13593639619492360097" }, "name": "Recovery Services Vault Backup Policies", "description": "This module deploys a Recovery Services Vault Backup Policy." diff --git a/avm/res/recovery-services/vault/backup-storage-config/main.json b/avm/res/recovery-services/vault/backup-storage-config/main.json index 795ad5446f..cb23923dae 100644 --- a/avm/res/recovery-services/vault/backup-storage-config/main.json +++ b/avm/res/recovery-services/vault/backup-storage-config/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17375948662410777678" + "version": "0.33.93.31351", + "templateHash": "13863529138439550763" }, "name": "Recovery Services Vault Backup Storage Config", "description": "This module deploys a Recovery Service Vault Backup Storage Configuration." diff --git a/avm/res/recovery-services/vault/main.bicep b/avm/res/recovery-services/vault/main.bicep index 8873f03850..002df122a4 100644 --- a/avm/res/recovery-services/vault/main.bicep +++ b/avm/res/recovery-services/vault/main.bicep @@ -77,6 +77,8 @@ import { customerManagedKeyWithAutoRotateType } from 'br/public:avm/utl/types/av @description('Optional. The customer managed key definition.') param customerManagedKey customerManagedKeyWithAutoRotateType? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -403,7 +405,7 @@ module rsv_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.10.1' ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/recovery-services/vault/main.json b/avm/res/recovery-services/vault/main.json index 5a6c5abfec..834273be06 100644 --- a/avm/res/recovery-services/vault/main.json +++ b/avm/res/recovery-services/vault/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15610768134592067919" + "version": "0.33.93.31351", + "templateHash": "6993195762807838890" }, "name": "Recovery Services Vaults", "description": "This module deploys a Recovery Services Vault." @@ -1420,6 +1420,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1618,8 +1619,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8049192542960910465" + "version": "0.33.93.31351", + "templateHash": "3521978883504239263" }, "name": "Recovery Services Vault Replication Fabrics", "description": "This module deploys a Replication Fabric for Azure to Azure disaster recovery scenario of Azure Site Recovery.\n\n> Note: this module currently support only the `instanceType: 'Azure'` scenario." @@ -1788,8 +1789,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "852813454503469785" + "version": "0.33.93.31351", + "templateHash": "17757271388548981503" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Containers", "description": "This module deploys a Recovery Services Vault Replication Protection Container.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." @@ -1951,8 +1952,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17160081039503517469" + "version": "0.33.93.31351", + "templateHash": "15162808708445236734" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Container Replication Protection Container Mappings", "description": "This module deploys a Recovery Services Vault (RSV) Replication Protection Container Mapping.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." @@ -2185,8 +2186,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10948839526456404680" + "version": "0.33.93.31351", + "templateHash": "11177184067861792085" }, "name": "Recovery Services Vault Replication Policies", "description": "This module deploys a Recovery Services Vault Replication Policy for Disaster Recovery scenario.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." @@ -2309,8 +2310,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17375948662410777678" + "version": "0.33.93.31351", + "templateHash": "13863529138439550763" }, "name": "Recovery Services Vault Backup Storage Config", "description": "This module deploys a Recovery Service Vault Backup Storage Configuration." @@ -2432,8 +2433,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14694277488209426813" + "version": "0.33.93.31351", + "templateHash": "10294897873641603439" }, "name": "Recovery Service Vaults Protection Container Protected Item", "description": "This module deploys a Recovery Services Vault Protection Container Protected Item." @@ -2568,8 +2569,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "18409788320626401161" + "version": "0.33.93.31351", + "templateHash": "13593639619492360097" }, "name": "Recovery Services Vault Backup Policies", "description": "This module deploys a Recovery Services Vault Backup Policy." @@ -2676,8 +2677,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "1001038691929568740" + "version": "0.33.93.31351", + "templateHash": "9852518266265355905" }, "name": "Recovery Services Vault Backup Config", "description": "This module deploys a Recovery Services Vault Backup Config." @@ -2849,8 +2850,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13714844551703046217" + "version": "0.33.93.31351", + "templateHash": "7655757666522414851" }, "name": "Recovery Services Vault Replication Alert Settings", "description": "This module deploys a Recovery Services Vault Replication Alert Settings." @@ -2970,7 +2971,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/recovery-services/vault/replication-alert-setting/main.json b/avm/res/recovery-services/vault/replication-alert-setting/main.json index 8f3cc16a47..577ad43e09 100644 --- a/avm/res/recovery-services/vault/replication-alert-setting/main.json +++ b/avm/res/recovery-services/vault/replication-alert-setting/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13714844551703046217" + "version": "0.33.93.31351", + "templateHash": "7655757666522414851" }, "name": "Recovery Services Vault Replication Alert Settings", "description": "This module deploys a Recovery Services Vault Replication Alert Settings." diff --git a/avm/res/recovery-services/vault/replication-fabric/main.json b/avm/res/recovery-services/vault/replication-fabric/main.json index 8869864c78..2d48a4282b 100644 --- a/avm/res/recovery-services/vault/replication-fabric/main.json +++ b/avm/res/recovery-services/vault/replication-fabric/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8049192542960910465" + "version": "0.33.93.31351", + "templateHash": "3521978883504239263" }, "name": "Recovery Services Vault Replication Fabrics", "description": "This module deploys a Replication Fabric for Azure to Azure disaster recovery scenario of Azure Site Recovery.\n\n> Note: this module currently support only the `instanceType: 'Azure'` scenario." @@ -175,8 +175,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "852813454503469785" + "version": "0.33.93.31351", + "templateHash": "17757271388548981503" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Containers", "description": "This module deploys a Recovery Services Vault Replication Protection Container.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." @@ -338,8 +338,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17160081039503517469" + "version": "0.33.93.31351", + "templateHash": "15162808708445236734" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Container Replication Protection Container Mappings", "description": "This module deploys a Recovery Services Vault (RSV) Replication Protection Container Mapping.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." diff --git a/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/main.json b/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/main.json index cab7041379..bc93ff58ae 100644 --- a/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/main.json +++ b/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "852813454503469785" + "version": "0.33.93.31351", + "templateHash": "17757271388548981503" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Containers", "description": "This module deploys a Recovery Services Vault Replication Protection Container.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." @@ -168,8 +168,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17160081039503517469" + "version": "0.33.93.31351", + "templateHash": "15162808708445236734" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Container Replication Protection Container Mappings", "description": "This module deploys a Recovery Services Vault (RSV) Replication Protection Container Mapping.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." diff --git a/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/replication-protection-container-mapping/main.json b/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/replication-protection-container-mapping/main.json index 4e34240f55..3e30129d65 100644 --- a/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/replication-protection-container-mapping/main.json +++ b/avm/res/recovery-services/vault/replication-fabric/replication-protection-container/replication-protection-container-mapping/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17160081039503517469" + "version": "0.33.93.31351", + "templateHash": "15162808708445236734" }, "name": "Recovery Services Vault Replication Fabric Replication Protection Container Replication Protection Container Mappings", "description": "This module deploys a Recovery Services Vault (RSV) Replication Protection Container Mapping.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." diff --git a/avm/res/recovery-services/vault/replication-policy/main.json b/avm/res/recovery-services/vault/replication-policy/main.json index 8686c9013f..6b0992305b 100644 --- a/avm/res/recovery-services/vault/replication-policy/main.json +++ b/avm/res/recovery-services/vault/replication-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10948839526456404680" + "version": "0.33.93.31351", + "templateHash": "11177184067861792085" }, "name": "Recovery Services Vault Replication Policies", "description": "This module deploys a Recovery Services Vault Replication Policy for Disaster Recovery scenario.\n\n> **Note**: this version of the module only supports the `instanceType: 'A2A'` scenario." diff --git a/avm/res/relay/namespace/authorization-rule/main.json b/avm/res/relay/namespace/authorization-rule/main.json index ac4be6dca4..c7b353c5ce 100644 --- a/avm/res/relay/namespace/authorization-rule/main.json +++ b/avm/res/relay/namespace/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15268013886112846705" + "version": "0.33.93.31351", + "templateHash": "12396097431548310332" }, "name": "Relay Namespace Authorization Rules", "description": "This module deploys a Relay Namespace Authorization Rule." diff --git a/avm/res/relay/namespace/hybrid-connection/authorization-rule/main.json b/avm/res/relay/namespace/hybrid-connection/authorization-rule/main.json index 17ffa14e8b..2d443b1436 100644 --- a/avm/res/relay/namespace/hybrid-connection/authorization-rule/main.json +++ b/avm/res/relay/namespace/hybrid-connection/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15677572676731388129" + "version": "0.33.93.31351", + "templateHash": "5879619403570334872" }, "name": "Hybrid Connection Authorization Rules", "description": "This module deploys a Hybrid Connection Authorization Rule." diff --git a/avm/res/relay/namespace/hybrid-connection/main.json b/avm/res/relay/namespace/hybrid-connection/main.json index 823961e7b5..01d445634a 100644 --- a/avm/res/relay/namespace/hybrid-connection/main.json +++ b/avm/res/relay/namespace/hybrid-connection/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11660138499437785479" + "version": "0.33.93.31351", + "templateHash": "3864537269096148710" }, "name": "Relay Namespace Hybrid Connections", "description": "This module deploys a Relay Namespace Hybrid Connection." @@ -298,8 +298,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15677572676731388129" + "version": "0.33.93.31351", + "templateHash": "5879619403570334872" }, "name": "Hybrid Connection Authorization Rules", "description": "This module deploys a Hybrid Connection Authorization Rule." diff --git a/avm/res/relay/namespace/main.bicep b/avm/res/relay/namespace/main.bicep index bbfac6b1b7..e408e83efe 100644 --- a/avm/res/relay/namespace/main.bicep +++ b/avm/res/relay/namespace/main.bicep @@ -58,6 +58,8 @@ param hybridConnections array = [] @description('Optional. The wcf relays to create in the relay namespace.') param wcfRelays array = [] +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { 'Azure Relay Listener': subscriptionResourceId( 'Microsoft.Authorization/roleDefinitions', @@ -252,7 +254,7 @@ module namespace_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/relay/namespace/main.json b/avm/res/relay/namespace/main.json index 38cba7552c..06a1867b0e 100644 --- a/avm/res/relay/namespace/main.json +++ b/avm/res/relay/namespace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12918595360382784205" + "version": "0.33.93.31351", + "templateHash": "8229307748074468927" }, "name": "Relay Namespaces", "description": "This module deploys a Relay Namespace" @@ -677,6 +677,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Azure Relay Listener": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '26e0b698-aa6d-4085-9386-aadae190014d')]", "Azure Relay Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '2787bf04-f1f5-4bfe-8383-c8a24483ee38')]", @@ -827,8 +828,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15268013886112846705" + "version": "0.33.93.31351", + "templateHash": "12396097431548310332" }, "name": "Relay Namespace Authorization Rules", "description": "This module deploys a Relay Namespace Authorization Rule." @@ -931,8 +932,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10160210519805428977" + "version": "0.33.93.31351", + "templateHash": "10666964284324639309" }, "name": "Relay Namespace Network Rules Sets", "description": "This module deploys a Relay Namespace Network Rule Set." @@ -1060,8 +1061,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11660138499437785479" + "version": "0.33.93.31351", + "templateHash": "3864537269096148710" }, "name": "Relay Namespace Hybrid Connections", "description": "This module deploys a Relay Namespace Hybrid Connection." @@ -1353,8 +1354,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15677572676731388129" + "version": "0.33.93.31351", + "templateHash": "5879619403570334872" }, "name": "Hybrid Connection Authorization Rules", "description": "This module deploys a Hybrid Connection Authorization Rule." @@ -1503,8 +1504,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14336768507394712835" + "version": "0.33.93.31351", + "templateHash": "15007312304350182610" }, "name": "Relay Namespace WCF Relays", "description": "This module deploys a Relay Namespace WCF Relay." @@ -1816,8 +1817,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8198137222619344066" + "version": "0.33.93.31351", + "templateHash": "5328221054932309931" }, "name": "WCF Relay Authorization Rules", "description": "This module deploys a WCF Relay Authorization Rule." @@ -1948,7 +1949,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/relay/namespace/network-rule-set/main.json b/avm/res/relay/namespace/network-rule-set/main.json index 5677e5ebe8..bd17928ade 100644 --- a/avm/res/relay/namespace/network-rule-set/main.json +++ b/avm/res/relay/namespace/network-rule-set/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10160210519805428977" + "version": "0.33.93.31351", + "templateHash": "10666964284324639309" }, "name": "Relay Namespace Network Rules Sets", "description": "This module deploys a Relay Namespace Network Rule Set." diff --git a/avm/res/relay/namespace/wcf-relay/authorization-rule/main.json b/avm/res/relay/namespace/wcf-relay/authorization-rule/main.json index f8adc28b3f..33b385a16b 100644 --- a/avm/res/relay/namespace/wcf-relay/authorization-rule/main.json +++ b/avm/res/relay/namespace/wcf-relay/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8198137222619344066" + "version": "0.33.93.31351", + "templateHash": "5328221054932309931" }, "name": "WCF Relay Authorization Rules", "description": "This module deploys a WCF Relay Authorization Rule." diff --git a/avm/res/relay/namespace/wcf-relay/main.json b/avm/res/relay/namespace/wcf-relay/main.json index a78cbdd889..7223c5ce6c 100644 --- a/avm/res/relay/namespace/wcf-relay/main.json +++ b/avm/res/relay/namespace/wcf-relay/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14336768507394712835" + "version": "0.33.93.31351", + "templateHash": "15007312304350182610" }, "name": "Relay Namespace WCF Relays", "description": "This module deploys a Relay Namespace WCF Relay." @@ -318,8 +318,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8198137222619344066" + "version": "0.33.93.31351", + "templateHash": "5328221054932309931" }, "name": "WCF Relay Authorization Rules", "description": "This module deploys a WCF Relay Authorization Rule." diff --git a/avm/res/search/search-service/main.bicep b/avm/res/search/search-service/main.bicep index e2a7ef28ba..e07785c4fa 100644 --- a/avm/res/search/search-service/main.bicep +++ b/avm/res/search/search-service/main.bicep @@ -108,6 +108,8 @@ param tags object? // Variables // // ============= // +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -295,7 +297,7 @@ module searchService_privateEndpoints 'br/public:avm/res/network/private-endpoin ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/search/search-service/main.json b/avm/res/search/search-service/main.json index 140b077e8c..c944b80e16 100644 --- a/avm/res/search/search-service/main.json +++ b/avm/res/search/search-service/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16224557122759439562" + "version": "0.33.93.31351", + "templateHash": "1358113075726847984" }, "name": "Search Services", "description": "This module deploys a Search Service." @@ -850,6 +850,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', '')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1009,7 +1010,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -1793,8 +1794,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13664767556137402121" + "version": "0.33.93.31351", + "templateHash": "16868169528574127897" }, "name": "Search Services Private Link Resources", "description": "This module deploys a Search Service Private Link Resource." @@ -1913,8 +1914,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5455406267618725608" + "version": "0.33.93.31351", + "templateHash": "8130113748408624333" } }, "definitions": { diff --git a/avm/res/search/search-service/shared-private-link-resource/main.json b/avm/res/search/search-service/shared-private-link-resource/main.json index b7066cf81c..ef2a23f9db 100644 --- a/avm/res/search/search-service/shared-private-link-resource/main.json +++ b/avm/res/search/search-service/shared-private-link-resource/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "10412795355958046746" + "version": "0.33.93.31351", + "templateHash": "16868169528574127897" }, "name": "Search Services Private Link Resources", "description": "This module deploys a Search Service Private Link Resource." diff --git a/avm/res/service-bus/namespace/authorization-rule/main.json b/avm/res/service-bus/namespace/authorization-rule/main.json index 4f2e73f83c..2b2fd0d6fd 100644 --- a/avm/res/service-bus/namespace/authorization-rule/main.json +++ b/avm/res/service-bus/namespace/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11843582332513126053" + "version": "0.33.93.31351", + "templateHash": "17477673416429447540" }, "name": "Service Bus Namespace Authorization Rules", "description": "This module deploys a Service Bus Namespace Authorization Rule." diff --git a/avm/res/service-bus/namespace/disaster-recovery-config/main.json b/avm/res/service-bus/namespace/disaster-recovery-config/main.json index b44ae879f5..57cd1d02fd 100644 --- a/avm/res/service-bus/namespace/disaster-recovery-config/main.json +++ b/avm/res/service-bus/namespace/disaster-recovery-config/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "953280430524155799" + "version": "0.33.93.31351", + "templateHash": "2655313592794830711" }, "name": "Service Bus Namespace Disaster Recovery Configs", "description": "This module deploys a Service Bus Namespace Disaster Recovery Config" diff --git a/avm/res/service-bus/namespace/main.bicep b/avm/res/service-bus/namespace/main.bicep index 3c4c9e1c9e..3b94ee3149 100644 --- a/avm/res/service-bus/namespace/main.bicep +++ b/avm/res/service-bus/namespace/main.bicep @@ -103,6 +103,8 @@ param customerManagedKey customerManagedKeyWithAutoRotateType? @description('Optional. Enable infrastructure encryption (double encryption). Note, this setting requires the configuration of Customer-Managed-Keys (CMK) via the corresponding module parameters.') param requireInfrastructureEncryption bool = true +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -412,7 +414,7 @@ module serviceBusNamespace_privateEndpoints 'br/public:avm/res/network/private-e ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/service-bus/namespace/main.json b/avm/res/service-bus/namespace/main.json index 0ad4bee63d..55dd4725e8 100644 --- a/avm/res/service-bus/namespace/main.json +++ b/avm/res/service-bus/namespace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7026797580840545876" + "version": "0.33.93.31351", + "templateHash": "6254025735858586821" }, "name": "Service Bus Namespaces", "description": "This module deploys a Service Bus Namespace." @@ -1672,6 +1672,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1865,8 +1866,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14374854229940696860" + "version": "0.33.93.31351", + "templateHash": "17477673416429447540" }, "name": "Service Bus Namespace Authorization Rules", "description": "This module deploys a Service Bus Namespace Authorization Rule." @@ -1968,8 +1969,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17399088623294854705" + "version": "0.33.93.31351", + "templateHash": "2655313592794830711" }, "name": "Service Bus Namespace Disaster Recovery Configs", "description": "This module deploys a Service Bus Namespace Disaster Recovery Config" @@ -2072,8 +2073,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "16312291233623934616" + "version": "0.33.93.31351", + "templateHash": "8888372741848926270" }, "name": "Service Bus Namespace Migration Configuration", "description": "This module deploys a Service Bus Namespace Migration Configuration." @@ -2176,8 +2177,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17182735425325794067" + "version": "0.33.93.31351", + "templateHash": "8455455085685736737" }, "name": "Service Bus Namespace Network Rule Sets", "description": "This module deploys a ServiceBus Namespace Network Rule Set." @@ -2375,8 +2376,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4119251299070252186" + "version": "0.33.93.31351", + "templateHash": "17714956813335477440" }, "name": "Service Bus Namespace Queue", "description": "This module deploys a Service Bus Namespace Queue." @@ -2774,8 +2775,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7526885294323298219" + "version": "0.33.93.31351", + "templateHash": "17543469200710595087" }, "name": "Service Bus Namespace Queue Authorization Rules", "description": "This module deploys a Service Bus Namespace Queue Authorization Rule." @@ -2954,8 +2955,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15157624750923042287" + "version": "0.33.93.31351", + "templateHash": "7784646681423046069" }, "name": "Service Bus Namespace Topic", "description": "This module deploys a Service Bus Namespace Topic." @@ -3636,8 +3637,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8184508565282070207" + "version": "0.33.93.31351", + "templateHash": "13311724266758161854" }, "name": "Service Bus Namespace Topic Authorization Rules", "description": "This module deploys a Service Bus Namespace Topic Authorization Rule." @@ -3789,8 +3790,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13380479271935330273" + "version": "0.33.93.31351", + "templateHash": "2795737246825130048" }, "name": "Service Bus Namespace Topic Subscription", "description": "This module deploys a Service Bus Namespace Topic Subscription." @@ -4183,8 +4184,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4831934980907711659" + "version": "0.33.93.31351", + "templateHash": "15176672876775916889" }, "name": "Service Bus Namespace Topic Subscription Rule", "description": "This module deploys a Service Bus Namespace Topic Subscription Rule." @@ -4392,7 +4393,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/service-bus/namespace/migration-configuration/main.json b/avm/res/service-bus/namespace/migration-configuration/main.json index 792a92d00a..a2dfe0a849 100644 --- a/avm/res/service-bus/namespace/migration-configuration/main.json +++ b/avm/res/service-bus/namespace/migration-configuration/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1185508580247696644" + "version": "0.33.93.31351", + "templateHash": "8888372741848926270" }, "name": "Service Bus Namespace Migration Configuration", "description": "This module deploys a Service Bus Namespace Migration Configuration." diff --git a/avm/res/service-bus/namespace/network-rule-set/main.json b/avm/res/service-bus/namespace/network-rule-set/main.json index e34bbc972e..51297c6118 100644 --- a/avm/res/service-bus/namespace/network-rule-set/main.json +++ b/avm/res/service-bus/namespace/network-rule-set/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "286643555978658471" + "version": "0.33.93.31351", + "templateHash": "8455455085685736737" }, "name": "Service Bus Namespace Network Rule Sets", "description": "This module deploys a ServiceBus Namespace Network Rule Set." diff --git a/avm/res/service-bus/namespace/queue/authorization-rule/main.json b/avm/res/service-bus/namespace/queue/authorization-rule/main.json index 1050e888b4..f22241607a 100644 --- a/avm/res/service-bus/namespace/queue/authorization-rule/main.json +++ b/avm/res/service-bus/namespace/queue/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4106322932640263973" + "version": "0.33.93.31351", + "templateHash": "17543469200710595087" }, "name": "Service Bus Namespace Queue Authorization Rules", "description": "This module deploys a Service Bus Namespace Queue Authorization Rule." diff --git a/avm/res/service-bus/namespace/queue/main.json b/avm/res/service-bus/namespace/queue/main.json index 2651f894ff..fd8cd12ede 100644 --- a/avm/res/service-bus/namespace/queue/main.json +++ b/avm/res/service-bus/namespace/queue/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2963369845110660460" + "version": "0.33.93.31351", + "templateHash": "17714956813335477440" }, "name": "Service Bus Namespace Queue", "description": "This module deploys a Service Bus Namespace Queue." @@ -404,8 +404,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4106322932640263973" + "version": "0.33.93.31351", + "templateHash": "17543469200710595087" }, "name": "Service Bus Namespace Queue Authorization Rules", "description": "This module deploys a Service Bus Namespace Queue Authorization Rule." diff --git a/avm/res/service-bus/namespace/topic/authorization-rule/main.json b/avm/res/service-bus/namespace/topic/authorization-rule/main.json index 04d90f65ad..d141262ed1 100644 --- a/avm/res/service-bus/namespace/topic/authorization-rule/main.json +++ b/avm/res/service-bus/namespace/topic/authorization-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9054915416075794466" + "version": "0.33.93.31351", + "templateHash": "13311724266758161854" }, "name": "Service Bus Namespace Topic Authorization Rules", "description": "This module deploys a Service Bus Namespace Topic Authorization Rule." diff --git a/avm/res/service-bus/namespace/topic/main.json b/avm/res/service-bus/namespace/topic/main.json index 5854e71cea..616856fc12 100644 --- a/avm/res/service-bus/namespace/topic/main.json +++ b/avm/res/service-bus/namespace/topic/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "4751434073420963969" + "version": "0.33.93.31351", + "templateHash": "7784646681423046069" }, "name": "Service Bus Namespace Topic", "description": "This module deploys a Service Bus Namespace Topic." @@ -687,8 +687,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9054915416075794466" + "version": "0.33.93.31351", + "templateHash": "13311724266758161854" }, "name": "Service Bus Namespace Topic Authorization Rules", "description": "This module deploys a Service Bus Namespace Topic Authorization Rule." @@ -840,8 +840,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "3178099276922515439" + "version": "0.33.93.31351", + "templateHash": "2795737246825130048" }, "name": "Service Bus Namespace Topic Subscription", "description": "This module deploys a Service Bus Namespace Topic Subscription." @@ -1234,8 +1234,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2622393872040722258" + "version": "0.33.93.31351", + "templateHash": "15176672876775916889" }, "name": "Service Bus Namespace Topic Subscription Rule", "description": "This module deploys a Service Bus Namespace Topic Subscription Rule." diff --git a/avm/res/service-bus/namespace/topic/subscription/main.json b/avm/res/service-bus/namespace/topic/subscription/main.json index e95de07acb..57d6e7d9e3 100644 --- a/avm/res/service-bus/namespace/topic/subscription/main.json +++ b/avm/res/service-bus/namespace/topic/subscription/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "3178099276922515439" + "version": "0.33.93.31351", + "templateHash": "2795737246825130048" }, "name": "Service Bus Namespace Topic Subscription", "description": "This module deploys a Service Bus Namespace Topic Subscription." @@ -399,8 +399,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2622393872040722258" + "version": "0.33.93.31351", + "templateHash": "15176672876775916889" }, "name": "Service Bus Namespace Topic Subscription Rule", "description": "This module deploys a Service Bus Namespace Topic Subscription Rule." diff --git a/avm/res/service-bus/namespace/topic/subscription/rule/main.json b/avm/res/service-bus/namespace/topic/subscription/rule/main.json index c2d50fe036..f563515b4e 100644 --- a/avm/res/service-bus/namespace/topic/subscription/rule/main.json +++ b/avm/res/service-bus/namespace/topic/subscription/rule/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2622393872040722258" + "version": "0.33.93.31351", + "templateHash": "15176672876775916889" }, "name": "Service Bus Namespace Topic Subscription Rule", "description": "This module deploys a Service Bus Namespace Topic Subscription Rule." diff --git a/avm/res/signal-r-service/signal-r/main.bicep b/avm/res/signal-r-service/signal-r/main.bicep index 4391162ff8..31a1b2659f 100644 --- a/avm/res/signal-r-service/signal-r/main.bicep +++ b/avm/res/signal-r-service/signal-r/main.bicep @@ -124,6 +124,8 @@ param managedIdentities managedIdentityAllType? // Variables // // ============= // +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -303,7 +305,7 @@ module signalR_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.8. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/signal-r-service/signal-r/main.json b/avm/res/signal-r-service/signal-r/main.json index 39c55f9b7c..994078e777 100644 --- a/avm/res/signal-r-service/signal-r/main.json +++ b/avm/res/signal-r-service/signal-r/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10064618729958162179" + "version": "0.33.93.31351", + "templateHash": "9334186902868590431" }, "name": "SignalR Service SignalR", "description": "This module deploys a SignalR Service SignalR." @@ -625,6 +625,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -756,7 +757,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/signal-r-service/web-pub-sub/main.bicep b/avm/res/signal-r-service/web-pub-sub/main.bicep index 7626af95fd..022e013381 100644 --- a/avm/res/signal-r-service/web-pub-sub/main.bicep +++ b/avm/res/signal-r-service/web-pub-sub/main.bicep @@ -68,6 +68,8 @@ param networkAcls object? @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true +var enableReferencedModulesTelemetry = false + var resourceLogConfiguration = [ for configuration in resourceLogConfigurationsToEnable: { name: configuration @@ -226,7 +228,7 @@ module webPubSub_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/signal-r-service/web-pub-sub/main.json b/avm/res/signal-r-service/web-pub-sub/main.json index 4c5d13163b..8ba7889a14 100644 --- a/avm/res/signal-r-service/web-pub-sub/main.json +++ b/avm/res/signal-r-service/web-pub-sub/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17535527361421516290" + "version": "0.33.93.31351", + "templateHash": "14587278086537683639" }, "name": "SignalR Web PubSub Services", "description": "This module deploys a SignalR Web PubSub Service." @@ -547,6 +547,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), 'SystemAssigned', if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -671,7 +672,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/sql/server/audit-settings/main.json b/avm/res/sql/server/audit-settings/main.json index b8a5d26f9d..d180b3edc9 100644 --- a/avm/res/sql/server/audit-settings/main.json +++ b/avm/res/sql/server/audit-settings/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8313305822041721469" + "version": "0.33.93.31351", + "templateHash": "18193643807269591015" }, "name": "Azure SQL Server Audit Settings", "description": "This module deploys an Azure SQL Server Audit Settings." @@ -146,8 +146,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6533631702047528762" + "version": "0.33.93.31351", + "templateHash": "3456585740193014655" } }, "parameters": { diff --git a/avm/res/sql/server/database/backup-long-term-retention-policy/main.json b/avm/res/sql/server/database/backup-long-term-retention-policy/main.json index f012f6db18..7a1fa61423 100644 --- a/avm/res/sql/server/database/backup-long-term-retention-policy/main.json +++ b/avm/res/sql/server/database/backup-long-term-retention-policy/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "13013838179261859853" + "version": "0.33.93.31351", + "templateHash": "3863560552324183850" }, "name": "SQL Server Database Long Term Backup Retention Policies", "description": "This module deploys an Azure SQL Server Database Long-Term Backup Retention Policy." diff --git a/avm/res/sql/server/database/backup-short-term-retention-policy/main.json b/avm/res/sql/server/database/backup-short-term-retention-policy/main.json index 4a26021dfc..5789589106 100644 --- a/avm/res/sql/server/database/backup-short-term-retention-policy/main.json +++ b/avm/res/sql/server/database/backup-short-term-retention-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8347007377955822668" + "version": "0.33.93.31351", + "templateHash": "8340051145755870485" }, "name": "Azure SQL Server Database Short Term Backup Retention Policies", "description": "This module deploys an Azure SQL Server Database Short-Term Backup Retention Policy." diff --git a/avm/res/sql/server/database/main.json b/avm/res/sql/server/database/main.json index 06a6292802..d8c48d9d8d 100644 --- a/avm/res/sql/server/database/main.json +++ b/avm/res/sql/server/database/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1441314337667613336" + "version": "0.33.93.31351", + "templateHash": "16881410177731489630" }, "name": "SQL Server Database", "description": "This module deploys an Azure SQL Server Database." @@ -717,8 +717,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8347007377955822668" + "version": "0.33.93.31351", + "templateHash": "8340051145755870485" }, "name": "Azure SQL Server Database Short Term Backup Retention Policies", "description": "This module deploys an Azure SQL Server Database Short-Term Backup Retention Policy." @@ -834,8 +834,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "13013838179261859853" + "version": "0.33.93.31351", + "templateHash": "3863560552324183850" }, "name": "SQL Server Database Long Term Backup Retention Policies", "description": "This module deploys an Azure SQL Server Database Long-Term Backup Retention Policy." diff --git a/avm/res/sql/server/elastic-pool/main.json b/avm/res/sql/server/elastic-pool/main.json index 2a0d050d1a..423f62bec5 100644 --- a/avm/res/sql/server/elastic-pool/main.json +++ b/avm/res/sql/server/elastic-pool/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "10716835460312206047" + "version": "0.33.93.31351", + "templateHash": "17349112224241666638" }, "name": "SQL Server Elastic Pool", "description": "This module deploys an Azure SQL Server Elastic Pool." diff --git a/avm/res/sql/server/encryption-protector/main.json b/avm/res/sql/server/encryption-protector/main.json index 66934f7a65..af277759dd 100644 --- a/avm/res/sql/server/encryption-protector/main.json +++ b/avm/res/sql/server/encryption-protector/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "429232439511678598" + "version": "0.33.93.31351", + "templateHash": "3546869587910650701" }, "name": "Azure SQL Server Encryption Protector", "description": "This module deploys an Azure SQL Server Encryption Protector." diff --git a/avm/res/sql/server/failover-group/main.json b/avm/res/sql/server/failover-group/main.json index 96dd3b5e3e..8e213f8606 100644 --- a/avm/res/sql/server/failover-group/main.json +++ b/avm/res/sql/server/failover-group/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "15941259123124748032" + "version": "0.33.93.31351", + "templateHash": "13275639318827144855" }, "name": "Azure SQL Server failover group", "description": "This module deploys Azure SQL Server failover group." diff --git a/avm/res/sql/server/firewall-rule/main.json b/avm/res/sql/server/firewall-rule/main.json index 4960d44ee4..17ff870401 100644 --- a/avm/res/sql/server/firewall-rule/main.json +++ b/avm/res/sql/server/firewall-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7395824066284972652" + "version": "0.33.93.31351", + "templateHash": "1944178906791741244" }, "name": "Azure SQL Server Firewall Rule", "description": "This module deploys an Azure SQL Server Firewall Rule." diff --git a/avm/res/sql/server/key/main.json b/avm/res/sql/server/key/main.json index 6fdb46e6e6..9933b7a164 100644 --- a/avm/res/sql/server/key/main.json +++ b/avm/res/sql/server/key/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "10291818452210242472" + "version": "0.33.93.31351", + "templateHash": "16484015504682658620" }, "name": "Azure SQL Server Keys", "description": "This module deploys an Azure SQL Server Key." diff --git a/avm/res/sql/server/main.bicep b/avm/res/sql/server/main.bicep index bc14c218dc..6a994fe2fc 100644 --- a/avm/res/sql/server/main.bicep +++ b/avm/res/sql/server/main.bicep @@ -133,6 +133,8 @@ param secretsExportConfiguration secretsExportConfigurationType? @description('Optional. The failover groups configuration.') param failoverGroups failoverGroupType[] = [] +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') @@ -377,7 +379,7 @@ module server_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.10. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/sql/server/main.json b/avm/res/sql/server/main.json index 2d29ebc025..e8da816407 100644 --- a/avm/res/sql/server/main.json +++ b/avm/res/sql/server/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17739275737446378477" + "version": "0.33.93.31351", + "templateHash": "3825558453229370996" }, "name": "Azure SQL Servers", "description": "This module deploys an Azure SQL Server." @@ -2099,6 +2099,7 @@ ], "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned,UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", @@ -2337,8 +2338,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15990296903519132880" + "version": "0.33.93.31351", + "templateHash": "16881410177731489630" }, "name": "SQL Server Database", "description": "This module deploys an Azure SQL Server Database." @@ -3049,8 +3050,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9756378998309991315" + "version": "0.33.93.31351", + "templateHash": "8340051145755870485" }, "name": "Azure SQL Server Database Short Term Backup Retention Policies", "description": "This module deploys an Azure SQL Server Database Short-Term Backup Retention Policy." @@ -3166,8 +3167,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7793476949981656377" + "version": "0.33.93.31351", + "templateHash": "3863560552324183850" }, "name": "SQL Server Database Long Term Backup Retention Policies", "description": "This module deploys an Azure SQL Server Database Long-Term Backup Retention Policy." @@ -3393,8 +3394,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13169370796754277035" + "version": "0.33.93.31351", + "templateHash": "17349112224241666638" }, "name": "SQL Server Elastic Pool", "description": "This module deploys an Azure SQL Server Elastic Pool." @@ -3702,7 +3703,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -4467,8 +4468,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5038261177858434729" + "version": "0.33.93.31351", + "templateHash": "1944178906791741244" }, "name": "Azure SQL Server Firewall Rule", "description": "This module deploys an Azure SQL Server Firewall Rule." @@ -4574,8 +4575,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5181261702127555829" + "version": "0.33.93.31351", + "templateHash": "17146907795911099724" }, "name": "Azure SQL Server Virtual Network Rules", "description": "This module deploys an Azure SQL Server Virtual Network Rule." @@ -4696,8 +4697,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14971385092253198970" + "version": "0.33.93.31351", + "templateHash": "8937041272173907173" }, "name": "Azure SQL Server Security Alert Policies", "description": "This module deploys an Azure SQL Server Security Alert Policy." @@ -4871,8 +4872,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13028930090028114053" + "version": "0.33.93.31351", + "templateHash": "7783878739561489902" }, "name": "Azure SQL Server Vulnerability Assessments", "description": "This module deploys an Azure SQL Server Vulnerability Assessment." @@ -4998,8 +4999,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8374589607291714415" + "version": "0.33.93.31351", + "templateHash": "8921652227508160151" } }, "parameters": { @@ -5094,8 +5095,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10362246469517057380" + "version": "0.33.93.31351", + "templateHash": "16484015504682658620" }, "name": "Azure SQL Server Keys", "description": "This module deploys an Azure SQL Server Key." @@ -5213,8 +5214,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13396787316963181635" + "version": "0.33.93.31351", + "templateHash": "3546869587910650701" }, "name": "Azure SQL Server Encryption Protector", "description": "This module deploys an Azure SQL Server Encryption Protector." @@ -5345,8 +5346,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13147629904798099652" + "version": "0.33.93.31351", + "templateHash": "18193643807269591015" }, "name": "Azure SQL Server Audit Settings", "description": "This module deploys an Azure SQL Server Audit Settings." @@ -5486,8 +5487,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11188920490207833313" + "version": "0.33.93.31351", + "templateHash": "3456585740193014655" } }, "parameters": { @@ -5574,8 +5575,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14045530027687796477" + "version": "0.33.93.31351", + "templateHash": "8063348652715653257" } }, "definitions": { @@ -5737,8 +5738,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12788896097070917561" + "version": "0.33.93.31351", + "templateHash": "13275639318827144855" }, "name": "Azure SQL Server failover group", "description": "This module deploys Azure SQL Server failover group." diff --git a/avm/res/sql/server/security-alert-policy/main.json b/avm/res/sql/server/security-alert-policy/main.json index 38b786ce80..d098e1a706 100644 --- a/avm/res/sql/server/security-alert-policy/main.json +++ b/avm/res/sql/server/security-alert-policy/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "14011027130533341844" + "version": "0.33.93.31351", + "templateHash": "8937041272173907173" }, "name": "Azure SQL Server Security Alert Policies", "description": "This module deploys an Azure SQL Server Security Alert Policy." diff --git a/avm/res/sql/server/virtual-network-rule/main.json b/avm/res/sql/server/virtual-network-rule/main.json index eaa852931c..fcaca868c0 100644 --- a/avm/res/sql/server/virtual-network-rule/main.json +++ b/avm/res/sql/server/virtual-network-rule/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "14402023042001645353" + "version": "0.33.93.31351", + "templateHash": "17146907795911099724" }, "name": "Azure SQL Server Virtual Network Rules", "description": "This module deploys an Azure SQL Server Virtual Network Rule." diff --git a/avm/res/sql/server/vulnerability-assessment/main.json b/avm/res/sql/server/vulnerability-assessment/main.json index eed7070ea1..5454bcb725 100644 --- a/avm/res/sql/server/vulnerability-assessment/main.json +++ b/avm/res/sql/server/vulnerability-assessment/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "5714266708780122328" + "version": "0.33.93.31351", + "templateHash": "7783878739561489902" }, "name": "Azure SQL Server Vulnerability Assessments", "description": "This module deploys an Azure SQL Server Vulnerability Assessment." @@ -132,8 +132,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12732093554587495593" + "version": "0.33.93.31351", + "templateHash": "8921652227508160151" } }, "parameters": { diff --git a/avm/res/storage/storage-account/blob-service/container/immutability-policy/main.json b/avm/res/storage/storage-account/blob-service/container/immutability-policy/main.json index 834d2b2835..3e1f62c7b5 100644 --- a/avm/res/storage/storage-account/blob-service/container/immutability-policy/main.json +++ b/avm/res/storage/storage-account/blob-service/container/immutability-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2769922037435749045" + "version": "0.33.93.31351", + "templateHash": "8061556339565534458" }, "name": "Storage Account Blob Container Immutability Policies", "description": "This module deploys a Storage Account Blob Container Immutability Policy." diff --git a/avm/res/storage/storage-account/blob-service/container/main.json b/avm/res/storage/storage-account/blob-service/container/main.json index 2cc2426989..dc7e2cc473 100644 --- a/avm/res/storage/storage-account/blob-service/container/main.json +++ b/avm/res/storage/storage-account/blob-service/container/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15727824641798999553" + "version": "0.33.93.31351", + "templateHash": "11560675453246401508" }, "name": "Storage Account Blob Containers", "description": "This module deploys a Storage Account Blob Container." @@ -294,8 +294,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2769922037435749045" + "version": "0.33.93.31351", + "templateHash": "8061556339565534458" }, "name": "Storage Account Blob Container Immutability Policies", "description": "This module deploys a Storage Account Blob Container Immutability Policy." diff --git a/avm/res/storage/storage-account/blob-service/main.json b/avm/res/storage/storage-account/blob-service/main.json index 653da1e35f..71ab99c524 100644 --- a/avm/res/storage/storage-account/blob-service/main.json +++ b/avm/res/storage/storage-account/blob-service/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13802891409950802048" + "version": "0.33.93.31351", + "templateHash": "11461945096578509088" }, "name": "Storage Account blob Services", "description": "This module deploys a Storage Account Blob Service." @@ -472,8 +472,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15727824641798999553" + "version": "0.33.93.31351", + "templateHash": "11560675453246401508" }, "name": "Storage Account Blob Containers", "description": "This module deploys a Storage Account Blob Container." @@ -761,8 +761,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2769922037435749045" + "version": "0.33.93.31351", + "templateHash": "8061556339565534458" }, "name": "Storage Account Blob Container Immutability Policies", "description": "This module deploys a Storage Account Blob Container Immutability Policy." diff --git a/avm/res/storage/storage-account/file-service/main.json b/avm/res/storage/storage-account/file-service/main.json index 5257496990..8e27cf79fc 100644 --- a/avm/res/storage/storage-account/file-service/main.json +++ b/avm/res/storage/storage-account/file-service/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "987643333058038389" + "version": "0.33.93.31351", + "templateHash": "3168394810831105529" }, "name": "Storage Account File Share Services", "description": "This module deploys a Storage Account File Share Service." @@ -359,8 +359,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15193761941438215308" + "version": "0.33.93.31351", + "templateHash": "12044655551245282190" }, "name": "Storage Account File Shares", "description": "This module deploys a Storage Account File Share." diff --git a/avm/res/storage/storage-account/file-service/share/main.json b/avm/res/storage/storage-account/file-service/share/main.json index 8d520a8279..0144ab364d 100644 --- a/avm/res/storage/storage-account/file-service/share/main.json +++ b/avm/res/storage/storage-account/file-service/share/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15193761941438215308" + "version": "0.33.93.31351", + "templateHash": "12044655551245282190" }, "name": "Storage Account File Shares", "description": "This module deploys a Storage Account File Share." diff --git a/avm/res/storage/storage-account/local-user/main.json b/avm/res/storage/storage-account/local-user/main.json index 12583d34c6..7be0e3b8da 100644 --- a/avm/res/storage/storage-account/local-user/main.json +++ b/avm/res/storage/storage-account/local-user/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2528560857012083896" + "version": "0.33.93.31351", + "templateHash": "5655292159520921149" }, "name": "Storage Account Local Users", "description": "This module deploys a Storage Account Local User, which is used for SFTP authentication." diff --git a/avm/res/storage/storage-account/main.bicep b/avm/res/storage/storage-account/main.bicep index c6a0d7b02d..eb317a6060 100644 --- a/avm/res/storage/storage-account/main.bicep +++ b/avm/res/storage/storage-account/main.bicep @@ -188,6 +188,8 @@ param keyType string? @description('Optional. Key vault reference and secret settings for the module\'s secrets export.') param secretsExportConfiguration secretsExportConfigurationType? +var enableReferencedModulesTelemetry = false + var supportsBlobService = kind == 'BlockBlobStorage' || kind == 'BlobStorage' || kind == 'StorageV2' || kind == 'Storage' var supportsFileService = kind == 'FileStorage' || kind == 'StorageV2' || kind == 'Storage' @@ -536,7 +538,7 @@ module storageAccount_privateEndpoints 'br/public:avm/res/network/private-endpoi ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/storage/storage-account/main.json b/avm/res/storage/storage-account/main.json index cb5eefe1d9..74111c37f1 100644 --- a/avm/res/storage/storage-account/main.json +++ b/avm/res/storage/storage-account/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "383280615510920938" + "version": "0.33.93.31351", + "templateHash": "1204752769590748830" }, "name": "Storage Accounts", "description": "This module deploys a Storage Account." @@ -1255,6 +1255,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "supportsBlobService": "[or(or(or(equals(parameters('kind'), 'BlockBlobStorage'), equals(parameters('kind'), 'BlobStorage')), equals(parameters('kind'), 'StorageV2')), equals(parameters('kind'), 'Storage'))]", "supportsFileService": "[or(or(equals(parameters('kind'), 'FileStorage'), equals(parameters('kind'), 'StorageV2')), equals(parameters('kind'), 'Storage'))]", "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", @@ -1468,7 +1469,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" @@ -2224,8 +2225,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4967204006599351003" + "version": "0.33.93.31351", + "templateHash": "10504956743360699891" }, "name": "Storage Account Management Policies", "description": "This module deploys a Storage Account Management Policy." @@ -2333,8 +2334,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2528560857012083896" + "version": "0.33.93.31351", + "templateHash": "5655292159520921149" }, "name": "Storage Account Local Users", "description": "This module deploys a Storage Account Local User, which is used for SFTP authentication." @@ -2571,8 +2572,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13802891409950802048" + "version": "0.33.93.31351", + "templateHash": "11461945096578509088" }, "name": "Storage Account blob Services", "description": "This module deploys a Storage Account Blob Service." @@ -3038,8 +3039,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15727824641798999553" + "version": "0.33.93.31351", + "templateHash": "11560675453246401508" }, "name": "Storage Account Blob Containers", "description": "This module deploys a Storage Account Blob Container." @@ -3327,8 +3328,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "2769922037435749045" + "version": "0.33.93.31351", + "templateHash": "8061556339565534458" }, "name": "Storage Account Blob Container Immutability Policies", "description": "This module deploys a Storage Account Blob Container Immutability Policy." @@ -3507,8 +3508,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "987643333058038389" + "version": "0.33.93.31351", + "templateHash": "3168394810831105529" }, "name": "Storage Account File Share Services", "description": "This module deploys a Storage Account File Share Service." @@ -3861,8 +3862,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15193761941438215308" + "version": "0.33.93.31351", + "templateHash": "12044655551245282190" }, "name": "Storage Account File Shares", "description": "This module deploys a Storage Account File Share." @@ -4296,8 +4297,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8158577333548255612" + "version": "0.33.93.31351", + "templateHash": "1736438454543575457" }, "name": "Storage Account Queue Services", "description": "This module deploys a Storage Account Queue Service." @@ -4615,8 +4616,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9877120144610775153" + "version": "0.33.93.31351", + "templateHash": "6383154227554431205" }, "name": "Storage Account Queues", "description": "This module deploys a Storage Account Queue." @@ -4885,8 +4886,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "541986423744885003" + "version": "0.33.93.31351", + "templateHash": "12583903411447171294" }, "name": "Storage Account Table Services", "description": "This module deploys a Storage Account Table Service." @@ -5201,8 +5202,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11234204519679347949" + "version": "0.33.93.31351", + "templateHash": "1369356397929898951" }, "name": "Storage Account Table", "description": "This module deploys a Storage Account Table." @@ -5455,8 +5456,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "14510275109257916717" + "version": "0.33.93.31351", + "templateHash": "2275047425860597278" } }, "definitions": { diff --git a/avm/res/storage/storage-account/management-policy/main.json b/avm/res/storage/storage-account/management-policy/main.json index 55ab734bb6..38c4ba5749 100644 --- a/avm/res/storage/storage-account/management-policy/main.json +++ b/avm/res/storage/storage-account/management-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4967204006599351003" + "version": "0.33.93.31351", + "templateHash": "10504956743360699891" }, "name": "Storage Account Management Policies", "description": "This module deploys a Storage Account Management Policy." diff --git a/avm/res/storage/storage-account/queue-service/main.json b/avm/res/storage/storage-account/queue-service/main.json index 994d11d297..58b8972173 100644 --- a/avm/res/storage/storage-account/queue-service/main.json +++ b/avm/res/storage/storage-account/queue-service/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "8158577333548255612" + "version": "0.33.93.31351", + "templateHash": "1736438454543575457" }, "name": "Storage Account Queue Services", "description": "This module deploys a Storage Account Queue Service." @@ -324,8 +324,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9877120144610775153" + "version": "0.33.93.31351", + "templateHash": "6383154227554431205" }, "name": "Storage Account Queues", "description": "This module deploys a Storage Account Queue." diff --git a/avm/res/storage/storage-account/queue-service/queue/main.json b/avm/res/storage/storage-account/queue-service/queue/main.json index a5175e5224..dfd0124351 100644 --- a/avm/res/storage/storage-account/queue-service/queue/main.json +++ b/avm/res/storage/storage-account/queue-service/queue/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "9877120144610775153" + "version": "0.33.93.31351", + "templateHash": "6383154227554431205" }, "name": "Storage Account Queues", "description": "This module deploys a Storage Account Queue." diff --git a/avm/res/storage/storage-account/table-service/main.json b/avm/res/storage/storage-account/table-service/main.json index c516784297..791d9ecdc8 100644 --- a/avm/res/storage/storage-account/table-service/main.json +++ b/avm/res/storage/storage-account/table-service/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "541986423744885003" + "version": "0.33.93.31351", + "templateHash": "12583903411447171294" }, "name": "Storage Account Table Services", "description": "This module deploys a Storage Account Table Service." @@ -321,8 +321,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11234204519679347949" + "version": "0.33.93.31351", + "templateHash": "1369356397929898951" }, "name": "Storage Account Table", "description": "This module deploys a Storage Account Table." diff --git a/avm/res/storage/storage-account/table-service/table/main.json b/avm/res/storage/storage-account/table-service/table/main.json index f4ea8be690..d97ce4a5f1 100644 --- a/avm/res/storage/storage-account/table-service/table/main.json +++ b/avm/res/storage/storage-account/table-service/table/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11234204519679347949" + "version": "0.33.93.31351", + "templateHash": "1369356397929898951" }, "name": "Storage Account Table", "description": "This module deploys a Storage Account Table." diff --git a/avm/res/synapse/private-link-hub/main.bicep b/avm/res/synapse/private-link-hub/main.bicep index d47797be78..662d8537ef 100644 --- a/avm/res/synapse/private-link-hub/main.bicep +++ b/avm/res/synapse/private-link-hub/main.bicep @@ -25,6 +25,8 @@ import { privateEndpointSingleServiceType } from 'br/public:avm/utl/types/avm-co @description('Optional. Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.') param privateEndpoints privateEndpointSingleServiceType[]? +var enableReferencedModulesTelemetry = false + var builtInRoleNames = { Contributor: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') Owner: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') @@ -139,7 +141,7 @@ module privateLinkHub_privateEndpoints 'br/public:avm/res/network/private-endpoi ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/synapse/private-link-hub/main.json b/avm/res/synapse/private-link-hub/main.json index d7c2f0b1b1..21c4da51cf 100644 --- a/avm/res/synapse/private-link-hub/main.json +++ b/avm/res/synapse/private-link-hub/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "14782452399423336676" + "version": "0.33.93.31351", + "templateHash": "5019247569674128737" }, "name": "Azure Synapse Analytics", "description": "This module deploys an Azure Synapse Analytics (Private Link Hub)." @@ -433,6 +433,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "builtInRoleNames": { "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]", @@ -529,7 +530,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/synapse/workspace/administrators/main.json b/avm/res/synapse/workspace/administrators/main.json index 8fc11bff3d..daa0a8fcbd 100644 --- a/avm/res/synapse/workspace/administrators/main.json +++ b/avm/res/synapse/workspace/administrators/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7870636790140091356" + "version": "0.33.93.31351", + "templateHash": "14545194761901704803" }, "name": "Synapse Workspaces Administrators", "description": "This module deploys Synapse Workspaces Administrators." diff --git a/avm/res/synapse/workspace/firewall-rules/main.json b/avm/res/synapse/workspace/firewall-rules/main.json index 4eeb0e2dea..bd6ee58927 100644 --- a/avm/res/synapse/workspace/firewall-rules/main.json +++ b/avm/res/synapse/workspace/firewall-rules/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "3403338957196025610" + "version": "0.33.93.31351", + "templateHash": "6182134169539050308" }, "name": "Synapse Workspaces Firewall Rules", "description": "This module deploys Synapse Workspaces Firewall Rules." diff --git a/avm/res/synapse/workspace/integration-runtime/main.json b/avm/res/synapse/workspace/integration-runtime/main.json index e9e7d5a7ef..c1acb28e3f 100644 --- a/avm/res/synapse/workspace/integration-runtime/main.json +++ b/avm/res/synapse/workspace/integration-runtime/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1357925296617686979" + "version": "0.33.93.31351", + "templateHash": "18061636636403697342" }, "name": "Synapse Workspace Integration Runtimes", "description": "This module deploys a Synapse Workspace Integration Runtime." diff --git a/avm/res/synapse/workspace/key/main.json b/avm/res/synapse/workspace/key/main.json index 619cc843f2..2affe68e3f 100644 --- a/avm/res/synapse/workspace/key/main.json +++ b/avm/res/synapse/workspace/key/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "9285184380796627148" + "version": "0.33.93.31351", + "templateHash": "6803045093201001500" }, "name": "Synapse Workspaces Keys", "description": "This module deploys a Synapse Workspaces Key." diff --git a/avm/res/synapse/workspace/main.bicep b/avm/res/synapse/workspace/main.bicep index f4ec3db290..c5e9944785 100644 --- a/avm/res/synapse/workspace/main.bicep +++ b/avm/res/synapse/workspace/main.bicep @@ -107,6 +107,8 @@ param diagnosticSettings diagnosticSettingLogsOnlyType[]? // Variables +var enableReferencedModulesTelemetry = false + var cmkUserAssignedIdentityAsArray = !empty(customerManagedKey.?userAssignedIdentityResourceId ?? []) ? [customerManagedKey.?userAssignedIdentityResourceId] : [] @@ -386,7 +388,7 @@ module workspace_privateEndpoints 'br/public:avm/res/network/private-endpoint:0. ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/synapse/workspace/main.json b/avm/res/synapse/workspace/main.json index dbb867dd4f..59ee9e28be 100644 --- a/avm/res/synapse/workspace/main.json +++ b/avm/res/synapse/workspace/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "11532981053254062807" + "version": "0.33.93.31351", + "templateHash": "4581408149360949138" }, "name": "Synapse Workspaces", "description": "This module deploys a Synapse Workspace." @@ -882,6 +882,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "cmkUserAssignedIdentityAsArray": "[if(not(empty(coalesce(tryGet(parameters('customerManagedKey'), 'userAssignedIdentityResourceId'), createArray()))), createArray(tryGet(parameters('customerManagedKey'), 'userAssignedIdentityResourceId')), createArray())]", "userAssignedIdentitiesUnion": "[if(not(empty(parameters('managedIdentities'))), union(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), variables('cmkUserAssignedIdentityAsArray')), variables('cmkUserAssignedIdentityAsArray'))]", "formattedUserAssignedIdentities": "[reduce(map(coalesce(variables('userAssignedIdentitiesUnion'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", @@ -1067,8 +1068,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "18124614252428623156" + "version": "0.33.93.31351", + "templateHash": "18061636636403697342" }, "name": "Synapse Workspace Integration Runtimes", "description": "This module deploys a Synapse Workspace Integration Runtime." @@ -1166,8 +1167,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4658877837973777703" + "version": "0.33.93.31351", + "templateHash": "17872517701455031118" } }, "parameters": { @@ -1254,8 +1255,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "18134135357281825028" + "version": "0.33.93.31351", + "templateHash": "6803045093201001500" }, "name": "Synapse Workspaces Keys", "description": "This module deploys a Synapse Workspaces Key." @@ -1360,8 +1361,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6961828897310133803" + "version": "0.33.93.31351", + "templateHash": "14545194761901704803" }, "name": "Synapse Workspaces Administrators", "description": "This module deploys Synapse Workspaces Administrators." @@ -1474,8 +1475,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4218971273589711859" + "version": "0.33.93.31351", + "templateHash": "6182134169539050308" }, "name": "Synapse Workspaces Firewall Rules", "description": "This module deploys Synapse Workspaces Firewall Rules." @@ -1571,7 +1572,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/web/site/basic-publishing-credentials-policy/main.json b/avm/res/web/site/basic-publishing-credentials-policy/main.json index 719342d308..d4218038cb 100644 --- a/avm/res/web/site/basic-publishing-credentials-policy/main.json +++ b/avm/res/web/site/basic-publishing-credentials-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7686713695944836722" + "version": "0.33.93.31351", + "templateHash": "7001118912896436334" }, "name": "Web Site Basic Publishing Credentials Policies", "description": "This module deploys a Web Site Basic Publishing Credentials Policy." diff --git a/avm/res/web/site/config--appsettings/main.json b/avm/res/web/site/config--appsettings/main.json index 9b318d863a..c2a74d68b2 100644 --- a/avm/res/web/site/config--appsettings/main.json +++ b/avm/res/web/site/config--appsettings/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6410547302386858558" + "version": "0.33.93.31351", + "templateHash": "10907400404924884098" }, "name": "Site App Settings", "description": "This module deploys a Site App Setting." diff --git a/avm/res/web/site/config--authsettingsv2/main.json b/avm/res/web/site/config--authsettingsv2/main.json index 01bdf5529a..1154c13299 100644 --- a/avm/res/web/site/config--authsettingsv2/main.json +++ b/avm/res/web/site/config--authsettingsv2/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "11113399312695963924" + "version": "0.33.93.31351", + "templateHash": "1129994114817101549" }, "name": "Site Auth Settings V2 Config", "description": "This module deploys a Site Auth Settings V2 Configuration." diff --git a/avm/res/web/site/config--logs/main.json b/avm/res/web/site/config--logs/main.json index 53d738f3e5..711b10a7df 100644 --- a/avm/res/web/site/config--logs/main.json +++ b/avm/res/web/site/config--logs/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7848470524705559903" + "version": "0.33.93.31351", + "templateHash": "17967336872376441757" }, "name": "Site logs Config", "description": "This module deploys a Site logs Configuration." diff --git a/avm/res/web/site/config--web/main.json b/avm/res/web/site/config--web/main.json index 504e503464..ebc51ae6ba 100644 --- a/avm/res/web/site/config--web/main.json +++ b/avm/res/web/site/config--web/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "17229460238192107968" + "version": "0.33.93.31351", + "templateHash": "15058680643544097487" }, "name": "Site Web Config", "description": "This module deploys web settings configuration available under sites/config name: web." diff --git a/avm/res/web/site/extensions--msdeploy/main.json b/avm/res/web/site/extensions--msdeploy/main.json index d26b15dcaf..1107d829f1 100644 --- a/avm/res/web/site/extensions--msdeploy/main.json +++ b/avm/res/web/site/extensions--msdeploy/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18138875055545072289" + "version": "0.33.93.31351", + "templateHash": "14895622660217616811" }, "name": "Site Deployment Extension ", "description": "This module deploys a Site extension for MSDeploy." diff --git a/avm/res/web/site/hybrid-connection-namespace/relay/main.json b/avm/res/web/site/hybrid-connection-namespace/relay/main.json index 324510b925..692001bfff 100644 --- a/avm/res/web/site/hybrid-connection-namespace/relay/main.json +++ b/avm/res/web/site/hybrid-connection-namespace/relay/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "6378705059063789109" + "version": "0.33.93.31351", + "templateHash": "13214417392638890300" }, "name": "Web/Function Apps Hybrid Connection Relay", "description": "This module deploys a Site Hybrid Connection Namespace Relay." diff --git a/avm/res/web/site/main.bicep b/avm/res/web/site/main.bicep index a63db407cf..b4ce7cf1da 100644 --- a/avm/res/web/site/main.bicep +++ b/avm/res/web/site/main.bicep @@ -186,6 +186,8 @@ param publicNetworkAccess string? @description('Optional. End to End Encryption Setting.') param e2eEncryptionEnabled bool? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -518,7 +520,7 @@ module app_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.10.1' ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/web/site/main.json b/avm/res/web/site/main.json index 16bce6b8b7..41c88deb13 100644 --- a/avm/res/web/site/main.json +++ b/avm/res/web/site/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6063412784919637403" + "version": "0.33.93.31351", + "templateHash": "2420480907703720306" }, "name": "Web/Function Apps", "description": "This module deploys a Web or Function App." @@ -961,6 +961,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', 'None')), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1147,8 +1148,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3773744005628323179" + "version": "0.33.93.31351", + "templateHash": "10907400404924884098" }, "name": "Site App Settings", "description": "This module deploys a Site App Setting." @@ -1309,8 +1310,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12604769145311962317" + "version": "0.33.93.31351", + "templateHash": "1129994114817101549" }, "name": "Site Auth Settings V2 Config", "description": "This module deploys a Site Auth Settings V2 Configuration." @@ -1412,8 +1413,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10353279242186955906" + "version": "0.33.93.31351", + "templateHash": "17967336872376441757" }, "name": "Site logs Config", "description": "This module deploys a Site logs Configuration." @@ -1503,8 +1504,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "15063123874711680503" + "version": "0.33.93.31351", + "templateHash": "15058680643544097487" }, "name": "Site Web Config", "description": "This module deploys web settings configuration available under sites/config name: web." @@ -1593,8 +1594,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10653723640225381902" + "version": "0.33.93.31351", + "templateHash": "14895622660217616811" }, "name": "Site Deployment Extension ", "description": "This module deploys a Site extension for MSDeploy." @@ -1811,8 +1812,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5676574800935579140" + "version": "0.33.93.31351", + "templateHash": "13465677330436779249" }, "name": "Web/Function App Deployment Slots", "description": "This module deploys a Web or Function App Deployment Slot." @@ -2910,8 +2911,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6379851449588708934" + "version": "0.33.93.31351", + "templateHash": "9869757473830929279" }, "name": "Site Slot App Settings", "description": "This module deploys a Site Slot App Setting." @@ -3087,8 +3088,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4192061847386712633" + "version": "0.33.93.31351", + "templateHash": "4602741618711602070" }, "name": "Site Slot Auth Settings V2 Config", "description": "This module deploys a Site Auth Settings V2 Configuration." @@ -3207,8 +3208,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13483227944246460692" + "version": "0.33.93.31351", + "templateHash": "8803130402255189673" }, "name": "Web Site Slot Basic Publishing Credentials Policies", "description": "This module deploys a Web Site Slot Basic Publishing Credentials Policy." @@ -3331,8 +3332,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17428168852439619558" + "version": "0.33.93.31351", + "templateHash": "16445776675656358479" }, "name": "Web/Function Apps Slot Hybrid Connection Relay", "description": "This module deploys a Site Slot Hybrid Connection Namespace Relay." @@ -3435,8 +3436,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10653723640225381902" + "version": "0.33.93.31351", + "templateHash": "14895622660217616811" }, "name": "Site Deployment Extension ", "description": "This module deploys a Site extension for MSDeploy." @@ -4351,8 +4352,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "1499299399255876013" + "version": "0.33.93.31351", + "templateHash": "7001118912896436334" }, "name": "Web Site Basic Publishing Credentials Policies", "description": "This module deploys a Web Site Basic Publishing Credentials Policy." @@ -4466,8 +4467,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3864138738153964150" + "version": "0.33.93.31351", + "templateHash": "13214417392638890300" }, "name": "Web/Function Apps Hybrid Connection Relay", "description": "This module deploys a Site Hybrid Connection Namespace Relay." @@ -4564,7 +4565,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/web/site/slot/basic-publishing-credentials-policy/main.json b/avm/res/web/site/slot/basic-publishing-credentials-policy/main.json index de11ac5b17..dcb4137abb 100644 --- a/avm/res/web/site/slot/basic-publishing-credentials-policy/main.json +++ b/avm/res/web/site/slot/basic-publishing-credentials-policy/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "13728299747043713048" + "version": "0.33.93.31351", + "templateHash": "8803130402255189673" }, "name": "Web Site Slot Basic Publishing Credentials Policies", "description": "This module deploys a Web Site Slot Basic Publishing Credentials Policy." diff --git a/avm/res/web/site/slot/config--appsettings/main.json b/avm/res/web/site/slot/config--appsettings/main.json index e42772ea26..02cbe21a1d 100644 --- a/avm/res/web/site/slot/config--appsettings/main.json +++ b/avm/res/web/site/slot/config--appsettings/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "10124842813698211071" + "version": "0.33.93.31351", + "templateHash": "9869757473830929279" }, "name": "Site Slot App Settings", "description": "This module deploys a Site Slot App Setting." diff --git a/avm/res/web/site/slot/config--authsettingsv2/main.json b/avm/res/web/site/slot/config--authsettingsv2/main.json index 86ce10f90d..00d72b76ed 100644 --- a/avm/res/web/site/slot/config--authsettingsv2/main.json +++ b/avm/res/web/site/slot/config--authsettingsv2/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "7246612330843636406" + "version": "0.33.93.31351", + "templateHash": "4602741618711602070" }, "name": "Site Slot Auth Settings V2 Config", "description": "This module deploys a Site Auth Settings V2 Configuration." diff --git a/avm/res/web/site/slot/extensions--msdeploy/main.json b/avm/res/web/site/slot/extensions--msdeploy/main.json index d26b15dcaf..1107d829f1 100644 --- a/avm/res/web/site/slot/extensions--msdeploy/main.json +++ b/avm/res/web/site/slot/extensions--msdeploy/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "18138875055545072289" + "version": "0.33.93.31351", + "templateHash": "14895622660217616811" }, "name": "Site Deployment Extension ", "description": "This module deploys a Site extension for MSDeploy." diff --git a/avm/res/web/site/slot/hybrid-connection-namespace/relay/main.json b/avm/res/web/site/slot/hybrid-connection-namespace/relay/main.json index 0acb9aa7b0..2f43b27251 100644 --- a/avm/res/web/site/slot/hybrid-connection-namespace/relay/main.json +++ b/avm/res/web/site/slot/hybrid-connection-namespace/relay/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "1399655044962772411" + "version": "0.33.93.31351", + "templateHash": "16445776675656358479" }, "name": "Web/Function Apps Slot Hybrid Connection Relay", "description": "This module deploys a Site Slot Hybrid Connection Namespace Relay." diff --git a/avm/res/web/site/slot/main.json b/avm/res/web/site/slot/main.json index 6a27566930..50643d17d4 100644 --- a/avm/res/web/site/slot/main.json +++ b/avm/res/web/site/slot/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "5676574800935579140" + "version": "0.33.93.31351", + "templateHash": "13465677330436779249" }, "name": "Web/Function App Deployment Slots", "description": "This module deploys a Web or Function App Deployment Slot." @@ -1104,8 +1104,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6379851449588708934" + "version": "0.33.93.31351", + "templateHash": "9869757473830929279" }, "name": "Site Slot App Settings", "description": "This module deploys a Site Slot App Setting." @@ -1281,8 +1281,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "4192061847386712633" + "version": "0.33.93.31351", + "templateHash": "4602741618711602070" }, "name": "Site Slot Auth Settings V2 Config", "description": "This module deploys a Site Auth Settings V2 Configuration." @@ -1401,8 +1401,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "13483227944246460692" + "version": "0.33.93.31351", + "templateHash": "8803130402255189673" }, "name": "Web Site Slot Basic Publishing Credentials Policies", "description": "This module deploys a Web Site Slot Basic Publishing Credentials Policy." @@ -1525,8 +1525,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "17428168852439619558" + "version": "0.33.93.31351", + "templateHash": "16445776675656358479" }, "name": "Web/Function Apps Slot Hybrid Connection Relay", "description": "This module deploys a Site Slot Hybrid Connection Namespace Relay." @@ -1629,8 +1629,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "10653723640225381902" + "version": "0.33.93.31351", + "templateHash": "14895622660217616811" }, "name": "Site Deployment Extension ", "description": "This module deploys a Site extension for MSDeploy." diff --git a/avm/res/web/static-site/config/main.json b/avm/res/web/static-site/config/main.json index cc4f0fdb18..a38e130769 100644 --- a/avm/res/web/static-site/config/main.json +++ b/avm/res/web/static-site/config/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "12709536246529127181" + "version": "0.33.93.31351", + "templateHash": "10889979072442755743" }, "name": "Static Web App Site Config", "description": "This module deploys a Static Web App Site Config." diff --git a/avm/res/web/static-site/custom-domain/main.json b/avm/res/web/static-site/custom-domain/main.json index 77098554a3..7c9f813d0e 100644 --- a/avm/res/web/static-site/custom-domain/main.json +++ b/avm/res/web/static-site/custom-domain/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "2208155866464160058" + "version": "0.33.93.31351", + "templateHash": "10915453834048667608" }, "name": "Static Web App Site Custom Domains", "description": "This module deploys a Static Web App Site Custom Domain." diff --git a/avm/res/web/static-site/linked-backend/main.json b/avm/res/web/static-site/linked-backend/main.json index d3e0d45d46..92fe9fbcf3 100644 --- a/avm/res/web/static-site/linked-backend/main.json +++ b/avm/res/web/static-site/linked-backend/main.json @@ -4,8 +4,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.32.4.45862", - "templateHash": "8275628450081231495" + "version": "0.33.93.31351", + "templateHash": "2121286598355970912" }, "name": "Static Web App Site Linked Backends", "description": "This module deploys a Custom Function App into a Static Web App Site using the Linked Backends property." diff --git a/avm/res/web/static-site/main.bicep b/avm/res/web/static-site/main.bicep index f4623d4a46..f7b78848a1 100644 --- a/avm/res/web/static-site/main.bicep +++ b/avm/res/web/static-site/main.bicep @@ -88,6 +88,8 @@ param functionAppSettings object = {} @description('Optional. The custom domains associated with this static site. The deployment will fail as long as the validation records are not present.') param customDomains array = [] +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -281,7 +283,7 @@ module staticSite_privateEndpoints 'br/public:avm/res/network/private-endpoint:0 ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/web/static-site/main.json b/avm/res/web/static-site/main.json index 9ccfcda554..1599a6303c 100644 --- a/avm/res/web/static-site/main.json +++ b/avm/res/web/static-site/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "12616456112717414583" + "version": "0.33.93.31351", + "templateHash": "15301262394636824201" }, "name": "Static Web Apps", "description": "This module deploys a Static Web App." @@ -645,6 +645,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -764,8 +765,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "6117646567314030149" + "version": "0.33.93.31351", + "templateHash": "2121286598355970912" }, "name": "Static Web App Site Linked Backends", "description": "This module deploys a Custom Function App into a Static Web App Site using the Linked Backends property." @@ -865,8 +866,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7998567469554918663" + "version": "0.33.93.31351", + "templateHash": "10889979072442755743" }, "name": "Static Web App Site Config", "description": "This module deploys a Static Web App Site Config." @@ -959,8 +960,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "7998567469554918663" + "version": "0.33.93.31351", + "templateHash": "10889979072442755743" }, "name": "Static Web App Site Config", "description": "This module deploys a Static Web App Site Config." @@ -1054,8 +1055,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.33.13.18514", - "templateHash": "3686358111815300788" + "version": "0.33.93.31351", + "templateHash": "10915453834048667608" }, "name": "Static Web App Site Custom Domains", "description": "This module deploys a Static Web App Site Custom Domain." @@ -1145,7 +1146,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index b61a4c5be3..186309ff1d 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -865,7 +865,7 @@ Describe 'Module tests' -Tag 'Module' { $incorrectVariables | Should -BeNullOrEmpty } - It '[] Variable "enableReferencedModulesTelemetry" should exist and set to "false" if module references other modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { + It '[] Variable "enableReferencedModulesTelemetry" should exist and set to "false" if module references other modules with dedicated telemetry.' -TestCases ($moduleFolderTestCases | Where-Object { $_.moduleType -eq 'res' }) { param( [hashtable] $templateFileContent @@ -1015,7 +1015,7 @@ Describe 'Module tests' -Tag 'Module' { $telemetryDeploymentName | Should -Match "$expectedTelemetryIdentifier" } - It '[] Telemetry should be disabled for referenced modules with dedicated telemetry.' -TestCases $moduleFolderTestCases { + It '[] Telemetry should be disabled for referenced modules with dedicated telemetry.' -TestCases ($moduleFolderTestCases | Where-Object { $_.moduleType -eq 'res' }) { param( [hashtable] $templateFileContent, From 1183e87fecbfa32a9ea18b1669193234a3d47a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Fri, 21 Feb 2025 22:26:02 +0100 Subject: [PATCH 12/14] fixed web site --- avm/res/web/site/main.bicep | 1 - avm/res/web/site/main.json | 17 ++++------------- avm/res/web/site/slot/README.md | 14 -------------- avm/res/web/site/slot/main.bicep | 7 +++---- avm/res/web/site/slot/main.json | 12 +++--------- avm/res/web/site/version.json | 2 +- 6 files changed, 11 insertions(+), 42 deletions(-) diff --git a/avm/res/web/site/main.bicep b/avm/res/web/site/main.bicep index b4ce7cf1da..e234b001f1 100644 --- a/avm/res/web/site/main.bicep +++ b/avm/res/web/site/main.bicep @@ -389,7 +389,6 @@ module app_slots 'slot/main.bicep' = [ customDomainVerificationId: slot.?customDomainVerificationId dailyMemoryTimeQuota: slot.?dailyMemoryTimeQuota enabled: slot.?enabled - enableTelemetry: slot.?enableTelemetry ?? enableTelemetry hostNameSslStates: slot.?hostNameSslStates hyperV: slot.?hyperV publicNetworkAccess: slot.?publicNetworkAccess ?? ((!empty(slot.?privateEndpoints) || !empty(privateEndpoints)) diff --git a/avm/res/web/site/main.json b/avm/res/web/site/main.json index 41c88deb13..2947ec4b87 100644 --- a/avm/res/web/site/main.json +++ b/avm/res/web/site/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "2420480907703720306" + "templateHash": "11139344072823953976" }, "name": "Web/Function Apps", "description": "This module deploys a Web or Function App." @@ -1777,9 +1777,6 @@ "enabled": { "value": "[tryGet(coalesce(parameters('slots'), createArray())[copyIndex()], 'enabled')]" }, - "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('slots'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" - }, "hostNameSslStates": { "value": "[tryGet(coalesce(parameters('slots'), createArray())[copyIndex()], 'hostNameSslStates')]" }, @@ -1813,7 +1810,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "13465677330436779249" + "templateHash": "9224327006954483114" }, "name": "Web/Function App Deployment Slots", "description": "This module deploys a Web or Function App Deployment Slot." @@ -2648,13 +2645,6 @@ "description": "Optional. Setting this value to false disables the app (takes the app offline)." } }, - "enableTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable/Disable usage telemetry for module." - } - }, "hostNameSslStates": { "type": "array", "nullable": true, @@ -2738,6 +2728,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -3523,7 +3514,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/web/site/slot/README.md b/avm/res/web/site/slot/README.md index f9c155863a..5d20433b15 100644 --- a/avm/res/web/site/slot/README.md +++ b/avm/res/web/site/slot/README.md @@ -9,7 +9,6 @@ This module deploys a Web or Function App Deployment Slot. - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) - [Notes](#Notes) -- [Data Collection](#Data-Collection) ## Resource Types @@ -60,7 +59,6 @@ This module deploys a Web or Function App Deployment Slot. | [`dailyMemoryTimeQuota`](#parameter-dailymemorytimequota) | int | Maximum allowed daily memory-time quota (applicable on dynamic apps only). | | [`diagnosticSettings`](#parameter-diagnosticsettings) | array | The diagnostic settings of the service. | | [`enabled`](#parameter-enabled) | bool | Setting this value to false disables the app (takes the app offline). | -| [`enableTelemetry`](#parameter-enabletelemetry) | bool | Enable/Disable usage telemetry for module. | | [`functionAppConfig`](#parameter-functionappconfig) | object | The Function App config object. | | [`hostNameSslStates`](#parameter-hostnamesslstates) | array | Hostname SSL states are used to manage the SSL bindings for app's hostnames. | | [`httpsOnly`](#parameter-httpsonly) | bool | Configures a slot to accept only HTTPS requests. Issues redirect for HTTP requests. | @@ -380,14 +378,6 @@ Setting this value to false disables the app (takes the app offline). - Type: bool - Default: `True` -### Parameter: `enableTelemetry` - -Enable/Disable usage telemetry for module. - -- Required: No -- Type: bool -- Default: `True` - ### Parameter: `functionAppConfig` The Function App config object. @@ -1200,7 +1190,3 @@ appSettingsKeyValuePairs: {

- -## Data Collection - -The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the [repository](https://aka.ms/avm/telemetry). There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at . You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices. diff --git a/avm/res/web/site/slot/main.bicep b/avm/res/web/site/slot/main.bicep index fd21d9c7b0..d4c0462694 100644 --- a/avm/res/web/site/slot/main.bicep +++ b/avm/res/web/site/slot/main.bicep @@ -126,9 +126,6 @@ param dailyMemoryTimeQuota int? @description('Optional. Setting this value to false disables the app (takes the app offline).') param enabled bool = true -@description('Optional. Enable/Disable usage telemetry for module.') -param enableTelemetry bool = true - @description('Optional. Hostname SSL states are used to manage the SSL bindings for app\'s hostnames.') param hostNameSslStates array? @@ -167,6 +164,8 @@ param vnetRouteAllEnabled bool = false @description('Optional. Names of hybrid connection relays to connect app with.') param hybridConnectionRelays array? +var enableReferencedModulesTelemetry = false + var formattedUserAssignedIdentities = reduce( map((managedIdentities.?userAssignedResourceIds ?? []), (id) => { '${id}': {} }), {}, @@ -411,7 +410,7 @@ module slot_privateEndpoints 'br/public:avm/res/network/private-endpoint:0.10.1' ] : null subnetResourceId: privateEndpoint.subnetResourceId - enableTelemetry: privateEndpoint.?enableTelemetry ?? enableTelemetry + enableTelemetry: enableReferencedModulesTelemetry location: privateEndpoint.?location ?? reference( split(privateEndpoint.subnetResourceId, '/subnets/')[0], '2020-06-01', diff --git a/avm/res/web/site/slot/main.json b/avm/res/web/site/slot/main.json index 50643d17d4..52f5c28d3c 100644 --- a/avm/res/web/site/slot/main.json +++ b/avm/res/web/site/slot/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "13465677330436779249" + "templateHash": "9224327006954483114" }, "name": "Web/Function App Deployment Slots", "description": "This module deploys a Web or Function App Deployment Slot." @@ -841,13 +841,6 @@ "description": "Optional. Setting this value to false disables the app (takes the app offline)." } }, - "enableTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable/Disable usage telemetry for module." - } - }, "hostNameSslStates": { "type": "array", "nullable": true, @@ -931,6 +924,7 @@ "input": "[union(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')], createObject('roleDefinitionId', coalesce(tryGet(variables('builtInRoleNames'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName), if(contains(coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, '/providers/Microsoft.Authorization/roleDefinitions/'), coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', coalesce(parameters('roleAssignments'), createArray())[copyIndex('formattedRoleAssignments')].roleDefinitionIdOrName)))))]" } ], + "enableReferencedModulesTelemetry": false, "formattedUserAssignedIdentities": "[reduce(map(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createArray()), lambda('id', createObject(format('{0}', lambdaVariables('id')), createObject()))), createObject(), lambda('cur', 'next', union(lambdaVariables('cur'), lambdaVariables('next'))))]", "identity": "[if(not(empty(parameters('managedIdentities'))), createObject('type', if(coalesce(tryGet(parameters('managedIdentities'), 'systemAssigned'), false()), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'SystemAssigned, UserAssigned', 'SystemAssigned'), if(not(empty(coalesce(tryGet(parameters('managedIdentities'), 'userAssignedResourceIds'), createObject()))), 'UserAssigned', null())), 'userAssignedIdentities', if(not(empty(variables('formattedUserAssignedIdentities'))), variables('formattedUserAssignedIdentities'), null())), null())]", "builtInRoleNames": { @@ -1716,7 +1710,7 @@ "value": "[coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId]" }, "enableTelemetry": { - "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'enableTelemetry'), parameters('enableTelemetry'))]" + "value": "[variables('enableReferencedModulesTelemetry')]" }, "location": { "value": "[coalesce(tryGet(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()], 'location'), reference(split(coalesce(parameters('privateEndpoints'), createArray())[copyIndex()].subnetResourceId, '/subnets/')[0], '2020-06-01', 'Full').location)]" diff --git a/avm/res/web/site/version.json b/avm/res/web/site/version.json index 5c79d51eae..cf76a7f29e 100644 --- a/avm/res/web/site/version.json +++ b/avm/res/web/site/version.json @@ -1,6 +1,6 @@ { "$schema": "https://aka.ms/bicep-registry-module-version-file-schema#", - "version": "0.14", + "version": "0.15", "pathFilters": [ "./main.json" ] From 61fd0324c9be30456e9e42480ee527f68f10697e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Sat, 22 Feb 2025 21:06:05 +0100 Subject: [PATCH 13/14] Update utilities/pipelines/staticValidation/compliance/module.tests.ps1 Co-authored-by: Alexander Sehr --- .../pipelines/staticValidation/compliance/module.tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 index 186309ff1d..15c71a75df 100644 --- a/utilities/pipelines/staticValidation/compliance/module.tests.ps1 +++ b/utilities/pipelines/staticValidation/compliance/module.tests.ps1 @@ -888,7 +888,7 @@ Describe 'Module tests' -Tag 'Module' { } Context 'Resources' { - # If any resources in the module are deployed, a telemetry deployment should be carried out as well. Ignore e.g. utility modules + # If any resources in the module are deployed, a telemetry deployment should be carried out as well. It '[] Telemetry deployment should be present in the template.' -TestCases ($moduleFolderTestCases | Where-Object { $_.versionFileExists -and $_.templateFileContent.resources.count -gt 0 }) { param( From 8aba717815e845aee3b97a5a15e53d32850996a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20H=C3=A9zser?= Date: Sat, 22 Feb 2025 21:13:13 +0100 Subject: [PATCH 14/14] cleanup --- avm/res/elastic-san/elastic-san/main.bicep | 1 - avm/res/elastic-san/elastic-san/main.json | 14 ++------------ .../elastic-san/elastic-san/volume-group/README.md | 14 -------------- .../elastic-san/volume-group/main.bicep | 3 --- .../elastic-san/elastic-san/volume-group/main.json | 9 +-------- 5 files changed, 3 insertions(+), 38 deletions(-) diff --git a/avm/res/elastic-san/elastic-san/main.bicep b/avm/res/elastic-san/elastic-san/main.bicep index e0c3ae4d34..5343f570d0 100644 --- a/avm/res/elastic-san/elastic-san/main.bicep +++ b/avm/res/elastic-san/elastic-san/main.bicep @@ -205,7 +205,6 @@ module elasticSan_volumeGroups 'volume-group/main.bicep' = [ customerManagedKey: volumeGroup.?customerManagedKey privateEndpoints: volumeGroup.?privateEndpoints tags: tags - enableTelemetry: enableReferencedModulesTelemetry lock: lock } } diff --git a/avm/res/elastic-san/elastic-san/main.json b/avm/res/elastic-san/elastic-san/main.json index 4680cb87d9..34603d444c 100644 --- a/avm/res/elastic-san/elastic-san/main.json +++ b/avm/res/elastic-san/elastic-san/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "3254665209073060520" + "templateHash": "17730994242644626467" }, "name": "Elastic SANs", "description": "This module deploys an Elastic SAN." @@ -1088,9 +1088,6 @@ "tags": { "value": "[parameters('tags')]" }, - "enableTelemetry": { - "value": "[variables('enableReferencedModulesTelemetry')]" - }, "lock": { "value": "[parameters('lock')]" } @@ -1103,7 +1100,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "11631320144986992996" + "templateHash": "10002384107919856685" }, "name": "Elastic SAN Volume Groups", "description": "This module deploys an Elastic SAN Volume Group." @@ -1773,13 +1770,6 @@ "description": "Optional. Tags of the Elastic SAN Volume Group resource." } }, - "enableTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable/Disable usage telemetry for module." - } - }, "lock": { "$ref": "#/definitions/lockType", "nullable": true, diff --git a/avm/res/elastic-san/elastic-san/volume-group/README.md b/avm/res/elastic-san/elastic-san/volume-group/README.md index 73c7d577f1..a78103bd0d 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/README.md +++ b/avm/res/elastic-san/elastic-san/volume-group/README.md @@ -8,7 +8,6 @@ This module deploys an Elastic SAN Volume Group. - [Parameters](#Parameters) - [Outputs](#Outputs) - [Cross-referenced modules](#Cross-referenced-modules) -- [Data Collection](#Data-Collection) ## Resource Types @@ -41,7 +40,6 @@ This module deploys an Elastic SAN Volume Group. | Parameter | Type | Description | | :-- | :-- | :-- | | [`customerManagedKey`](#parameter-customermanagedkey) | object | The customer managed key definition. This parameter enables the encryption of Elastic SAN Volume Group using a customer-managed key. Currently, the only supported configuration is to use the same user-assigned identity for both 'managedIdentities.userAssignedResourceIds' and 'customerManagedKey.userAssignedIdentityResourceId'. Other configurations such as system-assigned identity are not supported. Ensure that the specified user-assigned identity has the 'Key Vault Crypto Service Encryption User' role access to both the key vault and the key itself. The key vault must also have purge protection enabled. | -| [`enableTelemetry`](#parameter-enabletelemetry) | bool | Enable/Disable usage telemetry for module. | | [`location`](#parameter-location) | string | Location for all resources. | | [`lock`](#parameter-lock) | object | The lock settings of the service. | | [`managedIdentities`](#parameter-managedidentities) | object | The managed identity definition for this resource. The Elastic SAN Volume Group supports the following identity combinations: no identity is specified, only system-assigned identity is specified, only user-assigned identity is specified, and both system-assigned and user-assigned identities are specified. A maximum of one user-assigned identity is supported. | @@ -113,14 +111,6 @@ User assigned identity to use when fetching the customer managed key. Required i - Required: No - Type: string -### Parameter: `enableTelemetry` - -Enable/Disable usage telemetry for module. - -- Required: No -- Type: bool -- Default: `True` - ### Parameter: `location` Location for all resources. @@ -700,7 +690,3 @@ This section gives you an overview of all local-referenced module files (i.e., o | :-- | :-- | | `br/public:avm/res/network/private-endpoint:0.9.0` | Remote reference | | `br/public:avm/utl/types/avm-common-types:0.3.0` | Remote reference | - -## Data Collection - -The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the [repository](https://aka.ms/avm/telemetry). There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at . You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices. diff --git a/avm/res/elastic-san/elastic-san/volume-group/main.bicep b/avm/res/elastic-san/elastic-san/volume-group/main.bicep index f44b37101c..545a9e405d 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/main.bicep +++ b/avm/res/elastic-san/elastic-san/volume-group/main.bicep @@ -36,9 +36,6 @@ param privateEndpoints privateEndpointSingleServiceType[]? @sys.description('Optional. Tags of the Elastic SAN Volume Group resource.') param tags object? -@sys.description('Optional. Enable/Disable usage telemetry for module.') -param enableTelemetry bool = true - import { lockType } from 'br/public:avm/utl/types/avm-common-types:0.3.0' @sys.description('Optional. The lock settings of the service.') param lock lockType? diff --git a/avm/res/elastic-san/elastic-san/volume-group/main.json b/avm/res/elastic-san/elastic-san/volume-group/main.json index 58c5f5745f..81ac441235 100644 --- a/avm/res/elastic-san/elastic-san/volume-group/main.json +++ b/avm/res/elastic-san/elastic-san/volume-group/main.json @@ -6,7 +6,7 @@ "_generator": { "name": "bicep", "version": "0.33.93.31351", - "templateHash": "11631320144986992996" + "templateHash": "10002384107919856685" }, "name": "Elastic SAN Volume Groups", "description": "This module deploys an Elastic SAN Volume Group." @@ -676,13 +676,6 @@ "description": "Optional. Tags of the Elastic SAN Volume Group resource." } }, - "enableTelemetry": { - "type": "bool", - "defaultValue": true, - "metadata": { - "description": "Optional. Enable/Disable usage telemetry for module." - } - }, "lock": { "$ref": "#/definitions/lockType", "nullable": true,