func (in *ParameterAssignment) DeepCopy() *ParameterAssignment {
	if in == nil {
		return nil
	}
	out := new(ParameterAssignment)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParameterAssignment.
package v1beta1
import (
	v1 "k8s.io/api/core/v1"
)
func (in *AlgorithmSetting) DeepCopyInto(out *AlgorithmSetting) {
	*out = *in
	return
}
func (in *AlgorithmSetting) DeepCopy() *AlgorithmSetting {
	if in == nil {
		return nil
	}
	out := new(AlgorithmSetting)
	in.DeepCopyInto(out)
	return out
}
func (in *AlgorithmSpec) DeepCopyInto(out *AlgorithmSpec) {
	*out = *in
	if in.AlgorithmSettings != nil {
		in, out := &in.AlgorithmSettings, &out.AlgorithmSettings
		*out = make([]AlgorithmSetting, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *AlgorithmSpec) DeepCopy() *AlgorithmSpec {
	if in == nil {
		return nil
	}
	out := new(AlgorithmSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *CollectorSpec) DeepCopyInto(out *CollectorSpec) {
	*out = *in
	if in.CustomCollector != nil {
		in, out := &in.CustomCollector, &out.CustomCollector
		*out = new(v1.Container)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *CollectorSpec) DeepCopy() *CollectorSpec {
	if in == nil {
		return nil
	}
	out := new(CollectorSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *EarlyStoppingRule) DeepCopyInto(out *EarlyStoppingRule) {
	*out = *in
	return
}
func (in *EarlyStoppingRule) DeepCopy() *EarlyStoppingRule {
	if in == nil {
		return nil
	}
	out := new(EarlyStoppingRule)
	in.DeepCopyInto(out)
	return out
}
func (in *EarlyStoppingSetting) DeepCopyInto(out *EarlyStoppingSetting) {
	*out = *in
	return
}
func (in *EarlyStoppingSetting) DeepCopy() *EarlyStoppingSetting {
	if in == nil {
		return nil
	}
	out := new(EarlyStoppingSetting)
	in.DeepCopyInto(out)
	return out
}
func (in *EarlyStoppingSpec) DeepCopyInto(out *EarlyStoppingSpec) {
	*out = *in
	if in.AlgorithmSettings != nil {
		in, out := &in.AlgorithmSettings, &out.AlgorithmSettings
		*out = make([]EarlyStoppingSetting, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *EarlyStoppingSpec) DeepCopy() *EarlyStoppingSpec {
	if in == nil {
		return nil
	}
	out := new(EarlyStoppingSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *FileSystemPath) DeepCopyInto(out *FileSystemPath) {
	*out = *in
	return
}
func (in *FileSystemPath) DeepCopy() *FileSystemPath {
	if in == nil {
		return nil
	}
	out := new(FileSystemPath)
	in.DeepCopyInto(out)
	return out
}
func (in *FilterSpec) DeepCopyInto(out *FilterSpec) {
	*out = *in
	if in.MetricsFormat != nil {
		in, out := &in.MetricsFormat, &out.MetricsFormat
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *FilterSpec) DeepCopy() *FilterSpec {
	if in == nil {
		return nil
	}
	out := new(FilterSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Metric) DeepCopyInto(out *Metric) {
	*out = *in
	return
}
func (in *Metric) DeepCopy() *Metric {
	if in == nil {
		return nil
	}
	out := new(Metric)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricStrategy) DeepCopyInto(out *MetricStrategy) {
	*out = *in
	return
}
func (in *MetricStrategy) DeepCopy() *MetricStrategy {
	if in == nil {
		return nil
	}
	out := new(MetricStrategy)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricsCollectorSpec) DeepCopyInto(out *MetricsCollectorSpec) {
	*out = *in
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(SourceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Collector != nil {
		in, out := &in.Collector, &out.Collector
		*out = new(CollectorSpec)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *MetricsCollectorSpec) DeepCopy() *MetricsCollectorSpec {
	if in == nil {
		return nil
	}
	out := new(MetricsCollectorSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ObjectiveSpec) DeepCopyInto(out *ObjectiveSpec) {
	*out = *in
	if in.Goal != nil {
		in, out := &in.Goal, &out.Goal
		*out = new(float64)
		**out = **in
	}
	if in.AdditionalMetricNames != nil {
		in, out := &in.AdditionalMetricNames, &out.AdditionalMetricNames
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.MetricStrategies != nil {
		in, out := &in.MetricStrategies, &out.MetricStrategies
		*out = make([]MetricStrategy, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *ObjectiveSpec) DeepCopy() *ObjectiveSpec {
	if in == nil {
		return nil
	}
	out := new(ObjectiveSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Observation) DeepCopyInto(out *Observation) {
	*out = *in
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = make([]Metric, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *Observation) DeepCopy() *Observation {
	if in == nil {
		return nil
	}
	out := new(Observation)
	in.DeepCopyInto(out)
	return out
}
func (in *ParameterAssignment) DeepCopyInto(out *ParameterAssignment) {
	*out = *in
	return
}