in cleanerupper/cleanerupper.go [1119:1149]
func deleteOSPolicies(ctx context.Context, clients Clients, ospolicies []*osconfigv1alphapb.OSPolicyAssignment, delete PolicyFunc, dryRun bool) ([]string, []error) {
var wg sync.WaitGroup
var deletedMu sync.Mutex
var deleted []string
var errsMu sync.Mutex
var errs []error
for _, osp := range ospolicies {
if !delete(osp) {
continue
}
wg.Add(1)
go func(osp *osconfigv1alphapb.OSPolicyAssignment) {
defer wg.Done()
if !dryRun {
op, err := clients.OSConfigZonal.DeleteOSPolicyAssignment(ctx, &osconfigv1alphapb.DeleteOSPolicyAssignmentRequest{Name: osp.GetName()})
if err != nil {
errsMu.Lock()
defer errsMu.Unlock()
errs = append(errs, fmt.Errorf("Failed to delete OSPolicy assignment %s: %v", osp.GetName(), err))
return
}
op.Wait(ctx)
}
deletedMu.Lock()
defer deletedMu.Unlock()
deleted = append(deleted, osp.Name)
}(osp)
}
wg.Wait()
return deleted, errs
}