func (in *SparkApplication) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	} else {
		return nil
	}
}
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
package v1alpha1
import (
	conversion "k8s.io/apimachinery/pkg/conversion"
	runtime "k8s.io/apimachinery/pkg/runtime"
	reflect "reflect"
)
func init() {
	SchemeBuilder.Register(RegisterDeepCopies)
}
func RegisterDeepCopies(scheme *runtime.Scheme) error {
	return scheme.AddGeneratedDeepCopyFuncs(
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*ApplicationState).DeepCopyInto(out.(*ApplicationState))
			return nil
		}, InType: reflect.TypeOf(&ApplicationState{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*Dependencies).DeepCopyInto(out.(*Dependencies))
			return nil
		}, InType: reflect.TypeOf(&Dependencies{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*DriverInfo).DeepCopyInto(out.(*DriverInfo))
			return nil
		}, InType: reflect.TypeOf(&DriverInfo{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*DriverSpec).DeepCopyInto(out.(*DriverSpec))
			return nil
		}, InType: reflect.TypeOf(&DriverSpec{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*ExecutorSpec).DeepCopyInto(out.(*ExecutorSpec))
			return nil
		}, InType: reflect.TypeOf(&ExecutorSpec{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*NamePath).DeepCopyInto(out.(*NamePath))
			return nil
		}, InType: reflect.TypeOf(&NamePath{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*SecretInfo).DeepCopyInto(out.(*SecretInfo))
			return nil
		}, InType: reflect.TypeOf(&SecretInfo{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*SparkApplication).DeepCopyInto(out.(*SparkApplication))
			return nil
		}, InType: reflect.TypeOf(&SparkApplication{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*SparkApplicationList).DeepCopyInto(out.(*SparkApplicationList))
			return nil
		}, InType: reflect.TypeOf(&SparkApplicationList{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*SparkApplicationSpec).DeepCopyInto(out.(*SparkApplicationSpec))
			return nil
		}, InType: reflect.TypeOf(&SparkApplicationSpec{})},
		conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
			in.(*SparkApplicationStatus).DeepCopyInto(out.(*SparkApplicationStatus))
			return nil
		}, InType: reflect.TypeOf(&SparkApplicationStatus{})},
	)
}
func (in *ApplicationState) DeepCopyInto(out *ApplicationState) {
	*out = *in
	return
}
func (in *ApplicationState) DeepCopy() *ApplicationState {
	if in == nil {
		return nil
	}
	out := new(ApplicationState)
	in.DeepCopyInto(out)
	return out
}
func (in *Dependencies) DeepCopyInto(out *Dependencies) {
	*out = *in
	if in.JarFiles != nil {
		in, out := &in.JarFiles, &out.JarFiles
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Files != nil {
		in, out := &in.Files, &out.Files
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.PyFiles != nil {
		in, out := &in.PyFiles, &out.PyFiles
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *Dependencies) DeepCopy() *Dependencies {
	if in == nil {
		return nil
	}
	out := new(Dependencies)
	in.DeepCopyInto(out)
	return out
}
func (in *DriverInfo) DeepCopyInto(out *DriverInfo) {
	*out = *in
	return
}
func (in *DriverInfo) DeepCopy() *DriverInfo {
	if in == nil {
		return nil
	}
	out := new(DriverInfo)
	in.DeepCopyInto(out)
	return out
}
func (in *DriverSpec) DeepCopyInto(out *DriverSpec) {
	*out = *in
	if in.PodName != nil {
		in, out := &in.PodName, &out.PodName
		if *in == nil {
			*out = nil
		} else {
			*out = new(string)
			**out = **in
		}
	}
	if in.Cores != nil {
		in, out := &in.Cores, &out.Cores
		if *in == nil {
			*out = nil
		} else {
			*out = new(string)
			**out = **in
		}
	}
	if in.Memory != nil {
		in, out := &in.Memory, &out.Memory
		if *in == nil {
			*out = nil
		} else {
			*out = new(string)
			**out = **in
		}
	}
	if in.DriverConfigMaps != nil {
		in, out := &in.DriverConfigMaps, &out.DriverConfigMaps
		*out = make([]NamePath, len(*in))
		copy(*out, *in)
	}
	if in.DriverSecrets != nil {
		in, out := &in.DriverSecrets, &out.DriverSecrets
		*out = make([]SecretInfo, len(*in))
		copy(*out, *in)
	}
	if in.DriverEnvVars != nil {
		in, out := &in.DriverEnvVars, &out.DriverEnvVars
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *DriverSpec) DeepCopy() *DriverSpec {
	if in == nil {
		return nil
	}
	out := new(DriverSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ExecutorSpec) DeepCopyInto(out *ExecutorSpec) {
	*out = *in
	if in.Cores != nil {
		in, out := &in.Cores, &out.Cores
		if *in == nil {
			*out = nil
		} else {
			*out = new(string)
			**out = **in
		}
	}
	if in.Memory != nil {
		in, out := &in.Memory, &out.Memory
		if *in == nil {
			*out = nil
		} else {
			*out = new(string)
			**out = **in
		}
	}
	if in.Instances != nil {
		in, out := &in.Instances, &out.Instances
		if *in == nil {
			*out = nil
		} else {
			*out = new(int32)
			**out = **in
		}
	}
	if in.ExecutorConfigMaps != nil {
		in, out := &in.ExecutorConfigMaps, &out.ExecutorConfigMaps
		*out = make([]NamePath, len(*in))
		copy(*out, *in)
	}
	if in.ExecutorSecrets != nil {
		in, out := &in.ExecutorSecrets, &out.ExecutorSecrets
		*out = make([]SecretInfo, len(*in))
		copy(*out, *in)
	}
	if in.ExecutorEnvVars != nil {
		in, out := &in.ExecutorEnvVars, &out.ExecutorEnvVars
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *ExecutorSpec) DeepCopy() *ExecutorSpec {
	if in == nil {
		return nil
	}
	out := new(ExecutorSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *NamePath) DeepCopyInto(out *NamePath) {
	*out = *in
	return
}
func (in *NamePath) DeepCopy() *NamePath {
	if in == nil {
		return nil
	}
	out := new(NamePath)
	in.DeepCopyInto(out)
	return out
}
func (in *SecretInfo) DeepCopyInto(out *SecretInfo) {
	*out = *in
	return
}
func (in *SecretInfo) DeepCopy() *SecretInfo {
	if in == nil {
		return nil
	}
	out := new(SecretInfo)
	in.DeepCopyInto(out)
	return out
}
func (in *SparkApplication) DeepCopyInto(out *SparkApplication) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *SparkApplication) DeepCopy() *SparkApplication {
	if in == nil {
		return nil
	}
	out := new(SparkApplication)
	in.DeepCopyInto(out)
	return out
}