in cleanerupper/cleanerupper.go [177:243]
func WorkflowPolicy(id string) PolicyFunc {
return func(resource any) bool {
var name, desc string
var labels map[string]string
switch r := resource.(type) {
case *osconfigv1alphapb.OSPolicyAssignment:
name = r.Name
desc = r.Description
case *osconfigpb.GuestPolicy:
name = r.Name
desc = r.Description
case *compute.Network:
if r.Name == "default" {
return false
}
name = r.Name
desc = r.Description
case *compute.MachineImage:
name = r.Name
desc = r.Description
case *compute.Disk:
desc = r.Description
labels = r.Labels
name = r.Name
case *compute.Image:
desc = r.Description
labels = r.Labels
name = r.Name
case *compute.Snapshot:
desc = r.Description
labels = r.Labels
name = r.Name
case *compute.Instance:
desc = r.Description
if r.DeletionProtection {
return false
}
labels = r.Labels
name = r.Name
case *compute.ForwardingRule:
desc = r.Description
labels = r.Labels
name = r.Name
case *compute.UrlMap:
desc = r.Description
name = r.Name
case *compute.BackendService:
desc = r.Description
name = r.Name
case *compute.TargetHttpProxy:
desc = r.Description
name = r.Name
case *compute.HealthCheck:
desc = r.Description
name = r.Name
case *compute.NetworkEndpointGroup:
desc = r.Description
name = r.Name
default:
return false
}
if _, keep := labels[keepLabel]; keep {
return false
}
return strings.HasSuffix(name, id) && !strings.Contains(desc, keepLabel)
}
}