func (in *SinkStatus) DeepCopyInto(out *SinkStatus) {
	*out = *in
	in.LastSuccessfulSend.DeepCopyInto(&out.LastSuccessfulSend)
	if in.LastError != nil {
		in, out := &in.LastError, &out.LastError
		*out = new(string)
		**out = **in
	}
	if in.LastErrorTime != nil {
		in, out := &in.LastErrorTime, &out.LastErrorTime
		*out = (*in).DeepCopy()
	}
	return
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1alpha1
import (
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *ClusterLogSink) DeepCopyInto(out *ClusterLogSink) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	return
}
func (in *ClusterLogSink) DeepCopy() *ClusterLogSink {
	if in == nil {
		return nil
	}
	out := new(ClusterLogSink)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterLogSink) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterLogSinkList) DeepCopyInto(out *ClusterLogSinkList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterLogSink, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterLogSinkList) DeepCopy() *ClusterLogSinkList {
	if in == nil {
		return nil
	}
	out := new(ClusterLogSinkList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterLogSinkList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterMetricSink) DeepCopyInto(out *ClusterMetricSink) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *ClusterMetricSink) DeepCopy() *ClusterMetricSink {
	if in == nil {
		return nil
	}
	out := new(ClusterMetricSink)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterMetricSink) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterMetricSinkList) DeepCopyInto(out *ClusterMetricSinkList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterMetricSink, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterMetricSinkList) DeepCopy() *ClusterMetricSinkList {
	if in == nil {
		return nil
	}
	out := new(ClusterMetricSinkList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterMetricSinkList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *LogSink) DeepCopyInto(out *LogSink) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	return
}
func (in *LogSink) DeepCopy() *LogSink {
	if in == nil {
		return nil
	}
	out := new(LogSink)
	in.DeepCopyInto(out)
	return out
}
func (in *LogSink) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *LogSinkList) DeepCopyInto(out *LogSinkList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]LogSink, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *LogSinkList) DeepCopy() *LogSinkList {
	if in == nil {
		return nil
	}
	out := new(LogSinkList)
	in.DeepCopyInto(out)
	return out
}
func (in *LogSinkList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *MetricSink) DeepCopyInto(out *MetricSink) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *MetricSink) DeepCopy() *MetricSink {
	if in == nil {
		return nil
	}
	out := new(MetricSink)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricSink) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *MetricSinkList) DeepCopyInto(out *MetricSinkList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MetricSink, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *MetricSinkList) DeepCopy() *MetricSinkList {
	if in == nil {
		return nil
	}
	out := new(MetricSinkList)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricSinkList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in MetricSinkMap) DeepCopyInto(out *MetricSinkMap) {
	{
		in := &in
		*out = in.DeepCopy()
		return
	}
}
func (in *MetricSinkSpec) DeepCopyInto(out *MetricSinkSpec) {
	*out = *in
	if in.Inputs != nil {
		in, out := &in.Inputs, &out.Inputs
		*out = make([]MetricSinkMap, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Outputs != nil {
		in, out := &in.Outputs, &out.Outputs
		*out = make([]MetricSinkMap, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *MetricSinkSpec) DeepCopy() *MetricSinkSpec {
	if in == nil {
		return nil
	}
	out := new(MetricSinkSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *SinkSpec) DeepCopyInto(out *SinkSpec) {
	*out = *in
	out.SyslogSpec = in.SyslogSpec
	out.WebhookSpec = in.WebhookSpec
	return
}
func (in *SinkSpec) DeepCopy() *SinkSpec {
	if in == nil {
		return nil
	}
	out := new(SinkSpec)
	in.DeepCopyInto(out)
	return out
}