func (in *NestedControlPlaneStatusEtcd) DeepCopyInto(out *NestedControlPlaneStatusEtcd) {
	*out = *in
	if in.Addresses != nil {
		in, out := &in.Addresses, &out.Addresses
		*out = make([]NestedEtcdAddress, len(*in))
		copy(*out, *in)
	}
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1alpha4
import (
	"k8s.io/api/core/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
	apiv1alpha4 "sigs.k8s.io/cluster-api/api/v1alpha4"
)
func (in *NestedAPIServer) DeepCopyInto(out *NestedAPIServer) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *NestedAPIServer) DeepCopy() *NestedAPIServer {
	if in == nil {
		return nil
	}
	out := new(NestedAPIServer)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedAPIServer) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *NestedAPIServerList) DeepCopyInto(out *NestedAPIServerList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]NestedAPIServer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *NestedAPIServerList) DeepCopy() *NestedAPIServerList {
	if in == nil {
		return nil
	}
	out := new(NestedAPIServerList)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedAPIServerList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *NestedAPIServerSpec) DeepCopyInto(out *NestedAPIServerSpec) {
	*out = *in
	in.NestedComponentSpec.DeepCopyInto(&out.NestedComponentSpec)
}
func (in *NestedAPIServerSpec) DeepCopy() *NestedAPIServerSpec {
	if in == nil {
		return nil
	}
	out := new(NestedAPIServerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedAPIServerStatus) DeepCopyInto(out *NestedAPIServerStatus) {
	*out = *in
	if in.APIServerService != nil {
		in, out := &in.APIServerService, &out.APIServerService
		*out = new(v1.ObjectReference)
		**out = **in
	}
	in.CommonStatus.DeepCopyInto(&out.CommonStatus)
}
func (in *NestedAPIServerStatus) DeepCopy() *NestedAPIServerStatus {
	if in == nil {
		return nil
	}
	out := new(NestedAPIServerStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedComponentSpec) DeepCopyInto(out *NestedComponentSpec) {
	*out = *in
	out.CommonSpec = in.CommonSpec
	in.PatchSpec.DeepCopyInto(&out.PatchSpec)
	in.Resources.DeepCopyInto(&out.Resources)
}
func (in *NestedComponentSpec) DeepCopy() *NestedComponentSpec {
	if in == nil {
		return nil
	}
	out := new(NestedComponentSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedControlPlane) DeepCopyInto(out *NestedControlPlane) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *NestedControlPlane) DeepCopy() *NestedControlPlane {
	if in == nil {
		return nil
	}
	out := new(NestedControlPlane)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedControlPlane) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *NestedControlPlaneList) DeepCopyInto(out *NestedControlPlaneList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]NestedControlPlane, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *NestedControlPlaneList) DeepCopy() *NestedControlPlaneList {
	if in == nil {
		return nil
	}
	out := new(NestedControlPlaneList)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedControlPlaneList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *NestedControlPlaneSpec) DeepCopyInto(out *NestedControlPlaneSpec) {
	*out = *in
	if in.EtcdRef != nil {
		in, out := &in.EtcdRef, &out.EtcdRef
		*out = new(v1.ObjectReference)
		**out = **in
	}
	if in.APIServerRef != nil {
		in, out := &in.APIServerRef, &out.APIServerRef
		*out = new(v1.ObjectReference)
		**out = **in
	}
	if in.ControllerManagerRef != nil {
		in, out := &in.ControllerManagerRef, &out.ControllerManagerRef
		*out = new(v1.ObjectReference)
		**out = **in
	}
}
func (in *NestedControlPlaneSpec) DeepCopy() *NestedControlPlaneSpec {
	if in == nil {
		return nil
	}
	out := new(NestedControlPlaneSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedControlPlaneStatus) DeepCopyInto(out *NestedControlPlaneStatus) {
	*out = *in
	if in.Etcd != nil {
		in, out := &in.Etcd, &out.Etcd
		*out = new(NestedControlPlaneStatusEtcd)
		(*in).DeepCopyInto(*out)
	}
	if in.APIServer != nil {
		in, out := &in.APIServer, &out.APIServer
		*out = new(NestedControlPlaneStatusAPIServer)
		**out = **in
	}
	if in.FailureMessage != nil {
		in, out := &in.FailureMessage, &out.FailureMessage
		*out = new(string)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make(apiv1alpha4.Conditions, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *NestedControlPlaneStatus) DeepCopy() *NestedControlPlaneStatus {
	if in == nil {
		return nil
	}
	out := new(NestedControlPlaneStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *NestedControlPlaneStatusAPIServer) DeepCopyInto(out *NestedControlPlaneStatusAPIServer) {
	*out = *in
}
func (in *NestedControlPlaneStatusAPIServer) DeepCopy() *NestedControlPlaneStatusAPIServer {
	if in == nil {
		return nil
	}
	out := new(NestedControlPlaneStatusAPIServer)
	in.DeepCopyInto(out)
	return out
}