func (in *ClusterLoggingConfig) DeepCopy() *ClusterLoggingConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterLoggingConfig)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterLoggingConfig.
package v1beta1
import (
	v1alpha1 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *ClusterAddonsConfig) DeepCopyInto(out *ClusterAddonsConfig) {
	*out = *in
	if in.CloudrunConfig != nil {
		in, out := &in.CloudrunConfig, &out.CloudrunConfig
		*out = new(ClusterCloudrunConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ConfigConnectorConfig != nil {
		in, out := &in.ConfigConnectorConfig, &out.ConfigConnectorConfig
		*out = new(ClusterConfigConnectorConfig)
		**out = **in
	}
	if in.DnsCacheConfig != nil {
		in, out := &in.DnsCacheConfig, &out.DnsCacheConfig
		*out = new(ClusterDnsCacheConfig)
		**out = **in
	}
	if in.GcePersistentDiskCsiDriverConfig != nil {
		in, out := &in.GcePersistentDiskCsiDriverConfig, &out.GcePersistentDiskCsiDriverConfig
		*out = new(ClusterGcePersistentDiskCsiDriverConfig)
		**out = **in
	}
	if in.HorizontalPodAutoscaling != nil {
		in, out := &in.HorizontalPodAutoscaling, &out.HorizontalPodAutoscaling
		*out = new(ClusterHorizontalPodAutoscaling)
		**out = **in
	}
	if in.HttpLoadBalancing != nil {
		in, out := &in.HttpLoadBalancing, &out.HttpLoadBalancing
		*out = new(ClusterHttpLoadBalancing)
		**out = **in
	}
	if in.IstioConfig != nil {
		in, out := &in.IstioConfig, &out.IstioConfig
		*out = new(ClusterIstioConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KalmConfig != nil {
		in, out := &in.KalmConfig, &out.KalmConfig
		*out = new(ClusterKalmConfig)
		**out = **in
	}
	if in.NetworkPolicyConfig != nil {
		in, out := &in.NetworkPolicyConfig, &out.NetworkPolicyConfig
		*out = new(ClusterNetworkPolicyConfig)
		**out = **in
	}
	return
}
func (in *ClusterAddonsConfig) DeepCopy() *ClusterAddonsConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterAddonsConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterAuthenticatorGroupsConfig) DeepCopyInto(out *ClusterAuthenticatorGroupsConfig) {
	*out = *in
	return
}
func (in *ClusterAuthenticatorGroupsConfig) DeepCopy() *ClusterAuthenticatorGroupsConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterAuthenticatorGroupsConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterAutoProvisioningDefaults) DeepCopyInto(out *ClusterAutoProvisioningDefaults) {
	*out = *in
	if in.MinCpuPlatform != nil {
		in, out := &in.MinCpuPlatform, &out.MinCpuPlatform
		*out = new(string)
		**out = **in
	}
	if in.OauthScopes != nil {
		in, out := &in.OauthScopes, &out.OauthScopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ServiceAccountRef != nil {
		in, out := &in.ServiceAccountRef, &out.ServiceAccountRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	return
}
func (in *ClusterAutoProvisioningDefaults) DeepCopy() *ClusterAutoProvisioningDefaults {
	if in == nil {
		return nil
	}
	out := new(ClusterAutoProvisioningDefaults)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterBigqueryDestination) DeepCopyInto(out *ClusterBigqueryDestination) {
	*out = *in
	return
}
func (in *ClusterBigqueryDestination) DeepCopy() *ClusterBigqueryDestination {
	if in == nil {
		return nil
	}
	out := new(ClusterBigqueryDestination)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterCidrBlocks) DeepCopyInto(out *ClusterCidrBlocks) {
	*out = *in
	if in.DisplayName != nil {
		in, out := &in.DisplayName, &out.DisplayName
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterCidrBlocks) DeepCopy() *ClusterCidrBlocks {
	if in == nil {
		return nil
	}
	out := new(ClusterCidrBlocks)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterClientCertificateConfig) DeepCopyInto(out *ClusterClientCertificateConfig) {
	*out = *in
	return
}
func (in *ClusterClientCertificateConfig) DeepCopy() *ClusterClientCertificateConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterClientCertificateConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterCloudrunConfig) DeepCopyInto(out *ClusterCloudrunConfig) {
	*out = *in
	if in.LoadBalancerType != nil {
		in, out := &in.LoadBalancerType, &out.LoadBalancerType
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterCloudrunConfig) DeepCopy() *ClusterCloudrunConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterCloudrunConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterClusterAutoscaling) DeepCopyInto(out *ClusterClusterAutoscaling) {
	*out = *in
	if in.AutoProvisioningDefaults != nil {
		in, out := &in.AutoProvisioningDefaults, &out.AutoProvisioningDefaults
		*out = new(ClusterAutoProvisioningDefaults)
		(*in).DeepCopyInto(*out)
	}
	if in.AutoscalingProfile != nil {
		in, out := &in.AutoscalingProfile, &out.AutoscalingProfile
		*out = new(string)
		**out = **in
	}
	if in.ResourceLimits != nil {
		in, out := &in.ResourceLimits, &out.ResourceLimits
		*out = make([]ClusterResourceLimits, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterClusterAutoscaling) DeepCopy() *ClusterClusterAutoscaling {
	if in == nil {
		return nil
	}
	out := new(ClusterClusterAutoscaling)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterClusterTelemetry) DeepCopyInto(out *ClusterClusterTelemetry) {
	*out = *in
	return
}
func (in *ClusterClusterTelemetry) DeepCopy() *ClusterClusterTelemetry {
	if in == nil {
		return nil
	}
	out := new(ClusterClusterTelemetry)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterConfidentialNodes) DeepCopyInto(out *ClusterConfidentialNodes) {
	*out = *in
	return
}
func (in *ClusterConfidentialNodes) DeepCopy() *ClusterConfidentialNodes {
	if in == nil {
		return nil
	}
	out := new(ClusterConfidentialNodes)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterConfigConnectorConfig) DeepCopyInto(out *ClusterConfigConnectorConfig) {
	*out = *in
	return
}
func (in *ClusterConfigConnectorConfig) DeepCopy() *ClusterConfigConnectorConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterConfigConnectorConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterDailyMaintenanceWindow) DeepCopyInto(out *ClusterDailyMaintenanceWindow) {
	*out = *in
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterDailyMaintenanceWindow) DeepCopy() *ClusterDailyMaintenanceWindow {
	if in == nil {
		return nil
	}
	out := new(ClusterDailyMaintenanceWindow)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterDatabaseEncryption) DeepCopyInto(out *ClusterDatabaseEncryption) {
	*out = *in
	if in.KeyName != nil {
		in, out := &in.KeyName, &out.KeyName
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterDatabaseEncryption) DeepCopy() *ClusterDatabaseEncryption {
	if in == nil {
		return nil
	}
	out := new(ClusterDatabaseEncryption)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterDefaultSnatStatus) DeepCopyInto(out *ClusterDefaultSnatStatus) {
	*out = *in
	return
}
func (in *ClusterDefaultSnatStatus) DeepCopy() *ClusterDefaultSnatStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterDefaultSnatStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterDnsCacheConfig) DeepCopyInto(out *ClusterDnsCacheConfig) {
	*out = *in
	return
}
func (in *ClusterDnsCacheConfig) DeepCopy() *ClusterDnsCacheConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterDnsCacheConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterDnsConfig) DeepCopyInto(out *ClusterDnsConfig) {
	*out = *in
	if in.ClusterDns != nil {
		in, out := &in.ClusterDns, &out.ClusterDns
		*out = new(string)
		**out = **in
	}
	if in.ClusterDnsDomain != nil {
		in, out := &in.ClusterDnsDomain, &out.ClusterDnsDomain
		*out = new(string)
		**out = **in
	}
	if in.ClusterDnsScope != nil {
		in, out := &in.ClusterDnsScope, &out.ClusterDnsScope
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterDnsConfig) DeepCopy() *ClusterDnsConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterDnsConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterEphemeralStorageConfig) DeepCopyInto(out *ClusterEphemeralStorageConfig) {
	*out = *in
	return
}
func (in *ClusterEphemeralStorageConfig) DeepCopy() *ClusterEphemeralStorageConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterEphemeralStorageConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterGcePersistentDiskCsiDriverConfig) DeepCopyInto(out *ClusterGcePersistentDiskCsiDriverConfig) {
	*out = *in
	return
}
func (in *ClusterGcePersistentDiskCsiDriverConfig) DeepCopy() *ClusterGcePersistentDiskCsiDriverConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterGcePersistentDiskCsiDriverConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterGuestAccelerator) DeepCopyInto(out *ClusterGuestAccelerator) {
	*out = *in
	return
}
func (in *ClusterGuestAccelerator) DeepCopy() *ClusterGuestAccelerator {
	if in == nil {
		return nil
	}
	out := new(ClusterGuestAccelerator)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterHorizontalPodAutoscaling) DeepCopyInto(out *ClusterHorizontalPodAutoscaling) {
	*out = *in
	return
}
func (in *ClusterHorizontalPodAutoscaling) DeepCopy() *ClusterHorizontalPodAutoscaling {
	if in == nil {
		return nil
	}
	out := new(ClusterHorizontalPodAutoscaling)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterHttpLoadBalancing) DeepCopyInto(out *ClusterHttpLoadBalancing) {
	*out = *in
	return
}
func (in *ClusterHttpLoadBalancing) DeepCopy() *ClusterHttpLoadBalancing {
	if in == nil {
		return nil
	}
	out := new(ClusterHttpLoadBalancing)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterIpAllocationPolicy) DeepCopyInto(out *ClusterIpAllocationPolicy) {
	*out = *in
	if in.ClusterIpv4CidrBlock != nil {
		in, out := &in.ClusterIpv4CidrBlock, &out.ClusterIpv4CidrBlock
		*out = new(string)
		**out = **in
	}
	if in.ClusterSecondaryRangeName != nil {
		in, out := &in.ClusterSecondaryRangeName, &out.ClusterSecondaryRangeName
		*out = new(string)
		**out = **in
	}
	if in.ServicesIpv4CidrBlock != nil {
		in, out := &in.ServicesIpv4CidrBlock, &out.ServicesIpv4CidrBlock
		*out = new(string)
		**out = **in
	}
	if in.ServicesSecondaryRangeName != nil {
		in, out := &in.ServicesSecondaryRangeName, &out.ServicesSecondaryRangeName
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterIpAllocationPolicy) DeepCopy() *ClusterIpAllocationPolicy {
	if in == nil {
		return nil
	}
	out := new(ClusterIpAllocationPolicy)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterIstioConfig) DeepCopyInto(out *ClusterIstioConfig) {
	*out = *in
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterIstioConfig) DeepCopy() *ClusterIstioConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterIstioConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterKalmConfig) DeepCopyInto(out *ClusterKalmConfig) {
	*out = *in
	return
}
func (in *ClusterKalmConfig) DeepCopy() *ClusterKalmConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterKalmConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterKubeletConfig) DeepCopyInto(out *ClusterKubeletConfig) {
	*out = *in
	if in.CpuCfsQuota != nil {
		in, out := &in.CpuCfsQuota, &out.CpuCfsQuota
		*out = new(bool)
		**out = **in
	}
	if in.CpuCfsQuotaPeriod != nil {
		in, out := &in.CpuCfsQuotaPeriod, &out.CpuCfsQuotaPeriod
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterKubeletConfig) DeepCopy() *ClusterKubeletConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterKubeletConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterLinuxNodeConfig) DeepCopyInto(out *ClusterLinuxNodeConfig) {
	*out = *in
	if in.Sysctls != nil {
		in, out := &in.Sysctls, &out.Sysctls
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *ClusterLinuxNodeConfig) DeepCopy() *ClusterLinuxNodeConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterLinuxNodeConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterLoggingConfig) DeepCopyInto(out *ClusterLoggingConfig) {
	*out = *in
	if in.EnableComponents != nil {
		in, out := &in.EnableComponents, &out.EnableComponents
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}