func (in *Metadata_UMA) DeepCopy() *Metadata_UMA {
	if in == nil {
		return nil
	}
	out := new(Metadata_UMA)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata_UMA.
package v1beta1
import (
	"k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/runtime"
)
func (in *AuthConfig) DeepCopyInto(out *AuthConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
}
func (in *AuthConfig) DeepCopy() *AuthConfig {
	if in == nil {
		return nil
	}
	out := new(AuthConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *AuthConfig) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AuthConfigList) DeepCopyInto(out *AuthConfigList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AuthConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *AuthConfigList) DeepCopy() *AuthConfigList {
	if in == nil {
		return nil
	}
	out := new(AuthConfigList)
	in.DeepCopyInto(out)
	return out
}
func (in *AuthConfigList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AuthConfigSpec) DeepCopyInto(out *AuthConfigSpec) {
	*out = *in
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Identity != nil {
		in, out := &in.Identity, &out.Identity
		*out = make([]*Identity, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Identity)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = make([]*Metadata, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Metadata)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Authorization != nil {
		in, out := &in.Authorization, &out.Authorization
		*out = make([]*Authorization, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Authorization)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Response != nil {
		in, out := &in.Response, &out.Response
		*out = make([]*Response, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(Response)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.DenyWith != nil {
		in, out := &in.DenyWith, &out.DenyWith
		*out = new(DenyWith)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AuthConfigSpec) DeepCopy() *AuthConfigSpec {
	if in == nil {
		return nil
	}
	out := new(AuthConfigSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AuthConfigStatus) DeepCopyInto(out *AuthConfigStatus) {
	*out = *in
}
func (in *AuthConfigStatus) DeepCopy() *AuthConfigStatus {
	if in == nil {
		return nil
	}
	out := new(AuthConfigStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization) DeepCopyInto(out *Authorization) {
	*out = *in
	if in.OPA != nil {
		in, out := &in.OPA, &out.OPA
		*out = new(Authorization_OPA)
		(*in).DeepCopyInto(*out)
	}
	if in.JSON != nil {
		in, out := &in.JSON, &out.JSON
		*out = new(Authorization_JSONPatternMatching)
		(*in).DeepCopyInto(*out)
	}
	if in.KubernetesAuthz != nil {
		in, out := &in.KubernetesAuthz, &out.KubernetesAuthz
		*out = new(Authorization_KubernetesAuthz)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Authorization) DeepCopy() *Authorization {
	if in == nil {
		return nil
	}
	out := new(Authorization)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization_JSONPatternMatching) DeepCopyInto(out *Authorization_JSONPatternMatching) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]Authorization_JSONPatternMatching_Rule, len(*in))
		copy(*out, *in)
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]Authorization_JSONPatternMatching_Rule, len(*in))
		copy(*out, *in)
	}
}
func (in *Authorization_JSONPatternMatching) DeepCopy() *Authorization_JSONPatternMatching {
	if in == nil {
		return nil
	}
	out := new(Authorization_JSONPatternMatching)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization_JSONPatternMatching_Rule) DeepCopyInto(out *Authorization_JSONPatternMatching_Rule) {
	*out = *in
}
func (in *Authorization_JSONPatternMatching_Rule) DeepCopy() *Authorization_JSONPatternMatching_Rule {
	if in == nil {
		return nil
	}
	out := new(Authorization_JSONPatternMatching_Rule)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization_KubernetesAuthz) DeepCopyInto(out *Authorization_KubernetesAuthz) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]Authorization_JSONPatternMatching_Rule, len(*in))
		copy(*out, *in)
	}
	out.User = in.User
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ResourceAttributes != nil {
		in, out := &in.ResourceAttributes, &out.ResourceAttributes
		*out = new(Authorization_KubernetesAuthz_ResourceAttributes)
		**out = **in
	}
}
func (in *Authorization_KubernetesAuthz) DeepCopy() *Authorization_KubernetesAuthz {
	if in == nil {
		return nil
	}
	out := new(Authorization_KubernetesAuthz)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization_KubernetesAuthz_Attribute) DeepCopyInto(out *Authorization_KubernetesAuthz_Attribute) {
	*out = *in
	out.ValueFrom = in.ValueFrom
}
func (in *Authorization_KubernetesAuthz_Attribute) DeepCopy() *Authorization_KubernetesAuthz_Attribute {
	if in == nil {
		return nil
	}
	out := new(Authorization_KubernetesAuthz_Attribute)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization_KubernetesAuthz_ResourceAttributes) DeepCopyInto(out *Authorization_KubernetesAuthz_ResourceAttributes) {
	*out = *in
	out.Namespace = in.Namespace
	out.Group = in.Group
	out.Resource = in.Resource
	out.Name = in.Name
	out.SubResource = in.SubResource
	out.Verb = in.Verb
}
func (in *Authorization_KubernetesAuthz_ResourceAttributes) DeepCopy() *Authorization_KubernetesAuthz_ResourceAttributes {
	if in == nil {
		return nil
	}
	out := new(Authorization_KubernetesAuthz_ResourceAttributes)
	in.DeepCopyInto(out)
	return out
}
func (in *Authorization_OPA) DeepCopyInto(out *Authorization_OPA) {
	*out = *in
	in.ExternalRegistry.DeepCopyInto(&out.ExternalRegistry)
}
func (in *Authorization_OPA) DeepCopy() *Authorization_OPA {
	if in == nil {
		return nil
	}
	out := new(Authorization_OPA)
	in.DeepCopyInto(out)
	return out
}
func (in *Credentials) DeepCopyInto(out *Credentials) {
	*out = *in
}
func (in *Credentials) DeepCopy() *Credentials {
	if in == nil {
		return nil
	}
	out := new(Credentials)
	in.DeepCopyInto(out)
	return out
}
func (in *DenyWith) DeepCopyInto(out *DenyWith) {
	*out = *in
	if in.Unauthenticated != nil {
		in, out := &in.Unauthenticated, &out.Unauthenticated
		*out = new(DenyWithSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Unauthorized != nil {
		in, out := &in.Unauthorized, &out.Unauthorized
		*out = new(DenyWithSpec)
		(*in).DeepCopyInto(*out)
	}
}
func (in *DenyWith) DeepCopy() *DenyWith {
	if in == nil {
		return nil
	}
	out := new(DenyWith)
	in.DeepCopyInto(out)
	return out
}
func (in *DenyWithSpec) DeepCopyInto(out *DenyWithSpec) {
	*out = *in
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make([]JsonProperty, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *DenyWithSpec) DeepCopy() *DenyWithSpec {
	if in == nil {
		return nil
	}
	out := new(DenyWithSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ExternalRegistry) DeepCopyInto(out *ExternalRegistry) {
	*out = *in
	if in.SharedSecret != nil {
		in, out := &in.SharedSecret, &out.SharedSecret
		*out = new(SecretKeyReference)
		**out = **in
	}
	out.Credentials = in.Credentials
}
func (in *ExternalRegistry) DeepCopy() *ExternalRegistry {
	if in == nil {
		return nil
	}
	out := new(ExternalRegistry)
	in.DeepCopyInto(out)
	return out
}
func (in *Identity) DeepCopyInto(out *Identity) {
	*out = *in
	out.Credentials = in.Credentials
	if in.ExtendedProperties != nil {
		in, out := &in.ExtendedProperties, &out.ExtendedProperties
		*out = make([]JsonProperty, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OAuth2 != nil {
		in, out := &in.OAuth2, &out.OAuth2
		*out = new(Identity_OAuth2Config)
		(*in).DeepCopyInto(*out)
	}
	if in.Oidc != nil {
		in, out := &in.Oidc, &out.Oidc
		*out = new(Identity_OidcConfig)
		**out = **in
	}
	if in.APIKey != nil {
		in, out := &in.APIKey, &out.APIKey
		*out = new(Identity_APIKey)
		(*in).DeepCopyInto(*out)
	}
	if in.KubernetesAuth != nil {
		in, out := &in.KubernetesAuth, &out.KubernetesAuth
		*out = new(Identity_KubernetesAuth)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Identity) DeepCopy() *Identity {
	if in == nil {
		return nil
	}
	out := new(Identity)
	in.DeepCopyInto(out)
	return out
}
func (in *Identity_APIKey) DeepCopyInto(out *Identity_APIKey) {
	*out = *in
	if in.LabelSelectors != nil {
		in, out := &in.LabelSelectors, &out.LabelSelectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}
func (in *Identity_APIKey) DeepCopy() *Identity_APIKey {
	if in == nil {
		return nil
	}
	out := new(Identity_APIKey)
	in.DeepCopyInto(out)
	return out
}
func (in *Identity_KubernetesAuth) DeepCopyInto(out *Identity_KubernetesAuth) {
	*out = *in
	if in.Audiences != nil {
		in, out := &in.Audiences, &out.Audiences
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *Identity_KubernetesAuth) DeepCopy() *Identity_KubernetesAuth {
	if in == nil {
		return nil
	}
	out := new(Identity_KubernetesAuth)
	in.DeepCopyInto(out)
	return out
}
func (in *Identity_OAuth2Config) DeepCopyInto(out *Identity_OAuth2Config) {
	*out = *in
	if in.Credentials != nil {
		in, out := &in.Credentials, &out.Credentials
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
}
func (in *Identity_OAuth2Config) DeepCopy() *Identity_OAuth2Config {
	if in == nil {
		return nil
	}
	out := new(Identity_OAuth2Config)
	in.DeepCopyInto(out)
	return out
}
func (in *Identity_OidcConfig) DeepCopyInto(out *Identity_OidcConfig) {
	*out = *in
}
func (in *Identity_OidcConfig) DeepCopy() *Identity_OidcConfig {
	if in == nil {
		return nil
	}
	out := new(Identity_OidcConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *JsonProperty) DeepCopyInto(out *JsonProperty) {
	*out = *in
	in.Value.DeepCopyInto(&out.Value)
	out.ValueFrom = in.ValueFrom
}
func (in *JsonProperty) DeepCopy() *JsonProperty {
	if in == nil {
		return nil
	}
	out := new(JsonProperty)
	in.DeepCopyInto(out)
	return out
}
func (in *Metadata) DeepCopyInto(out *Metadata) {
	*out = *in
	if in.UserInfo != nil {
		in, out := &in.UserInfo, &out.UserInfo
		*out = new(Metadata_UserInfo)
		**out = **in
	}
	if in.UMA != nil {
		in, out := &in.UMA, &out.UMA
		*out = new(Metadata_UMA)
		(*in).DeepCopyInto(*out)
	}
	if in.GenericHTTP != nil {
		in, out := &in.GenericHTTP, &out.GenericHTTP
		*out = new(Metadata_GenericHTTP)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Metadata) DeepCopy() *Metadata {
	if in == nil {
		return nil
	}
	out := new(Metadata)
	in.DeepCopyInto(out)
	return out
}
func (in *Metadata_GenericHTTP) DeepCopyInto(out *Metadata_GenericHTTP) {
	*out = *in
	if in.Parameters != nil {
		in, out := &in.Parameters, &out.Parameters
		*out = make([]JsonProperty, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SharedSecret != nil {
		in, out := &in.SharedSecret, &out.SharedSecret
		*out = new(SecretKeyReference)
		**out = **in
	}
	out.Credentials = in.Credentials
}
func (in *Metadata_GenericHTTP) DeepCopy() *Metadata_GenericHTTP {
	if in == nil {
		return nil
	}
	out := new(Metadata_GenericHTTP)
	in.DeepCopyInto(out)
	return out
}
func (in *Metadata_UMA) DeepCopyInto(out *Metadata_UMA) {
	*out = *in
	if in.Credentials != nil {
		in, out := &in.Credentials, &out.Credentials
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
}