//go:build !ignore_autogenerated

/*
Copyright (C) 2022-2025 ApeCloud Co., Ltd

This file is part of KubeBlocks project

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

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

package v1alpha1

import (
	apisappsv1 "github.com/apecloud/kubeblocks/apis/apps/v1"
	"github.com/apecloud/kubeblocks/apis/apps/v1beta1"
	workloadsv1alpha1 "github.com/apecloud/kubeblocks/apis/workloads/v1alpha1"
	appsv1 "k8s.io/api/apps/v1"
	"k8s.io/api/core/v1"
	rbacv1 "k8s.io/api/rbac/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/util/intstr"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Action) DeepCopyInto(out *Action) {
	*out = *in
	if in.Exec != nil {
		in, out := &in.Exec, &out.Exec
		*out = new(ExecAction)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTP != nil {
		in, out := &in.HTTP, &out.HTTP
		*out = new(HTTPAction)
		(*in).DeepCopyInto(*out)
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RetryPolicy != nil {
		in, out := &in.RetryPolicy, &out.RetryPolicy
		*out = new(RetryPolicy)
		**out = **in
	}
	if in.PreCondition != nil {
		in, out := &in.PreCondition, &out.PreCondition
		*out = new(PreConditionType)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Cluster) DeepCopyInto(out *Cluster) {
	*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 Cluster.
func (in *Cluster) DeepCopy() *Cluster {
	if in == nil {
		return nil
	}
	out := new(Cluster)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Cluster) 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 *ClusterBackup) DeepCopyInto(out *ClusterBackup) {
	*out = *in
	if in.Enabled != nil {
		in, out := &in.Enabled, &out.Enabled
		*out = new(bool)
		**out = **in
	}
	if in.StartingDeadlineMinutes != nil {
		in, out := &in.StartingDeadlineMinutes, &out.StartingDeadlineMinutes
		*out = new(int64)
		**out = **in
	}
	if in.PITREnabled != nil {
		in, out := &in.PITREnabled, &out.PITREnabled
		*out = new(bool)
		**out = **in
	}
	if in.IncrementalBackupEnabled != nil {
		in, out := &in.IncrementalBackupEnabled, &out.IncrementalBackupEnabled
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentConfig) DeepCopyInto(out *ClusterComponentConfig) {
	*out = *in
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	in.ClusterComponentConfigSource.DeepCopyInto(&out.ClusterComponentConfigSource)
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentConfigSource) DeepCopyInto(out *ClusterComponentConfigSource) {
	*out = *in
	if in.ConfigMap != nil {
		in, out := &in.ConfigMap, &out.ConfigMap
		*out = new(v1.ConfigMapVolumeSource)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentDefinition) DeepCopyInto(out *ClusterComponentDefinition) {
	*out = *in
	if in.ConfigSpecs != nil {
		in, out := &in.ConfigSpecs, &out.ConfigSpecs
		*out = make([]ComponentConfigSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ScriptSpecs != nil {
		in, out := &in.ScriptSpecs, &out.ScriptSpecs
		*out = make([]ComponentTemplateSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Probes != nil {
		in, out := &in.Probes, &out.Probes
		*out = new(ClusterDefinitionProbes)
		(*in).DeepCopyInto(*out)
	}
	if in.LogConfigs != nil {
		in, out := &in.LogConfigs, &out.LogConfigs
		*out = make([]LogConfig, len(*in))
		copy(*out, *in)
	}
	if in.PodSpec != nil {
		in, out := &in.PodSpec, &out.PodSpec
		*out = new(v1.PodSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Service != nil {
		in, out := &in.Service, &out.Service
		*out = new(ServiceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.StatelessSpec != nil {
		in, out := &in.StatelessSpec, &out.StatelessSpec
		*out = new(StatelessSetSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.StatefulSpec != nil {
		in, out := &in.StatefulSpec, &out.StatefulSpec
		*out = new(StatefulSetSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ConsensusSpec != nil {
		in, out := &in.ConsensusSpec, &out.ConsensusSpec
		*out = new(ConsensusSetSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ReplicationSpec != nil {
		in, out := &in.ReplicationSpec, &out.ReplicationSpec
		*out = new(ReplicationSetSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.RSMSpec != nil {
		in, out := &in.RSMSpec, &out.RSMSpec
		*out = new(RSMSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.HorizontalScalePolicy != nil {
		in, out := &in.HorizontalScalePolicy, &out.HorizontalScalePolicy
		*out = new(HorizontalScalePolicy)
		**out = **in
	}
	if in.SystemAccounts != nil {
		in, out := &in.SystemAccounts, &out.SystemAccounts
		*out = new(SystemAccountSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.VolumeTypes != nil {
		in, out := &in.VolumeTypes, &out.VolumeTypes
		*out = make([]VolumeTypeSpec, len(*in))
		copy(*out, *in)
	}
	if in.CustomLabelSpecs != nil {
		in, out := &in.CustomLabelSpecs, &out.CustomLabelSpecs
		*out = make([]CustomLabelSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SwitchoverSpec != nil {
		in, out := &in.SwitchoverSpec, &out.SwitchoverSpec
		*out = new(SwitchoverSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.PostStartSpec != nil {
		in, out := &in.PostStartSpec, &out.PostStartSpec
		*out = new(PostStartAction)
		(*in).DeepCopyInto(*out)
	}
	if in.VolumeProtectionSpec != nil {
		in, out := &in.VolumeProtectionSpec, &out.VolumeProtectionSpec
		*out = new(VolumeProtectionSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ComponentDefRef != nil {
		in, out := &in.ComponentDefRef, &out.ComponentDefRef
		*out = make([]ComponentDefRef, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ServiceRefDeclarations != nil {
		in, out := &in.ServiceRefDeclarations, &out.ServiceRefDeclarations
		*out = make([]ServiceRefDeclaration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Exporter != nil {
		in, out := &in.Exporter, &out.Exporter
		*out = new(Exporter)
		**out = **in
	}
	if in.Monitor != nil {
		in, out := &in.Monitor, &out.Monitor
		*out = new(MonitorConfig)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentService) DeepCopyInto(out *ClusterComponentService) {
	*out = *in
	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
		}
	}
	if in.PodService != nil {
		in, out := &in.PodService, &out.PodService
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentSpec) DeepCopyInto(out *ClusterComponentSpec) {
	*out = *in
	if in.ClassDefRef != nil {
		in, out := &in.ClassDefRef, &out.ClassDefRef
		*out = new(ClassDefRef)
		**out = **in
	}
	if in.ServiceRefs != nil {
		in, out := &in.ServiceRefs, &out.ServiceRefs
		*out = make([]ServiceRef, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.EnabledLogs != nil {
		in, out := &in.EnabledLogs, &out.EnabledLogs
		*out = make([]string, len(*in))
		copy(*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
		}
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SchedulingPolicy != nil {
		in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
		*out = new(SchedulingPolicy)
		(*in).DeepCopyInto(*out)
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.VolumeClaimTemplates != nil {
		in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
		*out = make([]ClusterComponentVolumeClaimTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]v1.Volume, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]ClusterComponentService, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SystemAccounts != nil {
		in, out := &in.SystemAccounts, &out.SystemAccounts
		*out = make([]ComponentSystemAccount, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make([]ClusterComponentConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SwitchPolicy != nil {
		in, out := &in.SwitchPolicy, &out.SwitchPolicy
		*out = new(ClusterSwitchPolicy)
		**out = **in
	}
	if in.Issuer != nil {
		in, out := &in.Issuer, &out.Issuer
		*out = new(Issuer)
		(*in).DeepCopyInto(*out)
	}
	if in.UpdateStrategy != nil {
		in, out := &in.UpdateStrategy, &out.UpdateStrategy
		*out = new(UpdateStrategy)
		**out = **in
	}
	if in.InstanceUpdateStrategy != nil {
		in, out := &in.InstanceUpdateStrategy, &out.InstanceUpdateStrategy
		*out = new(InstanceUpdateStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.ParallelPodManagementConcurrency != nil {
		in, out := &in.ParallelPodManagementConcurrency, &out.ParallelPodManagementConcurrency
		*out = new(intstr.IntOrString)
		**out = **in
	}
	if in.PodUpdatePolicy != nil {
		in, out := &in.PodUpdatePolicy, &out.PodUpdatePolicy
		*out = new(workloadsv1alpha1.PodUpdatePolicyType)
		**out = **in
	}
	if in.UserResourceRefs != nil {
		in, out := &in.UserResourceRefs, &out.UserResourceRefs
		*out = new(UserResourceRefs)
		(*in).DeepCopyInto(*out)
	}
	if in.Instances != nil {
		in, out := &in.Instances, &out.Instances
		*out = make([]InstanceTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OfflineInstances != nil {
		in, out := &in.OfflineInstances, &out.OfflineInstances
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.DisableExporter != nil {
		in, out := &in.DisableExporter, &out.DisableExporter
		*out = new(bool)
		**out = **in
	}
	if in.Monitor != nil {
		in, out := &in.Monitor, &out.Monitor
		*out = new(bool)
		**out = **in
	}
	if in.Stop != nil {
		in, out := &in.Stop, &out.Stop
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentStatus) DeepCopyInto(out *ClusterComponentStatus) {
	*out = *in
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = make(ComponentMessageMap, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.PodsReady != nil {
		in, out := &in.PodsReady, &out.PodsReady
		*out = new(bool)
		**out = **in
	}
	if in.PodsReadyTime != nil {
		in, out := &in.PodsReadyTime, &out.PodsReadyTime
		*out = (*in).DeepCopy()
	}
	if in.MembersStatus != nil {
		in, out := &in.MembersStatus, &out.MembersStatus
		*out = make([]workloadsv1alpha1.MemberStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComponentVolumeClaimTemplate) DeepCopyInto(out *ClusterComponentVolumeClaimTemplate) {
	*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
		}
	}
	in.Spec.DeepCopyInto(&out.Spec)
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterDefinitionList) 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 *ClusterDefinitionProbe) DeepCopyInto(out *ClusterDefinitionProbe) {
	*out = *in
	if in.Commands != nil {
		in, out := &in.Commands, &out.Commands
		*out = new(ClusterDefinitionProbeCMDs)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDefinitionProbes) DeepCopyInto(out *ClusterDefinitionProbes) {
	*out = *in
	if in.RunningProbe != nil {
		in, out := &in.RunningProbe, &out.RunningProbe
		*out = new(ClusterDefinitionProbe)
		(*in).DeepCopyInto(*out)
	}
	if in.StatusProbe != nil {
		in, out := &in.StatusProbe, &out.StatusProbe
		*out = new(ClusterDefinitionProbe)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleProbe != nil {
		in, out := &in.RoleProbe, &out.RoleProbe
		*out = new(ClusterDefinitionProbe)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterDefinitionSpec) DeepCopyInto(out *ClusterDefinitionSpec) {
	*out = *in
	if in.ComponentDefs != nil {
		in, out := &in.ComponentDefs, &out.ComponentDefs
		*out = make([]ClusterComponentDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ConnectionCredential != nil {
		in, out := &in.ConnectionCredential, &out.ConnectionCredential
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Topologies != nil {
		in, out := &in.Topologies, &out.Topologies
		*out = make([]ClusterTopology, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterList) 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 *ClusterNetwork) DeepCopyInto(out *ClusterNetwork) {
	*out = *in
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterObjectReference) DeepCopyInto(out *ClusterObjectReference) {
	*out = *in
	if in.Optional != nil {
		in, out := &in.Optional, &out.Optional
		*out = new(bool)
		**out = **in
	}
	if in.MultipleClusterObjectOption != nil {
		in, out := &in.MultipleClusterObjectOption, &out.MultipleClusterObjectOption
		*out = new(MultipleClusterObjectOption)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
	*out = *in
	if in.ShardingSpecs != nil {
		in, out := &in.ShardingSpecs, &out.ShardingSpecs
		*out = make([]ShardingSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ComponentSpecs != nil {
		in, out := &in.ComponentSpecs, &out.ComponentSpecs
		*out = make([]ClusterComponentSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]ClusterService, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SchedulingPolicy != nil {
		in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
		*out = new(SchedulingPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.RuntimeClassName != nil {
		in, out := &in.RuntimeClassName, &out.RuntimeClassName
		*out = new(string)
		**out = **in
	}
	if in.Backup != nil {
		in, out := &in.Backup, &out.Backup
		*out = new(ClusterBackup)
		(*in).DeepCopyInto(*out)
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	in.Resources.DeepCopyInto(&out.Resources)
	in.Storage.DeepCopyInto(&out.Storage)
	if in.Network != nil {
		in, out := &in.Network, &out.Network
		*out = new(ClusterNetwork)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus) {
	*out = *in
	if in.Components != nil {
		in, out := &in.Components, &out.Components
		*out = make(map[string]ClusterComponentStatus, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	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 ClusterStatus.
func (in *ClusterStatus) DeepCopy() *ClusterStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterStatus)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Component) DeepCopyInto(out *Component) {
	*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 Component.
func (in *Component) DeepCopy() *Component {
	if in == nil {
		return nil
	}
	out := new(Component)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Component) 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 *ComponentConfigSpec) DeepCopyInto(out *ComponentConfigSpec) {
	*out = *in
	in.ComponentTemplateSpec.DeepCopyInto(&out.ComponentTemplateSpec)
	if in.Keys != nil {
		in, out := &in.Keys, &out.Keys
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LegacyRenderedConfigSpec != nil {
		in, out := &in.LegacyRenderedConfigSpec, &out.LegacyRenderedConfigSpec
		*out = new(LegacyRenderedTemplateSpec)
		**out = **in
	}
	if in.AsEnvFrom != nil {
		in, out := &in.AsEnvFrom, &out.AsEnvFrom
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.InjectEnvTo != nil {
		in, out := &in.InjectEnvTo, &out.InjectEnvTo
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ReRenderResourceTypes != nil {
		in, out := &in.ReRenderResourceTypes, &out.ReRenderResourceTypes
		*out = make([]RerenderResourceType, len(*in))
		copy(*out, *in)
	}
	if in.AsSecret != nil {
		in, out := &in.AsSecret, &out.AsSecret
		*out = new(bool)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ComponentDefinitionList) 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 *ComponentDefinitionSpec) DeepCopyInto(out *ComponentDefinitionSpec) {
	*out = *in
	in.Runtime.DeepCopyInto(&out.Runtime)
	if in.Monitor != nil {
		in, out := &in.Monitor, &out.Monitor
		*out = new(MonitorConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Exporter != nil {
		in, out := &in.Exporter, &out.Exporter
		*out = new(Exporter)
		**out = **in
	}
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]ComponentVolume, len(*in))
		copy(*out, *in)
	}
	if in.HostNetwork != nil {
		in, out := &in.HostNetwork, &out.HostNetwork
		*out = new(HostNetwork)
		(*in).DeepCopyInto(*out)
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]ComponentService, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make([]ComponentConfigSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LogConfigs != nil {
		in, out := &in.LogConfigs, &out.LogConfigs
		*out = make([]LogConfig, len(*in))
		copy(*out, *in)
	}
	if in.Scripts != nil {
		in, out := &in.Scripts, &out.Scripts
		*out = make([]ComponentTemplateSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PolicyRules != nil {
		in, out := &in.PolicyRules, &out.PolicyRules
		*out = make([]rbacv1.PolicyRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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
		}
	}
	if in.ReplicasLimit != nil {
		in, out := &in.ReplicasLimit, &out.ReplicasLimit
		*out = new(ReplicasLimit)
		**out = **in
	}
	if in.SystemAccounts != nil {
		in, out := &in.SystemAccounts, &out.SystemAccounts
		*out = make([]SystemAccount, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.UpdateStrategy != nil {
		in, out := &in.UpdateStrategy, &out.UpdateStrategy
		*out = new(UpdateStrategy)
		**out = **in
	}
	if in.PodManagementPolicy != nil {
		in, out := &in.PodManagementPolicy, &out.PodManagementPolicy
		*out = new(appsv1.PodManagementPolicyType)
		**out = **in
	}
	if in.Roles != nil {
		in, out := &in.Roles, &out.Roles
		*out = make([]ReplicaRole, len(*in))
		copy(*out, *in)
	}
	if in.RoleArbitrator != nil {
		in, out := &in.RoleArbitrator, &out.RoleArbitrator
		*out = new(RoleArbitrator)
		**out = **in
	}
	if in.LifecycleActions != nil {
		in, out := &in.LifecycleActions, &out.LifecycleActions
		*out = new(ComponentLifecycleActions)
		(*in).DeepCopyInto(*out)
	}
	if in.ServiceRefDeclarations != nil {
		in, out := &in.ServiceRefDeclarations, &out.ServiceRefDeclarations
		*out = make([]ServiceRefDeclaration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentLifecycleActions) DeepCopyInto(out *ComponentLifecycleActions) {
	*out = *in
	if in.PostProvision != nil {
		in, out := &in.PostProvision, &out.PostProvision
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.PreTerminate != nil {
		in, out := &in.PreTerminate, &out.PreTerminate
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleProbe != nil {
		in, out := &in.RoleProbe, &out.RoleProbe
		*out = new(RoleProbe)
		(*in).DeepCopyInto(*out)
	}
	if in.Switchover != nil {
		in, out := &in.Switchover, &out.Switchover
		*out = new(ComponentSwitchover)
		(*in).DeepCopyInto(*out)
	}
	if in.MemberJoin != nil {
		in, out := &in.MemberJoin, &out.MemberJoin
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.MemberLeave != nil {
		in, out := &in.MemberLeave, &out.MemberLeave
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.Readonly != nil {
		in, out := &in.Readonly, &out.Readonly
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.Readwrite != nil {
		in, out := &in.Readwrite, &out.Readwrite
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.DataDump != nil {
		in, out := &in.DataDump, &out.DataDump
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.DataLoad != nil {
		in, out := &in.DataLoad, &out.DataLoad
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.Reconfigure != nil {
		in, out := &in.Reconfigure, &out.Reconfigure
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
	if in.AccountProvision != nil {
		in, out := &in.AccountProvision, &out.AccountProvision
		*out = new(LifecycleActionHandler)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ComponentList) 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 ComponentMessageMap) DeepCopyInto(out *ComponentMessageMap) {
	{
		in := &in
		*out = make(ComponentMessageMap, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentRefEnv) DeepCopyInto(out *ComponentRefEnv) {
	*out = *in
	if in.ValueFrom != nil {
		in, out := &in.ValueFrom, &out.ValueFrom
		*out = new(ComponentValueFrom)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentService) DeepCopyInto(out *ComponentService) {
	*out = *in
	in.Service.DeepCopyInto(&out.Service)
	if in.PodService != nil {
		in, out := &in.PodService, &out.PodService
		*out = new(bool)
		**out = **in
	}
	if in.DisableAutoProvision != nil {
		in, out := &in.DisableAutoProvision, &out.DisableAutoProvision
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec) {
	*out = *in
	if in.ServiceRefs != nil {
		in, out := &in.ServiceRefs, &out.ServiceRefs
		*out = make([]ServiceRef, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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
		}
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.VolumeClaimTemplates != nil {
		in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
		*out = make([]ClusterComponentVolumeClaimTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]v1.Volume, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]ComponentService, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SystemAccounts != nil {
		in, out := &in.SystemAccounts, &out.SystemAccounts
		*out = make([]ComponentSystemAccount, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Configs != nil {
		in, out := &in.Configs, &out.Configs
		*out = make([]ClusterComponentConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.EnabledLogs != nil {
		in, out := &in.EnabledLogs, &out.EnabledLogs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.InstanceUpdateStrategy != nil {
		in, out := &in.InstanceUpdateStrategy, &out.InstanceUpdateStrategy
		*out = new(InstanceUpdateStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.ParallelPodManagementConcurrency != nil {
		in, out := &in.ParallelPodManagementConcurrency, &out.ParallelPodManagementConcurrency
		*out = new(intstr.IntOrString)
		**out = **in
	}
	if in.PodUpdatePolicy != nil {
		in, out := &in.PodUpdatePolicy, &out.PodUpdatePolicy
		*out = new(workloadsv1alpha1.PodUpdatePolicyType)
		**out = **in
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SchedulingPolicy != nil {
		in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
		*out = new(SchedulingPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.TLSConfig != nil {
		in, out := &in.TLSConfig, &out.TLSConfig
		*out = new(TLSConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Instances != nil {
		in, out := &in.Instances, &out.Instances
		*out = make([]InstanceTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OfflineInstances != nil {
		in, out := &in.OfflineInstances, &out.OfflineInstances
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.RuntimeClassName != nil {
		in, out := &in.RuntimeClassName, &out.RuntimeClassName
		*out = new(string)
		**out = **in
	}
	if in.DisableExporter != nil {
		in, out := &in.DisableExporter, &out.DisableExporter
		*out = new(bool)
		**out = **in
	}
	if in.Stop != nil {
		in, out := &in.Stop, &out.Stop
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus) {
	*out = *in
	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])
		}
	}
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = make(ComponentMessageMap, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentSwitchover) DeepCopyInto(out *ComponentSwitchover) {
	*out = *in
	if in.WithCandidate != nil {
		in, out := &in.WithCandidate, &out.WithCandidate
		*out = new(Action)
		(*in).DeepCopyInto(*out)
	}
	if in.WithoutCandidate != nil {
		in, out := &in.WithoutCandidate, &out.WithoutCandidate
		*out = new(Action)
		(*in).DeepCopyInto(*out)
	}
	if in.ScriptSpecSelectors != nil {
		in, out := &in.ScriptSpecSelectors, &out.ScriptSpecSelectors
		*out = make([]ScriptSpecSelector, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentSystemAccount) DeepCopyInto(out *ComponentSystemAccount) {
	*out = *in
	if in.PasswordConfig != nil {
		in, out := &in.PasswordConfig, &out.PasswordConfig
		*out = new(PasswordConfig)
		**out = **in
	}
	if in.SecretRef != nil {
		in, out := &in.SecretRef, &out.SecretRef
		*out = new(ProvisionSecretRef)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentTemplateSpec) DeepCopyInto(out *ComponentTemplateSpec) {
	*out = *in
	if in.DefaultMode != nil {
		in, out := &in.DefaultMode, &out.DefaultMode
		*out = new(int32)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComponentVars) DeepCopyInto(out *ComponentVars) {
	*out = *in
	if in.ComponentName != nil {
		in, out := &in.ComponentName, &out.ComponentName
		*out = new(VarOption)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(VarOption)
		**out = **in
	}
	if in.InstanceNames != nil {
		in, out := &in.InstanceNames, &out.InstanceNames
		*out = new(VarOption)
		**out = **in
	}
	if in.PodFQDNs != nil {
		in, out := &in.PodFQDNs, &out.PodFQDNs
		*out = new(VarOption)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ComponentVersion) 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 *ComponentVersionCompatibilityRule) DeepCopyInto(out *ComponentVersionCompatibilityRule) {
	*out = *in
	if in.CompDefs != nil {
		in, out := &in.CompDefs, &out.CompDefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Releases != nil {
		in, out := &in.Releases, &out.Releases
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ComponentVersionList) 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 *ComponentVersionRelease) DeepCopyInto(out *ComponentVersionRelease) {
	*out = *in
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ConfigConstraintList) 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 *ConfigConstraintSpec) DeepCopyInto(out *ConfigConstraintSpec) {
	*out = *in
	if in.ReloadOptions != nil {
		in, out := &in.ReloadOptions, &out.ReloadOptions
		*out = new(ReloadOptions)
		(*in).DeepCopyInto(*out)
	}
	if in.DynamicActionCanBeMerged != nil {
		in, out := &in.DynamicActionCanBeMerged, &out.DynamicActionCanBeMerged
		*out = new(bool)
		**out = **in
	}
	if in.ReloadStaticParamsBeforeRestart != nil {
		in, out := &in.ReloadStaticParamsBeforeRestart, &out.ReloadStaticParamsBeforeRestart
		*out = new(bool)
		**out = **in
	}
	if in.ToolsImageSpec != nil {
		in, out := &in.ToolsImageSpec, &out.ToolsImageSpec
		*out = new(v1beta1.ToolsSetup)
		(*in).DeepCopyInto(*out)
	}
	if in.DownwardAPIOptions != nil {
		in, out := &in.DownwardAPIOptions, &out.DownwardAPIOptions
		*out = make([]v1beta1.DownwardAPIChangeTriggeredAction, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ScriptConfigs != nil {
		in, out := &in.ScriptConfigs, &out.ScriptConfigs
		*out = make([]v1beta1.ScriptConfig, len(*in))
		copy(*out, *in)
	}
	if in.ConfigurationSchema != nil {
		in, out := &in.ConfigurationSchema, &out.ConfigurationSchema
		*out = new(CustomParametersValidation)
		(*in).DeepCopyInto(*out)
	}
	if in.StaticParameters != nil {
		in, out := &in.StaticParameters, &out.StaticParameters
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.DynamicParameters != nil {
		in, out := &in.DynamicParameters, &out.DynamicParameters
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ImmutableParameters != nil {
		in, out := &in.ImmutableParameters, &out.ImmutableParameters
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.FormatterConfig != nil {
		in, out := &in.FormatterConfig, &out.FormatterConfig
		*out = new(v1beta1.FileFormatConfig)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigParams) DeepCopyInto(out *ConfigParams) {
	*out = *in
	if in.Content != nil {
		in, out := &in.Content, &out.Content
		*out = new(string)
		**out = **in
	}
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make(map[string]*string, len(*in))
		for key, val := range *in {
			var outVal *string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = new(string)
				**out = **in
			}
			(*out)[key] = outVal
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Configuration) DeepCopyInto(out *Configuration) {
	*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 Configuration.
func (in *Configuration) DeepCopy() *Configuration {
	if in == nil {
		return nil
	}
	out := new(Configuration)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Configuration) 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 *ConfigurationItemDetail) DeepCopyInto(out *ConfigurationItemDetail) {
	*out = *in
	in.Payload.DeepCopyInto(&out.Payload)
	if in.ConfigSpec != nil {
		in, out := &in.ConfigSpec, &out.ConfigSpec
		*out = new(ComponentConfigSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ImportTemplateRef != nil {
		in, out := &in.ImportTemplateRef, &out.ImportTemplateRef
		*out = new(ConfigTemplateExtension)
		**out = **in
	}
	if in.ConfigFileParams != nil {
		in, out := &in.ConfigFileParams, &out.ConfigFileParams
		*out = make(map[string]ConfigParams, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigurationItemDetailStatus) DeepCopyInto(out *ConfigurationItemDetailStatus) {
	*out = *in
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = new(string)
		**out = **in
	}
	if in.ReconcileDetail != nil {
		in, out := &in.ReconcileDetail, &out.ReconcileDetail
		*out = new(ReconcileDetail)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigurationStatus) DeepCopyInto(out *ConfigurationStatus) {
	*out = *in
	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])
		}
	}
	if in.ConfigurationItemStatus != nil {
		in, out := &in.ConfigurationItemStatus, &out.ConfigurationItemStatus
		*out = make([]ConfigurationItemDetailStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConnectionCredentialAuth) DeepCopyInto(out *ConnectionCredentialAuth) {
	*out = *in
	if in.Username != nil {
		in, out := &in.Username, &out.Username
		*out = new(CredentialVar)
		(*in).DeepCopyInto(*out)
	}
	if in.Password != nil {
		in, out := &in.Password, &out.Password
		*out = new(CredentialVar)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConsensusMember) DeepCopyInto(out *ConsensusMember) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ContainerVars) DeepCopyInto(out *ContainerVars) {
	*out = *in
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(NamedVar)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CredentialVar) DeepCopyInto(out *CredentialVar) {
	*out = *in
	if in.ValueFrom != nil {
		in, out := &in.ValueFrom, &out.ValueFrom
		*out = new(v1.EnvVarSource)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CredentialVars) DeepCopyInto(out *CredentialVars) {
	*out = *in
	if in.Username != nil {
		in, out := &in.Username, &out.Username
		*out = new(VarOption)
		**out = **in
	}
	if in.Password != nil {
		in, out := &in.Password, &out.Password
		*out = new(VarOption)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CustomParametersValidation) DeepCopyInto(out *CustomParametersValidation) {
	*out = *in
	if in.Schema != nil {
		in, out := &in.Schema, &out.Schema
		*out = (*in).DeepCopy()
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EnvVar) DeepCopyInto(out *EnvVar) {
	*out = *in
	if in.ValueFrom != nil {
		in, out := &in.ValueFrom, &out.ValueFrom
		*out = new(VarSource)
		(*in).DeepCopyInto(*out)
	}
	if in.Expression != nil {
		in, out := &in.Expression, &out.Expression
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HostNetworkVars) DeepCopyInto(out *HostNetworkVars) {
	*out = *in
	if in.Container != nil {
		in, out := &in.Container, &out.Container
		*out = new(ContainerVars)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InstanceMeta) DeepCopyInto(out *InstanceMeta) {
	*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
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InstanceTemplate) DeepCopyInto(out *InstanceTemplate) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	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
		}
	}
	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.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(string)
		**out = **in
	}
	if in.SchedulingPolicy != nil {
		in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
		*out = new(SchedulingPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]v1.Volume, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.VolumeMounts != nil {
		in, out := &in.VolumeMounts, &out.VolumeMounts
		*out = make([]v1.VolumeMount, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.VolumeClaimTemplates != nil {
		in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
		*out = make([]ClusterComponentVolumeClaimTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InstanceUpdateStrategy) DeepCopyInto(out *InstanceUpdateStrategy) {
	*out = *in
	if in.Partition != nil {
		in, out := &in.Partition, &out.Partition
		*out = new(int32)
		**out = **in
	}
	if in.MaxUnavailable != nil {
		in, out := &in.MaxUnavailable, &out.MaxUnavailable
		*out = new(intstr.IntOrString)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Issuer) DeepCopyInto(out *Issuer) {
	*out = *in
	if in.SecretRef != nil {
		in, out := &in.SecretRef, &out.SecretRef
		*out = new(TLSSecretRef)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LifecycleActionHandler) DeepCopyInto(out *LifecycleActionHandler) {
	*out = *in
	if in.BuiltinHandler != nil {
		in, out := &in.BuiltinHandler, &out.BuiltinHandler
		*out = new(BuiltinActionHandlerType)
		**out = **in
	}
	if in.CustomHandler != nil {
		in, out := &in.CustomHandler, &out.CustomHandler
		*out = new(Action)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MonitorConfig) DeepCopyInto(out *MonitorConfig) {
	*out = *in
	if in.Exporter != nil {
		in, out := &in.Exporter, &out.Exporter
		*out = new(ExporterConfig)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MultipleClusterObjectCombinedOption) DeepCopyInto(out *MultipleClusterObjectCombinedOption) {
	*out = *in
	if in.NewVarSuffix != nil {
		in, out := &in.NewVarSuffix, &out.NewVarSuffix
		*out = new(string)
		**out = **in
	}
	if in.FlattenFormat != nil {
		in, out := &in.FlattenFormat, &out.FlattenFormat
		*out = new(MultipleClusterObjectValueFormatFlatten)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MultipleClusterObjectOption) DeepCopyInto(out *MultipleClusterObjectOption) {
	*out = *in
	if in.RequireAllComponentObjects != nil {
		in, out := &in.RequireAllComponentObjects, &out.RequireAllComponentObjects
		*out = new(bool)
		**out = **in
	}
	if in.CombinedOption != nil {
		in, out := &in.CombinedOption, &out.CombinedOption
		*out = new(MultipleClusterObjectCombinedOption)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamedVar) DeepCopyInto(out *NamedVar) {
	*out = *in
	if in.Option != nil {
		in, out := &in.Option, &out.Option
		*out = new(VarOption)
		**out = **in
	}
}

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PersistentVolumeClaimSpec) DeepCopyInto(out *PersistentVolumeClaimSpec) {
	*out = *in
	if in.AccessModes != nil {
		in, out := &in.AccessModes, &out.AccessModes
		*out = make([]v1.PersistentVolumeAccessMode, len(*in))
		copy(*out, *in)
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.StorageClassName != nil {
		in, out := &in.StorageClassName, &out.StorageClassName
		*out = new(string)
		**out = **in
	}
	if in.VolumeMode != nil {
		in, out := &in.VolumeMode, &out.VolumeMode
		*out = new(v1.PersistentVolumeMode)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProtectedVolume) DeepCopyInto(out *ProtectedVolume) {
	*out = *in
	if in.HighWatermark != nil {
		in, out := &in.HighWatermark, &out.HighWatermark
		*out = new(int)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProvisionPolicy) DeepCopyInto(out *ProvisionPolicy) {
	*out = *in
	if in.Statements != nil {
		in, out := &in.Statements, &out.Statements
		*out = new(ProvisionStatements)
		**out = **in
	}
	if in.SecretRef != nil {
		in, out := &in.SecretRef, &out.SecretRef
		*out = new(ProvisionSecretRef)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RSMSpec) DeepCopyInto(out *RSMSpec) {
	*out = *in
	if in.Roles != nil {
		in, out := &in.Roles, &out.Roles
		*out = make([]workloadsv1alpha1.ReplicaRole, len(*in))
		copy(*out, *in)
	}
	if in.RoleProbe != nil {
		in, out := &in.RoleProbe, &out.RoleProbe
		*out = new(workloadsv1alpha1.RoleProbe)
		(*in).DeepCopyInto(*out)
	}
	if in.MembershipReconfiguration != nil {
		in, out := &in.MembershipReconfiguration, &out.MembershipReconfiguration
		*out = new(workloadsv1alpha1.MembershipReconfiguration)
		(*in).DeepCopyInto(*out)
	}
	if in.MemberUpdateStrategy != nil {
		in, out := &in.MemberUpdateStrategy, &out.MemberUpdateStrategy
		*out = new(workloadsv1alpha1.MemberUpdateStrategy)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReloadOptions) DeepCopyInto(out *ReloadOptions) {
	*out = *in
	if in.UnixSignalTrigger != nil {
		in, out := &in.UnixSignalTrigger, &out.UnixSignalTrigger
		*out = new(v1beta1.UnixSignalTrigger)
		**out = **in
	}
	if in.ShellTrigger != nil {
		in, out := &in.ShellTrigger, &out.ShellTrigger
		*out = new(v1beta1.ShellTrigger)
		(*in).DeepCopyInto(*out)
	}
	if in.TPLScriptTrigger != nil {
		in, out := &in.TPLScriptTrigger, &out.TPLScriptTrigger
		*out = new(v1beta1.TPLScriptTrigger)
		(*in).DeepCopyInto(*out)
	}
	if in.AutoTrigger != nil {
		in, out := &in.AutoTrigger, &out.AutoTrigger
		*out = new(v1beta1.AutoTrigger)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Rollout) DeepCopyInto(out *Rollout) {
	*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 Rollout.
func (in *Rollout) DeepCopy() *Rollout {
	if in == nil {
		return nil
	}
	out := new(Rollout)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Rollout) 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 *RolloutComponent) DeepCopyInto(out *RolloutComponent) {
	*out = *in
	if in.ServiceVersion != nil {
		in, out := &in.ServiceVersion, &out.ServiceVersion
		*out = new(string)
		**out = **in
	}
	if in.CompDef != nil {
		in, out := &in.CompDef, &out.CompDef
		*out = new(string)
		**out = **in
	}
	in.Strategy.DeepCopyInto(&out.Strategy)
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(intstr.IntOrString)
		**out = **in
	}
	if in.InstanceMeta != nil {
		in, out := &in.InstanceMeta, &out.InstanceMeta
		*out = new(RolloutInstanceMeta)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutInstanceMeta) DeepCopyInto(out *RolloutInstanceMeta) {
	*out = *in
	if in.Canary != nil {
		in, out := &in.Canary, &out.Canary
		*out = new(InstanceMeta)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RolloutList) 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 *RolloutPromoteCondition) DeepCopyInto(out *RolloutPromoteCondition) {
	*out = *in
	if in.Prev != nil {
		in, out := &in.Prev, &out.Prev
		*out = new(apisappsv1.Action)
		(*in).DeepCopyInto(*out)
	}
	if in.Post != nil {
		in, out := &in.Post, &out.Post
		*out = new(apisappsv1.Action)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutPromotion) DeepCopyInto(out *RolloutPromotion) {
	*out = *in
	if in.Auto != nil {
		in, out := &in.Auto, &out.Auto
		*out = new(bool)
		**out = **in
	}
	if in.DelaySeconds != nil {
		in, out := &in.DelaySeconds, &out.DelaySeconds
		*out = new(int32)
		**out = **in
	}
	if in.Condition != nil {
		in, out := &in.Condition, &out.Condition
		*out = new(RolloutPromoteCondition)
		(*in).DeepCopyInto(*out)
	}
	if in.ScaleDownDelaySeconds != nil {
		in, out := &in.ScaleDownDelaySeconds, &out.ScaleDownDelaySeconds
		*out = new(int32)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutSharding) DeepCopyInto(out *RolloutSharding) {
	*out = *in
	if in.ShardingDef != nil {
		in, out := &in.ShardingDef, &out.ShardingDef
		*out = new(string)
		**out = **in
	}
	if in.ServiceVersion != nil {
		in, out := &in.ServiceVersion, &out.ServiceVersion
		*out = new(string)
		**out = **in
	}
	if in.CompDef != nil {
		in, out := &in.CompDef, &out.CompDef
		*out = new(string)
		**out = **in
	}
	in.Strategy.DeepCopyInto(&out.Strategy)
	if in.InstanceMeta != nil {
		in, out := &in.InstanceMeta, &out.InstanceMeta
		*out = new(RolloutInstanceMeta)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutStatus) DeepCopyInto(out *RolloutStatus) {
	*out = *in
	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])
		}
	}
	if in.Components != nil {
		in, out := &in.Components, &out.Components
		*out = make([]RolloutComponentStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Shardings != nil {
		in, out := &in.Shardings, &out.Shardings
		*out = make([]RolloutShardingStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy) {
	*out = *in
	if in.Inplace != nil {
		in, out := &in.Inplace, &out.Inplace
		*out = new(RolloutStrategyInplace)
		**out = **in
	}
	if in.Replace != nil {
		in, out := &in.Replace, &out.Replace
		*out = new(RolloutStrategyReplace)
		(*in).DeepCopyInto(*out)
	}
	if in.Create != nil {
		in, out := &in.Create, &out.Create
		*out = new(RolloutStrategyCreate)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutStrategyCreate) DeepCopyInto(out *RolloutStrategyCreate) {
	*out = *in
	if in.Canary != nil {
		in, out := &in.Canary, &out.Canary
		*out = new(bool)
		**out = **in
	}
	if in.SchedulingPolicy != nil {
		in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
		*out = new(SchedulingPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.Promotion != nil {
		in, out := &in.Promotion, &out.Promotion
		*out = new(RolloutPromotion)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RolloutStrategyReplace) DeepCopyInto(out *RolloutStrategyReplace) {
	*out = *in
	if in.SchedulingPolicy != nil {
		in, out := &in.SchedulingPolicy, &out.SchedulingPolicy
		*out = new(SchedulingPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.PerInstanceIntervalSeconds != nil {
		in, out := &in.PerInstanceIntervalSeconds, &out.PerInstanceIntervalSeconds
		*out = new(int32)
		**out = **in
	}
	if in.ScaleDownDelaySeconds != nil {
		in, out := &in.ScaleDownDelaySeconds, &out.ScaleDownDelaySeconds
		*out = new(int32)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SchedulingPolicy) DeepCopyInto(out *SchedulingPolicy) {
	*out = *in
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.TopologySpreadConstraints != nil {
		in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
		*out = make([]v1.TopologySpreadConstraint, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Service) DeepCopyInto(out *Service) {
	*out = *in
	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
		}
	}
	in.Spec.DeepCopyInto(&out.Spec)
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ServiceDescriptorList) 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 *ServiceDescriptorSpec) DeepCopyInto(out *ServiceDescriptorSpec) {
	*out = *in
	if in.Endpoint != nil {
		in, out := &in.Endpoint, &out.Endpoint
		*out = new(CredentialVar)
		(*in).DeepCopyInto(*out)
	}
	if in.Host != nil {
		in, out := &in.Host, &out.Host
		*out = new(CredentialVar)
		(*in).DeepCopyInto(*out)
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(CredentialVar)
		(*in).DeepCopyInto(*out)
	}
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = new(ConnectionCredentialAuth)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServicePort) DeepCopyInto(out *ServicePort) {
	*out = *in
	if in.AppProtocol != nil {
		in, out := &in.AppProtocol, &out.AppProtocol
		*out = new(string)
		**out = **in
	}
	out.TargetPort = in.TargetPort
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceRef) DeepCopyInto(out *ServiceRef) {
	*out = *in
	if in.ClusterServiceSelector != nil {
		in, out := &in.ClusterServiceSelector, &out.ClusterServiceSelector
		*out = new(ServiceRefClusterSelector)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceRefClusterSelector) DeepCopyInto(out *ServiceRefClusterSelector) {
	*out = *in
	if in.Service != nil {
		in, out := &in.Service, &out.Service
		*out = new(ServiceRefServiceSelector)
		**out = **in
	}
	if in.Credential != nil {
		in, out := &in.Credential, &out.Credential
		*out = new(ServiceRefCredentialSelector)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceRefVars) DeepCopyInto(out *ServiceRefVars) {
	*out = *in
	if in.Endpoint != nil {
		in, out := &in.Endpoint, &out.Endpoint
		*out = new(VarOption)
		**out = **in
	}
	if in.Host != nil {
		in, out := &in.Host, &out.Host
		*out = new(VarOption)
		**out = **in
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(VarOption)
		**out = **in
	}
	in.CredentialVars.DeepCopyInto(&out.CredentialVars)
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceVars) DeepCopyInto(out *ServiceVars) {
	*out = *in
	if in.Host != nil {
		in, out := &in.Host, &out.Host
		*out = new(VarOption)
		**out = **in
	}
	if in.LoadBalancer != nil {
		in, out := &in.LoadBalancer, &out.LoadBalancer
		*out = new(VarOption)
		**out = **in
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(NamedVar)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetSpec) DeepCopyInto(out *StatefulSetSpec) {
	*out = *in
	if in.LLUpdateStrategy != nil {
		in, out := &in.LLUpdateStrategy, &out.LLUpdateStrategy
		*out = new(appsv1.StatefulSetUpdateStrategy)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SwitchoverSpec) DeepCopyInto(out *SwitchoverSpec) {
	*out = *in
	if in.WithCandidate != nil {
		in, out := &in.WithCandidate, &out.WithCandidate
		*out = new(SwitchoverAction)
		(*in).DeepCopyInto(*out)
	}
	if in.WithoutCandidate != nil {
		in, out := &in.WithoutCandidate, &out.WithoutCandidate
		*out = new(SwitchoverAction)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SystemAccount) DeepCopyInto(out *SystemAccount) {
	*out = *in
	out.PasswordGenerationPolicy = in.PasswordGenerationPolicy
	if in.SecretRef != nil {
		in, out := &in.SecretRef, &out.SecretRef
		*out = new(ProvisionSecretRef)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TLSConfig) DeepCopyInto(out *TLSConfig) {
	*out = *in
	if in.Issuer != nil {
		in, out := &in.Issuer, &out.Issuer
		*out = new(Issuer)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VarSource) DeepCopyInto(out *VarSource) {
	*out = *in
	if in.ConfigMapKeyRef != nil {
		in, out := &in.ConfigMapKeyRef, &out.ConfigMapKeyRef
		*out = new(v1.ConfigMapKeySelector)
		(*in).DeepCopyInto(*out)
	}
	if in.SecretKeyRef != nil {
		in, out := &in.SecretKeyRef, &out.SecretKeyRef
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	if in.HostNetworkVarRef != nil {
		in, out := &in.HostNetworkVarRef, &out.HostNetworkVarRef
		*out = new(HostNetworkVarSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.ServiceVarRef != nil {
		in, out := &in.ServiceVarRef, &out.ServiceVarRef
		*out = new(ServiceVarSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.CredentialVarRef != nil {
		in, out := &in.CredentialVarRef, &out.CredentialVarRef
		*out = new(CredentialVarSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.ServiceRefVarRef != nil {
		in, out := &in.ServiceRefVarRef, &out.ServiceRefVarRef
		*out = new(ServiceRefVarSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.ComponentVarRef != nil {
		in, out := &in.ComponentVarRef, &out.ComponentVarRef
		*out = new(ComponentVarSelector)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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