//go:build !ignore_autogenerated

/*
Copyright (c) Microsoft Corporation.
Licensed under the MIT license.
*/

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

package v1alpha1

import (
	v1 "k8s.io/api/core/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 *GatewayConfiguration) DeepCopyInto(out *GatewayConfiguration) {
	*out = *in
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GatewayStatusList) 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 *GatewayStatusSpec) DeepCopyInto(out *GatewayStatusSpec) {
	*out = *in
	if in.ReadyGatewayConfigurations != nil {
		in, out := &in.ReadyGatewayConfigurations, &out.ReadyGatewayConfigurations
		*out = make([]GatewayConfiguration, len(*in))
		copy(*out, *in)
	}
	if in.ReadyPeerConfigurations != nil {
		in, out := &in.ReadyPeerConfigurations, &out.ReadyPeerConfigurations
		*out = make([]PeerConfiguration, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *StaticGatewayConfigurationList) 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 *StaticGatewayConfigurationSpec) DeepCopyInto(out *StaticGatewayConfigurationSpec) {
	*out = *in
	out.GatewayVmssProfile = in.GatewayVmssProfile
	if in.ExcludeCidrs != nil {
		in, out := &in.ExcludeCidrs, &out.ExcludeCidrs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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