// kindOf returns the kind string for the given Kubernetes object.
//
// The API machinery doesn't populate the metav1.TypeMeta field for
// objects, so we have to use a type assertion to detect kinds that
// we care about.
// TODO(youngnick): This is a straight copy from internal/k8s/kind.go
// Needs to be moved to a separate module somewhere.
kindOf returns the kind string for the given Kubernetes object.

The API machinery doesn't populate the metav1.TypeMeta field for
objects, so we have to use a type assertion to detect kinds that
we care about.
TODO(youngnick): This is a straight copy from internal/k8s/kind.go
Needs to be moved to a separate module somewhere.
// kindOf returns the kind string for the given Kubernetes object . // // The API machinery doesn ' t populate the metav1 . TypeMeta field for // objects so we have to use a type assertion to detect kinds that // we care about . // TODO ( youngnick ) : This is a straight copy from internal / k8s / kind . go // Needs to be moved to a separate module somewhere .
func kindOf(obj interface{}) string {
	switch obj.(type) {
	case *v1.Secret:
		return "Secret"
	case *v1.Service:
		return "Service"
	case *v1beta1.Ingress:
		return "Ingress"
	case *projectcontour.HTTPProxy:
		return "HTTPProxy"
	case *projectcontour.TLSCertificateDelegation:
		return "TLSCertificateDelegation"
	default:
		return ""
	}
}
func kindOf ( obj interface { } ) string { switch obj . ( type ) { case * v1 . Secret : return " " case * v1 . Service : return " " case * v1beta1 . Ingress : return " " case * projectcontour . HTTPProxy : return " " case * projectcontour . TLSCertificateDelegation : return " " default : return " " } }
kindOf returns the kind string for the given Kubernetes object.
kindOf returns the kind string for the given Kubernetes object .