code: func DescribeProbe(probe *corev1.Probe) string {
  	attrs := fmt.Sprintf("delay=%ds timeout=%ds period=%ds #success=%d #failure=%d", probe.InitialDelaySeconds, probe.TimeoutSeconds, probe.PeriodSeconds, probe.SuccessThreshold, probe.FailureThreshold)
  	switch {
  	case probe.Exec != nil:
  		return fmt.Sprintf("exec %v %s", probe.Exec.Command, attrs)
  	case probe.HTTPGet != nil:
  		url := &url.URL{}
  		url.Scheme = strings.ToLower(string(probe.HTTPGet.Scheme))
  		if len(probe.HTTPGet.Port.String()) > 0 {
  			url.Host = net.JoinHostPort(probe.HTTPGet.Host, probe.HTTPGet.Port.String())
  		} else {
  			url.Host = probe.HTTPGet.Host
  		}
  		url.Path = probe.HTTPGet.Path
  		return fmt.Sprintf("http-get %s %s", url.String(), attrs)
  	case probe.TCPSocket != nil:
  		return fmt.Sprintf("tcp-socket %s:%s %s", probe.TCPSocket.Host, probe.TCPSocket.Port.String(), attrs)
  	}
  	return fmt.Sprintf("unknown %s", attrs)
  }
docs: // DescribeProbe is exported for consumers in other API groups that have probes