func recurseAddManagementGroup()

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
}