func deleteGuestPolicies()

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
}