func (in *ZipkinSpec) DeepCopy() *ZipkinSpec {
	if in == nil {
		return nil
	}
	out := new(ZipkinSpec)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZipkinSpec.
package v1alpha1
import (
	"k8s.io/apimachinery/pkg/runtime"
)
func (in *APIAccessRule) DeepCopyInto(out *APIAccessRule) {
	*out = *in
}
func (in *APIAccessRule) DeepCopy() *APIAccessRule {
	if in == nil {
		return nil
	}
	out := new(APIAccessRule)
	in.DeepCopyInto(out)
	return out
}
func (in *APISpec) DeepCopyInto(out *APISpec) {
	*out = *in
	if in.Allowed != nil {
		in, out := &in.Allowed, &out.Allowed
		*out = make([]APIAccessRule, len(*in))
		copy(*out, *in)
	}
}
func (in *APISpec) DeepCopy() *APISpec {
	if in == nil {
		return nil
	}
	out := new(APISpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AccessControlSpec) DeepCopyInto(out *AccessControlSpec) {
	*out = *in
	if in.AppPolicies != nil {
		in, out := &in.AppPolicies, &out.AppPolicies
		*out = make([]AppPolicySpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *AccessControlSpec) DeepCopy() *AccessControlSpec {
	if in == nil {
		return nil
	}
	out := new(AccessControlSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AppOperationAction) DeepCopyInto(out *AppOperationAction) {
	*out = *in
	if in.HTTPVerb != nil {
		in, out := &in.HTTPVerb, &out.HTTPVerb
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *AppOperationAction) DeepCopy() *AppOperationAction {
	if in == nil {
		return nil
	}
	out := new(AppOperationAction)
	in.DeepCopyInto(out)
	return out
}
func (in *AppPolicySpec) DeepCopyInto(out *AppPolicySpec) {
	*out = *in
	if in.AppOperationActions != nil {
		in, out := &in.AppOperationActions, &out.AppOperationActions
		*out = make([]AppOperationAction, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *AppPolicySpec) DeepCopy() *AppPolicySpec {
	if in == nil {
		return nil
	}
	out := new(AppPolicySpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Configuration) DeepCopyInto(out *Configuration) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
}
func (in *Configuration) DeepCopy() *Configuration {
	if in == nil {
		return nil
	}
	out := new(Configuration)
	in.DeepCopyInto(out)
	return out
}
func (in *Configuration) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ConfigurationList) DeepCopyInto(out *ConfigurationList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Configuration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ConfigurationList) DeepCopy() *ConfigurationList {
	if in == nil {
		return nil
	}
	out := new(ConfigurationList)
	in.DeepCopyInto(out)
	return out
}
func (in *ConfigurationList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ConfigurationSpec) DeepCopyInto(out *ConfigurationSpec) {
	*out = *in
	in.HTTPPipelineSpec.DeepCopyInto(&out.HTTPPipelineSpec)
	out.TracingSpec = in.TracingSpec
	out.MetricSpec = in.MetricSpec
	out.MTLSSpec = in.MTLSSpec
	in.Secrets.DeepCopyInto(&out.Secrets)
	in.AccessControlSpec.DeepCopyInto(&out.AccessControlSpec)
	in.NameResolutionSpec.DeepCopyInto(&out.NameResolutionSpec)
	if in.Features != nil {
		in, out := &in.Features, &out.Features
		*out = make([]FeatureSpec, len(*in))
		copy(*out, *in)
	}
	in.APISpec.DeepCopyInto(&out.APISpec)
}
func (in *ConfigurationSpec) DeepCopy() *ConfigurationSpec {
	if in == nil {
		return nil
	}
	out := new(ConfigurationSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *DynamicValue) DeepCopyInto(out *DynamicValue) {
	*out = *in
	in.JSON.DeepCopyInto(&out.JSON)
}
func (in *DynamicValue) DeepCopy() *DynamicValue {
	if in == nil {
		return nil
	}
	out := new(DynamicValue)
	in.DeepCopyInto(out)
	return out
}
func (in *FeatureSpec) DeepCopyInto(out *FeatureSpec) {
	*out = *in
}
func (in *FeatureSpec) DeepCopy() *FeatureSpec {
	if in == nil {
		return nil
	}
	out := new(FeatureSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *HandlerSpec) DeepCopyInto(out *HandlerSpec) {
	*out = *in
	in.SelectorSpec.DeepCopyInto(&out.SelectorSpec)
}
func (in *HandlerSpec) DeepCopy() *HandlerSpec {
	if in == nil {
		return nil
	}
	out := new(HandlerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *MTLSSpec) DeepCopyInto(out *MTLSSpec) {
	*out = *in
}
func (in *MTLSSpec) DeepCopy() *MTLSSpec {
	if in == nil {
		return nil
	}
	out := new(MTLSSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricSpec) DeepCopyInto(out *MetricSpec) {
	*out = *in
}
func (in *MetricSpec) DeepCopy() *MetricSpec {
	if in == nil {
		return nil
	}
	out := new(MetricSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *NameResolutionSpec) DeepCopyInto(out *NameResolutionSpec) {
	*out = *in
	in.Configuration.DeepCopyInto(&out.Configuration)
}
func (in *NameResolutionSpec) DeepCopy() *NameResolutionSpec {
	if in == nil {
		return nil
	}
	out := new(NameResolutionSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec) {
	*out = *in
	if in.Handlers != nil {
		in, out := &in.Handlers, &out.Handlers
		*out = make([]HandlerSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *PipelineSpec) DeepCopy() *PipelineSpec {
	if in == nil {
		return nil
	}
	out := new(PipelineSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *SecretsScope) DeepCopyInto(out *SecretsScope) {
	*out = *in
	if in.AllowedSecrets != nil {
		in, out := &in.AllowedSecrets, &out.AllowedSecrets
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.DeniedSecrets != nil {
		in, out := &in.DeniedSecrets, &out.DeniedSecrets
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *SecretsScope) DeepCopy() *SecretsScope {
	if in == nil {
		return nil
	}
	out := new(SecretsScope)
	in.DeepCopyInto(out)
	return out
}
func (in *SecretsSpec) DeepCopyInto(out *SecretsSpec) {
	*out = *in
	if in.Scopes != nil {
		in, out := &in.Scopes, &out.Scopes
		*out = make([]SecretsScope, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *SecretsSpec) DeepCopy() *SecretsSpec {
	if in == nil {
		return nil
	}
	out := new(SecretsSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *SelectorField) DeepCopyInto(out *SelectorField) {
	*out = *in
}
func (in *SelectorField) DeepCopy() *SelectorField {
	if in == nil {
		return nil
	}
	out := new(SelectorField)
	in.DeepCopyInto(out)
	return out
}
func (in *SelectorSpec) DeepCopyInto(out *SelectorSpec) {
	*out = *in
	if in.Fields != nil {
		in, out := &in.Fields, &out.Fields
		*out = make([]SelectorField, len(*in))
		copy(*out, *in)
	}
}
func (in *SelectorSpec) DeepCopy() *SelectorSpec {
	if in == nil {
		return nil
	}
	out := new(SelectorSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *TracingSpec) DeepCopyInto(out *TracingSpec) {
	*out = *in
	out.Zipkin = in.Zipkin
}
func (in *TracingSpec) DeepCopy() *TracingSpec {
	if in == nil {
		return nil
	}
	out := new(TracingSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ZipkinSpec) DeepCopyInto(out *ZipkinSpec) {
	*out = *in
}