func (in *ClusterEncryptionConfig) DeepCopy() *ClusterEncryptionConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterEncryptionConfig)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterEncryptionConfig.
package v1beta1
import (
	v1alpha1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AutoscalingpolicyBasicAlgorithm) DeepCopyInto(out *AutoscalingpolicyBasicAlgorithm) {
	*out = *in
	if in.CooldownPeriod != nil {
		in, out := &in.CooldownPeriod, &out.CooldownPeriod
		*out = new(string)
		**out = **in
	}
	in.YarnConfig.DeepCopyInto(&out.YarnConfig)
	return
}
func (in *AutoscalingpolicyBasicAlgorithm) DeepCopy() *AutoscalingpolicyBasicAlgorithm {
	if in == nil {
		return nil
	}
	out := new(AutoscalingpolicyBasicAlgorithm)
	in.DeepCopyInto(out)
	return out
}
func (in *AutoscalingpolicySecondaryWorkerConfig) DeepCopyInto(out *AutoscalingpolicySecondaryWorkerConfig) {
	*out = *in
	if in.MaxInstances != nil {
		in, out := &in.MaxInstances, &out.MaxInstances
		*out = new(int)
		**out = **in
	}
	if in.MinInstances != nil {
		in, out := &in.MinInstances, &out.MinInstances
		*out = new(int)
		**out = **in
	}
	if in.Weight != nil {
		in, out := &in.Weight, &out.Weight
		*out = new(int)
		**out = **in
	}
	return
}
func (in *AutoscalingpolicySecondaryWorkerConfig) DeepCopy() *AutoscalingpolicySecondaryWorkerConfig {
	if in == nil {
		return nil
	}
	out := new(AutoscalingpolicySecondaryWorkerConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *AutoscalingpolicyWorkerConfig) DeepCopyInto(out *AutoscalingpolicyWorkerConfig) {
	*out = *in
	if in.MinInstances != nil {
		in, out := &in.MinInstances, &out.MinInstances
		*out = new(int)
		**out = **in
	}
	if in.Weight != nil {
		in, out := &in.Weight, &out.Weight
		*out = new(int)
		**out = **in
	}
	return
}
func (in *AutoscalingpolicyWorkerConfig) DeepCopy() *AutoscalingpolicyWorkerConfig {
	if in == nil {
		return nil
	}
	out := new(AutoscalingpolicyWorkerConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *AutoscalingpolicyYarnConfig) DeepCopyInto(out *AutoscalingpolicyYarnConfig) {
	*out = *in
	if in.ScaleDownMinWorkerFraction != nil {
		in, out := &in.ScaleDownMinWorkerFraction, &out.ScaleDownMinWorkerFraction
		*out = new(float64)
		**out = **in
	}
	if in.ScaleUpMinWorkerFraction != nil {
		in, out := &in.ScaleUpMinWorkerFraction, &out.ScaleUpMinWorkerFraction
		*out = new(float64)
		**out = **in
	}
	return
}
func (in *AutoscalingpolicyYarnConfig) DeepCopy() *AutoscalingpolicyYarnConfig {
	if in == nil {
		return nil
	}
	out := new(AutoscalingpolicyYarnConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterAccelerators) DeepCopyInto(out *ClusterAccelerators) {
	*out = *in
	if in.AcceleratorCount != nil {
		in, out := &in.AcceleratorCount, &out.AcceleratorCount
		*out = new(int)
		**out = **in
	}
	if in.AcceleratorType != nil {
		in, out := &in.AcceleratorType, &out.AcceleratorType
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterAccelerators) DeepCopy() *ClusterAccelerators {
	if in == nil {
		return nil
	}
	out := new(ClusterAccelerators)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterAutoscalingConfig) DeepCopyInto(out *ClusterAutoscalingConfig) {
	*out = *in
	if in.PolicyRef != nil {
		in, out := &in.PolicyRef, &out.PolicyRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	return
}
func (in *ClusterAutoscalingConfig) DeepCopy() *ClusterAutoscalingConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterAutoscalingConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig) {
	*out = *in
	if in.AutoscalingConfig != nil {
		in, out := &in.AutoscalingConfig, &out.AutoscalingConfig
		*out = new(ClusterAutoscalingConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.EncryptionConfig != nil {
		in, out := &in.EncryptionConfig, &out.EncryptionConfig
		*out = new(ClusterEncryptionConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.EndpointConfig != nil {
		in, out := &in.EndpointConfig, &out.EndpointConfig
		*out = new(ClusterEndpointConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.GceClusterConfig != nil {
		in, out := &in.GceClusterConfig, &out.GceClusterConfig
		*out = new(ClusterGceClusterConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.InitializationActions != nil {
		in, out := &in.InitializationActions, &out.InitializationActions
		*out = make([]ClusterInitializationActions, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LifecycleConfig != nil {
		in, out := &in.LifecycleConfig, &out.LifecycleConfig
		*out = new(ClusterLifecycleConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.MasterConfig != nil {
		in, out := &in.MasterConfig, &out.MasterConfig
		*out = new(ClusterMasterConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.SecondaryWorkerConfig != nil {
		in, out := &in.SecondaryWorkerConfig, &out.SecondaryWorkerConfig
		*out = new(ClusterSecondaryWorkerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.SecurityConfig != nil {
		in, out := &in.SecurityConfig, &out.SecurityConfig
		*out = new(ClusterSecurityConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.SoftwareConfig != nil {
		in, out := &in.SoftwareConfig, &out.SoftwareConfig
		*out = new(ClusterSoftwareConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.StagingBucketRef != nil {
		in, out := &in.StagingBucketRef, &out.StagingBucketRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	if in.TempBucketRef != nil {
		in, out := &in.TempBucketRef, &out.TempBucketRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	if in.WorkerConfig != nil {
		in, out := &in.WorkerConfig, &out.WorkerConfig
		*out = new(ClusterWorkerConfig)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *ClusterConfig) DeepCopy() *ClusterConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterConfigStatus) DeepCopyInto(out *ClusterConfigStatus) {
	*out = *in
	in.EndpointConfig.DeepCopyInto(&out.EndpointConfig)
	out.LifecycleConfig = in.LifecycleConfig
	in.MasterConfig.DeepCopyInto(&out.MasterConfig)
	in.SecondaryWorkerConfig.DeepCopyInto(&out.SecondaryWorkerConfig)
	in.WorkerConfig.DeepCopyInto(&out.WorkerConfig)
	return
}
func (in *ClusterConfigStatus) DeepCopy() *ClusterConfigStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterConfigStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterDiskConfig) DeepCopyInto(out *ClusterDiskConfig) {
	*out = *in
	if in.BootDiskSizeGb != nil {
		in, out := &in.BootDiskSizeGb, &out.BootDiskSizeGb
		*out = new(int)
		**out = **in
	}
	if in.BootDiskType != nil {
		in, out := &in.BootDiskType, &out.BootDiskType
		*out = new(string)
		**out = **in
	}
	if in.NumLocalSsds != nil {
		in, out := &in.NumLocalSsds, &out.NumLocalSsds
		*out = new(int)
		**out = **in
	}
	return
}
func (in *ClusterDiskConfig) DeepCopy() *ClusterDiskConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterDiskConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterEncryptionConfig) DeepCopyInto(out *ClusterEncryptionConfig) {
	*out = *in
	if in.GcePdKmsKeyRef != nil {
		in, out := &in.GcePdKmsKeyRef, &out.GcePdKmsKeyRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	return
}