// +build !ignore_autogenerated_openshift

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

package api

import (
	pkg_api "k8s.io/kubernetes/pkg/api"
	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_api_Parameter, InType: reflect.TypeOf(&Parameter{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Template, InType: reflect.TypeOf(&Template{})},
		conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_TemplateList, InType: reflect.TypeOf(&TemplateList{})},
	)
}

func DeepCopy_api_Parameter(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*Parameter)
		out := out.(*Parameter)
		out.Name = in.Name
		out.DisplayName = in.DisplayName
		out.Description = in.Description
		out.Value = in.Value
		out.Generate = in.Generate
		out.From = in.From
		out.Required = in.Required
		return nil
	}
}

func DeepCopy_api_Template(in interface{}, out interface{}, c *conversion.Cloner) error {
	{
		in := in.(*Template)
		out := out.(*Template)
		out.TypeMeta = in.TypeMeta
		if err := pkg_api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
			return err
		}
		out.Message = in.Message
		if in.Parameters != nil {
			in, out := &in.Parameters, &out.Parameters
			*out = make([]Parameter, len(*in))
			for i := range *in {
				(*out)[i] = (*in)[i]
			}
		} else {
			out.Parameters = nil
		}
		if in.Objects != nil {
			in, out := &in.Objects, &out.Objects
			*out = make([]runtime.Object, len(*in))
			for i := range *in {
				if newVal, err := c.DeepCopy(&(*in)[i]); err != nil {
					return err
				} else {
					(*out)[i] = *newVal.(*runtime.Object)
				}
			}
		} else {
			out.Objects = nil
		}
		if in.ObjectLabels != nil {
			in, out := &in.ObjectLabels, &out.ObjectLabels
			*out = make(map[string]string)
			for key, val := range *in {
				(*out)[key] = val
			}
		} else {
			out.ObjectLabels = nil
		}
		return nil
	}
}

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