//go:build !ignore_autogenerated

// Code generated by controller-gen. DO NOT EDIT.

package migration

import (
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/types"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DatastoreMigration) DeepCopyInto(out *DatastoreMigration) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreMigration.
func (in *DatastoreMigration) DeepCopy() *DatastoreMigration {
	if in == nil {
		return nil
	}
	out := new(DatastoreMigration)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DatastoreMigration) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DatastoreMigrationList) DeepCopyInto(out *DatastoreMigrationList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]DatastoreMigration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreMigrationList.
func (in *DatastoreMigrationList) DeepCopy() *DatastoreMigrationList {
	if in == nil {
		return nil
	}
	out := new(DatastoreMigrationList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DatastoreMigrationList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DatastoreMigrationProgress) DeepCopyInto(out *DatastoreMigrationProgress) {
	*out = *in
	if in.TypeDetails != nil {
		in, out := &in.TypeDetails, &out.TypeDetails
		*out = make([]TypeMigrationProgress, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreMigrationProgress.
func (in *DatastoreMigrationProgress) DeepCopy() *DatastoreMigrationProgress {
	if in == nil {
		return nil
	}
	out := new(DatastoreMigrationProgress)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DatastoreMigrationSpec) DeepCopyInto(out *DatastoreMigrationSpec) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreMigrationSpec.
func (in *DatastoreMigrationSpec) DeepCopy() *DatastoreMigrationSpec {
	if in == nil {
		return nil
	}
	out := new(DatastoreMigrationSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DatastoreMigrationStatus) DeepCopyInto(out *DatastoreMigrationStatus) {
	*out = *in
	if in.StartedAt != nil {
		in, out := &in.StartedAt, &out.StartedAt
		*out = (*in).DeepCopy()
	}
	if in.CompletedAt != nil {
		in, out := &in.CompletedAt, &out.CompletedAt
		*out = (*in).DeepCopy()
	}
	in.Progress.DeepCopyInto(&out.Progress)
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatastoreMigrationStatus.
func (in *DatastoreMigrationStatus) DeepCopy() *DatastoreMigrationStatus {
	if in == nil {
		return nil
	}
	out := new(DatastoreMigrationStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConflictInfo) DeepCopyInto(out *ConflictInfo) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConflictInfo.
func (in *ConflictInfo) DeepCopy() *ConflictInfo {
	if in == nil {
		return nil
	}
	out := new(ConflictInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MigrationResult) DeepCopyInto(out *MigrationResult) {
	*out = *in
	if in.Conflicts != nil {
		in, out := &in.Conflicts, &out.Conflicts
		*out = make([]ConflictInfo, len(*in))
		copy(*out, *in)
	}
	if in.UIDMapping != nil {
		in, out := &in.UIDMapping, &out.UIDMapping
		*out = make(map[types.UID]types.UID, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationResult.
func (in *MigrationResult) DeepCopy() *MigrationResult {
	if in == nil {
		return nil
	}
	out := new(MigrationResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TypeMigrationProgress) DeepCopyInto(out *TypeMigrationProgress) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypeMigrationProgress.
func (in *TypeMigrationProgress) DeepCopy() *TypeMigrationProgress {
	if in == nil {
		return nil
	}
	out := new(TypeMigrationProgress)
	in.DeepCopyInto(out)
	return out
}
