in src/PSRule.Rules.Azure/Common/ResourceHelper.cs [700:718]
private static bool TryConsumeManagementGroupPart(string[] idParts, ref int start, out string? managementGroup)
{
managementGroup = null;
// Handle ID form: /providers/Microsoft.Management/managementGroups/<name>
if (start == 0 && idParts.Length >= 5 && idParts[0] == string.Empty && StringComparer.OrdinalIgnoreCase.Equals(idParts[1], PROVIDERS) && idParts[2] == PROVIDER_MICROSOFT_MANAGEMENT && idParts[3] == MANAGEMENT_GROUPS)
{
managementGroup = idParts[4];
start += 5;
return true;
}
// Handle scope form: Microsoft.Management/managementGroups/<name>
else if (start == 0 && idParts.Length >= 3 && idParts[0] == PROVIDER_MICROSOFT_MANAGEMENT && idParts[1] == MANAGEMENT_GROUPS)
{
managementGroup = idParts[2];
start += 3;
return true;
}
return false;
}