// Code generated by applyconfiguration-gen. DO NOT EDIT.

package applyconfigurations

import (
	v1 "github.com/openshift/api/route/v1"
	internal "github.com/openshift/client-go/route/applyconfigurations/internal"
	routev1 "github.com/openshift/client-go/route/applyconfigurations/route/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
	schema "k8s.io/apimachinery/pkg/runtime/schema"
	managedfields "k8s.io/apimachinery/pkg/util/managedfields"
)

// ForKind returns an apply configuration type for the given GroupVersionKind, or nil if no
// apply configuration type exists for the given GroupVersionKind.
func ForKind(kind schema.GroupVersionKind) interface{} {
	switch kind {
	// Group=route.openshift.io, Version=v1
	case v1.SchemeGroupVersion.WithKind("LocalObjectReference"):
		return &routev1.LocalObjectReferenceApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("Route"):
		return &routev1.RouteApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteHTTPHeader"):
		return &routev1.RouteHTTPHeaderApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteHTTPHeaderActions"):
		return &routev1.RouteHTTPHeaderActionsApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteHTTPHeaderActionUnion"):
		return &routev1.RouteHTTPHeaderActionUnionApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteHTTPHeaders"):
		return &routev1.RouteHTTPHeadersApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteIngress"):
		return &routev1.RouteIngressApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteIngressCondition"):
		return &routev1.RouteIngressConditionApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RoutePort"):
		return &routev1.RoutePortApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteSetHTTPHeader"):
		return &routev1.RouteSetHTTPHeaderApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteSpec"):
		return &routev1.RouteSpecApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteStatus"):
		return &routev1.RouteStatusApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("RouteTargetReference"):
		return &routev1.RouteTargetReferenceApplyConfiguration{}
	case v1.SchemeGroupVersion.WithKind("TLSConfig"):
		return &routev1.TLSConfigApplyConfiguration{}

	}
	return nil
}

func NewTypeConverter(scheme *runtime.Scheme) managedfields.TypeConverter {
	return managedfields.NewSchemeTypeConverter(scheme, internal.Parser())
}
