in cleanerupper/cleanerupper.go [1049:1078]
func deleteGuestPolicies(ctx context.Context, clients Clients, gpolicies []*osconfigpb.GuestPolicy, 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 _, gp := range gpolicies {
if !delete(gp) {
continue
}
partial := fmt.Sprintf("%s", gp.GetName())
wg.Add(1)
go func(gp *osconfigpb.GuestPolicy) {
defer wg.Done()
if !dryRun {
if err := clients.OSConfig.DeleteGuestPolicy(ctx, &osconfigpb.DeleteGuestPolicyRequest{Name: gp.GetName()}); err != nil {
errsMu.Lock()
defer errsMu.Unlock()
errs = append(errs, fmt.Errorf("Failed to delete Guest Policy %s: %v", gp.GetName(), err))
return
}
}
deletedMu.Lock()
defer deletedMu.Unlock()
deleted = append(deleted, partial)
}(gp)
}
wg.Wait()
return deleted, errs
}