diff --git a/accelerator/pipeline-scripts/Deploy-ALZMGDiagnosticSettings.ps1 b/accelerator/pipeline-scripts/Deploy-ALZMGDiagnosticSettings.ps1 index 24b2e5db4..0c5bdf293 100644 --- a/accelerator/pipeline-scripts/Deploy-ALZMGDiagnosticSettings.ps1 +++ b/accelerator/pipeline-scripts/Deploy-ALZMGDiagnosticSettings.ps1 @@ -5,6 +5,9 @@ param ( [Parameter()] [String]$TopLevelMGPrefix = "$($env:TOP_LEVEL_MG_PREFIX)", + [Parameter()] + [String]$ManagementSubscriptionId = "$($env:MANAGEMENT_SUBSCRIPTION_ID)", + [Parameter()] [String]$TemplateFile = "upstream-releases\$($env:UPSTREAM_RELEASE_VERSION)\infra-as-code\bicep\orchestration\mgDiagSettingsAll\mgDiagSettingsAll.bicep", @@ -26,4 +29,31 @@ $inputObject = @{ Verbose = $true } +# Registering 'Microsoft.Insights' resource provider on the Management subscription +Select-AzSubscription -SubscriptionId $ManagementSubscriptionId + +$providers = @('Microsoft.insights') + +foreach ($provider in $providers ){ + $iterationCount = 0 + $maxIterations = 30 + $providerStatus= (Get-AzResourceProvider -ListAvailable | Where-Object ProviderNamespace -eq $provider).registrationState + if($providerStatus -ne 'Registered'){ + Write-Output "`n Registering the '$provider' provider" + Register-AzResourceProvider -ProviderNamespace $provider + do { + $providerStatus= (Get-AzResourceProvider -ListAvailable | Where-Object ProviderNamespace -eq $provider).registrationState + $iterationCount++ + Write-Output "Waiting for the '$provider' provider registration to complete....waiting 10 seconds" + Start-Sleep -Seconds 10 + } until ($providerStatus -eq 'Registered' -and $iterationCount -ne $maxIterations) + if($iterationCount -ne $maxIterations){ + Write-Output "`n The '$provider' has been registered successfully" + } + else{ + Write-Output "`n The '$provider' has not been registered successfully" + } + } +} + New-AzManagementGroupDeployment @inputObject