func (in *GRPCRouteMetadata) DeepCopy() *GRPCRouteMetadata {
	if in == nil {
		return nil
	}
	out := new(GRPCRouteMetadata)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRouteMetadata.
package v1beta2
import (
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AWSCloudMapInstanceAttribute) DeepCopyInto(out *AWSCloudMapInstanceAttribute) {
	*out = *in
}
func (in *AWSCloudMapInstanceAttribute) DeepCopy() *AWSCloudMapInstanceAttribute {
	if in == nil {
		return nil
	}
	out := new(AWSCloudMapInstanceAttribute)
	in.DeepCopyInto(out)
	return out
}
func (in *AWSCloudMapServiceDiscovery) DeepCopyInto(out *AWSCloudMapServiceDiscovery) {
	*out = *in
	if in.Attributes != nil {
		in, out := &in.Attributes, &out.Attributes
		*out = make([]AWSCloudMapInstanceAttribute, len(*in))
		copy(*out, *in)
	}
}
func (in *AWSCloudMapServiceDiscovery) DeepCopy() *AWSCloudMapServiceDiscovery {
	if in == nil {
		return nil
	}
	out := new(AWSCloudMapServiceDiscovery)
	in.DeepCopyInto(out)
	return out
}
func (in *AccessLog) DeepCopyInto(out *AccessLog) {
	*out = *in
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(FileAccessLog)
		**out = **in
	}
}
func (in *AccessLog) DeepCopy() *AccessLog {
	if in == nil {
		return nil
	}
	out := new(AccessLog)
	in.DeepCopyInto(out)
	return out
}
func (in *Backend) DeepCopyInto(out *Backend) {
	*out = *in
	in.VirtualService.DeepCopyInto(&out.VirtualService)
}
func (in *Backend) DeepCopy() *Backend {
	if in == nil {
		return nil
	}
	out := new(Backend)
	in.DeepCopyInto(out)
	return out
}
func (in *BackendDefaults) DeepCopyInto(out *BackendDefaults) {
	*out = *in
	if in.ClientPolicy != nil {
		in, out := &in.ClientPolicy, &out.ClientPolicy
		*out = new(ClientPolicy)
		(*in).DeepCopyInto(*out)
	}
}
func (in *BackendDefaults) DeepCopy() *BackendDefaults {
	if in == nil {
		return nil
	}
	out := new(BackendDefaults)
	in.DeepCopyInto(out)
	return out
}
func (in *ClientPolicy) DeepCopyInto(out *ClientPolicy) {
	*out = *in
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(ClientPolicyTLS)
		(*in).DeepCopyInto(*out)
	}
}
func (in *ClientPolicy) DeepCopy() *ClientPolicy {
	if in == nil {
		return nil
	}
	out := new(ClientPolicy)
	in.DeepCopyInto(out)
	return out
}
func (in *ClientPolicyTLS) DeepCopyInto(out *ClientPolicyTLS) {
	*out = *in
	if in.Enforce != nil {
		in, out := &in.Enforce, &out.Enforce
		*out = new(bool)
		**out = **in
	}
	if in.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]PortNumber, len(*in))
		copy(*out, *in)
	}
	in.Validation.DeepCopyInto(&out.Validation)
	if in.Certificate != nil {
		in, out := &in.Certificate, &out.Certificate
		*out = new(ClientTLSCertificate)
		(*in).DeepCopyInto(*out)
	}
}
func (in *ClientPolicyTLS) DeepCopy() *ClientPolicyTLS {
	if in == nil {
		return nil
	}
	out := new(ClientPolicyTLS)
	in.DeepCopyInto(out)
	return out
}
func (in *ClientTLSCertificate) DeepCopyInto(out *ClientTLSCertificate) {
	*out = *in
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(ListenerTLSFileCertificate)
		**out = **in
	}
	if in.SDS != nil {
		in, out := &in.SDS, &out.SDS
		*out = new(ListenerTLSSDSCertificate)
		(*in).DeepCopyInto(*out)
	}
}
func (in *ClientTLSCertificate) DeepCopy() *ClientTLSCertificate {
	if in == nil {
		return nil
	}
	out := new(ClientTLSCertificate)
	in.DeepCopyInto(out)
	return out
}
func (in *DNSServiceDiscovery) DeepCopyInto(out *DNSServiceDiscovery) {
	*out = *in
	if in.ResponseType != nil {
		in, out := &in.ResponseType, &out.ResponseType
		*out = new(string)
		**out = **in
	}
}
func (in *DNSServiceDiscovery) DeepCopy() *DNSServiceDiscovery {
	if in == nil {
		return nil
	}
	out := new(DNSServiceDiscovery)
	in.DeepCopyInto(out)
	return out
}
func (in *Duration) DeepCopyInto(out *Duration) {
	*out = *in
}
func (in *Duration) DeepCopy() *Duration {
	if in == nil {
		return nil
	}
	out := new(Duration)
	in.DeepCopyInto(out)
	return out
}
func (in *EgressFilter) DeepCopyInto(out *EgressFilter) {
	*out = *in
}
func (in *EgressFilter) DeepCopy() *EgressFilter {
	if in == nil {
		return nil
	}
	out := new(EgressFilter)
	in.DeepCopyInto(out)
	return out
}
func (in *FileAccessLog) DeepCopyInto(out *FileAccessLog) {
	*out = *in
}
func (in *FileAccessLog) DeepCopy() *FileAccessLog {
	if in == nil {
		return nil
	}
	out := new(FileAccessLog)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCConnectionPool) DeepCopyInto(out *GRPCConnectionPool) {
	*out = *in
}
func (in *GRPCConnectionPool) DeepCopy() *GRPCConnectionPool {
	if in == nil {
		return nil
	}
	out := new(GRPCConnectionPool)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCGatewayRoute) DeepCopyInto(out *GRPCGatewayRoute) {
	*out = *in
	in.Match.DeepCopyInto(&out.Match)
	in.Action.DeepCopyInto(&out.Action)
}
func (in *GRPCGatewayRoute) DeepCopy() *GRPCGatewayRoute {
	if in == nil {
		return nil
	}
	out := new(GRPCGatewayRoute)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCGatewayRouteAction) DeepCopyInto(out *GRPCGatewayRouteAction) {
	*out = *in
	in.Target.DeepCopyInto(&out.Target)
	if in.Rewrite != nil {
		in, out := &in.Rewrite, &out.Rewrite
		*out = new(GrpcGatewayRouteRewrite)
		(*in).DeepCopyInto(*out)
	}
}
func (in *GRPCGatewayRouteAction) DeepCopy() *GRPCGatewayRouteAction {
	if in == nil {
		return nil
	}
	out := new(GRPCGatewayRouteAction)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCGatewayRouteMatch) DeepCopyInto(out *GRPCGatewayRouteMatch) {
	*out = *in
	if in.ServiceName != nil {
		in, out := &in.ServiceName, &out.ServiceName
		*out = new(string)
		**out = **in
	}
	if in.Hostname != nil {
		in, out := &in.Hostname, &out.Hostname
		*out = new(GatewayRouteHostnameMatch)
		(*in).DeepCopyInto(*out)
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = make([]GRPCGatewayRouteMetadata, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *GRPCGatewayRouteMatch) DeepCopy() *GRPCGatewayRouteMatch {
	if in == nil {
		return nil
	}
	out := new(GRPCGatewayRouteMatch)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCGatewayRouteMetadata) DeepCopyInto(out *GRPCGatewayRouteMetadata) {
	*out = *in
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Match != nil {
		in, out := &in.Match, &out.Match
		*out = new(GRPCRouteMetadataMatchMethod)
		(*in).DeepCopyInto(*out)
	}
	if in.Invert != nil {
		in, out := &in.Invert, &out.Invert
		*out = new(bool)
		**out = **in
	}
}
func (in *GRPCGatewayRouteMetadata) DeepCopy() *GRPCGatewayRouteMetadata {
	if in == nil {
		return nil
	}
	out := new(GRPCGatewayRouteMetadata)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCRetryPolicy) DeepCopyInto(out *GRPCRetryPolicy) {
	*out = *in
	if in.GRPCRetryEvents != nil {
		in, out := &in.GRPCRetryEvents, &out.GRPCRetryEvents
		*out = make([]GRPCRetryPolicyEvent, len(*in))
		copy(*out, *in)
	}
	if in.HTTPRetryEvents != nil {
		in, out := &in.HTTPRetryEvents, &out.HTTPRetryEvents
		*out = make([]HTTPRetryPolicyEvent, len(*in))
		copy(*out, *in)
	}
	if in.TCPRetryEvents != nil {
		in, out := &in.TCPRetryEvents, &out.TCPRetryEvents
		*out = make([]TCPRetryPolicyEvent, len(*in))
		copy(*out, *in)
	}
	out.PerRetryTimeout = in.PerRetryTimeout
}
func (in *GRPCRetryPolicy) DeepCopy() *GRPCRetryPolicy {
	if in == nil {
		return nil
	}
	out := new(GRPCRetryPolicy)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCRoute) DeepCopyInto(out *GRPCRoute) {
	*out = *in
	in.Match.DeepCopyInto(&out.Match)
	in.Action.DeepCopyInto(&out.Action)
	if in.RetryPolicy != nil {
		in, out := &in.RetryPolicy, &out.RetryPolicy
		*out = new(GRPCRetryPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(GRPCTimeout)
		(*in).DeepCopyInto(*out)
	}
}
func (in *GRPCRoute) DeepCopy() *GRPCRoute {
	if in == nil {
		return nil
	}
	out := new(GRPCRoute)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCRouteAction) DeepCopyInto(out *GRPCRouteAction) {
	*out = *in
	if in.WeightedTargets != nil {
		in, out := &in.WeightedTargets, &out.WeightedTargets
		*out = make([]WeightedTarget, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *GRPCRouteAction) DeepCopy() *GRPCRouteAction {
	if in == nil {
		return nil
	}
	out := new(GRPCRouteAction)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCRouteMatch) DeepCopyInto(out *GRPCRouteMatch) {
	*out = *in
	if in.MethodName != nil {
		in, out := &in.MethodName, &out.MethodName
		*out = new(string)
		**out = **in
	}
	if in.ServiceName != nil {
		in, out := &in.ServiceName, &out.ServiceName
		*out = new(string)
		**out = **in
	}
	if in.Metadata != nil {
		in, out := &in.Metadata, &out.Metadata
		*out = make([]GRPCRouteMetadata, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *GRPCRouteMatch) DeepCopy() *GRPCRouteMatch {
	if in == nil {
		return nil
	}
	out := new(GRPCRouteMatch)
	in.DeepCopyInto(out)
	return out
}
func (in *GRPCRouteMetadata) DeepCopyInto(out *GRPCRouteMetadata) {
	*out = *in
	if in.Match != nil {
		in, out := &in.Match, &out.Match
		*out = new(GRPCRouteMetadataMatchMethod)
		(*in).DeepCopyInto(*out)
	}
	if in.Invert != nil {
		in, out := &in.Invert, &out.Invert
		*out = new(bool)
		**out = **in
	}
}