//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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 v1alpha1

import (
	v2 "k8s.io/api/autoscaling/v2"
	v1 "k8s.io/api/core/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 *CommonConfig) DeepCopyInto(out *CommonConfig) {
	*out = *in
	if in.RSSPodSpec != nil {
		in, out := &in.RSSPodSpec, &out.RSSPodSpec
		*out = new(RSSPodSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	in.Autoscaler.DeepCopyInto(&out.Autoscaler)
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CoordinatorConfig) DeepCopyInto(out *CoordinatorConfig) {
	*out = *in
	if in.CommonConfig != nil {
		in, out := &in.CommonConfig, &out.CommonConfig
		*out = new(CommonConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Sync != nil {
		in, out := &in.Sync, &out.Sync
		*out = new(bool)
		**out = **in
	}
	if in.Count != nil {
		in, out := &in.Count, &out.Count
		*out = new(int32)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.RPCPort != nil {
		in, out := &in.RPCPort, &out.RPCPort
		*out = new(int32)
		**out = **in
	}
	if in.HTTPPort != nil {
		in, out := &in.HTTPPort, &out.HTTPPort
		*out = new(int32)
		**out = **in
	}
	if in.RPCNodePort != nil {
		in, out := &in.RPCNodePort, &out.RPCNodePort
		*out = make([]int32, len(*in))
		copy(*out, *in)
	}
	if in.HTTPNodePort != nil {
		in, out := &in.HTTPNodePort, &out.HTTPNodePort
		*out = make([]int32, len(*in))
		copy(*out, *in)
	}
	if in.NodePortServiceAnnotations != nil {
		in, out := &in.NodePortServiceAnnotations, &out.NodePortServiceAnnotations
		*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
				}
			}
		}
	}
	if in.HeadlessServiceAnnotations != nil {
		in, out := &in.HeadlessServiceAnnotations, &out.HeadlessServiceAnnotations
		*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
				}
			}
		}
	}
}

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RSSPodSpec) DeepCopyInto(out *RSSPodSpec) {
	*out = *in
	if in.MainContainer != nil {
		in, out := &in.MainContainer, &out.MainContainer
		*out = new(MainContainer)
		(*in).DeepCopyInto(*out)
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]v1.Volume, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SidecarContainers != nil {
		in, out := &in.SidecarContainers, &out.SidecarContainers
		*out = make([]v1.Container, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SecurityContext != nil {
		in, out := &in.SecurityContext, &out.SecurityContext
		*out = new(v1.PodSecurityContext)
		(*in).DeepCopyInto(*out)
	}
	if in.HostNetwork != nil {
		in, out := &in.HostNetwork, &out.HostNetwork
		*out = new(bool)
		**out = **in
	}
	if in.HostPathMounts != nil {
		in, out := &in.HostPathMounts, &out.HostPathMounts
		*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.RuntimeClassName != nil {
		in, out := &in.RuntimeClassName, &out.RuntimeClassName
		*out = new(string)
		**out = **in
	}
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RemoteShuffleServiceList) 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 *RemoteShuffleServiceSpec) DeepCopyInto(out *RemoteShuffleServiceSpec) {
	*out = *in
	if in.Coordinator != nil {
		in, out := &in.Coordinator, &out.Coordinator
		*out = new(CoordinatorConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ShuffleServer != nil {
		in, out := &in.ShuffleServer, &out.ShuffleServer
		*out = new(ShuffleServerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ShuffleServerConfig) DeepCopyInto(out *ShuffleServerConfig) {
	*out = *in
	if in.CommonConfig != nil {
		in, out := &in.CommonConfig, &out.CommonConfig
		*out = new(CommonConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Sync != nil {
		in, out := &in.Sync, &out.Sync
		*out = new(bool)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.RPCPort != nil {
		in, out := &in.RPCPort, &out.RPCPort
		*out = new(int32)
		**out = **in
	}
	if in.HTTPPort != nil {
		in, out := &in.HTTPPort, &out.HTTPPort
		*out = new(int32)
		**out = **in
	}
	if in.RPCNodePort != nil {
		in, out := &in.RPCNodePort, &out.RPCNodePort
		*out = new(int32)
		**out = **in
	}
	if in.HTTPNodePort != nil {
		in, out := &in.HTTPNodePort, &out.HTTPNodePort
		*out = new(int32)
		**out = **in
	}
	if in.UpgradeStrategy != nil {
		in, out := &in.UpgradeStrategy, &out.UpgradeStrategy
		*out = new(ShuffleServerUpgradeStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.VolumeClaimTemplates != nil {
		in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
		*out = make([]ShuffleServerPersistentVolumeClaimTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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