//go:build !ignore_autogenerated

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

package v1

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AggregatedK8sInfo) DeepCopyInto(out *AggregatedK8sInfo) {
	*out = *in
	if in.K8sInformation != nil {
		in, out := &in.K8sInformation, &out.K8sInformation
		*out = new(K8sInformation)
		(*in).DeepCopyInto(*out)
	}
	if in.ResourcePools != nil {
		in, out := &in.ResourcePools, &out.ResourcePools
		*out = make([]ResourcePool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *K8sInformation) DeepCopyInto(out *K8sInformation) {
	*out = *in
	if in.ControlPlane != nil {
		in, out := &in.ControlPlane, &out.ControlPlane
		*out = new(K8sControlPlane)
		**out = **in
	}
	if in.Addons != nil {
		in, out := &in.Addons, &out.Addons
		*out = make([]K8sAddon, len(*in))
		copy(*out, *in)
	}
	if in.NodePools != nil {
		in, out := &in.NodePools, &out.NodePools
		*out = make([]K8sNodePool, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *UpgradeOperation) 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 *UpgradeOperationList) DeepCopyInto(out *UpgradeOperationList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]UpgradeOperation, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *UpgradeOperationList) 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 *UpgradeOperationSpec) DeepCopyInto(out *UpgradeOperationSpec) {
	*out = *in
	in.Schedule.DeepCopyInto(&out.Schedule)
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]UpgradeStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ExpectedDuration != nil {
		in, out := &in.ExpectedDuration, &out.ExpectedDuration
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.TTL != nil {
		in, out := &in.TTL, &out.TTL
		*out = new(metav1.Duration)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpgradeOperationStatus) DeepCopyInto(out *UpgradeOperationStatus) {
	*out = *in
	if in.CurrentStep != nil {
		in, out := &in.CurrentStep, &out.CurrentStep
		*out = new(UpgradeStep)
		(*in).DeepCopyInto(*out)
	}
	if in.CompletedSteps != nil {
		in, out := &in.CompletedSteps, &out.CompletedSteps
		*out = make([]UpgradeStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PendingSteps != nil {
		in, out := &in.PendingSteps, &out.PendingSteps
		*out = make([]UpgradeStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.BeginTime != nil {
		in, out := &in.BeginTime, &out.BeginTime
		*out = (*in).DeepCopy()
	}
	if in.EndTime != nil {
		in, out := &in.EndTime, &out.EndTime
		*out = (*in).DeepCopy()
	}
	if in.ActualDuration != nil {
		in, out := &in.ActualDuration, &out.ActualDuration
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.K8sInfo != nil {
		in, out := &in.K8sInfo, &out.K8sInfo
		*out = new(K8sInformation)
		(*in).DeepCopyInto(*out)
	}
	if in.ResourcePools != nil {
		in, out := &in.ResourcePools, &out.ResourcePools
		*out = make([]ResourcePool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]metav1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpgradeStep) DeepCopyInto(out *UpgradeStep) {
	*out = *in
	if in.ResourcePoolIDs != nil {
		in, out := &in.ResourcePoolIDs, &out.ResourcePoolIDs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ComponentIDs != nil {
		in, out := &in.ComponentIDs, &out.ComponentIDs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Options != nil {
		in, out := &in.Options, &out.Options
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.BeginTime != nil {
		in, out := &in.BeginTime, &out.BeginTime
		*out = (*in).DeepCopy()
	}
	if in.LastAPICallTime != nil {
		in, out := &in.LastAPICallTime, &out.LastAPICallTime
		*out = (*in).DeepCopy()
	}
	if in.EndTime != nil {
		in, out := &in.EndTime, &out.EndTime
		*out = (*in).DeepCopy()
	}
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.FirstFailureTime != nil {
		in, out := &in.FirstFailureTime, &out.FirstFailureTime
		*out = (*in).DeepCopy()
	}
}

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