func (in *K8sCreds) DeepCopyInto(out *K8sCreds) {
	*out = *in
	if in.Username != nil {
		in, out := &in.Username, &out.Username
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	if in.Password != nil {
		in, out := &in.Password, &out.Password
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	return
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1alpha1
import (
	v1 "k8s.io/api/core/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AliyunOSSContext) DeepCopyInto(out *AliyunOSSContext) {
	*out = *in
	if in.AccessId != nil {
		in, out := &in.AccessId, &out.AccessId
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.AccessSecret != nil {
		in, out := &in.AccessSecret, &out.AccessSecret
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.Bucket != nil {
		in, out := &in.Bucket, &out.Bucket
		*out = new(S3Bucket)
		**out = **in
	}
	return
}
func (in *AliyunOSSContext) DeepCopy() *AliyunOSSContext {
	if in == nil {
		return nil
	}
	out := new(AliyunOSSContext)
	in.DeepCopyInto(out)
	return out
}
func (in *AnsibleStep) DeepCopyInto(out *AnsibleStep) {
	*out = *in
	return
}
func (in *AnsibleStep) DeepCopy() *AnsibleStep {
	if in == nil {
		return nil
	}
	out := new(AnsibleStep)
	in.DeepCopyInto(out)
	return out
}
func (in *AzureBlobContext) DeepCopyInto(out *AzureBlobContext) {
	*out = *in
	if in.Account != nil {
		in, out := &in.Account, &out.Account
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.AccessKey != nil {
		in, out := &in.AccessKey, &out.AccessKey
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *AzureBlobContext) DeepCopy() *AzureBlobContext {
	if in == nil {
		return nil
	}
	out := new(AzureBlobContext)
	in.DeepCopyInto(out)
	return out
}
func (in *Base) DeepCopyInto(out *Base) {
	*out = *in
	return
}
func (in *Base) DeepCopy() *Base {
	if in == nil {
		return nil
	}
	out := new(Base)
	in.DeepCopyInto(out)
	return out
}
func (in *BuildContext) DeepCopyInto(out *BuildContext) {
	*out = *in
	if in.LocalContext != nil {
		in, out := &in.LocalContext, &out.LocalContext
		*out = new(LocalContext)
		**out = **in
	}
	if in.S3Context != nil {
		in, out := &in.S3Context, &out.S3Context
		*out = new(S3Context)
		(*in).DeepCopyInto(*out)
	}
	if in.GitContext != nil {
		in, out := &in.GitContext, &out.GitContext
		*out = new(GitContext)
		(*in).DeepCopyInto(*out)
	}
	if in.GCSContext != nil {
		in, out := &in.GCSContext, &out.GCSContext
		*out = new(GCSContext)
		(*in).DeepCopyInto(*out)
	}
	if in.AzureBlobContext != nil {
		in, out := &in.AzureBlobContext, &out.AzureBlobContext
		*out = new(AzureBlobContext)
		(*in).DeepCopyInto(*out)
	}
	if in.AliyunOSSContext != nil {
		in, out := &in.AliyunOSSContext, &out.AliyunOSSContext
		*out = new(AliyunOSSContext)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *BuildContext) DeepCopy() *BuildContext {
	if in == nil {
		return nil
	}
	out := new(BuildContext)
	in.DeepCopyInto(out)
	return out
}
func (in *BuildGenTemplate) DeepCopyInto(out *BuildGenTemplate) {
	*out = *in
	if in.Cmds != nil {
		in, out := &in.Cmds, &out.Cmds
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *BuildGenTemplate) DeepCopy() *BuildGenTemplate {
	if in == nil {
		return nil
	}
	out := new(BuildGenTemplate)
	in.DeepCopyInto(out)
	return out
}
func (in *BuildSpec) DeepCopyInto(out *BuildSpec) {
	*out = *in
	if in.Templates != nil {
		in, out := &in.Templates, &out.Templates
		*out = make([]BuildTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]BuildStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *BuildSpec) DeepCopy() *BuildSpec {
	if in == nil {
		return nil
	}
	out := new(BuildSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *BuildStep) DeepCopyInto(out *BuildStep) {
	*out = *in
	if in.ImageMetadata != nil {
		in, out := &in.ImageMetadata, &out.ImageMetadata
		*out = new(ImageMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Stages != nil {
		in, out := &in.Stages, &out.Stages
		*out = make([]Stage, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.BuildContext != nil {
		in, out := &in.BuildContext, &out.BuildContext
		*out = new(BuildContext)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *BuildStep) DeepCopy() *BuildStep {
	if in == nil {
		return nil
	}
	out := new(BuildStep)
	in.DeepCopyInto(out)
	return out
}
func (in *BuildTemplate) DeepCopyInto(out *BuildTemplate) {
	*out = *in
	if in.Cmd != nil {
		in, out := &in.Cmd, &out.Cmd
		*out = make([]BuildTemplateStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *BuildTemplate) DeepCopy() *BuildTemplate {
	if in == nil {
		return nil
	}
	out := new(BuildTemplate)
	in.DeepCopyInto(out)
	return out
}
func (in *BuildTemplateStep) DeepCopyInto(out *BuildTemplateStep) {
	*out = *in
	if in.Docker != nil {
		in, out := &in.Docker, &out.Docker
		*out = new(DockerStep)
		(*in).DeepCopyInto(*out)
	}
	if in.Ansible != nil {
		in, out := &in.Ansible, &out.Ansible
		*out = new(AnsibleStep)
		**out = **in
	}
	return
}
func (in *BuildTemplateStep) DeepCopy() *BuildTemplateStep {
	if in == nil {
		return nil
	}
	out := new(BuildTemplateStep)
	in.DeepCopyInto(out)
	return out
}
func (in *Command) DeepCopyInto(out *Command) {
	*out = *in
	if in.Flags != nil {
		in, out := &in.Flags, &out.Flags
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Value != nil {
		in, out := &in.Value, &out.Value
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *Command) DeepCopy() *Command {
	if in == nil {
		return nil
	}
	out := new(Command)
	in.DeepCopyInto(out)
	return out
}
func (in *Credentials) DeepCopyInto(out *Credentials) {
	*out = *in
	if in.KubeSecret != nil {
		in, out := &in.KubeSecret, &out.KubeSecret
		*out = new(KubeSecretCredentials)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *Credentials) DeepCopy() *Credentials {
	if in == nil {
		return nil
	}
	out := new(Credentials)
	in.DeepCopyInto(out)
	return out
}
func (in *DockerStep) DeepCopyInto(out *DockerStep) {
	*out = *in
	if in.Inline != nil {
		in, out := &in.Inline, &out.Inline
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	out.Auth = in.Auth
	return
}
func (in *DockerStep) DeepCopy() *DockerStep {
	if in == nil {
		return nil
	}
	out := new(DockerStep)
	in.DeepCopyInto(out)
	return out
}
func (in *EnvCreds) DeepCopyInto(out *EnvCreds) {
	*out = *in
	return
}
func (in *EnvCreds) DeepCopy() *EnvCreds {
	if in == nil {
		return nil
	}
	out := new(EnvCreds)
	in.DeepCopyInto(out)
	return out
}
func (in *GCSContext) DeepCopyInto(out *GCSContext) {
	*out = *in
	if in.APIKey != nil {
		in, out := &in.APIKey, &out.APIKey
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.Bucket != nil {
		in, out := &in.Bucket, &out.Bucket
		*out = new(S3Bucket)
		**out = **in
	}
	return
}
func (in *GCSContext) DeepCopy() *GCSContext {
	if in == nil {
		return nil
	}
	out := new(GCSContext)
	in.DeepCopyInto(out)
	return out
}
func (in *GenerateTemplate) DeepCopyInto(out *GenerateTemplate) {
	*out = *in
	if in.Stages != nil {
		in, out := &in.Stages, &out.Stages
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Templates != nil {
		in, out := &in.Templates, &out.Templates
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *GenerateTemplate) DeepCopy() *GenerateTemplate {
	if in == nil {
		return nil
	}
	out := new(GenerateTemplate)
	in.DeepCopyInto(out)
	return out
}
func (in *GitContext) DeepCopyInto(out *GitContext) {
	*out = *in
	if in.Username != nil {
		in, out := &in.Username, &out.Username
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.Password != nil {
		in, out := &in.Password, &out.Password
		*out = new(Credentials)
		(*in).DeepCopyInto(*out)
	}
	if in.Remote != nil {
		in, out := &in.Remote, &out.Remote
		*out = new(GitRemoteConfig)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *GitContext) DeepCopy() *GitContext {
	if in == nil {
		return nil
	}
	out := new(GitContext)
	in.DeepCopyInto(out)
	return out
}
func (in *GitRemoteConfig) DeepCopyInto(out *GitRemoteConfig) {
	*out = *in
	if in.URLS != nil {
		in, out := &in.URLS, &out.URLS
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *GitRemoteConfig) DeepCopy() *GitRemoteConfig {
	if in == nil {
		return nil
	}
	out := new(GitRemoteConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *Grafeas) DeepCopyInto(out *Grafeas) {
	*out = *in
	out.Notes = in.Notes
	return
}
func (in *Grafeas) DeepCopy() *Grafeas {
	if in == nil {
		return nil
	}
	out := new(Grafeas)
	in.DeepCopyInto(out)
	return out
}
func (in *ImageBuildArgs) DeepCopyInto(out *ImageBuildArgs) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *ImageBuildArgs) DeepCopy() *ImageBuildArgs {
	if in == nil {
		return nil
	}
	out := new(ImageBuildArgs)
	in.DeepCopyInto(out)
	return out
}
func (in *ImageMetadata) DeepCopyInto(out *ImageMetadata) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *ImageMetadata) DeepCopy() *ImageMetadata {
	if in == nil {
		return nil
	}
	out := new(ImageMetadata)
	in.DeepCopyInto(out)
	return out
}