func WorkloadForKind()

in internal/workload/workload.go [145:165]


func WorkloadForKind(kind string) (Workload, error) {
	_, gk := schema.ParseKindArg(kind)
	switch gk.Kind {
	case "Deployment":
		return &DeploymentWorkload{Deployment: &appsv1.Deployment{}}, nil
	case "Pod":
		return &PodWorkload{Pod: &corev1.Pod{}}, nil
	case "StatefulSet":
		return &StatefulSetWorkload{StatefulSet: &appsv1.StatefulSet{}}, nil
	case "Job":
		return &JobWorkload{Job: &batchv1.Job{}}, nil
	case "CronJob":
		return &CronJobWorkload{CronJob: &batchv1.CronJob{}}, nil
	case "DaemonSet":
		return &DaemonSetWorkload{DaemonSet: &appsv1.DaemonSet{}}, nil
	case "ReplicaSet":
		return &ReplicaSetWorkload{ReplicaSet: &appsv1.ReplicaSet{}}, nil
	default:
		return nil, fmt.Errorf("unknown kind %s", kind)
	}
}