//go:build !ignore_autogenerated

/*
Copyright 2021.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

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

package v1

import (
	routev1 "github.com/openshift/api/route/v1"
	appsv1 "k8s.io/api/apps/v1"
	"k8s.io/api/autoscaling/v2"
	corev1 "k8s.io/api/core/v1"
	networkingv1 "k8s.io/api/networking/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 *App) DeepCopyInto(out *App) {
	*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.PodAnnotations != nil {
		in, out := &in.PodAnnotations, &out.PodAnnotations
		*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.PodLabels != nil {
		in, out := &in.PodLabels, &out.PodLabels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	in.ClusterProperties.DeepCopyInto(&out.ClusterProperties)
	in.Java.DeepCopyInto(&out.Java)
	in.Management.DeepCopyInto(&out.Management)
	out.Log = in.Log
	out.System = in.System
	in.UpdateStrategy.DeepCopyInto(&out.UpdateStrategy)
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	in.ListenPorts.DeepCopyInto(&out.ListenPorts)
	in.Service.DeepCopyInto(&out.Service)
	if in.Bundle != nil {
		in, out := &in.Bundle, &out.Bundle
		*out = make([]Bundle, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.RepositoryReferenceBootstrap = in.RepositoryReferenceBootstrap
	out.RepositoryReferenceDelete = in.RepositoryReferenceDelete
	if in.RepositoryReferences != nil {
		in, out := &in.RepositoryReferences, &out.RepositoryReferences
		*out = make([]RepositoryReference, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Ingress.DeepCopyInto(&out.Ingress)
	if in.Sidecars != nil {
		in, out := &in.Sidecars, &out.Sidecars
		*out = make([]corev1.Container, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.InitContainers != nil {
		in, out := &in.InitContainers, &out.InitContainers
		*out = make([]corev1.Container, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Resources.DeepCopyInto(&out.Resources)
	in.Autoscaling.DeepCopyInto(&out.Autoscaling)
	out.ServiceAccount = in.ServiceAccount
	out.Hazelcast = in.Hazelcast
	in.Redis.DeepCopyInto(&out.Redis)
	out.Bootstrap = in.Bootstrap
	in.ContainerSecurityContext.DeepCopyInto(&out.ContainerSecurityContext)
	in.PodSecurityContext.DeepCopyInto(&out.PodSecurityContext)
	if in.TopologySpreadConstraints != nil {
		in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
		*out = make([]corev1.TopologySpreadConstraint, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]corev1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Affinity.DeepCopyInto(&out.Affinity)
	out.PodDisruptionBudget = in.PodDisruptionBudget
	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.ExternalSecrets != nil {
		in, out := &in.ExternalSecrets, &out.ExternalSecrets
		*out = make([]ExternalSecret, len(*in))
		copy(*out, *in)
	}
	if in.ExternalKeys != nil {
		in, out := &in.ExternalKeys, &out.ExternalKeys
		*out = make([]ExternalKey, len(*in))
		copy(*out, *in)
	}
	if in.ExternalCerts != nil {
		in, out := &in.ExternalCerts, &out.ExternalCerts
		*out = make([]ExternalCert, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.StartupProbe.DeepCopyInto(&out.StartupProbe)
	in.LivenessProbe.DeepCopyInto(&out.LivenessProbe)
	in.ReadinessProbe.DeepCopyInto(&out.ReadinessProbe)
	in.CustomConfig.DeepCopyInto(&out.CustomConfig)
	in.PortalReference.DeepCopyInto(&out.PortalReference)
	in.LifecycleHooks.DeepCopyInto(&out.LifecycleHooks)
	in.PreStopScript.DeepCopyInto(&out.PreStopScript)
	in.CustomHosts.DeepCopyInto(&out.CustomHosts)
	in.Otk.DeepCopyInto(&out.Otk)
	in.Otel.DeepCopyInto(&out.Otel)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Channel.
func (in *Channel) DeepCopy() *Channel {
	if in == nil {
		return nil
	}
	out := new(Channel)
	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
}

// 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
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]appsv1.DeploymentCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Gateway != nil {
		in, out := &in.Gateway, &out.Gateway
		*out = make([]GatewayState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RepositoryStatus != nil {
		in, out := &in.RepositoryStatus, &out.RepositoryStatus
		*out = make([]GatewayRepositoryStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.PortalSyncStatus = in.PortalSyncStatus
	if in.LastAppliedClusterProperties != nil {
		in, out := &in.LastAppliedClusterProperties, &out.LastAppliedClusterProperties
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LastAppliedListenPorts != nil {
		in, out := &in.LastAppliedListenPorts, &out.LastAppliedListenPorts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LastAppliedExternalKeys != nil {
		in, out := &in.LastAppliedExternalKeys, &out.LastAppliedExternalKeys
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LastAppliedExternalSecrets != nil {
		in, out := &in.LastAppliedExternalSecrets, &out.LastAppliedExternalSecrets
		*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 = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.LastAppliedExternalCerts != nil {
		in, out := &in.LastAppliedExternalCerts, &out.LastAppliedExternalCerts
		*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 = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.LastAppliedOtkFipsCerts != nil {
		in, out := &in.LastAppliedOtkFipsCerts, &out.LastAppliedOtkFipsCerts
		*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 = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	out.MigrationStatus = in.MigrationStatus
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HPA) DeepCopyInto(out *HPA) {
	*out = *in
	if in.MinReplicas != nil {
		in, out := &in.MinReplicas, &out.MinReplicas
		*out = new(int32)
		**out = **in
	}
	in.Behavior.DeepCopyInto(&out.Behavior)
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = make([]v2.MetricSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Otk) DeepCopyInto(out *Otk) {
	*out = *in
	in.InitContainerSecurityContext.DeepCopyInto(&out.InitContainerSecurityContext)
	in.Database.DeepCopyInto(&out.Database)
	out.Overrides = in.Overrides
	if in.SubSolutionKitNames != nil {
		in, out := &in.SubSolutionKitNames, &out.SubSolutionKitNames
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	out.MaintenanceTasks = in.MaintenanceTasks
	out.InternalOTKGateway = in.InternalOTKGateway
	out.DmzOTKGateway = in.DmzOTKGateway
	if in.FipsCertificates != nil {
		in, out := &in.FipsCertificates, &out.FipsCertificates
		*out = make([]OtkFipsCertificate, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OtkDatabase) DeepCopyInto(out *OtkDatabase) {
	*out = *in
	out.Auth = in.Auth
	out.Cassandra = in.Cassandra
	in.Sql.DeepCopyInto(&out.Sql)
	in.SqlReadOnly.DeepCopyInto(&out.SqlReadOnly)
	in.SqlClientReadOnly.DeepCopyInto(&out.SqlClientReadOnly)
	if in.Properties != nil {
		in, out := &in.Properties, &out.Properties
		*out = make(map[string]intstr.IntOrString, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.
func (in *RouteSpec) DeepCopy() *RouteSpec {
	if in == nil {
		return nil
	}
	out := new(RouteSpec)
	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
		}
	}
	if in.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]Ports, len(*in))
		copy(*out, *in)
	}
	if in.ClusterIPs != nil {
		in, out := &in.ClusterIPs, &out.ClusterIPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ExternalIPs != nil {
		in, out := &in.ExternalIPs, &out.ExternalIPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LoadBalancerSourceRanges != nil {
		in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.SessionAffinityConfig.DeepCopyInto(&out.SessionAffinityConfig)
	if in.IPFamilies != nil {
		in, out := &in.IPFamilies, &out.IPFamilies
		*out = make([]corev1.IPFamily, len(*in))
		copy(*out, *in)
	}
	if in.AllocateLoadBalancerNodePorts != nil {
		in, out := &in.AllocateLoadBalancerNodePorts, &out.AllocateLoadBalancerNodePorts
		*out = new(bool)
		**out = **in
	}
}

// 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 *ServiceAccount) DeepCopyInto(out *ServiceAccount) {
	*out = *in
}

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

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

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

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

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

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

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

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

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

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

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