|
404 | 404 | Write-PSFMessage -Level Verbose @msgCommon -String 'Get-AzOpsResourceDefinition.SubScription.Processing.Resource' -StringValues $resource.Name, $resourceGroup.ResourceGroupName -Target $resource
|
405 | 405 | & $azOps { ConvertTo-AzOpsState -Resource $resource -ExportRawTemplate:$runspaceData.ExportRawTemplate -StatePath $runspaceData.Statepath }
|
406 | 406 | if (-not $using:SkipChildResource) {
|
407 |
| - $exportParameters = @{ |
408 |
| - Resource = $resource.ResourceId |
409 |
| - ResourceGroupName = $resourceGroup.ResourceGroupName |
410 |
| - SkipAllParameterization = $true |
411 |
| - Path = $tempExportPath |
412 |
| - DefaultProfile = $Context | Select-Object -First 1 |
413 |
| - } |
414 |
| - Export-AzResourceGroup @exportParameters -Confirm:$false -Force | Out-Null |
415 |
| - $exportResources = (Get-Content -Path $tempExportPath | ConvertFrom-Json).resources |
416 |
| - foreach ($exportResource in $exportResources) { |
417 |
| - if (-not(($resource.Name -eq $exportResource.name) -and ($resource.ResourceType -eq $exportResource.type))) { |
418 |
| - Write-PSFMessage -Level Verbose @msgCommon -String 'Get-AzOpsResourceDefinition.Subscription.Processing.ChildResource' -StringValues $exportResource.Name, $resourceGroup.ResourceGroupName -Target $exportResource |
419 |
| - $ChildResource = @{ |
420 |
| - resourceProvider = $exportResource.type -replace '/', '_' |
421 |
| - resourceName = $exportResource.name -replace '/', '_' |
422 |
| - parentResourceId = $resourceGroup.ResourceId |
423 |
| - } |
424 |
| - if (Get-Member -InputObject $exportResource -name 'dependsOn') { |
425 |
| - $exportResource.PsObject.Members.Remove('dependsOn') |
426 |
| - } |
427 |
| - $resourceHash = @{resources = @($exportResource) } |
428 |
| - & $azOps { |
429 |
| - ConvertTo-AzOpsState -Resource $resourceHash -ChildResource $ChildResource -StatePath $runspaceData.Statepath |
| 407 | + try { |
| 408 | + $exportParameters = @{ |
| 409 | + Resource = $resource.ResourceId |
| 410 | + ResourceGroupName = $resourceGroup.ResourceGroupName |
| 411 | + SkipAllParameterization = $true |
| 412 | + Path = $tempExportPath |
| 413 | + DefaultProfile = $Context | Select-Object -First 1 |
| 414 | + } |
| 415 | + Export-AzResourceGroup @exportParameters -Confirm:$false -Force -ErrorAction Stop | Out-Null |
| 416 | + $exportResources = (Get-Content -Path $tempExportPath | ConvertFrom-Json).resources |
| 417 | + foreach ($exportResource in $exportResources) { |
| 418 | + if (-not(($resource.Name -eq $exportResource.name) -and ($resource.ResourceType -eq $exportResource.type))) { |
| 419 | + Write-PSFMessage -Level Verbose @msgCommon -String 'Get-AzOpsResourceDefinition.Subscription.Processing.ChildResource' -StringValues $exportResource.Name, $resourceGroup.ResourceGroupName -Target $exportResource |
| 420 | + $ChildResource = @{ |
| 421 | + resourceProvider = $exportResource.type -replace '/', '_' |
| 422 | + resourceName = $exportResource.name -replace '/', '_' |
| 423 | + parentResourceId = $resourceGroup.ResourceId |
| 424 | + } |
| 425 | + if (Get-Member -InputObject $exportResource -name 'dependsOn') { |
| 426 | + $exportResource.PsObject.Members.Remove('dependsOn') |
| 427 | + } |
| 428 | + $resourceHash = @{resources = @($exportResource) } |
| 429 | + & $azOps { |
| 430 | + ConvertTo-AzOpsState -Resource $resourceHash -ChildResource $ChildResource -StatePath $runspaceData.Statepath |
| 431 | + } |
430 | 432 | }
|
431 | 433 | }
|
432 | 434 | }
|
| 435 | + catch { |
| 436 | + Write-PSFMessage -Level Warning -String 'Get-AzOpsResourceDefinition.ChildResource.Warning' -StringValues $resourceGroup.ResourceGroupName, $_ |
| 437 | + } |
433 | 438 | }
|
434 | 439 | else {
|
435 | 440 | Write-PSFMessage -Level Verbose @msgCommon -String 'Get-AzOpsResourceDefinition.Subscription.SkippingChildResource' -StringValues $resourceGroup.ResourceGroupName
|
|
0 commit comments