// +build !ignore_autogenerated

/*

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by conversion-gen. DO NOT EDIT.

package v1alpha1

import (
	unsafe "unsafe"

	templates "github.com/open-policy-agent/frameworks/constraint/pkg/core/templates"
	apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
	v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
	conversion "k8s.io/apimachinery/pkg/conversion"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

func init() {
	localSchemeBuilder.Register(RegisterConversions)
}

// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(s *runtime.Scheme) error {
	if err := s.AddGeneratedConversionFunc((*ByPodStatus)(nil), (*templates.ByPodStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_ByPodStatus_To_templates_ByPodStatus(a.(*ByPodStatus), b.(*templates.ByPodStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.ByPodStatus)(nil), (*ByPodStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_ByPodStatus_To_v1alpha1_ByPodStatus(a.(*templates.ByPodStatus), b.(*ByPodStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*CRD)(nil), (*templates.CRD)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_CRD_To_templates_CRD(a.(*CRD), b.(*templates.CRD), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.CRD)(nil), (*CRD)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_CRD_To_v1alpha1_CRD(a.(*templates.CRD), b.(*CRD), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*CRDSpec)(nil), (*templates.CRDSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_CRDSpec_To_templates_CRDSpec(a.(*CRDSpec), b.(*templates.CRDSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.CRDSpec)(nil), (*CRDSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_CRDSpec_To_v1alpha1_CRDSpec(a.(*templates.CRDSpec), b.(*CRDSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ConstraintTemplate)(nil), (*templates.ConstraintTemplate)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_ConstraintTemplate_To_templates_ConstraintTemplate(a.(*ConstraintTemplate), b.(*templates.ConstraintTemplate), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.ConstraintTemplate)(nil), (*ConstraintTemplate)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_ConstraintTemplate_To_v1alpha1_ConstraintTemplate(a.(*templates.ConstraintTemplate), b.(*ConstraintTemplate), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ConstraintTemplateList)(nil), (*templates.ConstraintTemplateList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_ConstraintTemplateList_To_templates_ConstraintTemplateList(a.(*ConstraintTemplateList), b.(*templates.ConstraintTemplateList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.ConstraintTemplateList)(nil), (*ConstraintTemplateList)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_ConstraintTemplateList_To_v1alpha1_ConstraintTemplateList(a.(*templates.ConstraintTemplateList), b.(*ConstraintTemplateList), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ConstraintTemplateSpec)(nil), (*templates.ConstraintTemplateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_ConstraintTemplateSpec_To_templates_ConstraintTemplateSpec(a.(*ConstraintTemplateSpec), b.(*templates.ConstraintTemplateSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.ConstraintTemplateSpec)(nil), (*ConstraintTemplateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_ConstraintTemplateSpec_To_v1alpha1_ConstraintTemplateSpec(a.(*templates.ConstraintTemplateSpec), b.(*ConstraintTemplateSpec), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*ConstraintTemplateStatus)(nil), (*templates.ConstraintTemplateStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_ConstraintTemplateStatus_To_templates_ConstraintTemplateStatus(a.(*ConstraintTemplateStatus), b.(*templates.ConstraintTemplateStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.ConstraintTemplateStatus)(nil), (*ConstraintTemplateStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_ConstraintTemplateStatus_To_v1alpha1_ConstraintTemplateStatus(a.(*templates.ConstraintTemplateStatus), b.(*ConstraintTemplateStatus), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*CreateCRDError)(nil), (*templates.CreateCRDError)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_CreateCRDError_To_templates_CreateCRDError(a.(*CreateCRDError), b.(*templates.CreateCRDError), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.CreateCRDError)(nil), (*CreateCRDError)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_CreateCRDError_To_v1alpha1_CreateCRDError(a.(*templates.CreateCRDError), b.(*CreateCRDError), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Names)(nil), (*templates.Names)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_Names_To_templates_Names(a.(*Names), b.(*templates.Names), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.Names)(nil), (*Names)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_Names_To_v1alpha1_Names(a.(*templates.Names), b.(*Names), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Target)(nil), (*templates.Target)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_Target_To_templates_Target(a.(*Target), b.(*templates.Target), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.Target)(nil), (*Target)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_Target_To_v1alpha1_Target(a.(*templates.Target), b.(*Target), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*Validation)(nil), (*templates.Validation)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_v1alpha1_Validation_To_templates_Validation(a.(*Validation), b.(*templates.Validation), scope)
	}); err != nil {
		return err
	}
	if err := s.AddGeneratedConversionFunc((*templates.Validation)(nil), (*Validation)(nil), func(a, b interface{}, scope conversion.Scope) error {
		return Convert_templates_Validation_To_v1alpha1_Validation(a.(*templates.Validation), b.(*Validation), scope)
	}); err != nil {
		return err
	}
	return nil
}

func autoConvert_v1alpha1_ByPodStatus_To_templates_ByPodStatus(in *ByPodStatus, out *templates.ByPodStatus, s conversion.Scope) error {
	out.ID = in.ID
	out.ObservedGeneration = in.ObservedGeneration
	out.Errors = *(*[]*templates.CreateCRDError)(unsafe.Pointer(&in.Errors))
	return nil
}

// Convert_v1alpha1_ByPodStatus_To_templates_ByPodStatus is an autogenerated conversion function.
func Convert_v1alpha1_ByPodStatus_To_templates_ByPodStatus(in *ByPodStatus, out *templates.ByPodStatus, s conversion.Scope) error {
	return autoConvert_v1alpha1_ByPodStatus_To_templates_ByPodStatus(in, out, s)
}

func autoConvert_templates_ByPodStatus_To_v1alpha1_ByPodStatus(in *templates.ByPodStatus, out *ByPodStatus, s conversion.Scope) error {
	out.ID = in.ID
	out.ObservedGeneration = in.ObservedGeneration
	out.Errors = *(*[]*CreateCRDError)(unsafe.Pointer(&in.Errors))
	return nil
}

// Convert_templates_ByPodStatus_To_v1alpha1_ByPodStatus is an autogenerated conversion function.
func Convert_templates_ByPodStatus_To_v1alpha1_ByPodStatus(in *templates.ByPodStatus, out *ByPodStatus, s conversion.Scope) error {
	return autoConvert_templates_ByPodStatus_To_v1alpha1_ByPodStatus(in, out, s)
}

func autoConvert_v1alpha1_CRD_To_templates_CRD(in *CRD, out *templates.CRD, s conversion.Scope) error {
	if err := Convert_v1alpha1_CRDSpec_To_templates_CRDSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	return nil
}

// Convert_v1alpha1_CRD_To_templates_CRD is an autogenerated conversion function.
func Convert_v1alpha1_CRD_To_templates_CRD(in *CRD, out *templates.CRD, s conversion.Scope) error {
	return autoConvert_v1alpha1_CRD_To_templates_CRD(in, out, s)
}

func autoConvert_templates_CRD_To_v1alpha1_CRD(in *templates.CRD, out *CRD, s conversion.Scope) error {
	if err := Convert_templates_CRDSpec_To_v1alpha1_CRDSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	return nil
}

// Convert_templates_CRD_To_v1alpha1_CRD is an autogenerated conversion function.
func Convert_templates_CRD_To_v1alpha1_CRD(in *templates.CRD, out *CRD, s conversion.Scope) error {
	return autoConvert_templates_CRD_To_v1alpha1_CRD(in, out, s)
}

func autoConvert_v1alpha1_CRDSpec_To_templates_CRDSpec(in *CRDSpec, out *templates.CRDSpec, s conversion.Scope) error {
	if err := Convert_v1alpha1_Names_To_templates_Names(&in.Names, &out.Names, s); err != nil {
		return err
	}
	if in.Validation != nil {
		in, out := &in.Validation, &out.Validation
		*out = new(templates.Validation)
		if err := Convert_v1alpha1_Validation_To_templates_Validation(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Validation = nil
	}
	return nil
}

// Convert_v1alpha1_CRDSpec_To_templates_CRDSpec is an autogenerated conversion function.
func Convert_v1alpha1_CRDSpec_To_templates_CRDSpec(in *CRDSpec, out *templates.CRDSpec, s conversion.Scope) error {
	return autoConvert_v1alpha1_CRDSpec_To_templates_CRDSpec(in, out, s)
}

func autoConvert_templates_CRDSpec_To_v1alpha1_CRDSpec(in *templates.CRDSpec, out *CRDSpec, s conversion.Scope) error {
	if err := Convert_templates_Names_To_v1alpha1_Names(&in.Names, &out.Names, s); err != nil {
		return err
	}
	if in.Validation != nil {
		in, out := &in.Validation, &out.Validation
		*out = new(Validation)
		if err := Convert_templates_Validation_To_v1alpha1_Validation(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.Validation = nil
	}
	return nil
}

// Convert_templates_CRDSpec_To_v1alpha1_CRDSpec is an autogenerated conversion function.
func Convert_templates_CRDSpec_To_v1alpha1_CRDSpec(in *templates.CRDSpec, out *CRDSpec, s conversion.Scope) error {
	return autoConvert_templates_CRDSpec_To_v1alpha1_CRDSpec(in, out, s)
}

func autoConvert_v1alpha1_ConstraintTemplate_To_templates_ConstraintTemplate(in *ConstraintTemplate, out *templates.ConstraintTemplate, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_v1alpha1_ConstraintTemplateSpec_To_templates_ConstraintTemplateSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	if err := Convert_v1alpha1_ConstraintTemplateStatus_To_templates_ConstraintTemplateStatus(&in.Status, &out.Status, s); err != nil {
		return err
	}
	return nil
}

// Convert_v1alpha1_ConstraintTemplate_To_templates_ConstraintTemplate is an autogenerated conversion function.
func Convert_v1alpha1_ConstraintTemplate_To_templates_ConstraintTemplate(in *ConstraintTemplate, out *templates.ConstraintTemplate, s conversion.Scope) error {
	return autoConvert_v1alpha1_ConstraintTemplate_To_templates_ConstraintTemplate(in, out, s)
}

func autoConvert_templates_ConstraintTemplate_To_v1alpha1_ConstraintTemplate(in *templates.ConstraintTemplate, out *ConstraintTemplate, s conversion.Scope) error {
	out.ObjectMeta = in.ObjectMeta
	if err := Convert_templates_ConstraintTemplateSpec_To_v1alpha1_ConstraintTemplateSpec(&in.Spec, &out.Spec, s); err != nil {
		return err
	}
	if err := Convert_templates_ConstraintTemplateStatus_To_v1alpha1_ConstraintTemplateStatus(&in.Status, &out.Status, s); err != nil {
		return err
	}
	return nil
}

// Convert_templates_ConstraintTemplate_To_v1alpha1_ConstraintTemplate is an autogenerated conversion function.
func Convert_templates_ConstraintTemplate_To_v1alpha1_ConstraintTemplate(in *templates.ConstraintTemplate, out *ConstraintTemplate, s conversion.Scope) error {
	return autoConvert_templates_ConstraintTemplate_To_v1alpha1_ConstraintTemplate(in, out, s)
}

func autoConvert_v1alpha1_ConstraintTemplateList_To_templates_ConstraintTemplateList(in *ConstraintTemplateList, out *templates.ConstraintTemplateList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]templates.ConstraintTemplate, len(*in))
		for i := range *in {
			if err := Convert_v1alpha1_ConstraintTemplate_To_templates_ConstraintTemplate(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}

// Convert_v1alpha1_ConstraintTemplateList_To_templates_ConstraintTemplateList is an autogenerated conversion function.
func Convert_v1alpha1_ConstraintTemplateList_To_templates_ConstraintTemplateList(in *ConstraintTemplateList, out *templates.ConstraintTemplateList, s conversion.Scope) error {
	return autoConvert_v1alpha1_ConstraintTemplateList_To_templates_ConstraintTemplateList(in, out, s)
}

func autoConvert_templates_ConstraintTemplateList_To_v1alpha1_ConstraintTemplateList(in *templates.ConstraintTemplateList, out *ConstraintTemplateList, s conversion.Scope) error {
	out.ListMeta = in.ListMeta
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ConstraintTemplate, len(*in))
		for i := range *in {
			if err := Convert_templates_ConstraintTemplate_To_v1alpha1_ConstraintTemplate(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Items = nil
	}
	return nil
}

// Convert_templates_ConstraintTemplateList_To_v1alpha1_ConstraintTemplateList is an autogenerated conversion function.
func Convert_templates_ConstraintTemplateList_To_v1alpha1_ConstraintTemplateList(in *templates.ConstraintTemplateList, out *ConstraintTemplateList, s conversion.Scope) error {
	return autoConvert_templates_ConstraintTemplateList_To_v1alpha1_ConstraintTemplateList(in, out, s)
}

func autoConvert_v1alpha1_ConstraintTemplateSpec_To_templates_ConstraintTemplateSpec(in *ConstraintTemplateSpec, out *templates.ConstraintTemplateSpec, s conversion.Scope) error {
	if err := Convert_v1alpha1_CRD_To_templates_CRD(&in.CRD, &out.CRD, s); err != nil {
		return err
	}
	out.Targets = *(*[]templates.Target)(unsafe.Pointer(&in.Targets))
	return nil
}

// Convert_v1alpha1_ConstraintTemplateSpec_To_templates_ConstraintTemplateSpec is an autogenerated conversion function.
func Convert_v1alpha1_ConstraintTemplateSpec_To_templates_ConstraintTemplateSpec(in *ConstraintTemplateSpec, out *templates.ConstraintTemplateSpec, s conversion.Scope) error {
	return autoConvert_v1alpha1_ConstraintTemplateSpec_To_templates_ConstraintTemplateSpec(in, out, s)
}

func autoConvert_templates_ConstraintTemplateSpec_To_v1alpha1_ConstraintTemplateSpec(in *templates.ConstraintTemplateSpec, out *ConstraintTemplateSpec, s conversion.Scope) error {
	if err := Convert_templates_CRD_To_v1alpha1_CRD(&in.CRD, &out.CRD, s); err != nil {
		return err
	}
	out.Targets = *(*[]Target)(unsafe.Pointer(&in.Targets))
	return nil
}

// Convert_templates_ConstraintTemplateSpec_To_v1alpha1_ConstraintTemplateSpec is an autogenerated conversion function.
func Convert_templates_ConstraintTemplateSpec_To_v1alpha1_ConstraintTemplateSpec(in *templates.ConstraintTemplateSpec, out *ConstraintTemplateSpec, s conversion.Scope) error {
	return autoConvert_templates_ConstraintTemplateSpec_To_v1alpha1_ConstraintTemplateSpec(in, out, s)
}

func autoConvert_v1alpha1_ConstraintTemplateStatus_To_templates_ConstraintTemplateStatus(in *ConstraintTemplateStatus, out *templates.ConstraintTemplateStatus, s conversion.Scope) error {
	out.Created = in.Created
	out.ByPod = *(*[]*templates.ByPodStatus)(unsafe.Pointer(&in.ByPod))
	return nil
}

// Convert_v1alpha1_ConstraintTemplateStatus_To_templates_ConstraintTemplateStatus is an autogenerated conversion function.
func Convert_v1alpha1_ConstraintTemplateStatus_To_templates_ConstraintTemplateStatus(in *ConstraintTemplateStatus, out *templates.ConstraintTemplateStatus, s conversion.Scope) error {
	return autoConvert_v1alpha1_ConstraintTemplateStatus_To_templates_ConstraintTemplateStatus(in, out, s)
}

func autoConvert_templates_ConstraintTemplateStatus_To_v1alpha1_ConstraintTemplateStatus(in *templates.ConstraintTemplateStatus, out *ConstraintTemplateStatus, s conversion.Scope) error {
	out.Created = in.Created
	out.ByPod = *(*[]*ByPodStatus)(unsafe.Pointer(&in.ByPod))
	return nil
}

// Convert_templates_ConstraintTemplateStatus_To_v1alpha1_ConstraintTemplateStatus is an autogenerated conversion function.
func Convert_templates_ConstraintTemplateStatus_To_v1alpha1_ConstraintTemplateStatus(in *templates.ConstraintTemplateStatus, out *ConstraintTemplateStatus, s conversion.Scope) error {
	return autoConvert_templates_ConstraintTemplateStatus_To_v1alpha1_ConstraintTemplateStatus(in, out, s)
}

func autoConvert_v1alpha1_CreateCRDError_To_templates_CreateCRDError(in *CreateCRDError, out *templates.CreateCRDError, s conversion.Scope) error {
	out.Code = in.Code
	out.Message = in.Message
	out.Location = in.Location
	return nil
}

// Convert_v1alpha1_CreateCRDError_To_templates_CreateCRDError is an autogenerated conversion function.
func Convert_v1alpha1_CreateCRDError_To_templates_CreateCRDError(in *CreateCRDError, out *templates.CreateCRDError, s conversion.Scope) error {
	return autoConvert_v1alpha1_CreateCRDError_To_templates_CreateCRDError(in, out, s)
}

func autoConvert_templates_CreateCRDError_To_v1alpha1_CreateCRDError(in *templates.CreateCRDError, out *CreateCRDError, s conversion.Scope) error {
	out.Code = in.Code
	out.Message = in.Message
	out.Location = in.Location
	return nil
}

// Convert_templates_CreateCRDError_To_v1alpha1_CreateCRDError is an autogenerated conversion function.
func Convert_templates_CreateCRDError_To_v1alpha1_CreateCRDError(in *templates.CreateCRDError, out *CreateCRDError, s conversion.Scope) error {
	return autoConvert_templates_CreateCRDError_To_v1alpha1_CreateCRDError(in, out, s)
}

func autoConvert_v1alpha1_Names_To_templates_Names(in *Names, out *templates.Names, s conversion.Scope) error {
	out.Kind = in.Kind
	out.ShortNames = *(*[]string)(unsafe.Pointer(&in.ShortNames))
	return nil
}

// Convert_v1alpha1_Names_To_templates_Names is an autogenerated conversion function.
func Convert_v1alpha1_Names_To_templates_Names(in *Names, out *templates.Names, s conversion.Scope) error {
	return autoConvert_v1alpha1_Names_To_templates_Names(in, out, s)
}

func autoConvert_templates_Names_To_v1alpha1_Names(in *templates.Names, out *Names, s conversion.Scope) error {
	out.Kind = in.Kind
	out.ShortNames = *(*[]string)(unsafe.Pointer(&in.ShortNames))
	return nil
}

// Convert_templates_Names_To_v1alpha1_Names is an autogenerated conversion function.
func Convert_templates_Names_To_v1alpha1_Names(in *templates.Names, out *Names, s conversion.Scope) error {
	return autoConvert_templates_Names_To_v1alpha1_Names(in, out, s)
}

func autoConvert_v1alpha1_Target_To_templates_Target(in *Target, out *templates.Target, s conversion.Scope) error {
	out.Target = in.Target
	out.Rego = in.Rego
	out.Libs = *(*[]string)(unsafe.Pointer(&in.Libs))
	return nil
}

// Convert_v1alpha1_Target_To_templates_Target is an autogenerated conversion function.
func Convert_v1alpha1_Target_To_templates_Target(in *Target, out *templates.Target, s conversion.Scope) error {
	return autoConvert_v1alpha1_Target_To_templates_Target(in, out, s)
}

func autoConvert_templates_Target_To_v1alpha1_Target(in *templates.Target, out *Target, s conversion.Scope) error {
	out.Target = in.Target
	out.Rego = in.Rego
	out.Libs = *(*[]string)(unsafe.Pointer(&in.Libs))
	return nil
}

// Convert_templates_Target_To_v1alpha1_Target is an autogenerated conversion function.
func Convert_templates_Target_To_v1alpha1_Target(in *templates.Target, out *Target, s conversion.Scope) error {
	return autoConvert_templates_Target_To_v1alpha1_Target(in, out, s)
}

func autoConvert_v1alpha1_Validation_To_templates_Validation(in *Validation, out *templates.Validation, s conversion.Scope) error {
	if in.OpenAPIV3Schema != nil {
		in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema
		*out = new(apiextensions.JSONSchemaProps)
		// TODO: Inefficient conversion - can we improve it?
		if err := s.Convert(*in, *out, 0); err != nil {
			return err
		}
	} else {
		out.OpenAPIV3Schema = nil
	}
	return nil
}

// Convert_v1alpha1_Validation_To_templates_Validation is an autogenerated conversion function.
func Convert_v1alpha1_Validation_To_templates_Validation(in *Validation, out *templates.Validation, s conversion.Scope) error {
	return autoConvert_v1alpha1_Validation_To_templates_Validation(in, out, s)
}

func autoConvert_templates_Validation_To_v1alpha1_Validation(in *templates.Validation, out *Validation, s conversion.Scope) error {
	if in.OpenAPIV3Schema != nil {
		in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema
		*out = new(v1beta1.JSONSchemaProps)
		// TODO: Inefficient conversion - can we improve it?
		if err := s.Convert(*in, *out, 0); err != nil {
			return err
		}
	} else {
		out.OpenAPIV3Schema = nil
	}
	return nil
}

// Convert_templates_Validation_To_v1alpha1_Validation is an autogenerated conversion function.
func Convert_templates_Validation_To_v1alpha1_Validation(in *templates.Validation, out *Validation, s conversion.Scope) error {
	return autoConvert_templates_Validation_To_v1alpha1_Validation(in, out, s)
}
