in deployment/hierarchy.go [153:173]
func recurseAddManagementGroup(ctx context.Context, h *Hierarchy, archMg *alzlib.ArchitectureManagementGroup, parent, location string, externalParent bool, level int) error {
req := managementGroupAddRequest{
archetypes: archMg.Archetypes(),
displayName: archMg.DisplayName(),
exists: archMg.Exists(),
id: archMg.Id(),
level: level,
location: location,
parentId: parent,
parentIsExternal: externalParent,
}
if _, err := h.addManagementGroup(ctx, req); err != nil {
return fmt.Errorf("Hierarchy.recurseAddManagementGroup: error adding management group `%s`: %w", archMg.Id(), err)
}
for _, child := range archMg.Children() {
if err := recurseAddManagementGroup(ctx, h, child, archMg.Id(), location, false, level+1); err != nil {
return err
}
}
return nil
}