// +build !ignore_autogenerated_openshift

// This file was autogenerated by deepcopy-gen. Do not edit it manually!

package v1

import (
	unversioned "k8s.io/kubernetes/pkg/api/unversioned"
	api_v1 "k8s.io/kubernetes/pkg/api/v1"
	conversion "k8s.io/kubernetes/pkg/conversion"
	runtime "k8s.io/kubernetes/pkg/runtime"
	reflect "reflect"
)

func init() {
	SchemeBuilder.Register(RegisterDeepCopies)
}

// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
	return scheme.AddGeneratedDeepCopyFuncs(
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_AppliedClusterResourceQuota, InType: reflect.TypeOf(&AppliedClusterResourceQuota{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_AppliedClusterResourceQuotaList, InType: reflect.TypeOf(&AppliedClusterResourceQuotaList{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ClusterResourceQuota, InType: reflect.TypeOf(&ClusterResourceQuota{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ClusterResourceQuotaList, InType: reflect.TypeOf(&ClusterResourceQuotaList{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ClusterResourceQuotaSelector, InType: reflect.TypeOf(&ClusterResourceQuotaSelector{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ClusterResourceQuotaSpec, InType: reflect.TypeOf(&ClusterResourceQuotaSpec{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ClusterResourceQuotaStatus, InType: reflect.TypeOf(&ClusterResourceQuotaStatus{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ResourceQuotaStatusByNamespace, InType: reflect.TypeOf(&ResourceQuotaStatusByNamespace{})},
	)
}

func DeepCopy_v1_AppliedClusterResourceQuota(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*AppliedClusterResourceQuota)
		out := out.(*AppliedClusterResourceQuota)
		out.TypeMeta = in.TypeMeta
		if err := api_v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
			return err
		}
		if err := DeepCopy_v1_ClusterResourceQuotaSpec(&in.Spec, &out.Spec, c); err != nil {
			return err
		}
		if err := DeepCopy_v1_ClusterResourceQuotaStatus(&in.Status, &out.Status, c); err != nil {
			return err
		}
		return nil
	}
}

func DeepCopy_v1_AppliedClusterResourceQuotaList(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*AppliedClusterResourceQuotaList)
		out := out.(*AppliedClusterResourceQuotaList)
		out.TypeMeta = in.TypeMeta
		out.ListMeta = in.ListMeta
		if in.Items != nil {
			in, out := &in.Items, &out.Items
			*out = make([]AppliedClusterResourceQuota, len(*in))
			for i := range *in {
				if err := DeepCopy_v1_AppliedClusterResourceQuota(&(*in)[i], &(*out)[i], c); err != nil {
					return err
				}
			}
		} else {
			out.Items = nil
		}
		return nil
	}
}

func DeepCopy_v1_ClusterResourceQuota(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*ClusterResourceQuota)
		out := out.(*ClusterResourceQuota)
		out.TypeMeta = in.TypeMeta
		if err := api_v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
			return err
		}
		if err := DeepCopy_v1_ClusterResourceQuotaSpec(&in.Spec, &out.Spec, c); err != nil {
			return err
		}
		if err := DeepCopy_v1_ClusterResourceQuotaStatus(&in.Status, &out.Status, c); err != nil {
			return err
		}
		return nil
	}
}

func DeepCopy_v1_ClusterResourceQuotaList(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*ClusterResourceQuotaList)
		out := out.(*ClusterResourceQuotaList)
		out.TypeMeta = in.TypeMeta
		out.ListMeta = in.ListMeta
		if in.Items != nil {
			in, out := &in.Items, &out.Items
			*out = make([]ClusterResourceQuota, len(*in))
			for i := range *in {
				if err := DeepCopy_v1_ClusterResourceQuota(&(*in)[i], &(*out)[i], c); err != nil {
					return err
				}
			}
		} else {
			out.Items = nil
		}
		return nil
	}
}

func DeepCopy_v1_ClusterResourceQuotaSelector(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*ClusterResourceQuotaSelector)
		out := out.(*ClusterResourceQuotaSelector)
		if in.LabelSelector != nil {
			in, out := &in.LabelSelector, &out.LabelSelector
			*out = new(unversioned.LabelSelector)
			if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
				return err
			}
		} else {
			out.LabelSelector = nil
		}
		if in.AnnotationSelector != nil {
			in, out := &in.AnnotationSelector, &out.AnnotationSelector
			*out = make(map[string]string)
			for key, val := range *in {
				(*out)[key] = val
			}
		} else {
			out.AnnotationSelector = nil
		}
		return nil
	}
}

func DeepCopy_v1_ClusterResourceQuotaSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*ClusterResourceQuotaSpec)
		out := out.(*ClusterResourceQuotaSpec)
		if err := DeepCopy_v1_ClusterResourceQuotaSelector(&in.Selector, &out.Selector, c); err != nil {
			return err
		}
		if err := api_v1.DeepCopy_v1_ResourceQuotaSpec(&in.Quota, &out.Quota, c); err != nil {
			return err
		}
		return nil
	}
}

func DeepCopy_v1_ClusterResourceQuotaStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*ClusterResourceQuotaStatus)
		out := out.(*ClusterResourceQuotaStatus)
		if err := api_v1.DeepCopy_v1_ResourceQuotaStatus(&in.Total, &out.Total, c); err != nil {
			return err
		}
		if in.Namespaces != nil {
			in, out := &in.Namespaces, &out.Namespaces
			*out = make(ResourceQuotasStatusByNamespace, len(*in))
			for i := range *in {
				if err := DeepCopy_v1_ResourceQuotaStatusByNamespace(&(*in)[i], &(*out)[i], c); err != nil {
					return err
				}
			}
		} else {
			out.Namespaces = nil
		}
		return nil
	}
}

func DeepCopy_v1_ResourceQuotaStatusByNamespace(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*ResourceQuotaStatusByNamespace)
		out := out.(*ResourceQuotaStatusByNamespace)
		out.Namespace = in.Namespace
		if err := api_v1.DeepCopy_v1_ResourceQuotaStatus(&in.Status, &out.Status, c); err != nil {
			return err
		}
		return nil
	}
}