//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*


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

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

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

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

package v1beta2

import (
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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)
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *BackendGroup) 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 *BackendGroupList) DeepCopyInto(out *BackendGroupList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]BackendGroup, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *BackendGroupList) 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 *BackendGroupReference) DeepCopyInto(out *BackendGroupReference) {
	*out = *in
	if in.Namespace != nil {
		in, out := &in.Namespace, &out.Namespace
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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])
		}
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int64)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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])
		}
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int64)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GRPCRouteMetadataMatchMethod) DeepCopyInto(out *GRPCRouteMetadataMatchMethod) {
	*out = *in
	if in.Exact != nil {
		in, out := &in.Exact, &out.Exact
		*out = new(string)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Range != nil {
		in, out := &in.Range, &out.Range
		*out = new(MatchRange)
		**out = **in
	}
	if in.Regex != nil {
		in, out := &in.Regex, &out.Regex
		*out = new(string)
		**out = **in
	}
	if in.Suffix != nil {
		in, out := &in.Suffix, &out.Suffix
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GatewayRoute) DeepCopyInto(out *GatewayRoute) {
	*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 GatewayRoute.
func (in *GatewayRoute) DeepCopy() *GatewayRoute {
	if in == nil {
		return nil
	}
	out := new(GatewayRoute)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GatewayRoute) 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 *GatewayRouteCondition) DeepCopyInto(out *GatewayRouteCondition) {
	*out = *in
	if in.LastTransitionTime != nil {
		in, out := &in.LastTransitionTime, &out.LastTransitionTime
		*out = (*in).DeepCopy()
	}
	if in.Reason != nil {
		in, out := &in.Reason, &out.Reason
		*out = new(string)
		**out = **in
	}
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GatewayRouteList) 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 *GatewayRoutePathRewrite) DeepCopyInto(out *GatewayRoutePathRewrite) {
	*out = *in
	if in.Exact != nil {
		in, out := &in.Exact, &out.Exact
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GatewayRouteSpec) DeepCopyInto(out *GatewayRouteSpec) {
	*out = *in
	if in.AWSName != nil {
		in, out := &in.AWSName, &out.AWSName
		*out = new(string)
		**out = **in
	}
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*out = new(int64)
		**out = **in
	}
	if in.GRPCRoute != nil {
		in, out := &in.GRPCRoute, &out.GRPCRoute
		*out = new(GRPCGatewayRoute)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTPRoute != nil {
		in, out := &in.HTTPRoute, &out.HTTPRoute
		*out = new(HTTPGatewayRoute)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTP2Route != nil {
		in, out := &in.HTTP2Route, &out.HTTP2Route
		*out = new(HTTPGatewayRoute)
		(*in).DeepCopyInto(*out)
	}
	if in.VirtualGatewayRef != nil {
		in, out := &in.VirtualGatewayRef, &out.VirtualGatewayRef
		*out = new(VirtualGatewayReference)
		(*in).DeepCopyInto(*out)
	}
	if in.MeshRef != nil {
		in, out := &in.MeshRef, &out.MeshRef
		*out = new(MeshReference)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPGatewayRouteMatch) DeepCopyInto(out *HTTPGatewayRouteMatch) {
	*out = *in
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(HTTPPathMatch)
		(*in).DeepCopyInto(*out)
	}
	if in.QueryParameters != nil {
		in, out := &in.QueryParameters, &out.QueryParameters
		*out = make([]HTTPQueryParameters, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Method != nil {
		in, out := &in.Method, &out.Method
		*out = new(string)
		**out = **in
	}
	if in.Hostname != nil {
		in, out := &in.Hostname, &out.Hostname
		*out = new(GatewayRouteHostnameMatch)
		(*in).DeepCopyInto(*out)
	}
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make([]HTTPGatewayRouteHeader, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int64)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPGatewayRouteRewrite) DeepCopyInto(out *HTTPGatewayRouteRewrite) {
	*out = *in
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(GatewayRoutePrefixRewrite)
		(*in).DeepCopyInto(*out)
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(GatewayRoutePathRewrite)
		(*in).DeepCopyInto(*out)
	}
	if in.Hostname != nil {
		in, out := &in.Hostname, &out.Hostname
		*out = new(GatewayRouteHostnameRewrite)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPQueryParameters) DeepCopyInto(out *HTTPQueryParameters) {
	*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(QueryMatchMethod)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPRetryPolicy) DeepCopyInto(out *HTTPRetryPolicy) {
	*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
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPRoute) DeepCopyInto(out *HTTPRoute) {
	*out = *in
	in.Match.DeepCopyInto(&out.Match)
	in.Action.DeepCopyInto(&out.Action)
	if in.RetryPolicy != nil {
		in, out := &in.RetryPolicy, &out.RetryPolicy
		*out = new(HTTPRetryPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(HTTPTimeout)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPRouteAction) DeepCopyInto(out *HTTPRouteAction) {
	*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])
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPRouteMatch) DeepCopyInto(out *HTTPRouteMatch) {
	*out = *in
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make([]HTTPRouteHeader, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Method != nil {
		in, out := &in.Method, &out.Method
		*out = new(string)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Scheme != nil {
		in, out := &in.Scheme, &out.Scheme
		*out = new(string)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(HTTPPathMatch)
		(*in).DeepCopyInto(*out)
	}
	if in.QueryParameters != nil {
		in, out := &in.QueryParameters, &out.QueryParameters
		*out = make([]HTTPQueryParameters, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int64)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HeaderMatchMethod) DeepCopyInto(out *HeaderMatchMethod) {
	*out = *in
	if in.Exact != nil {
		in, out := &in.Exact, &out.Exact
		*out = new(string)
		**out = **in
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Range != nil {
		in, out := &in.Range, &out.Range
		*out = new(MatchRange)
		**out = **in
	}
	if in.Regex != nil {
		in, out := &in.Regex, &out.Regex
		*out = new(string)
		**out = **in
	}
	if in.Suffix != nil {
		in, out := &in.Suffix, &out.Suffix
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Listener) DeepCopyInto(out *Listener) {
	*out = *in
	out.PortMapping = in.PortMapping
	if in.HealthCheck != nil {
		in, out := &in.HealthCheck, &out.HealthCheck
		*out = new(HealthCheckPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.OutlierDetection != nil {
		in, out := &in.OutlierDetection, &out.OutlierDetection
		*out = new(OutlierDetection)
		**out = **in
	}
	if in.ConnectionPool != nil {
		in, out := &in.ConnectionPool, &out.ConnectionPool
		*out = new(VirtualNodeConnectionPool)
		(*in).DeepCopyInto(*out)
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(ListenerTLS)
		(*in).DeepCopyInto(*out)
	}
	if in.Timeout != nil {
		in, out := &in.Timeout, &out.Timeout
		*out = new(ListenerTimeout)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ListenerTLSCertificate) DeepCopyInto(out *ListenerTLSCertificate) {
	*out = *in
	if in.ACM != nil {
		in, out := &in.ACM, &out.ACM
		*out = new(ListenerTLSACMCertificate)
		**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)
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ListenerTimeout) DeepCopyInto(out *ListenerTimeout) {
	*out = *in
	if in.TCP != nil {
		in, out := &in.TCP, &out.TCP
		*out = new(TCPTimeout)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTP != nil {
		in, out := &in.HTTP, &out.HTTP
		*out = new(HTTPTimeout)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTP2 != nil {
		in, out := &in.HTTP2, &out.HTTP2
		*out = new(HTTPTimeout)
		(*in).DeepCopyInto(*out)
	}
	if in.GRPC != nil {
		in, out := &in.GRPC, &out.GRPC
		*out = new(GRPCTimeout)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Mesh) DeepCopyInto(out *Mesh) {
	*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 Mesh.
func (in *Mesh) DeepCopy() *Mesh {
	if in == nil {
		return nil
	}
	out := new(Mesh)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Mesh) 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 *MeshCondition) DeepCopyInto(out *MeshCondition) {
	*out = *in
	if in.LastTransitionTime != nil {
		in, out := &in.LastTransitionTime, &out.LastTransitionTime
		*out = (*in).DeepCopy()
	}
	if in.Reason != nil {
		in, out := &in.Reason, &out.Reason
		*out = new(string)
		**out = **in
	}
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *MeshList) 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 *MeshReference) DeepCopyInto(out *MeshReference) {
	*out = *in
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MeshSpec) DeepCopyInto(out *MeshSpec) {
	*out = *in
	if in.AWSName != nil {
		in, out := &in.AWSName, &out.AWSName
		*out = new(string)
		**out = **in
	}
	if in.NamespaceSelector != nil {
		in, out := &in.NamespaceSelector, &out.NamespaceSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.EgressFilter != nil {
		in, out := &in.EgressFilter, &out.EgressFilter
		*out = new(EgressFilter)
		**out = **in
	}
	if in.MeshOwner != nil {
		in, out := &in.MeshOwner, &out.MeshOwner
		*out = new(string)
		**out = **in
	}
	if in.ServiceDiscovery != nil {
		in, out := &in.ServiceDiscovery, &out.ServiceDiscovery
		*out = new(MeshServiceDiscovery)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TCPRouteAction) DeepCopyInto(out *TCPRouteAction) {
	*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])
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TLSValidationContextTrust) DeepCopyInto(out *TLSValidationContextTrust) {
	*out = *in
	if in.ACM != nil {
		in, out := &in.ACM, &out.ACM
		*out = new(TLSValidationContextACMTrust)
		(*in).DeepCopyInto(*out)
	}
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(TLSValidationContextFileTrust)
		**out = **in
	}
	if in.SDS != nil {
		in, out := &in.SDS, &out.SDS
		*out = new(TLSValidationContextSDSTrust)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGateway) DeepCopyInto(out *VirtualGateway) {
	*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 VirtualGateway.
func (in *VirtualGateway) DeepCopy() *VirtualGateway {
	if in == nil {
		return nil
	}
	out := new(VirtualGateway)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualGateway) 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 *VirtualGatewayAccessLog) DeepCopyInto(out *VirtualGatewayAccessLog) {
	*out = *in
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(VirtualGatewayFileAccessLog)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGatewayClientPolicyTLS) DeepCopyInto(out *VirtualGatewayClientPolicyTLS) {
	*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)
	}
	if in.Certificate != nil {
		in, out := &in.Certificate, &out.Certificate
		*out = new(VirtualGatewayClientTLSCertificate)
		(*in).DeepCopyInto(*out)
	}
	in.Validation.DeepCopyInto(&out.Validation)
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGatewayConnectionPool) DeepCopyInto(out *VirtualGatewayConnectionPool) {
	*out = *in
	if in.HTTP != nil {
		in, out := &in.HTTP, &out.HTTP
		*out = new(HTTPConnectionPool)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTP2 != nil {
		in, out := &in.HTTP2, &out.HTTP2
		*out = new(HTTP2ConnectionPool)
		**out = **in
	}
	if in.GRPC != nil {
		in, out := &in.GRPC, &out.GRPC
		*out = new(GRPCConnectionPool)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualGatewayList) 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 *VirtualGatewayListener) DeepCopyInto(out *VirtualGatewayListener) {
	*out = *in
	out.PortMapping = in.PortMapping
	if in.HealthCheck != nil {
		in, out := &in.HealthCheck, &out.HealthCheck
		*out = new(VirtualGatewayHealthCheckPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.ConnectionPool != nil {
		in, out := &in.ConnectionPool, &out.ConnectionPool
		*out = new(VirtualGatewayConnectionPool)
		(*in).DeepCopyInto(*out)
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(VirtualGatewayListenerTLS)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGatewayListenerTLSCertificate) DeepCopyInto(out *VirtualGatewayListenerTLSCertificate) {
	*out = *in
	if in.ACM != nil {
		in, out := &in.ACM, &out.ACM
		*out = new(VirtualGatewayListenerTLSACMCertificate)
		**out = **in
	}
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(VirtualGatewayListenerTLSFileCertificate)
		**out = **in
	}
	if in.SDS != nil {
		in, out := &in.SDS, &out.SDS
		*out = new(VirtualGatewayListenerTLSSDSCertificate)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGatewayListenerTLSValidationContextTrust) DeepCopyInto(out *VirtualGatewayListenerTLSValidationContextTrust) {
	*out = *in
	if in.ACM != nil {
		in, out := &in.ACM, &out.ACM
		*out = new(VirtualGatewayTLSValidationContextACMTrust)
		(*in).DeepCopyInto(*out)
	}
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(VirtualGatewayTLSValidationContextFileTrust)
		**out = **in
	}
	if in.SDS != nil {
		in, out := &in.SDS, &out.SDS
		*out = new(VirtualGatewayTLSValidationContextSDSTrust)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGatewaySpec) DeepCopyInto(out *VirtualGatewaySpec) {
	*out = *in
	if in.AWSName != nil {
		in, out := &in.AWSName, &out.AWSName
		*out = new(string)
		**out = **in
	}
	if in.NamespaceSelector != nil {
		in, out := &in.NamespaceSelector, &out.NamespaceSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.PodSelector != nil {
		in, out := &in.PodSelector, &out.PodSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.GatewayRouteSelector != nil {
		in, out := &in.GatewayRouteSelector, &out.GatewayRouteSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.Listeners != nil {
		in, out := &in.Listeners, &out.Listeners
		*out = make([]VirtualGatewayListener, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Logging != nil {
		in, out := &in.Logging, &out.Logging
		*out = new(VirtualGatewayLogging)
		(*in).DeepCopyInto(*out)
	}
	if in.BackendDefaults != nil {
		in, out := &in.BackendDefaults, &out.BackendDefaults
		*out = new(VirtualGatewayBackendDefaults)
		(*in).DeepCopyInto(*out)
	}
	if in.MeshRef != nil {
		in, out := &in.MeshRef, &out.MeshRef
		*out = new(MeshReference)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualGatewayTLSValidationContextTrust) DeepCopyInto(out *VirtualGatewayTLSValidationContextTrust) {
	*out = *in
	if in.ACM != nil {
		in, out := &in.ACM, &out.ACM
		*out = new(VirtualGatewayTLSValidationContextACMTrust)
		(*in).DeepCopyInto(*out)
	}
	if in.File != nil {
		in, out := &in.File, &out.File
		*out = new(VirtualGatewayTLSValidationContextFileTrust)
		**out = **in
	}
	if in.SDS != nil {
		in, out := &in.SDS, &out.SDS
		*out = new(VirtualGatewayTLSValidationContextSDSTrust)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualNode) DeepCopyInto(out *VirtualNode) {
	*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 VirtualNode.
func (in *VirtualNode) DeepCopy() *VirtualNode {
	if in == nil {
		return nil
	}
	out := new(VirtualNode)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualNode) 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 *VirtualNodeCondition) DeepCopyInto(out *VirtualNodeCondition) {
	*out = *in
	if in.LastTransitionTime != nil {
		in, out := &in.LastTransitionTime, &out.LastTransitionTime
		*out = (*in).DeepCopy()
	}
	if in.Reason != nil {
		in, out := &in.Reason, &out.Reason
		*out = new(string)
		**out = **in
	}
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualNodeConnectionPool) DeepCopyInto(out *VirtualNodeConnectionPool) {
	*out = *in
	if in.TCP != nil {
		in, out := &in.TCP, &out.TCP
		*out = new(TCPConnectionPool)
		**out = **in
	}
	if in.HTTP != nil {
		in, out := &in.HTTP, &out.HTTP
		*out = new(HTTPConnectionPool)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTP2 != nil {
		in, out := &in.HTTP2, &out.HTTP2
		*out = new(HTTP2ConnectionPool)
		**out = **in
	}
	if in.GRPC != nil {
		in, out := &in.GRPC, &out.GRPC
		*out = new(GRPCConnectionPool)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualNodeList) 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 *VirtualNodeReference) DeepCopyInto(out *VirtualNodeReference) {
	*out = *in
	if in.Namespace != nil {
		in, out := &in.Namespace, &out.Namespace
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualNodeSpec) DeepCopyInto(out *VirtualNodeSpec) {
	*out = *in
	if in.AWSName != nil {
		in, out := &in.AWSName, &out.AWSName
		*out = new(string)
		**out = **in
	}
	if in.PodSelector != nil {
		in, out := &in.PodSelector, &out.PodSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.Listeners != nil {
		in, out := &in.Listeners, &out.Listeners
		*out = make([]Listener, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ServiceDiscovery != nil {
		in, out := &in.ServiceDiscovery, &out.ServiceDiscovery
		*out = new(ServiceDiscovery)
		(*in).DeepCopyInto(*out)
	}
	if in.Backends != nil {
		in, out := &in.Backends, &out.Backends
		*out = make([]Backend, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.BackendGroups != nil {
		in, out := &in.BackendGroups, &out.BackendGroups
		*out = make([]BackendGroupReference, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.BackendDefaults != nil {
		in, out := &in.BackendDefaults, &out.BackendDefaults
		*out = new(BackendDefaults)
		(*in).DeepCopyInto(*out)
	}
	if in.Logging != nil {
		in, out := &in.Logging, &out.Logging
		*out = new(Logging)
		(*in).DeepCopyInto(*out)
	}
	if in.MeshRef != nil {
		in, out := &in.MeshRef, &out.MeshRef
		*out = new(MeshReference)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualRouter) DeepCopyInto(out *VirtualRouter) {
	*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 VirtualRouter.
func (in *VirtualRouter) DeepCopy() *VirtualRouter {
	if in == nil {
		return nil
	}
	out := new(VirtualRouter)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualRouter) 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 *VirtualRouterCondition) DeepCopyInto(out *VirtualRouterCondition) {
	*out = *in
	if in.LastTransitionTime != nil {
		in, out := &in.LastTransitionTime, &out.LastTransitionTime
		*out = (*in).DeepCopy()
	}
	if in.Reason != nil {
		in, out := &in.Reason, &out.Reason
		*out = new(string)
		**out = **in
	}
	if in.Message != nil {
		in, out := &in.Message, &out.Message
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualRouterList) 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 *VirtualRouterListener) DeepCopyInto(out *VirtualRouterListener) {
	*out = *in
	out.PortMapping = in.PortMapping
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualRouterSpec) DeepCopyInto(out *VirtualRouterSpec) {
	*out = *in
	if in.AWSName != nil {
		in, out := &in.AWSName, &out.AWSName
		*out = new(string)
		**out = **in
	}
	if in.Listeners != nil {
		in, out := &in.Listeners, &out.Listeners
		*out = make([]VirtualRouterListener, len(*in))
		copy(*out, *in)
	}
	if in.Routes != nil {
		in, out := &in.Routes, &out.Routes
		*out = make([]Route, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.MeshRef != nil {
		in, out := &in.MeshRef, &out.MeshRef
		*out = new(MeshReference)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualRouterStatus) DeepCopyInto(out *VirtualRouterStatus) {
	*out = *in
	if in.VirtualRouterARN != nil {
		in, out := &in.VirtualRouterARN, &out.VirtualRouterARN
		*out = new(string)
		**out = **in
	}
	if in.RouteARNs != nil {
		in, out := &in.RouteARNs, &out.RouteARNs
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]VirtualRouterCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ObservedGeneration != nil {
		in, out := &in.ObservedGeneration, &out.ObservedGeneration
		*out = new(int64)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VirtualService) DeepCopyInto(out *VirtualService) {
	*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 VirtualService.
func (in *VirtualService) DeepCopy() *VirtualService {
	if in == nil {
		return nil
	}
	out := new(VirtualService)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualService) 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 *VirtualServiceBackend) DeepCopyInto(out *VirtualServiceBackend) {
	*out = *in
	if in.VirtualServiceRef != nil {
		in, out := &in.VirtualServiceRef, &out.VirtualServiceRef
		*out = new(VirtualServiceReference)
		(*in).DeepCopyInto(*out)
	}
	if in.VirtualServiceARN != nil {
		in, out := &in.VirtualServiceARN, &out.VirtualServiceARN
		*out = new(string)
		**out = **in
	}
	if in.ClientPolicy != nil {
		in, out := &in.ClientPolicy, &out.ClientPolicy
		*out = new(ClientPolicy)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *VirtualServiceList) 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 *VirtualServiceProvider) DeepCopyInto(out *VirtualServiceProvider) {
	*out = *in
	if in.VirtualNode != nil {
		in, out := &in.VirtualNode, &out.VirtualNode
		*out = new(VirtualNodeServiceProvider)
		(*in).DeepCopyInto(*out)
	}
	if in.VirtualRouter != nil {
		in, out := &in.VirtualRouter, &out.VirtualRouter
		*out = new(VirtualRouterServiceProvider)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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