//go:build !ignore_autogenerated

/*
Copyright 2025 Stacklok

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 controller-gen. DO NOT EDIT.

package v1beta1

import (
	"github.com/stacklok/toolhive/pkg/ratelimit/types"
	corev1 "k8s.io/api/core/v1"
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSStsConfig) DeepCopyInto(out *AWSStsConfig) {
	*out = *in
	if in.RoleMappings != nil {
		in, out := &in.RoleMappings, &out.RoleMappings
		*out = make([]RoleMapping, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SessionDuration != nil {
		in, out := &in.SessionDuration, &out.SessionDuration
		*out = new(int32)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSStsConfig.
func (in *AWSStsConfig) DeepCopy() *AWSStsConfig {
	if in == nil {
		return nil
	}
	out := new(AWSStsConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AuditConfig) DeepCopyInto(out *AuditConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditConfig.
func (in *AuditConfig) DeepCopy() *AuditConfig {
	if in == nil {
		return nil
	}
	out := new(AuditConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AuthServerRef) DeepCopyInto(out *AuthServerRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthServerRef.
func (in *AuthServerRef) DeepCopy() *AuthServerRef {
	if in == nil {
		return nil
	}
	out := new(AuthServerRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AuthServerStorageConfig) DeepCopyInto(out *AuthServerStorageConfig) {
	*out = *in
	if in.Redis != nil {
		in, out := &in.Redis, &out.Redis
		*out = new(RedisStorageConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthServerStorageConfig.
func (in *AuthServerStorageConfig) DeepCopy() *AuthServerStorageConfig {
	if in == nil {
		return nil
	}
	out := new(AuthServerStorageConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AuthzConfigRef) DeepCopyInto(out *AuthzConfigRef) {
	*out = *in
	if in.ConfigMap != nil {
		in, out := &in.ConfigMap, &out.ConfigMap
		*out = new(ConfigMapAuthzRef)
		**out = **in
	}
	if in.Inline != nil {
		in, out := &in.Inline, &out.Inline
		*out = new(InlineAuthzConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthzConfigRef.
func (in *AuthzConfigRef) DeepCopy() *AuthzConfigRef {
	if in == nil {
		return nil
	}
	out := new(AuthzConfigRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackendAuthConfig) DeepCopyInto(out *BackendAuthConfig) {
	*out = *in
	if in.ExternalAuthConfigRef != nil {
		in, out := &in.ExternalAuthConfigRef, &out.ExternalAuthConfigRef
		*out = new(ExternalAuthConfigRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendAuthConfig.
func (in *BackendAuthConfig) DeepCopy() *BackendAuthConfig {
	if in == nil {
		return nil
	}
	out := new(BackendAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BearerTokenConfig) DeepCopyInto(out *BearerTokenConfig) {
	*out = *in
	if in.TokenSecretRef != nil {
		in, out := &in.TokenSecretRef, &out.TokenSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BearerTokenConfig.
func (in *BearerTokenConfig) DeepCopy() *BearerTokenConfig {
	if in == nil {
		return nil
	}
	out := new(BearerTokenConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CABundleSource) DeepCopyInto(out *CABundleSource) {
	*out = *in
	if in.ConfigMapRef != nil {
		in, out := &in.ConfigMapRef, &out.ConfigMapRef
		*out = new(corev1.ConfigMapKeySelector)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CABundleSource.
func (in *CABundleSource) DeepCopy() *CABundleSource {
	if in == nil {
		return nil
	}
	out := new(CABundleSource)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigMapAuthzRef) DeepCopyInto(out *ConfigMapAuthzRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapAuthzRef.
func (in *ConfigMapAuthzRef) DeepCopy() *ConfigMapAuthzRef {
	if in == nil {
		return nil
	}
	out := new(ConfigMapAuthzRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DCRUpstreamConfig) DeepCopyInto(out *DCRUpstreamConfig) {
	*out = *in
	if in.InitialAccessTokenRef != nil {
		in, out := &in.InitialAccessTokenRef, &out.InitialAccessTokenRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DCRUpstreamConfig.
func (in *DCRUpstreamConfig) DeepCopy() *DCRUpstreamConfig {
	if in == nil {
		return nil
	}
	out := new(DCRUpstreamConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddedAuthServerConfig) DeepCopyInto(out *EmbeddedAuthServerConfig) {
	*out = *in
	if in.SigningKeySecretRefs != nil {
		in, out := &in.SigningKeySecretRefs, &out.SigningKeySecretRefs
		*out = make([]SecretKeyRef, len(*in))
		copy(*out, *in)
	}
	if in.HMACSecretRefs != nil {
		in, out := &in.HMACSecretRefs, &out.HMACSecretRefs
		*out = make([]SecretKeyRef, len(*in))
		copy(*out, *in)
	}
	if in.TokenLifespans != nil {
		in, out := &in.TokenLifespans, &out.TokenLifespans
		*out = new(TokenLifespanConfig)
		**out = **in
	}
	if in.UpstreamProviders != nil {
		in, out := &in.UpstreamProviders, &out.UpstreamProviders
		*out = make([]UpstreamProviderConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Storage != nil {
		in, out := &in.Storage, &out.Storage
		*out = new(AuthServerStorageConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.BaselineClientScopes != nil {
		in, out := &in.BaselineClientScopes, &out.BaselineClientScopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedAuthServerConfig.
func (in *EmbeddedAuthServerConfig) DeepCopy() *EmbeddedAuthServerConfig {
	if in == nil {
		return nil
	}
	out := new(EmbeddedAuthServerConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingResourceOverrides) DeepCopyInto(out *EmbeddingResourceOverrides) {
	*out = *in
	if in.StatefulSet != nil {
		in, out := &in.StatefulSet, &out.StatefulSet
		*out = new(EmbeddingStatefulSetOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.Service != nil {
		in, out := &in.Service, &out.Service
		*out = new(ResourceMetadataOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.PersistentVolumeClaim != nil {
		in, out := &in.PersistentVolumeClaim, &out.PersistentVolumeClaim
		*out = new(ResourceMetadataOverrides)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingResourceOverrides.
func (in *EmbeddingResourceOverrides) DeepCopy() *EmbeddingResourceOverrides {
	if in == nil {
		return nil
	}
	out := new(EmbeddingResourceOverrides)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingServer) DeepCopyInto(out *EmbeddingServer) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingServer.
func (in *EmbeddingServer) DeepCopy() *EmbeddingServer {
	if in == nil {
		return nil
	}
	out := new(EmbeddingServer)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *EmbeddingServer) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingServerList) DeepCopyInto(out *EmbeddingServerList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]EmbeddingServer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingServerList.
func (in *EmbeddingServerList) DeepCopy() *EmbeddingServerList {
	if in == nil {
		return nil
	}
	out := new(EmbeddingServerList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *EmbeddingServerList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingServerRef) DeepCopyInto(out *EmbeddingServerRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingServerRef.
func (in *EmbeddingServerRef) DeepCopy() *EmbeddingServerRef {
	if in == nil {
		return nil
	}
	out := new(EmbeddingServerRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingServerSpec) DeepCopyInto(out *EmbeddingServerSpec) {
	*out = *in
	if in.HFTokenSecretRef != nil {
		in, out := &in.HFTokenSecretRef, &out.HFTokenSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]EnvVar, len(*in))
		copy(*out, *in)
	}
	out.Resources = in.Resources
	if in.ModelCache != nil {
		in, out := &in.ModelCache, &out.ModelCache
		*out = new(ModelCacheConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.PodTemplateSpec != nil {
		in, out := &in.PodTemplateSpec, &out.PodTemplateSpec
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.ResourceOverrides != nil {
		in, out := &in.ResourceOverrides, &out.ResourceOverrides
		*out = new(EmbeddingResourceOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingServerSpec.
func (in *EmbeddingServerSpec) DeepCopy() *EmbeddingServerSpec {
	if in == nil {
		return nil
	}
	out := new(EmbeddingServerSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingServerStatus) DeepCopyInto(out *EmbeddingServerStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingServerStatus.
func (in *EmbeddingServerStatus) DeepCopy() *EmbeddingServerStatus {
	if in == nil {
		return nil
	}
	out := new(EmbeddingServerStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbeddingStatefulSetOverrides) DeepCopyInto(out *EmbeddingStatefulSetOverrides) {
	*out = *in
	in.ResourceMetadataOverrides.DeepCopyInto(&out.ResourceMetadataOverrides)
	if in.PodTemplateMetadataOverrides != nil {
		in, out := &in.PodTemplateMetadataOverrides, &out.PodTemplateMetadataOverrides
		*out = new(ResourceMetadataOverrides)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddingStatefulSetOverrides.
func (in *EmbeddingStatefulSetOverrides) DeepCopy() *EmbeddingStatefulSetOverrides {
	if in == nil {
		return nil
	}
	out := new(EmbeddingStatefulSetOverrides)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EnvVar) DeepCopyInto(out *EnvVar) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (in *EnvVar) DeepCopy() *EnvVar {
	if in == nil {
		return nil
	}
	out := new(EnvVar)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalAuthConfigRef) DeepCopyInto(out *ExternalAuthConfigRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAuthConfigRef.
func (in *ExternalAuthConfigRef) DeepCopy() *ExternalAuthConfigRef {
	if in == nil {
		return nil
	}
	out := new(ExternalAuthConfigRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HeaderForwardConfig) DeepCopyInto(out *HeaderForwardConfig) {
	*out = *in
	if in.AddPlaintextHeaders != nil {
		in, out := &in.AddPlaintextHeaders, &out.AddPlaintextHeaders
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.AddHeadersFromSecret != nil {
		in, out := &in.AddHeadersFromSecret, &out.AddHeadersFromSecret
		*out = make([]HeaderFromSecret, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderForwardConfig.
func (in *HeaderForwardConfig) DeepCopy() *HeaderForwardConfig {
	if in == nil {
		return nil
	}
	out := new(HeaderForwardConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HeaderFromSecret) DeepCopyInto(out *HeaderFromSecret) {
	*out = *in
	if in.ValueSecretRef != nil {
		in, out := &in.ValueSecretRef, &out.ValueSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderFromSecret.
func (in *HeaderFromSecret) DeepCopy() *HeaderFromSecret {
	if in == nil {
		return nil
	}
	out := new(HeaderFromSecret)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HeaderInjectionConfig) DeepCopyInto(out *HeaderInjectionConfig) {
	*out = *in
	if in.ValueSecretRef != nil {
		in, out := &in.ValueSecretRef, &out.ValueSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeaderInjectionConfig.
func (in *HeaderInjectionConfig) DeepCopy() *HeaderInjectionConfig {
	if in == nil {
		return nil
	}
	out := new(HeaderInjectionConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IncomingAuthConfig) DeepCopyInto(out *IncomingAuthConfig) {
	*out = *in
	if in.OIDCConfigRef != nil {
		in, out := &in.OIDCConfigRef, &out.OIDCConfigRef
		*out = new(MCPOIDCConfigReference)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthzConfig != nil {
		in, out := &in.AuthzConfig, &out.AuthzConfig
		*out = new(AuthzConfigRef)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IncomingAuthConfig.
func (in *IncomingAuthConfig) DeepCopy() *IncomingAuthConfig {
	if in == nil {
		return nil
	}
	out := new(IncomingAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InlineAuthzConfig) DeepCopyInto(out *InlineAuthzConfig) {
	*out = *in
	if in.Policies != nil {
		in, out := &in.Policies, &out.Policies
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InlineAuthzConfig.
func (in *InlineAuthzConfig) DeepCopy() *InlineAuthzConfig {
	if in == nil {
		return nil
	}
	out := new(InlineAuthzConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InlineOIDCSharedConfig) DeepCopyInto(out *InlineOIDCSharedConfig) {
	*out = *in
	if in.ClientSecretRef != nil {
		in, out := &in.ClientSecretRef, &out.ClientSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.CABundleRef != nil {
		in, out := &in.CABundleRef, &out.CABundleRef
		*out = new(CABundleSource)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InlineOIDCSharedConfig.
func (in *InlineOIDCSharedConfig) DeepCopy() *InlineOIDCSharedConfig {
	if in == nil {
		return nil
	}
	out := new(InlineOIDCSharedConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubernetesServiceAccountOIDCConfig) DeepCopyInto(out *KubernetesServiceAccountOIDCConfig) {
	*out = *in
	if in.UseClusterAuth != nil {
		in, out := &in.UseClusterAuth, &out.UseClusterAuth
		*out = new(bool)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesServiceAccountOIDCConfig.
func (in *KubernetesServiceAccountOIDCConfig) DeepCopy() *KubernetesServiceAccountOIDCConfig {
	if in == nil {
		return nil
	}
	out := new(KubernetesServiceAccountOIDCConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPExternalAuthConfig) DeepCopyInto(out *MCPExternalAuthConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPExternalAuthConfig.
func (in *MCPExternalAuthConfig) DeepCopy() *MCPExternalAuthConfig {
	if in == nil {
		return nil
	}
	out := new(MCPExternalAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPExternalAuthConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPExternalAuthConfigList) DeepCopyInto(out *MCPExternalAuthConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPExternalAuthConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPExternalAuthConfigList.
func (in *MCPExternalAuthConfigList) DeepCopy() *MCPExternalAuthConfigList {
	if in == nil {
		return nil
	}
	out := new(MCPExternalAuthConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPExternalAuthConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPExternalAuthConfigSpec) DeepCopyInto(out *MCPExternalAuthConfigSpec) {
	*out = *in
	if in.TokenExchange != nil {
		in, out := &in.TokenExchange, &out.TokenExchange
		*out = new(TokenExchangeConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.HeaderInjection != nil {
		in, out := &in.HeaderInjection, &out.HeaderInjection
		*out = new(HeaderInjectionConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.BearerToken != nil {
		in, out := &in.BearerToken, &out.BearerToken
		*out = new(BearerTokenConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.EmbeddedAuthServer != nil {
		in, out := &in.EmbeddedAuthServer, &out.EmbeddedAuthServer
		*out = new(EmbeddedAuthServerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.AWSSts != nil {
		in, out := &in.AWSSts, &out.AWSSts
		*out = new(AWSStsConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.UpstreamInject != nil {
		in, out := &in.UpstreamInject, &out.UpstreamInject
		*out = new(UpstreamInjectSpec)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPExternalAuthConfigSpec.
func (in *MCPExternalAuthConfigSpec) DeepCopy() *MCPExternalAuthConfigSpec {
	if in == nil {
		return nil
	}
	out := new(MCPExternalAuthConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPExternalAuthConfigStatus) DeepCopyInto(out *MCPExternalAuthConfigStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ReferencingWorkloads != nil {
		in, out := &in.ReferencingWorkloads, &out.ReferencingWorkloads
		*out = make([]WorkloadReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPExternalAuthConfigStatus.
func (in *MCPExternalAuthConfigStatus) DeepCopy() *MCPExternalAuthConfigStatus {
	if in == nil {
		return nil
	}
	out := new(MCPExternalAuthConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPGroup) DeepCopyInto(out *MCPGroup) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPGroup.
func (in *MCPGroup) DeepCopy() *MCPGroup {
	if in == nil {
		return nil
	}
	out := new(MCPGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPGroup) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPGroupList) DeepCopyInto(out *MCPGroupList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPGroup, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPGroupList.
func (in *MCPGroupList) DeepCopy() *MCPGroupList {
	if in == nil {
		return nil
	}
	out := new(MCPGroupList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPGroupList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPGroupRef) DeepCopyInto(out *MCPGroupRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPGroupRef.
func (in *MCPGroupRef) DeepCopy() *MCPGroupRef {
	if in == nil {
		return nil
	}
	out := new(MCPGroupRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPGroupSpec) DeepCopyInto(out *MCPGroupSpec) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPGroupSpec.
func (in *MCPGroupSpec) DeepCopy() *MCPGroupSpec {
	if in == nil {
		return nil
	}
	out := new(MCPGroupSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPGroupStatus) DeepCopyInto(out *MCPGroupStatus) {
	*out = *in
	if in.Servers != nil {
		in, out := &in.Servers, &out.Servers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.RemoteProxies != nil {
		in, out := &in.RemoteProxies, &out.RemoteProxies
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Entries != nil {
		in, out := &in.Entries, &out.Entries
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPGroupStatus.
func (in *MCPGroupStatus) DeepCopy() *MCPGroupStatus {
	if in == nil {
		return nil
	}
	out := new(MCPGroupStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPOIDCConfig) DeepCopyInto(out *MCPOIDCConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPOIDCConfig.
func (in *MCPOIDCConfig) DeepCopy() *MCPOIDCConfig {
	if in == nil {
		return nil
	}
	out := new(MCPOIDCConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPOIDCConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPOIDCConfigList) DeepCopyInto(out *MCPOIDCConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPOIDCConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPOIDCConfigList.
func (in *MCPOIDCConfigList) DeepCopy() *MCPOIDCConfigList {
	if in == nil {
		return nil
	}
	out := new(MCPOIDCConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPOIDCConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPOIDCConfigReference) DeepCopyInto(out *MCPOIDCConfigReference) {
	*out = *in
	if in.Scopes != nil {
		in, out := &in.Scopes, &out.Scopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPOIDCConfigReference.
func (in *MCPOIDCConfigReference) DeepCopy() *MCPOIDCConfigReference {
	if in == nil {
		return nil
	}
	out := new(MCPOIDCConfigReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPOIDCConfigSpec) DeepCopyInto(out *MCPOIDCConfigSpec) {
	*out = *in
	if in.KubernetesServiceAccount != nil {
		in, out := &in.KubernetesServiceAccount, &out.KubernetesServiceAccount
		*out = new(KubernetesServiceAccountOIDCConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Inline != nil {
		in, out := &in.Inline, &out.Inline
		*out = new(InlineOIDCSharedConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPOIDCConfigSpec.
func (in *MCPOIDCConfigSpec) DeepCopy() *MCPOIDCConfigSpec {
	if in == nil {
		return nil
	}
	out := new(MCPOIDCConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPOIDCConfigStatus) DeepCopyInto(out *MCPOIDCConfigStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ReferencingWorkloads != nil {
		in, out := &in.ReferencingWorkloads, &out.ReferencingWorkloads
		*out = make([]WorkloadReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPOIDCConfigStatus.
func (in *MCPOIDCConfigStatus) DeepCopy() *MCPOIDCConfigStatus {
	if in == nil {
		return nil
	}
	out := new(MCPOIDCConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRegistry) DeepCopyInto(out *MCPRegistry) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRegistry.
func (in *MCPRegistry) DeepCopy() *MCPRegistry {
	if in == nil {
		return nil
	}
	out := new(MCPRegistry)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPRegistry) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRegistryList) DeepCopyInto(out *MCPRegistryList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPRegistry, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRegistryList.
func (in *MCPRegistryList) DeepCopy() *MCPRegistryList {
	if in == nil {
		return nil
	}
	out := new(MCPRegistryList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPRegistryList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRegistrySpec) DeepCopyInto(out *MCPRegistrySpec) {
	*out = *in
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]apiextensionsv1.JSON, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.VolumeMounts != nil {
		in, out := &in.VolumeMounts, &out.VolumeMounts
		*out = make([]apiextensionsv1.JSON, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PGPassSecretRef != nil {
		in, out := &in.PGPassSecretRef, &out.PGPassSecretRef
		*out = new(corev1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	if in.PodTemplateSpec != nil {
		in, out := &in.PodTemplateSpec, &out.PodTemplateSpec
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRegistrySpec.
func (in *MCPRegistrySpec) DeepCopy() *MCPRegistrySpec {
	if in == nil {
		return nil
	}
	out := new(MCPRegistrySpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRegistryStatus) DeepCopyInto(out *MCPRegistryStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRegistryStatus.
func (in *MCPRegistryStatus) DeepCopy() *MCPRegistryStatus {
	if in == nil {
		return nil
	}
	out := new(MCPRegistryStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRemoteProxy) DeepCopyInto(out *MCPRemoteProxy) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRemoteProxy.
func (in *MCPRemoteProxy) DeepCopy() *MCPRemoteProxy {
	if in == nil {
		return nil
	}
	out := new(MCPRemoteProxy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPRemoteProxy) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRemoteProxyList) DeepCopyInto(out *MCPRemoteProxyList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPRemoteProxy, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRemoteProxyList.
func (in *MCPRemoteProxyList) DeepCopy() *MCPRemoteProxyList {
	if in == nil {
		return nil
	}
	out := new(MCPRemoteProxyList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPRemoteProxyList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRemoteProxySpec) DeepCopyInto(out *MCPRemoteProxySpec) {
	*out = *in
	if in.OIDCConfigRef != nil {
		in, out := &in.OIDCConfigRef, &out.OIDCConfigRef
		*out = new(MCPOIDCConfigReference)
		(*in).DeepCopyInto(*out)
	}
	if in.ExternalAuthConfigRef != nil {
		in, out := &in.ExternalAuthConfigRef, &out.ExternalAuthConfigRef
		*out = new(ExternalAuthConfigRef)
		**out = **in
	}
	if in.AuthServerRef != nil {
		in, out := &in.AuthServerRef, &out.AuthServerRef
		*out = new(AuthServerRef)
		**out = **in
	}
	if in.HeaderForward != nil {
		in, out := &in.HeaderForward, &out.HeaderForward
		*out = new(HeaderForwardConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthzConfig != nil {
		in, out := &in.AuthzConfig, &out.AuthzConfig
		*out = new(AuthzConfigRef)
		(*in).DeepCopyInto(*out)
	}
	if in.Audit != nil {
		in, out := &in.Audit, &out.Audit
		*out = new(AuditConfig)
		**out = **in
	}
	if in.ToolConfigRef != nil {
		in, out := &in.ToolConfigRef, &out.ToolConfigRef
		*out = new(ToolConfigRef)
		**out = **in
	}
	if in.TelemetryConfigRef != nil {
		in, out := &in.TelemetryConfigRef, &out.TelemetryConfigRef
		*out = new(MCPTelemetryConfigReference)
		**out = **in
	}
	out.Resources = in.Resources
	if in.ServiceAccount != nil {
		in, out := &in.ServiceAccount, &out.ServiceAccount
		*out = new(string)
		**out = **in
	}
	if in.ResourceOverrides != nil {
		in, out := &in.ResourceOverrides, &out.ResourceOverrides
		*out = new(ResourceOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.GroupRef != nil {
		in, out := &in.GroupRef, &out.GroupRef
		*out = new(MCPGroupRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRemoteProxySpec.
func (in *MCPRemoteProxySpec) DeepCopy() *MCPRemoteProxySpec {
	if in == nil {
		return nil
	}
	out := new(MCPRemoteProxySpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPRemoteProxyStatus) DeepCopyInto(out *MCPRemoteProxyStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPRemoteProxyStatus.
func (in *MCPRemoteProxyStatus) DeepCopy() *MCPRemoteProxyStatus {
	if in == nil {
		return nil
	}
	out := new(MCPRemoteProxyStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServer) DeepCopyInto(out *MCPServer) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServer.
func (in *MCPServer) DeepCopy() *MCPServer {
	if in == nil {
		return nil
	}
	out := new(MCPServer)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPServer) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerEntry) DeepCopyInto(out *MCPServerEntry) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerEntry.
func (in *MCPServerEntry) DeepCopy() *MCPServerEntry {
	if in == nil {
		return nil
	}
	out := new(MCPServerEntry)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPServerEntry) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerEntryList) DeepCopyInto(out *MCPServerEntryList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPServerEntry, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerEntryList.
func (in *MCPServerEntryList) DeepCopy() *MCPServerEntryList {
	if in == nil {
		return nil
	}
	out := new(MCPServerEntryList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPServerEntryList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerEntrySpec) DeepCopyInto(out *MCPServerEntrySpec) {
	*out = *in
	if in.GroupRef != nil {
		in, out := &in.GroupRef, &out.GroupRef
		*out = new(MCPGroupRef)
		**out = **in
	}
	if in.ExternalAuthConfigRef != nil {
		in, out := &in.ExternalAuthConfigRef, &out.ExternalAuthConfigRef
		*out = new(ExternalAuthConfigRef)
		**out = **in
	}
	if in.HeaderForward != nil {
		in, out := &in.HeaderForward, &out.HeaderForward
		*out = new(HeaderForwardConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.CABundleRef != nil {
		in, out := &in.CABundleRef, &out.CABundleRef
		*out = new(CABundleSource)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerEntrySpec.
func (in *MCPServerEntrySpec) DeepCopy() *MCPServerEntrySpec {
	if in == nil {
		return nil
	}
	out := new(MCPServerEntrySpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerEntryStatus) DeepCopyInto(out *MCPServerEntryStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerEntryStatus.
func (in *MCPServerEntryStatus) DeepCopy() *MCPServerEntryStatus {
	if in == nil {
		return nil
	}
	out := new(MCPServerEntryStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerList) DeepCopyInto(out *MCPServerList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPServer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerList.
func (in *MCPServerList) DeepCopy() *MCPServerList {
	if in == nil {
		return nil
	}
	out := new(MCPServerList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPServerList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerSpec) DeepCopyInto(out *MCPServerSpec) {
	*out = *in
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]EnvVar, len(*in))
		copy(*out, *in)
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]Volume, len(*in))
		copy(*out, *in)
	}
	out.Resources = in.Resources
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]SecretRef, len(*in))
		copy(*out, *in)
	}
	if in.ServiceAccount != nil {
		in, out := &in.ServiceAccount, &out.ServiceAccount
		*out = new(string)
		**out = **in
	}
	if in.PermissionProfile != nil {
		in, out := &in.PermissionProfile, &out.PermissionProfile
		*out = new(PermissionProfileRef)
		**out = **in
	}
	if in.PodTemplateSpec != nil {
		in, out := &in.PodTemplateSpec, &out.PodTemplateSpec
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.ResourceOverrides != nil {
		in, out := &in.ResourceOverrides, &out.ResourceOverrides
		*out = new(ResourceOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.OIDCConfigRef != nil {
		in, out := &in.OIDCConfigRef, &out.OIDCConfigRef
		*out = new(MCPOIDCConfigReference)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthzConfig != nil {
		in, out := &in.AuthzConfig, &out.AuthzConfig
		*out = new(AuthzConfigRef)
		(*in).DeepCopyInto(*out)
	}
	if in.Audit != nil {
		in, out := &in.Audit, &out.Audit
		*out = new(AuditConfig)
		**out = **in
	}
	if in.ToolConfigRef != nil {
		in, out := &in.ToolConfigRef, &out.ToolConfigRef
		*out = new(ToolConfigRef)
		**out = **in
	}
	if in.ExternalAuthConfigRef != nil {
		in, out := &in.ExternalAuthConfigRef, &out.ExternalAuthConfigRef
		*out = new(ExternalAuthConfigRef)
		**out = **in
	}
	if in.WebhookConfigRef != nil {
		in, out := &in.WebhookConfigRef, &out.WebhookConfigRef
		*out = new(WebhookConfigRef)
		**out = **in
	}
	if in.AuthServerRef != nil {
		in, out := &in.AuthServerRef, &out.AuthServerRef
		*out = new(AuthServerRef)
		**out = **in
	}
	if in.TelemetryConfigRef != nil {
		in, out := &in.TelemetryConfigRef, &out.TelemetryConfigRef
		*out = new(MCPTelemetryConfigReference)
		**out = **in
	}
	if in.GroupRef != nil {
		in, out := &in.GroupRef, &out.GroupRef
		*out = new(MCPGroupRef)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.BackendReplicas != nil {
		in, out := &in.BackendReplicas, &out.BackendReplicas
		*out = new(int32)
		**out = **in
	}
	if in.SessionStorage != nil {
		in, out := &in.SessionStorage, &out.SessionStorage
		*out = new(SessionStorageConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.RateLimiting != nil {
		in, out := &in.RateLimiting, &out.RateLimiting
		*out = new(types.RateLimitConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerSpec.
func (in *MCPServerSpec) DeepCopy() *MCPServerSpec {
	if in == nil {
		return nil
	}
	out := new(MCPServerSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPServerStatus) DeepCopyInto(out *MCPServerStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPServerStatus.
func (in *MCPServerStatus) DeepCopy() *MCPServerStatus {
	if in == nil {
		return nil
	}
	out := new(MCPServerStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPTelemetryConfig) DeepCopyInto(out *MCPTelemetryConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTelemetryConfig.
func (in *MCPTelemetryConfig) DeepCopy() *MCPTelemetryConfig {
	if in == nil {
		return nil
	}
	out := new(MCPTelemetryConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPTelemetryConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPTelemetryConfigList) DeepCopyInto(out *MCPTelemetryConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPTelemetryConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTelemetryConfigList.
func (in *MCPTelemetryConfigList) DeepCopy() *MCPTelemetryConfigList {
	if in == nil {
		return nil
	}
	out := new(MCPTelemetryConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPTelemetryConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPTelemetryConfigReference) DeepCopyInto(out *MCPTelemetryConfigReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTelemetryConfigReference.
func (in *MCPTelemetryConfigReference) DeepCopy() *MCPTelemetryConfigReference {
	if in == nil {
		return nil
	}
	out := new(MCPTelemetryConfigReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPTelemetryConfigSpec) DeepCopyInto(out *MCPTelemetryConfigSpec) {
	*out = *in
	if in.OpenTelemetry != nil {
		in, out := &in.OpenTelemetry, &out.OpenTelemetry
		*out = new(MCPTelemetryOTelConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Prometheus != nil {
		in, out := &in.Prometheus, &out.Prometheus
		*out = new(PrometheusConfig)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTelemetryConfigSpec.
func (in *MCPTelemetryConfigSpec) DeepCopy() *MCPTelemetryConfigSpec {
	if in == nil {
		return nil
	}
	out := new(MCPTelemetryConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPTelemetryConfigStatus) DeepCopyInto(out *MCPTelemetryConfigStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ReferencingWorkloads != nil {
		in, out := &in.ReferencingWorkloads, &out.ReferencingWorkloads
		*out = make([]WorkloadReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTelemetryConfigStatus.
func (in *MCPTelemetryConfigStatus) DeepCopy() *MCPTelemetryConfigStatus {
	if in == nil {
		return nil
	}
	out := new(MCPTelemetryConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPTelemetryOTelConfig) DeepCopyInto(out *MCPTelemetryOTelConfig) {
	*out = *in
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.SensitiveHeaders != nil {
		in, out := &in.SensitiveHeaders, &out.SensitiveHeaders
		*out = make([]SensitiveHeader, len(*in))
		copy(*out, *in)
	}
	if in.ResourceAttributes != nil {
		in, out := &in.ResourceAttributes, &out.ResourceAttributes
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(OpenTelemetryMetricsConfig)
		**out = **in
	}
	if in.Tracing != nil {
		in, out := &in.Tracing, &out.Tracing
		*out = new(OpenTelemetryTracingConfig)
		**out = **in
	}
	if in.CABundleRef != nil {
		in, out := &in.CABundleRef, &out.CABundleRef
		*out = new(CABundleSource)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPTelemetryOTelConfig.
func (in *MCPTelemetryOTelConfig) DeepCopy() *MCPTelemetryOTelConfig {
	if in == nil {
		return nil
	}
	out := new(MCPTelemetryOTelConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPToolConfig) DeepCopyInto(out *MCPToolConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPToolConfig.
func (in *MCPToolConfig) DeepCopy() *MCPToolConfig {
	if in == nil {
		return nil
	}
	out := new(MCPToolConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPToolConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPToolConfigList) DeepCopyInto(out *MCPToolConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]MCPToolConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPToolConfigList.
func (in *MCPToolConfigList) DeepCopy() *MCPToolConfigList {
	if in == nil {
		return nil
	}
	out := new(MCPToolConfigList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MCPToolConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPToolConfigSpec) DeepCopyInto(out *MCPToolConfigSpec) {
	*out = *in
	if in.ToolsFilter != nil {
		in, out := &in.ToolsFilter, &out.ToolsFilter
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ToolsOverride != nil {
		in, out := &in.ToolsOverride, &out.ToolsOverride
		*out = make(map[string]ToolOverride, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPToolConfigSpec.
func (in *MCPToolConfigSpec) DeepCopy() *MCPToolConfigSpec {
	if in == nil {
		return nil
	}
	out := new(MCPToolConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPToolConfigStatus) DeepCopyInto(out *MCPToolConfigStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ReferencingWorkloads != nil {
		in, out := &in.ReferencingWorkloads, &out.ReferencingWorkloads
		*out = make([]WorkloadReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPToolConfigStatus.
func (in *MCPToolConfigStatus) DeepCopy() *MCPToolConfigStatus {
	if in == nil {
		return nil
	}
	out := new(MCPToolConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPWebhookConfigSpec) DeepCopyInto(out *MCPWebhookConfigSpec) {
	*out = *in
	if in.Validating != nil {
		in, out := &in.Validating, &out.Validating
		*out = make([]WebhookSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Mutating != nil {
		in, out := &in.Mutating, &out.Mutating
		*out = make([]WebhookSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPWebhookConfigSpec.
func (in *MCPWebhookConfigSpec) DeepCopy() *MCPWebhookConfigSpec {
	if in == nil {
		return nil
	}
	out := new(MCPWebhookConfigSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MCPWebhookConfigStatus) DeepCopyInto(out *MCPWebhookConfigStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ReferencingWorkloads != nil {
		in, out := &in.ReferencingWorkloads, &out.ReferencingWorkloads
		*out = make([]WorkloadReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MCPWebhookConfigStatus.
func (in *MCPWebhookConfigStatus) DeepCopy() *MCPWebhookConfigStatus {
	if in == nil {
		return nil
	}
	out := new(MCPWebhookConfigStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ModelCacheConfig) DeepCopyInto(out *ModelCacheConfig) {
	*out = *in
	if in.StorageClassName != nil {
		in, out := &in.StorageClassName, &out.StorageClassName
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelCacheConfig.
func (in *ModelCacheConfig) DeepCopy() *ModelCacheConfig {
	if in == nil {
		return nil
	}
	out := new(ModelCacheConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NetworkPermissions) DeepCopyInto(out *NetworkPermissions) {
	*out = *in
	if in.Outbound != nil {
		in, out := &in.Outbound, &out.Outbound
		*out = new(OutboundNetworkPermissions)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPermissions.
func (in *NetworkPermissions) DeepCopy() *NetworkPermissions {
	if in == nil {
		return nil
	}
	out := new(NetworkPermissions)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OAuth2UpstreamConfig) DeepCopyInto(out *OAuth2UpstreamConfig) {
	*out = *in
	if in.UserInfo != nil {
		in, out := &in.UserInfo, &out.UserInfo
		*out = new(UserInfoConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ClientSecretRef != nil {
		in, out := &in.ClientSecretRef, &out.ClientSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.Scopes != nil {
		in, out := &in.Scopes, &out.Scopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.TokenResponseMapping != nil {
		in, out := &in.TokenResponseMapping, &out.TokenResponseMapping
		*out = new(TokenResponseMapping)
		**out = **in
	}
	if in.AdditionalAuthorizationParams != nil {
		in, out := &in.AdditionalAuthorizationParams, &out.AdditionalAuthorizationParams
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.DCRConfig != nil {
		in, out := &in.DCRConfig, &out.DCRConfig
		*out = new(DCRUpstreamConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2UpstreamConfig.
func (in *OAuth2UpstreamConfig) DeepCopy() *OAuth2UpstreamConfig {
	if in == nil {
		return nil
	}
	out := new(OAuth2UpstreamConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OIDCUpstreamConfig) DeepCopyInto(out *OIDCUpstreamConfig) {
	*out = *in
	if in.ClientSecretRef != nil {
		in, out := &in.ClientSecretRef, &out.ClientSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.Scopes != nil {
		in, out := &in.Scopes, &out.Scopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.UserInfoOverride != nil {
		in, out := &in.UserInfoOverride, &out.UserInfoOverride
		*out = new(UserInfoConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.AdditionalAuthorizationParams != nil {
		in, out := &in.AdditionalAuthorizationParams, &out.AdditionalAuthorizationParams
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCUpstreamConfig.
func (in *OIDCUpstreamConfig) DeepCopy() *OIDCUpstreamConfig {
	if in == nil {
		return nil
	}
	out := new(OIDCUpstreamConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpenTelemetryMetricsConfig) DeepCopyInto(out *OpenTelemetryMetricsConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryMetricsConfig.
func (in *OpenTelemetryMetricsConfig) DeepCopy() *OpenTelemetryMetricsConfig {
	if in == nil {
		return nil
	}
	out := new(OpenTelemetryMetricsConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpenTelemetryTracingConfig) DeepCopyInto(out *OpenTelemetryTracingConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryTracingConfig.
func (in *OpenTelemetryTracingConfig) DeepCopy() *OpenTelemetryTracingConfig {
	if in == nil {
		return nil
	}
	out := new(OpenTelemetryTracingConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OutboundNetworkPermissions) DeepCopyInto(out *OutboundNetworkPermissions) {
	*out = *in
	if in.AllowHost != nil {
		in, out := &in.AllowHost, &out.AllowHost
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.AllowPort != nil {
		in, out := &in.AllowPort, &out.AllowPort
		*out = make([]int32, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutboundNetworkPermissions.
func (in *OutboundNetworkPermissions) DeepCopy() *OutboundNetworkPermissions {
	if in == nil {
		return nil
	}
	out := new(OutboundNetworkPermissions)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OutgoingAuthConfig) DeepCopyInto(out *OutgoingAuthConfig) {
	*out = *in
	if in.Default != nil {
		in, out := &in.Default, &out.Default
		*out = new(BackendAuthConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Backends != nil {
		in, out := &in.Backends, &out.Backends
		*out = make(map[string]BackendAuthConfig, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutgoingAuthConfig.
func (in *OutgoingAuthConfig) DeepCopy() *OutgoingAuthConfig {
	if in == nil {
		return nil
	}
	out := new(OutgoingAuthConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PermissionProfileRef) DeepCopyInto(out *PermissionProfileRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermissionProfileRef.
func (in *PermissionProfileRef) DeepCopy() *PermissionProfileRef {
	if in == nil {
		return nil
	}
	out := new(PermissionProfileRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PermissionProfileSpec) DeepCopyInto(out *PermissionProfileSpec) {
	*out = *in
	if in.Read != nil {
		in, out := &in.Read, &out.Read
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Write != nil {
		in, out := &in.Write, &out.Write
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Network != nil {
		in, out := &in.Network, &out.Network
		*out = new(NetworkPermissions)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermissionProfileSpec.
func (in *PermissionProfileSpec) DeepCopy() *PermissionProfileSpec {
	if in == nil {
		return nil
	}
	out := new(PermissionProfileSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PrometheusConfig) DeepCopyInto(out *PrometheusConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusConfig.
func (in *PrometheusConfig) DeepCopy() *PrometheusConfig {
	if in == nil {
		return nil
	}
	out := new(PrometheusConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProxyDeploymentOverrides) DeepCopyInto(out *ProxyDeploymentOverrides) {
	*out = *in
	in.ResourceMetadataOverrides.DeepCopyInto(&out.ResourceMetadataOverrides)
	if in.PodTemplateMetadataOverrides != nil {
		in, out := &in.PodTemplateMetadataOverrides, &out.PodTemplateMetadataOverrides
		*out = new(ResourceMetadataOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]EnvVar, len(*in))
		copy(*out, *in)
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDeploymentOverrides.
func (in *ProxyDeploymentOverrides) DeepCopy() *ProxyDeploymentOverrides {
	if in == nil {
		return nil
	}
	out := new(ProxyDeploymentOverrides)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RedisACLUserConfig) DeepCopyInto(out *RedisACLUserConfig) {
	*out = *in
	if in.UsernameSecretRef != nil {
		in, out := &in.UsernameSecretRef, &out.UsernameSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.PasswordSecretRef != nil {
		in, out := &in.PasswordSecretRef, &out.PasswordSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisACLUserConfig.
func (in *RedisACLUserConfig) DeepCopy() *RedisACLUserConfig {
	if in == nil {
		return nil
	}
	out := new(RedisACLUserConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RedisSentinelConfig) DeepCopyInto(out *RedisSentinelConfig) {
	*out = *in
	if in.SentinelAddrs != nil {
		in, out := &in.SentinelAddrs, &out.SentinelAddrs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.SentinelService != nil {
		in, out := &in.SentinelService, &out.SentinelService
		*out = new(SentinelServiceRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelConfig.
func (in *RedisSentinelConfig) DeepCopy() *RedisSentinelConfig {
	if in == nil {
		return nil
	}
	out := new(RedisSentinelConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RedisStorageConfig) DeepCopyInto(out *RedisStorageConfig) {
	*out = *in
	if in.SentinelConfig != nil {
		in, out := &in.SentinelConfig, &out.SentinelConfig
		*out = new(RedisSentinelConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ACLUserConfig != nil {
		in, out := &in.ACLUserConfig, &out.ACLUserConfig
		*out = new(RedisACLUserConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(RedisTLSConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.SentinelTLS != nil {
		in, out := &in.SentinelTLS, &out.SentinelTLS
		*out = new(RedisTLSConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisStorageConfig.
func (in *RedisStorageConfig) DeepCopy() *RedisStorageConfig {
	if in == nil {
		return nil
	}
	out := new(RedisStorageConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RedisTLSConfig) DeepCopyInto(out *RedisTLSConfig) {
	*out = *in
	if in.CACertSecretRef != nil {
		in, out := &in.CACertSecretRef, &out.CACertSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisTLSConfig.
func (in *RedisTLSConfig) DeepCopy() *RedisTLSConfig {
	if in == nil {
		return nil
	}
	out := new(RedisTLSConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceList) DeepCopyInto(out *ResourceList) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceList.
func (in *ResourceList) DeepCopy() *ResourceList {
	if in == nil {
		return nil
	}
	out := new(ResourceList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceMetadataOverrides) DeepCopyInto(out *ResourceMetadataOverrides) {
	*out = *in
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetadataOverrides.
func (in *ResourceMetadataOverrides) DeepCopy() *ResourceMetadataOverrides {
	if in == nil {
		return nil
	}
	out := new(ResourceMetadataOverrides)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceOverrides) DeepCopyInto(out *ResourceOverrides) {
	*out = *in
	if in.ProxyDeployment != nil {
		in, out := &in.ProxyDeployment, &out.ProxyDeployment
		*out = new(ProxyDeploymentOverrides)
		(*in).DeepCopyInto(*out)
	}
	if in.ProxyService != nil {
		in, out := &in.ProxyService, &out.ProxyService
		*out = new(ResourceMetadataOverrides)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOverrides.
func (in *ResourceOverrides) DeepCopy() *ResourceOverrides {
	if in == nil {
		return nil
	}
	out := new(ResourceOverrides)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements) {
	*out = *in
	out.Limits = in.Limits
	out.Requests = in.Requests
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements {
	if in == nil {
		return nil
	}
	out := new(ResourceRequirements)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RoleMapping) DeepCopyInto(out *RoleMapping) {
	*out = *in
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*out = new(int32)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleMapping.
func (in *RoleMapping) DeepCopy() *RoleMapping {
	if in == nil {
		return nil
	}
	out := new(RoleMapping)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyRef.
func (in *SecretKeyRef) DeepCopy() *SecretKeyRef {
	if in == nil {
		return nil
	}
	out := new(SecretKeyRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecretRef) DeepCopyInto(out *SecretRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (in *SecretRef) DeepCopy() *SecretRef {
	if in == nil {
		return nil
	}
	out := new(SecretRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SensitiveHeader) DeepCopyInto(out *SensitiveHeader) {
	*out = *in
	out.SecretKeyRef = in.SecretKeyRef
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SensitiveHeader.
func (in *SensitiveHeader) DeepCopy() *SensitiveHeader {
	if in == nil {
		return nil
	}
	out := new(SensitiveHeader)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SentinelServiceRef) DeepCopyInto(out *SentinelServiceRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SentinelServiceRef.
func (in *SentinelServiceRef) DeepCopy() *SentinelServiceRef {
	if in == nil {
		return nil
	}
	out := new(SentinelServiceRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SessionStorageConfig) DeepCopyInto(out *SessionStorageConfig) {
	*out = *in
	if in.PasswordRef != nil {
		in, out := &in.PasswordRef, &out.PasswordRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStorageConfig.
func (in *SessionStorageConfig) DeepCopy() *SessionStorageConfig {
	if in == nil {
		return nil
	}
	out := new(SessionStorageConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TokenExchangeConfig) DeepCopyInto(out *TokenExchangeConfig) {
	*out = *in
	if in.ClientSecretRef != nil {
		in, out := &in.ClientSecretRef, &out.ClientSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.Scopes != nil {
		in, out := &in.Scopes, &out.Scopes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenExchangeConfig.
func (in *TokenExchangeConfig) DeepCopy() *TokenExchangeConfig {
	if in == nil {
		return nil
	}
	out := new(TokenExchangeConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TokenLifespanConfig) DeepCopyInto(out *TokenLifespanConfig) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenLifespanConfig.
func (in *TokenLifespanConfig) DeepCopy() *TokenLifespanConfig {
	if in == nil {
		return nil
	}
	out := new(TokenLifespanConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TokenResponseMapping) DeepCopyInto(out *TokenResponseMapping) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenResponseMapping.
func (in *TokenResponseMapping) DeepCopy() *TokenResponseMapping {
	if in == nil {
		return nil
	}
	out := new(TokenResponseMapping)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ToolAnnotationsOverride) DeepCopyInto(out *ToolAnnotationsOverride) {
	*out = *in
	if in.Title != nil {
		in, out := &in.Title, &out.Title
		*out = new(string)
		**out = **in
	}
	if in.ReadOnlyHint != nil {
		in, out := &in.ReadOnlyHint, &out.ReadOnlyHint
		*out = new(bool)
		**out = **in
	}
	if in.DestructiveHint != nil {
		in, out := &in.DestructiveHint, &out.DestructiveHint
		*out = new(bool)
		**out = **in
	}
	if in.IdempotentHint != nil {
		in, out := &in.IdempotentHint, &out.IdempotentHint
		*out = new(bool)
		**out = **in
	}
	if in.OpenWorldHint != nil {
		in, out := &in.OpenWorldHint, &out.OpenWorldHint
		*out = new(bool)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolAnnotationsOverride.
func (in *ToolAnnotationsOverride) DeepCopy() *ToolAnnotationsOverride {
	if in == nil {
		return nil
	}
	out := new(ToolAnnotationsOverride)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ToolConfigRef) DeepCopyInto(out *ToolConfigRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolConfigRef.
func (in *ToolConfigRef) DeepCopy() *ToolConfigRef {
	if in == nil {
		return nil
	}
	out := new(ToolConfigRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ToolOverride) DeepCopyInto(out *ToolOverride) {
	*out = *in
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = new(ToolAnnotationsOverride)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolOverride.
func (in *ToolOverride) DeepCopy() *ToolOverride {
	if in == nil {
		return nil
	}
	out := new(ToolOverride)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamInjectSpec) DeepCopyInto(out *UpstreamInjectSpec) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamInjectSpec.
func (in *UpstreamInjectSpec) DeepCopy() *UpstreamInjectSpec {
	if in == nil {
		return nil
	}
	out := new(UpstreamInjectSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpstreamProviderConfig) DeepCopyInto(out *UpstreamProviderConfig) {
	*out = *in
	if in.OIDCConfig != nil {
		in, out := &in.OIDCConfig, &out.OIDCConfig
		*out = new(OIDCUpstreamConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.OAuth2Config != nil {
		in, out := &in.OAuth2Config, &out.OAuth2Config
		*out = new(OAuth2UpstreamConfig)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamProviderConfig.
func (in *UpstreamProviderConfig) DeepCopy() *UpstreamProviderConfig {
	if in == nil {
		return nil
	}
	out := new(UpstreamProviderConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UserInfoConfig) DeepCopyInto(out *UserInfoConfig) {
	*out = *in
	if in.AdditionalHeaders != nil {
		in, out := &in.AdditionalHeaders, &out.AdditionalHeaders
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.FieldMapping != nil {
		in, out := &in.FieldMapping, &out.FieldMapping
		*out = new(UserInfoFieldMapping)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserInfoConfig.
func (in *UserInfoConfig) DeepCopy() *UserInfoConfig {
	if in == nil {
		return nil
	}
	out := new(UserInfoConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UserInfoFieldMapping) DeepCopyInto(out *UserInfoFieldMapping) {
	*out = *in
	if in.SubjectFields != nil {
		in, out := &in.SubjectFields, &out.SubjectFields
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NameFields != nil {
		in, out := &in.NameFields, &out.NameFields
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.EmailFields != nil {
		in, out := &in.EmailFields, &out.EmailFields
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserInfoFieldMapping.
func (in *UserInfoFieldMapping) DeepCopy() *UserInfoFieldMapping {
	if in == nil {
		return nil
	}
	out := new(UserInfoFieldMapping)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPCompositeToolDefinition) DeepCopyInto(out *VirtualMCPCompositeToolDefinition) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPCompositeToolDefinition.
func (in *VirtualMCPCompositeToolDefinition) DeepCopy() *VirtualMCPCompositeToolDefinition {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPCompositeToolDefinition)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualMCPCompositeToolDefinition) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPCompositeToolDefinitionList) DeepCopyInto(out *VirtualMCPCompositeToolDefinitionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]VirtualMCPCompositeToolDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPCompositeToolDefinitionList.
func (in *VirtualMCPCompositeToolDefinitionList) DeepCopy() *VirtualMCPCompositeToolDefinitionList {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPCompositeToolDefinitionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualMCPCompositeToolDefinitionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPCompositeToolDefinitionSpec) DeepCopyInto(out *VirtualMCPCompositeToolDefinitionSpec) {
	*out = *in
	in.CompositeToolConfig.DeepCopyInto(&out.CompositeToolConfig)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPCompositeToolDefinitionSpec.
func (in *VirtualMCPCompositeToolDefinitionSpec) DeepCopy() *VirtualMCPCompositeToolDefinitionSpec {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPCompositeToolDefinitionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPCompositeToolDefinitionStatus) DeepCopyInto(out *VirtualMCPCompositeToolDefinitionStatus) {
	*out = *in
	if in.ValidationErrors != nil {
		in, out := &in.ValidationErrors, &out.ValidationErrors
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ReferencingVirtualServers != nil {
		in, out := &in.ReferencingVirtualServers, &out.ReferencingVirtualServers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPCompositeToolDefinitionStatus.
func (in *VirtualMCPCompositeToolDefinitionStatus) DeepCopy() *VirtualMCPCompositeToolDefinitionStatus {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPCompositeToolDefinitionStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPServer) DeepCopyInto(out *VirtualMCPServer) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPServer.
func (in *VirtualMCPServer) DeepCopy() *VirtualMCPServer {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPServer)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualMCPServer) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPServerList) DeepCopyInto(out *VirtualMCPServerList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]VirtualMCPServer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPServerList.
func (in *VirtualMCPServerList) DeepCopy() *VirtualMCPServerList {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPServerList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualMCPServerList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPServerSpec) DeepCopyInto(out *VirtualMCPServerSpec) {
	*out = *in
	if in.IncomingAuth != nil {
		in, out := &in.IncomingAuth, &out.IncomingAuth
		*out = new(IncomingAuthConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.OutgoingAuth != nil {
		in, out := &in.OutgoingAuth, &out.OutgoingAuth
		*out = new(OutgoingAuthConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ServiceAccount != nil {
		in, out := &in.ServiceAccount, &out.ServiceAccount
		*out = new(string)
		**out = **in
	}
	if in.PodTemplateSpec != nil {
		in, out := &in.PodTemplateSpec, &out.PodTemplateSpec
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.GroupRef != nil {
		in, out := &in.GroupRef, &out.GroupRef
		*out = new(MCPGroupRef)
		**out = **in
	}
	in.Config.DeepCopyInto(&out.Config)
	if in.TelemetryConfigRef != nil {
		in, out := &in.TelemetryConfigRef, &out.TelemetryConfigRef
		*out = new(MCPTelemetryConfigReference)
		**out = **in
	}
	if in.EmbeddingServerRef != nil {
		in, out := &in.EmbeddingServerRef, &out.EmbeddingServerRef
		*out = new(EmbeddingServerRef)
		**out = **in
	}
	if in.AuthServerConfig != nil {
		in, out := &in.AuthServerConfig, &out.AuthServerConfig
		*out = new(EmbeddedAuthServerConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.SessionStorage != nil {
		in, out := &in.SessionStorage, &out.SessionStorage
		*out = new(SessionStorageConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]corev1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPServerSpec.
func (in *VirtualMCPServerSpec) DeepCopy() *VirtualMCPServerSpec {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPServerSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualMCPServerStatus) DeepCopyInto(out *VirtualMCPServerStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.DiscoveredBackends != nil {
		in, out := &in.DiscoveredBackends, &out.DiscoveredBackends
		*out = make([]DiscoveredBackend, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMCPServerStatus.
func (in *VirtualMCPServerStatus) DeepCopy() *VirtualMCPServerStatus {
	if in == nil {
		return nil
	}
	out := new(VirtualMCPServerStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Volume) DeepCopyInto(out *Volume) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (in *Volume) DeepCopy() *Volume {
	if in == nil {
		return nil
	}
	out := new(Volume)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebhookConfigRef) DeepCopyInto(out *WebhookConfigRef) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfigRef.
func (in *WebhookConfigRef) DeepCopy() *WebhookConfigRef {
	if in == nil {
		return nil
	}
	out := new(WebhookConfigRef)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebhookSpec) DeepCopyInto(out *WebhookSpec) {
	*out = *in
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(v1.Duration)
		**out = **in
	}
	if in.TLSConfig != nil {
		in, out := &in.TLSConfig, &out.TLSConfig
		*out = new(WebhookTLSConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.HMACSecretRef != nil {
		in, out := &in.HMACSecretRef, &out.HMACSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookSpec.
func (in *WebhookSpec) DeepCopy() *WebhookSpec {
	if in == nil {
		return nil
	}
	out := new(WebhookSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WebhookTLSConfig) DeepCopyInto(out *WebhookTLSConfig) {
	*out = *in
	if in.CASecretRef != nil {
		in, out := &in.CASecretRef, &out.CASecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.ClientCertSecretRef != nil {
		in, out := &in.ClientCertSecretRef, &out.ClientCertSecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
	if in.ClientKeySecretRef != nil {
		in, out := &in.ClientKeySecretRef, &out.ClientKeySecretRef
		*out = new(SecretKeyRef)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookTLSConfig.
func (in *WebhookTLSConfig) DeepCopy() *WebhookTLSConfig {
	if in == nil {
		return nil
	}
	out := new(WebhookTLSConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WorkloadReference) DeepCopyInto(out *WorkloadReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadReference.
func (in *WorkloadReference) DeepCopy() *WorkloadReference {
	if in == nil {
		return nil
	}
	out := new(WorkloadReference)
	in.DeepCopyInto(out)
	return out
}
