func (in *VaultStore) DeepCopy() *VaultStore {
	if in == nil {
		return nil
	}
	out := new(VaultStore)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultStore.
package v1beta1
import (
	v1 "k8s.io/api/core/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *ACMECertificateDetails) DeepCopyInto(out *ACMECertificateDetails) {
	*out = *in
	return
}
func (in *ACMECertificateDetails) DeepCopy() *ACMECertificateDetails {
	if in == nil {
		return nil
	}
	out := new(ACMECertificateDetails)
	in.DeepCopyInto(out)
	return out
}
func (in *AuthOption) DeepCopyInto(out *AuthOption) {
	*out = *in
	if in.Basic != nil {
		in, out := &in.Basic, &out.Basic
		*out = new(BasicAuth)
		**out = **in
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(TLSAuth)
		(*in).DeepCopyInto(*out)
	}
	if in.OAuth != nil {
		in, out := &in.OAuth, &out.OAuth
		*out = make([]OAuth, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *AuthOption) DeepCopy() *AuthOption {
	if in == nil {
		return nil
	}
	out := new(AuthOption)
	in.DeepCopyInto(out)
	return out
}
func (in *BasicAuth) DeepCopyInto(out *BasicAuth) {
	*out = *in
	return
}
func (in *BasicAuth) DeepCopy() *BasicAuth {
	if in == nil {
		return nil
	}
	out := new(BasicAuth)
	in.DeepCopyInto(out)
	return out
}
func (in *Certificate) DeepCopyInto(out *Certificate) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *Certificate) DeepCopy() *Certificate {
	if in == nil {
		return nil
	}
	out := new(Certificate)
	in.DeepCopyInto(out)
	return out
}
func (in *Certificate) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CertificateCondition) DeepCopyInto(out *CertificateCondition) {
	*out = *in
	in.LastUpdateTime.DeepCopyInto(&out.LastUpdateTime)
	return
}
func (in *CertificateCondition) DeepCopy() *CertificateCondition {
	if in == nil {
		return nil
	}
	out := new(CertificateCondition)
	in.DeepCopyInto(out)
	return out
}
func (in *CertificateDetails) DeepCopyInto(out *CertificateDetails) {
	*out = *in
	in.NotBefore.DeepCopyInto(&out.NotBefore)
	in.NotAfter.DeepCopyInto(&out.NotAfter)
	return
}
func (in *CertificateDetails) DeepCopy() *CertificateDetails {
	if in == nil {
		return nil
	}
	out := new(CertificateDetails)
	in.DeepCopyInto(out)
	return out
}
func (in *CertificateList) DeepCopyInto(out *CertificateList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Certificate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *CertificateList) DeepCopy() *CertificateList {
	if in == nil {
		return nil
	}
	out := new(CertificateList)
	in.DeepCopyInto(out)
	return out
}
func (in *CertificateList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CertificateSpec) DeepCopyInto(out *CertificateSpec) {
	*out = *in
	if in.Domains != nil {
		in, out := &in.Domains, &out.Domains
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.ChallengeProvider.DeepCopyInto(&out.ChallengeProvider)
	in.Storage.DeepCopyInto(&out.Storage)
	return
}
func (in *CertificateSpec) DeepCopy() *CertificateSpec {
	if in == nil {
		return nil
	}
	out := new(CertificateSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *CertificateStatus) DeepCopyInto(out *CertificateStatus) {
	*out = *in
	if in.CreationTime != nil {
		in, out := &in.CreationTime, &out.CreationTime
		*out = (*in).DeepCopy()
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]CertificateCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LastIssuedCertificate != nil {
		in, out := &in.LastIssuedCertificate, &out.LastIssuedCertificate
		*out = new(CertificateDetails)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *CertificateStatus) DeepCopy() *CertificateStatus {
	if in == nil {
		return nil
	}
	out := new(CertificateStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *CertificateStorage) DeepCopyInto(out *CertificateStorage) {
	*out = *in
	if in.Secret != nil {
		in, out := &in.Secret, &out.Secret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.Vault != nil {
		in, out := &in.Vault, &out.Vault
		*out = new(VaultStore)
		**out = **in
	}
	return
}
func (in *CertificateStorage) DeepCopy() *CertificateStorage {
	if in == nil {
		return nil
	}
	out := new(CertificateStorage)
	in.DeepCopyInto(out)
	return out
}
func (in *ChallengeProvider) DeepCopyInto(out *ChallengeProvider) {
	*out = *in
	if in.HTTP != nil {
		in, out := &in.HTTP, &out.HTTP
		*out = new(HTTPChallengeProvider)
		**out = **in
	}
	if in.DNS != nil {
		in, out := &in.DNS, &out.DNS
		*out = new(DNSChallengeProvider)
		**out = **in
	}
	return
}
func (in *ChallengeProvider) DeepCopy() *ChallengeProvider {
	if in == nil {
		return nil
	}
	out := new(ChallengeProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *DNSChallengeProvider) DeepCopyInto(out *DNSChallengeProvider) {
	*out = *in
	return
}
func (in *DNSChallengeProvider) DeepCopy() *DNSChallengeProvider {
	if in == nil {
		return nil
	}
	out := new(DNSChallengeProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *FrontendRule) DeepCopyInto(out *FrontendRule) {
	*out = *in
	out.Port = in.Port
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = new(AuthOption)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *FrontendRule) DeepCopy() *FrontendRule {
	if in == nil {
		return nil
	}
	out := new(FrontendRule)
	in.DeepCopyInto(out)
	return out
}
func (in *HTTPChallengeProvider) DeepCopyInto(out *HTTPChallengeProvider) {
	*out = *in
	out.Ingress = in.Ingress
	return
}
func (in *HTTPChallengeProvider) DeepCopy() *HTTPChallengeProvider {
	if in == nil {
		return nil
	}
	out := new(HTTPChallengeProvider)
	in.DeepCopyInto(out)
	return out
}
func (in *HTTPIngressBackend) DeepCopyInto(out *HTTPIngressBackend) {
	*out = *in
	in.IngressBackend.DeepCopyInto(&out.IngressBackend)
	if in.RewriteRules != nil {
		in, out := &in.RewriteRules, &out.RewriteRules
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.HeaderRules != nil {
		in, out := &in.HeaderRules, &out.HeaderRules
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *HTTPIngressBackend) DeepCopy() *HTTPIngressBackend {
	if in == nil {
		return nil
	}
	out := new(HTTPIngressBackend)
	in.DeepCopyInto(out)
	return out
}
func (in *HTTPIngressPath) DeepCopyInto(out *HTTPIngressPath) {
	*out = *in
	in.Backend.DeepCopyInto(&out.Backend)
	return
}
func (in *HTTPIngressPath) DeepCopy() *HTTPIngressPath {
	if in == nil {
		return nil
	}
	out := new(HTTPIngressPath)
	in.DeepCopyInto(out)
	return out
}
func (in *HTTPIngressRuleValue) DeepCopyInto(out *HTTPIngressRuleValue) {
	*out = *in
	out.Port = in.Port
	out.NodePort = in.NodePort
	if in.ALPN != nil {
		in, out := &in.ALPN, &out.ALPN
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Paths != nil {
		in, out := &in.Paths, &out.Paths
		*out = make([]HTTPIngressPath, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *HTTPIngressRuleValue) DeepCopy() *HTTPIngressRuleValue {
	if in == nil {
		return nil
	}
	out := new(HTTPIngressRuleValue)
	in.DeepCopyInto(out)
	return out
}
func (in *Ingress) DeepCopyInto(out *Ingress) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}
func (in *Ingress) DeepCopy() *Ingress {
	if in == nil {
		return nil
	}
	out := new(Ingress)
	in.DeepCopyInto(out)
	return out
}
func (in *Ingress) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *IngressBackend) DeepCopyInto(out *IngressBackend) {
	*out = *in
	if in.HostNames != nil {
		in, out := &in.HostNames, &out.HostNames
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	out.ServicePort = in.ServicePort
	if in.BackendRules != nil {
		in, out := &in.BackendRules, &out.BackendRules
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ALPN != nil {
		in, out := &in.ALPN, &out.ALPN
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *IngressBackend) DeepCopy() *IngressBackend {
	if in == nil {
		return nil
	}
	out := new(IngressBackend)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressList) DeepCopyInto(out *IngressList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Ingress, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *IngressList) DeepCopy() *IngressList {
	if in == nil {
		return nil
	}
	out := new(IngressList)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *IngressRef) DeepCopyInto(out *IngressRef) {
	*out = *in
	return
}
func (in *IngressRef) DeepCopy() *IngressRef {
	if in == nil {
		return nil
	}
	out := new(IngressRef)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressRule) DeepCopyInto(out *IngressRule) {
	*out = *in
	in.IngressRuleValue.DeepCopyInto(&out.IngressRuleValue)
	return
}
func (in *IngressRule) DeepCopy() *IngressRule {
	if in == nil {
		return nil
	}
	out := new(IngressRule)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressRuleValue) DeepCopyInto(out *IngressRuleValue) {
	*out = *in
	if in.HTTP != nil {
		in, out := &in.HTTP, &out.HTTP
		*out = new(HTTPIngressRuleValue)
		(*in).DeepCopyInto(*out)
	}
	if in.TCP != nil {
		in, out := &in.TCP, &out.TCP
		*out = new(TCPIngressRuleValue)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *IngressRuleValue) DeepCopy() *IngressRuleValue {
	if in == nil {
		return nil
	}
	out := new(IngressRuleValue)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressSpec) DeepCopyInto(out *IngressSpec) {
	*out = *in
	if in.Backend != nil {
		in, out := &in.Backend, &out.Backend
		*out = new(HTTPIngressBackend)
		(*in).DeepCopyInto(*out)
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = make([]IngressTLS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ConfigVolumes != nil {
		in, out := &in.ConfigVolumes, &out.ConfigVolumes
		*out = make([]VolumeSource, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.FrontendRules != nil {
		in, out := &in.FrontendRules, &out.FrontendRules
		*out = make([]FrontendRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]IngressRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LoadBalancerSourceRanges != nil {
		in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	if in.Priority != nil {
		in, out := &in.Priority, &out.Priority
		*out = new(int32)
		**out = **in
	}
	if in.SecurityContext != nil {
		in, out := &in.SecurityContext, &out.SecurityContext
		*out = new(v1.PodSecurityContext)
		(*in).DeepCopyInto(*out)
	}
	if in.ExternalIPs != nil {
		in, out := &in.ExternalIPs, &out.ExternalIPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LivenessProbe != nil {
		in, out := &in.LivenessProbe, &out.LivenessProbe
		*out = new(v1.Probe)
		(*in).DeepCopyInto(*out)
	}
	if in.ReadinessProbe != nil {
		in, out := &in.ReadinessProbe, &out.ReadinessProbe
		*out = new(v1.Probe)
		(*in).DeepCopyInto(*out)
	}
	if in.TerminationGracePeriodSeconds != nil {
		in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds
		*out = new(int64)
		**out = **in
	}
	return
}
func (in *IngressSpec) DeepCopy() *IngressSpec {
	if in == nil {
		return nil
	}
	out := new(IngressSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressStatus) DeepCopyInto(out *IngressStatus) {
	*out = *in
	in.LoadBalancer.DeepCopyInto(&out.LoadBalancer)
	return
}
func (in *IngressStatus) DeepCopy() *IngressStatus {
	if in == nil {
		return nil
	}
	out := new(IngressStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *IngressTLS) DeepCopyInto(out *IngressTLS) {
	*out = *in
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Ref != nil {
		in, out := &in.Ref, &out.Ref
		*out = new(LocalTypedReference)
		**out = **in
	}
	return
}
func (in *IngressTLS) DeepCopy() *IngressTLS {
	if in == nil {
		return nil
	}
	out := new(IngressTLS)
	in.DeepCopyInto(out)
	return out
}
func (in *LocalTypedReference) DeepCopyInto(out *LocalTypedReference) {
	*out = *in
	return
}
func (in *LocalTypedReference) DeepCopy() *LocalTypedReference {
	if in == nil {
		return nil
	}
	out := new(LocalTypedReference)
	in.DeepCopyInto(out)
	return out
}
func (in *OAuth) DeepCopyInto(out *OAuth) {
	*out = *in
	if in.Paths != nil {
		in, out := &in.Paths, &out.Paths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *OAuth) DeepCopy() *OAuth {
	if in == nil {
		return nil
	}
	out := new(OAuth)
	in.DeepCopyInto(out)
	return out
}
func (in *TCPIngressRuleValue) DeepCopyInto(out *TCPIngressRuleValue) {
	*out = *in
	out.Port = in.Port
	out.NodePort = in.NodePort
	in.Backend.DeepCopyInto(&out.Backend)
	if in.ALPN != nil {
		in, out := &in.ALPN, &out.ALPN
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}
func (in *TCPIngressRuleValue) DeepCopy() *TCPIngressRuleValue {
	if in == nil {
		return nil
	}
	out := new(TCPIngressRuleValue)
	in.DeepCopyInto(out)
	return out
}
func (in *TLSAuth) DeepCopyInto(out *TLSAuth) {
	*out = *in
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *TLSAuth) DeepCopy() *TLSAuth {
	if in == nil {
		return nil
	}
	out := new(TLSAuth)
	in.DeepCopyInto(out)
	return out
}
func (in *VaultStore) DeepCopyInto(out *VaultStore) {
	*out = *in
	return
}