func()

in pkg/provider/k8s/k8s.go [197:244]


func (c *K8s) ResourceDelete(deployments []Resource) error {

	var err error
	for _, deployment := range deployments {
		for _, resource := range deployment.Objects {
			switch kind := strings.ToLower(resource.GetObjectKind().GroupVersionKind().Kind); kind {
			case "clusterrole":
				err = c.clusterRoleDelete(resource)
			case "clusterrolebinding":
				err = c.clusterRoleBindingDelete(resource)
			case "configmap":
				err = c.configMapDelete(resource)
			case "daemonset":
				err = c.daemonsetDelete(resource)
			case "deployment":
				err = c.deploymentDelete(resource)
			case "ingress":
				err = c.ingressDelete(resource)
			case "namespace":
				err = c.namespaceDelete(resource)
			case "role":
				err = c.roleDelete(resource)
			case "rolebinding":
				err = c.roleBindingDelete(resource)
			case "service":
				err = c.serviceDelete(resource)
			case "serviceaccount":
				err = c.serviceAccountDelete(resource)
			case "secret":
				err = c.secretDelete(resource)
			case "persistentvolumeclaim":
				err = c.persistentVolumeClaimDelete(resource)
			case "customresourcedefinition":
				err = c.customResourceDelete(resource)
			case "statefulset":
				err = c.statefulSetDelete(resource)
			case "job":
				err = c.jobDelete(resource)
			default:
				err = fmt.Errorf("deleting request for unimplimented resource type:%v", kind)
			}
			if err != nil {
				return fmt.Errorf("error deleting '%v' err:%v", deployment.FileName, err)
			}
		}
	}
	return nil
}