//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 (
	appsv1 "github.com/apecloud/kubeblocks/apis/apps/v1"
	dataprotectionv1alpha1 "github.com/apecloud/kubeblocks/apis/dataprotection/v1alpha1"
	"k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LastComponentConfiguration) DeepCopyInto(out *LastComponentConfiguration) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Shards != nil {
		in, out := &in.Shards, &out.Shards
		*out = new(int32)
		**out = **in
	}
	in.ResourceRequirements.DeepCopyInto(&out.ResourceRequirements)
	if in.VolumeClaimTemplates != nil {
		in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
		*out = make([]OpsRequestVolumeClaimTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]appsv1.ClusterComponentService, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Instances != nil {
		in, out := &in.Instances, &out.Instances
		*out = make([]appsv1.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)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpsAction) DeepCopyInto(out *OpsAction) {
	*out = *in
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Workload != nil {
		in, out := &in.Workload, &out.Workload
		*out = new(OpsWorkloadAction)
		(*in).DeepCopyInto(*out)
	}
	if in.Exec != nil {
		in, out := &in.Exec, &out.Exec
		*out = new(OpsExecAction)
		(*in).DeepCopyInto(*out)
	}
	if in.ResourceModifier != nil {
		in, out := &in.ResourceModifier, &out.ResourceModifier
		*out = new(OpsResourceModifierAction)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *OpsDefinitionList) 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 *OpsDefinitionSpec) DeepCopyInto(out *OpsDefinitionSpec) {
	*out = *in
	if in.PreConditions != nil {
		in, out := &in.PreConditions, &out.PreConditions
		*out = make([]PreCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PodInfoExtractors != nil {
		in, out := &in.PodInfoExtractors, &out.PodInfoExtractors
		*out = make([]PodInfoExtractor, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ComponentInfos != nil {
		in, out := &in.ComponentInfos, &out.ComponentInfos
		*out = make([]ComponentInfo, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ParametersSchema != nil {
		in, out := &in.ParametersSchema, &out.ParametersSchema
		*out = new(ParametersSchema)
		(*in).DeepCopyInto(*out)
	}
	if in.Actions != nil {
		in, out := &in.Actions, &out.Actions
		*out = make([]OpsAction, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpsService) DeepCopyInto(out *OpsService) {
	*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.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]v1.ServicePort, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PodSelector != nil {
		in, out := &in.PodSelector, &out.PodSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.IPFamilies != nil {
		in, out := &in.IPFamilies, &out.IPFamilies
		*out = make([]v1.IPFamily, len(*in))
		copy(*out, *in)
	}
	if in.IPFamilyPolicy != nil {
		in, out := &in.IPFamilyPolicy, &out.IPFamilyPolicy
		*out = new(v1.IPFamilyPolicy)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RebuildInstance) DeepCopyInto(out *RebuildInstance) {
	*out = *in
	out.ComponentOps = in.ComponentOps
	if in.Instances != nil {
		in, out := &in.Instances, &out.Instances
		*out = make([]Instance, len(*in))
		copy(*out, *in)
	}
	if in.RestoreEnv != nil {
		in, out := &in.RestoreEnv, &out.RestoreEnv
		*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 RebuildInstance.
func (in *RebuildInstance) DeepCopy() *RebuildInstance {
	if in == nil {
		return nil
	}
	out := new(RebuildInstance)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Restore) DeepCopyInto(out *Restore) {
	*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])
		}
	}
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make([]dataprotectionv1alpha1.ParameterPair, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ScaleOut) DeepCopyInto(out *ScaleOut) {
	*out = *in
	if in.FromBackup != nil {
		in, out := &in.FromBackup, &out.FromBackup
		*out = new(FromBackup)
		(*in).DeepCopyInto(*out)
	}
	in.ReplicaChanger.DeepCopyInto(&out.ReplicaChanger)
	if in.NewInstances != nil {
		in, out := &in.NewInstances, &out.NewInstances
		*out = make([]appsv1.InstanceTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OfflineInstancesToOnline != nil {
		in, out := &in.OfflineInstancesToOnline, &out.OfflineInstancesToOnline
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SpecificOpsRequest) DeepCopyInto(out *SpecificOpsRequest) {
	*out = *in
	if in.Upgrade != nil {
		in, out := &in.Upgrade, &out.Upgrade
		*out = new(Upgrade)
		(*in).DeepCopyInto(*out)
	}
	if in.HorizontalScalingList != nil {
		in, out := &in.HorizontalScalingList, &out.HorizontalScalingList
		*out = make([]HorizontalScaling, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.VolumeExpansionList != nil {
		in, out := &in.VolumeExpansionList, &out.VolumeExpansionList
		*out = make([]VolumeExpansion, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.StartList != nil {
		in, out := &in.StartList, &out.StartList
		*out = make([]ComponentOps, len(*in))
		copy(*out, *in)
	}
	if in.StopList != nil {
		in, out := &in.StopList, &out.StopList
		*out = make([]ComponentOps, len(*in))
		copy(*out, *in)
	}
	if in.RestartList != nil {
		in, out := &in.RestartList, &out.RestartList
		*out = make([]ComponentOps, len(*in))
		copy(*out, *in)
	}
	if in.SwitchoverList != nil {
		in, out := &in.SwitchoverList, &out.SwitchoverList
		*out = make([]Switchover, len(*in))
		copy(*out, *in)
	}
	if in.VerticalScalingList != nil {
		in, out := &in.VerticalScalingList, &out.VerticalScalingList
		*out = make([]VerticalScaling, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Reconfigures != nil {
		in, out := &in.Reconfigures, &out.Reconfigures
		*out = make([]Reconfigure, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ExposeList != nil {
		in, out := &in.ExposeList, &out.ExposeList
		*out = make([]Expose, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Backup != nil {
		in, out := &in.Backup, &out.Backup
		*out = new(Backup)
		(*in).DeepCopyInto(*out)
	}
	if in.Restore != nil {
		in, out := &in.Restore, &out.Restore
		*out = new(Restore)
		(*in).DeepCopyInto(*out)
	}
	if in.RebuildFrom != nil {
		in, out := &in.RebuildFrom, &out.RebuildFrom
		*out = make([]RebuildInstance, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.CustomOps != nil {
		in, out := &in.CustomOps, &out.CustomOps
		*out = new(CustomOps)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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