Skip to content

Frequently Asked Questions

github-actions edited this page May 5, 2022 · 15 revisions

AzOps FAQ

This article answers frequently asked questions relating to AzOps.

In this Section

Subscriptions or resources not showing up in repository

If there are invalid characters in the resource path, discovery of subscriptions, resource groups or resources will fail during push or pull operations.

To confirm if this applies to you, check the pipeline logs for any of the following messages:

[ConvertTo-AzOpsState] The specified AzOpsState file contains invalid characters (remove any "[" or "]" characters)! <PathToResource>
[New-AzOpsScope] Path not found: <PathToResource>

Remove the invalid resource or character and retry the operation.

Push fail with deployment already exists in location error

If you have changed "Core.DefaultDeploymentRegion": from the default northeurope post initial setup, subsequent Push/Deployments might fail with an error as below:

Invalid deployment location 'westeurope'. The deployment 'AzOps-microsoft.management_managementgroups-nested' already exists in location 'northeurope'

This happens because it is unsupported in ARM to create a deployment in one location when there's an existing deployment with the same name in a different location.

To resolve the error, remove the failed deployment(s) from the target scope and re-run the failed Push pipeline. This can be done either under 'Deployments' at the particular scope in the Azure portal or with PowerShell/Azure CLI/REST. Delete Deployments at scope

Pull fail with active pull request already exists error

Pull pipeline failed during Create Pull Request to automerge task with an error as below:

ERROR: TF401179: An active pull request for the source and target branch already exists.

This happens because it is not supported in Azure DevOps to create a pull request when there's an existing pull request created for the same source and target branch.

Error

To resolve the error, complete or abandon the existing pull request (PR) first and then rerun the pipeline.

PR

Discovery scenarios and settings

I want to discover all resources across all resource groups in one specific subscription

Can AzOps settings be configured to enable this?

Yes, ensure the following setting combinations are applied (replace SubscriptionId with your specific information)

    "Core.IncludeResourcesInResourceGroup": ["*"]

    "Core.IncludeResourceType": ["*"]

    "Core.SkipResource": false

    "Core.SkipResourceGroup": false

    "Core.SubscriptionsToIncludeResourceGroups": ["SubscriptionId"]

I want to discover all resources in specific resource groups in one specific subscription

Can AzOps settings be configured to enable this?

Yes, ensure the following setting combinations are applied (replace rgname1, rgname2, rgname3 and SubscriptionId with your specific information)

    "Core.IncludeResourcesInResourceGroup": ["rgname1","rgname2","rgname3"]

    "Core.IncludeResourceType": ["*"]

    "Core.SkipResource": false

    "Core.SkipResourceGroup": false

    "Core.SubscriptionsToIncludeResourceGroups": ["SubscriptionId"]

I want to discover a specific resource type in specific resource group in one specific subscription

Can AzOps settings be configured to enable this?

Yes, ensure the following setting combinations are applied (replace rgname1, resource-provider/resource-type and SubscriptionId with your specific information)

    "Core.IncludeResourcesInResourceGroup": ["rgname1"]

    "Core.IncludeResourceType": ["resource-provider/resource-type"]

    "Core.SkipResource": false

    "Core.SkipResourceGroup": false

    "Core.SubscriptionsToIncludeResourceGroups": ["SubscriptionId"]

I want to discover and manage several Azure Firewall Policy's and rule collections spread out across several resource groups and subscriptions

Can AzOps settings be configured to enable this?

Yes, ensure the following setting combinations are applied (replace rgname1, rgname2, Microsoft.Network/firewallPolicies and SubscriptionId1, SubscriptionId2 with your specific information)

    "Core.IncludeResourcesInResourceGroup": ["rgname1","rgname2"]

    "Core.IncludeResourceType": ["Microsoft.Network/firewallPolicies"]

    "Core.SkipResource": false

    "Core.SkipChildResource": false

    "Core.SkipResourceGroup": false

    "Core.SubscriptionsToIncludeResourceGroups": ["SubscriptionId1","SubscriptionId2"]