Skip to content

Commit c25977f

Browse files
authored
initial commit (#705)
1 parent 1ba20ad commit c25977f

File tree

2 files changed

+29
-23
lines changed

2 files changed

+29
-23
lines changed

src/internal/functions/Get-AzOpsResourceDefinition.ps1

+28-23
Original file line numberDiff line numberDiff line change
@@ -404,32 +404,37 @@
404404
Write-PSFMessage -Level Verbose @msgCommon -String 'Get-AzOpsResourceDefinition.SubScription.Processing.Resource' -StringValues $resource.Name, $resourceGroup.ResourceGroupName -Target $resource
405405
& $azOps { ConvertTo-AzOpsState -Resource $resource -ExportRawTemplate:$runspaceData.ExportRawTemplate -StatePath $runspaceData.Statepath }
406406
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+
}
430432
}
431433
}
432434
}
435+
catch {
436+
Write-PSFMessage -Level Warning -String 'Get-AzOpsResourceDefinition.ChildResource.Warning' -StringValues $resourceGroup.ResourceGroupName, $_
437+
}
433438
}
434439
else {
435440
Write-PSFMessage -Level Verbose @msgCommon -String 'Get-AzOpsResourceDefinition.Subscription.SkippingChildResource' -StringValues $resourceGroup.ResourceGroupName

src/localized/en-us/Strings.psd1

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
'Get-AzOpsPolicySetDefinition.ManagementGroup' = 'Retrieving PolicySet Definition for ManagementGroup {0} ({1})' # $ScopeObject.ManagementGroupDisplayName, $ScopeObject.ManagementGroup
100100
'Get-AzOpsPolicySetDefinition.Subscription' = 'Retrieving PolicySet Definition for Subscription {0} ({1})' # $ScopeObject.SubscriptionDisplayName, $ScopeObject.Subscription
101101

102+
'Get-AzOpsResourceDefinition.ChildResource.Warning' = 'Failed to export childResources in [{0}]. Warning: [{1}]' # $resourceGroup.ResourceGroupName, $_
102103
'Get-AzOpsResourceDefinition.Finished' = 'Finished processing scope [{0}]' # $scopeObject.Scope
103104
'Get-AzOpsResourceDefinition.ManagementGroup.Processing' = 'Processing Management Group [{0}] ({1})' # $ScopeObject.ManagementGroupDisplayName, $ScopeObject.ManagementGroup
104105
'Get-AzOpsResourceDefinition.ManagementGroup.Subscription.NotFound' = 'Unable to locate subscription: {0} within AzOpsSubscriptions object' #child.Name

0 commit comments

Comments
 (0)