// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
325593
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
	*out = *in
	if in.Addons != nil {
		in, out := &in.Addons, &out.Addons
		*out = make([]AddonSpec, len(*in))
		copy(*out, *in)
	}
	if in.Zones != nil {
		in, out := &in.Zones, &out.Zones
		*out = make([]*ClusterZoneSpec, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ClusterZoneSpec)
				**out = **in
			}
		}
	}
	if in.AdditionalNetworkCIDRs != nil {
		in, out := &in.AdditionalNetworkCIDRs, &out.AdditionalNetworkCIDRs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Topology != nil {
		in, out := &in.Topology, &out.Topology
		*out = new(TopologySpec)
		(*in).DeepCopyInto(*out)
	}
	if in.AdditionalSANs != nil {
		in, out := &in.AdditionalSANs, &out.AdditionalSANs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Multizone != nil {
		in, out := &in.Multizone, &out.Multizone
		*out = new(bool)
		**out = **in
	}
	if in.AdminAccess != nil {
		in, out := &in.AdminAccess, &out.AdminAccess
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.IsolateMasters != nil {
		in, out := &in.IsolateMasters, &out.IsolateMasters
		*out = new(bool)
		**out = **in
	}
	if in.UpdatePolicy != nil {
		in, out := &in.UpdatePolicy, &out.UpdatePolicy
		*out = new(string)
		**out = **in
	}
	if in.AdditionalPolicies != nil {
		in, out := &in.AdditionalPolicies, &out.AdditionalPolicies
		*out = new(map[string]string)
		if **in != nil {
			in, out := *in, *out
			*out = make(map[string]string, len(*in))
			for key, val := range *in {
				(*out)[key] = val
			}
		}
	}
	if in.FileAssets != nil {
		in, out := &in.FileAssets, &out.FileAssets
		*out = make([]FileAssetSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.EgressProxy != nil {
		in, out := &in.EgressProxy, &out.EgressProxy
		*out = new(EgressProxySpec)
		**out = **in
	}
	if in.EtcdClusters != nil {
		in, out := &in.EtcdClusters, &out.EtcdClusters
		*out = make([]*EtcdClusterSpec, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(EtcdClusterSpec)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Docker != nil {
		in, out := &in.Docker, &out.Docker
		*out = new(DockerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeDNS != nil {
		in, out := &in.KubeDNS, &out.KubeDNS
		*out = new(KubeDNSConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeAPIServer != nil {
		in, out := &in.KubeAPIServer, &out.KubeAPIServer
		*out = new(KubeAPIServerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeControllerManager != nil {
		in, out := &in.KubeControllerManager, &out.KubeControllerManager
		*out = new(KubeControllerManagerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ExternalCloudControllerManager != nil {
		in, out := &in.ExternalCloudControllerManager, &out.ExternalCloudControllerManager
		*out = new(CloudControllerManagerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeScheduler != nil {
		in, out := &in.KubeScheduler, &out.KubeScheduler
		*out = new(KubeSchedulerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeProxy != nil {
		in, out := &in.KubeProxy, &out.KubeProxy
		*out = new(KubeProxyConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Kubelet != nil {
		in, out := &in.Kubelet, &out.Kubelet
		*out = new(KubeletConfigSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.MasterKubelet != nil {
		in, out := &in.MasterKubelet, &out.MasterKubelet
		*out = new(KubeletConfigSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.CloudConfig != nil {
		in, out := &in.CloudConfig, &out.CloudConfig
		*out = new(CloudConfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.ExternalDNS != nil {
		in, out := &in.ExternalDNS, &out.ExternalDNS
		*out = new(ExternalDNSConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Networking != nil {
		in, out := &in.Networking, &out.Networking
		*out = new(NetworkingSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.API != nil {
		in, out := &in.API, &out.API
		*out = new(AccessSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Authentication != nil {
		in, out := &in.Authentication, &out.Authentication
		*out = new(AuthenticationSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Authorization != nil {
		in, out := &in.Authorization, &out.Authorization
		*out = new(AuthorizationSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.NodeAuthorization != nil {
		in, out := &in.NodeAuthorization, &out.NodeAuthorization
		*out = new(NodeAuthorizationSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.CloudLabels != nil {
		in, out := &in.CloudLabels, &out.CloudLabels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Hooks != nil {
		in, out := &in.Hooks, &out.Hooks
		*out = make([]HookSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Assets != nil {
		in, out := &in.Assets, &out.Assets
		*out = new(Assets)
		(*in).DeepCopyInto(*out)
	}
	if in.IAM != nil {
		in, out := &in.IAM, &out.IAM
		*out = new(IAMSpec)
		**out = **in
	}
	if in.EncryptionConfig != nil {
		in, out := &in.EncryptionConfig, &out.EncryptionConfig
		*out = new(bool)
		**out = **in
	}
	if in.Target != nil {
		in, out := &in.Target, &out.Target
		*out = new(TargetSpec)
		(*in).DeepCopyInto(*out)
	}
	return
}
247780
func (in *TableOptions) DeepCopyInto(out *TableOptions) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	return
}
364055
func (in *JoinControlPlane) DeepCopyInto(out *JoinControlPlane) {
	*out = *in
	out.LocalAPIEndpoint = in.LocalAPIEndpoint
	return
}
247714
func (in *ConfigMapBuildSource) DeepCopyInto(out *ConfigMapBuildSource) {
	*out = *in
	out.ConfigMap = in.ConfigMap
	return
}
825090
func (in *VolumeSnapshotCondition) DeepCopyInto(out *VolumeSnapshotCondition) {
	*out = *in
	out.Status = in.Status
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}
237581
func (in *StatefulSetCondition) DeepCopyInto(out *StatefulSetCondition) {
	*out = *in
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
	return
}
644780
func (in *EgressNetworkPolicyRule) DeepCopyInto(out *EgressNetworkPolicyRule) {
	*out = *in
	out.To = in.To
	return
}
215273
func (in *Event) DeepCopyInto(out *Event) {
	*out = *in
	if in.Object != nil {
		out.Object = in.Object.DeepCopyObject()
	}
	return
}
494251
func (in *Foo) DeepCopyInto(out *Foo) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
	return
}
132149
func (in *UserIdentityMapping) DeepCopyInto(out *UserIdentityMapping) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Identity = in.Identity
	out.User = in.User
	return
}
97933
func (in *DefaultAdmissionConfig) DeepCopyInto(out *DefaultAdmissionConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	return
}
752616
func (in *LocalVolumeSource) DeepCopyInto(out *LocalVolumeSource) {
	*out = *in
	if in.FSType != nil {
		in, out := &in.FSType, &out.FSType
		*out = new(string)
		**out = **in
	}
	return
}
207945
func (in *SourceStrategyOptions) DeepCopyInto(out *SourceStrategyOptions) {
	*out = *in
	if in.Incremental != nil {
		in, out := &in.Incremental, &out.Incremental
		*out = new(bool)
		**out = **in
	}
	return
}
1342675
func (in *Preconditions) DeepCopyInto(out *Preconditions) {
	*out = *in
	if in.UID != nil {
		in, out := &in.UID, &out.UID
		*out = new(types.UID)
		**out = **in
	}
	return
}
877866
func (in *SignatureSubject) DeepCopyInto(out *SignatureSubject) {
	*out = *in
	out.SignatureGenericEntity = in.SignatureGenericEntity
	return
}
590090
func (in *VolumeSnapshotCopy) DeepCopyInto(out *VolumeSnapshotCopy) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.Metadata.DeepCopyInto(&out.Metadata)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
	return
}
907268
func (in *LocalQuota) DeepCopyInto(out *LocalQuota) {
	*out = *in
	if in.PerFSGroup != nil {
		in, out := &in.PerFSGroup, &out.PerFSGroup
		x := (*in).DeepCopy()
		*out = &x
	}
	return
}