func (in *GroupSyncSpec) DeepCopy() *GroupSyncSpec {
	if in == nil {
		return nil
	}
	out := new(GroupSyncSpec)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSyncSpec.
package v1alpha1
import (
	legacyconfigv1 "github.com/openshift/api/legacyconfig/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AzureProvider) DeepCopyInto(out *AzureProvider) {
	*out = *in
	if in.BaseGroups != nil {
		in, out := &in.BaseGroups, &out.BaseGroups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
	if in.UserNameAttributes != nil {
		in, out := &in.UserNameAttributes, &out.UserNameAttributes
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
}
func (in *AzureProvider) DeepCopy() *AzureProvider {
	if in == nil {
		return nil
	}
	out := new(AzureProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *GitHubProvider) DeepCopyInto(out *GitHubProvider) {
	*out = *in
	if in.CaSecret != nil {
		in, out := &in.CaSecret, &out.CaSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Teams != nil {
		in, out := &in.Teams, &out.Teams
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
	if in.V4URL != nil {
		in, out := &in.V4URL, &out.V4URL
		*out = new(string)
		**out = **in
	}
}
func (in *GitHubProvider) DeepCopy() *GitHubProvider {
	if in == nil {
		return nil
	}
	out := new(GitHubProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *GitLabProvider) DeepCopyInto(out *GitLabProvider) {
	*out = *in
	if in.CaSecret != nil {
		in, out := &in.CaSecret, &out.CaSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.CredentialsSecret != nil {
		in, out := &in.CredentialsSecret, &out.CredentialsSecret
		*out = new(SecretRef)
		**out = **in
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.URL != nil {
		in, out := &in.URL, &out.URL
		*out = new(string)
		**out = **in
	}
}
func (in *GitLabProvider) DeepCopy() *GitLabProvider {
	if in == nil {
		return nil
	}
	out := new(GitLabProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSync) DeepCopyInto(out *GroupSync) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *GroupSync) DeepCopy() *GroupSync {
	if in == nil {
		return nil
	}
	out := new(GroupSync)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSync) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *GroupSyncList) DeepCopyInto(out *GroupSyncList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]GroupSync, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *GroupSyncList) DeepCopy() *GroupSyncList {
	if in == nil {
		return nil
	}
	out := new(GroupSyncList)
	in.DeepCopyInto(out)
	return out
}
func (in *GroupSyncList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *GroupSyncSpec) DeepCopyInto(out *GroupSyncSpec) {
	*out = *in
	if in.Providers != nil {
		in, out := &in.Providers, &out.Providers
		*out = make([]Provider, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}