func (in *ClusterManagedGroupConfigStatus) DeepCopy() *ClusterManagedGroupConfigStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterManagedGroupConfigStatus)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterManagedGroupConfigStatus.
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
}
func (in *ClusterEncryptionConfig) DeepCopy() *ClusterEncryptionConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterEncryptionConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterEndpointConfig) DeepCopyInto(out *ClusterEndpointConfig) {
	*out = *in
	if in.EnableHttpPortAccess != nil {
		in, out := &in.EnableHttpPortAccess, &out.EnableHttpPortAccess
		*out = new(bool)
		**out = **in
	}
	return
}
func (in *ClusterEndpointConfig) DeepCopy() *ClusterEndpointConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterEndpointConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterEndpointConfigStatus) DeepCopyInto(out *ClusterEndpointConfigStatus) {
	*out = *in
	if in.HttpPorts != nil {
		in, out := &in.HttpPorts, &out.HttpPorts
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *ClusterEndpointConfigStatus) DeepCopy() *ClusterEndpointConfigStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterEndpointConfigStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterGceClusterConfig) DeepCopyInto(out *ClusterGceClusterConfig) {
	*out = *in
	if in.InternalIPOnly != nil {
		in, out := &in.InternalIPOnly, &out.InternalIPOnly
		*out = new(bool)
		**out = **in
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.NetworkRef != nil {
		in, out := &in.NetworkRef, &out.NetworkRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	if in.NodeGroupAffinity != nil {
		in, out := &in.NodeGroupAffinity, &out.NodeGroupAffinity
		*out = new(ClusterNodeGroupAffinity)
		**out = **in
	}
	if in.PrivateIPv6GoogleAccess != nil {
		in, out := &in.PrivateIPv6GoogleAccess, &out.PrivateIPv6GoogleAccess
		*out = new(string)
		**out = **in
	}
	if in.ReservationAffinity != nil {
		in, out := &in.ReservationAffinity, &out.ReservationAffinity
		*out = new(ClusterReservationAffinity)
		(*in).DeepCopyInto(*out)
	}
	if in.ServiceAccountRef != nil {
		in, out := &in.ServiceAccountRef, &out.ServiceAccountRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	if in.ServiceAccountScopes != nil {
		in, out := &in.ServiceAccountScopes, &out.ServiceAccountScopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.SubnetworkRef != nil {
		in, out := &in.SubnetworkRef, &out.SubnetworkRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Zone != nil {
		in, out := &in.Zone, &out.Zone
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterGceClusterConfig) DeepCopy() *ClusterGceClusterConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterGceClusterConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterInitializationActions) DeepCopyInto(out *ClusterInitializationActions) {
	*out = *in
	if in.ExecutionTimeout != nil {
		in, out := &in.ExecutionTimeout, &out.ExecutionTimeout
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterInitializationActions) DeepCopy() *ClusterInitializationActions {
	if in == nil {
		return nil
	}
	out := new(ClusterInitializationActions)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterKerberosConfig) DeepCopyInto(out *ClusterKerberosConfig) {
	*out = *in
	if in.CrossRealmTrustAdminServer != nil {
		in, out := &in.CrossRealmTrustAdminServer, &out.CrossRealmTrustAdminServer
		*out = new(string)
		**out = **in
	}
	if in.CrossRealmTrustKdc != nil {
		in, out := &in.CrossRealmTrustKdc, &out.CrossRealmTrustKdc
		*out = new(string)
		**out = **in
	}
	if in.CrossRealmTrustRealm != nil {
		in, out := &in.CrossRealmTrustRealm, &out.CrossRealmTrustRealm
		*out = new(string)
		**out = **in
	}
	if in.CrossRealmTrustSharedPassword != nil {
		in, out := &in.CrossRealmTrustSharedPassword, &out.CrossRealmTrustSharedPassword
		*out = new(string)
		**out = **in
	}
	if in.EnableKerberos != nil {
		in, out := &in.EnableKerberos, &out.EnableKerberos
		*out = new(bool)
		**out = **in
	}
	if in.KdcDbKey != nil {
		in, out := &in.KdcDbKey, &out.KdcDbKey
		*out = new(string)
		**out = **in
	}
	if in.KeyPassword != nil {
		in, out := &in.KeyPassword, &out.KeyPassword
		*out = new(string)
		**out = **in
	}
	if in.Keystore != nil {
		in, out := &in.Keystore, &out.Keystore
		*out = new(string)
		**out = **in
	}
	if in.KeystorePassword != nil {
		in, out := &in.KeystorePassword, &out.KeystorePassword
		*out = new(string)
		**out = **in
	}
	if in.KmsKeyRef != nil {
		in, out := &in.KmsKeyRef, &out.KmsKeyRef
		*out = new(v1alpha1.ResourceRef)
		**out = **in
	}
	if in.Realm != nil {
		in, out := &in.Realm, &out.Realm
		*out = new(string)
		**out = **in
	}
	if in.RootPrincipalPassword != nil {
		in, out := &in.RootPrincipalPassword, &out.RootPrincipalPassword
		*out = new(string)
		**out = **in
	}
	if in.TgtLifetimeHours != nil {
		in, out := &in.TgtLifetimeHours, &out.TgtLifetimeHours
		*out = new(int)
		**out = **in
	}
	if in.Truststore != nil {
		in, out := &in.Truststore, &out.Truststore
		*out = new(string)
		**out = **in
	}
	if in.TruststorePassword != nil {
		in, out := &in.TruststorePassword, &out.TruststorePassword
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterKerberosConfig) DeepCopy() *ClusterKerberosConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterKerberosConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterLifecycleConfig) DeepCopyInto(out *ClusterLifecycleConfig) {
	*out = *in
	if in.AutoDeleteTime != nil {
		in, out := &in.AutoDeleteTime, &out.AutoDeleteTime
		*out = new(string)
		**out = **in
	}
	if in.AutoDeleteTtl != nil {
		in, out := &in.AutoDeleteTtl, &out.AutoDeleteTtl
		*out = new(string)
		**out = **in
	}
	if in.IdleDeleteTtl != nil {
		in, out := &in.IdleDeleteTtl, &out.IdleDeleteTtl
		*out = new(string)
		**out = **in
	}
	return
}
func (in *ClusterLifecycleConfig) DeepCopy() *ClusterLifecycleConfig {
	if in == nil {
		return nil
	}
	out := new(ClusterLifecycleConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterLifecycleConfigStatus) DeepCopyInto(out *ClusterLifecycleConfigStatus) {
	*out = *in
	return
}
func (in *ClusterLifecycleConfigStatus) DeepCopy() *ClusterLifecycleConfigStatus {
	if in == nil {
		return nil
	}
	out := new(ClusterLifecycleConfigStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterManagedGroupConfigStatus) DeepCopyInto(out *ClusterManagedGroupConfigStatus) {
	*out = *in
	return
}