//go:build !ignore_autogenerated

// Licensed to Alexandre VILAIN under one or more contributor
// license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright
// ownership. Alexandre VILAIN licenses this file to you 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 v1beta1

import (
	"github.com/alexandrevilain/temporal-operator/pkg/version"
	"github.com/gocql/gocql"
	monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
	"k8s.io/api/core/v1"
	networkingv1 "k8s.io/api/networking/v1"
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	metav1 "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 *ArchivalProvider) DeepCopyInto(out *ArchivalProvider) {
	*out = *in
	if in.Filestore != nil {
		in, out := &in.Filestore, &out.Filestore
		*out = new(FilestoreArchiver)
		**out = **in
	}
	if in.S3 != nil {
		in, out := &in.S3, &out.S3
		*out = new(S3Archiver)
		(*in).DeepCopyInto(*out)
	}
	if in.GCS != nil {
		in, out := &in.GCS, &out.GCS
		*out = new(GCSArchiver)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CassandraSpec) DeepCopyInto(out *CassandraSpec) {
	*out = *in
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ConnectTimeout != nil {
		in, out := &in.ConnectTimeout, &out.ConnectTimeout
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.Consistency != nil {
		in, out := &in.Consistency, &out.Consistency
		*out = new(CassandraConsistencySpec)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CertificatesDurationSpec) DeepCopyInto(out *CertificatesDurationSpec) {
	*out = *in
	if in.RootCACertificate != nil {
		in, out := &in.RootCACertificate, &out.RootCACertificate
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.IntermediateCAsCertificates != nil {
		in, out := &in.IntermediateCAsCertificates, &out.IntermediateCAsCertificates
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.ClientCertificates != nil {
		in, out := &in.ClientCertificates, &out.ClientCertificates
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.FrontendCertificate != nil {
		in, out := &in.FrontendCertificate, &out.FrontendCertificate
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.InternodeCertificate != nil {
		in, out := &in.InternodeCertificate, &out.InternodeCertificate
		*out = new(metav1.Duration)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DatastoreSpec) DeepCopyInto(out *DatastoreSpec) {
	*out = *in
	if in.SQL != nil {
		in, out := &in.SQL, &out.SQL
		*out = new(SQLSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Elasticsearch != nil {
		in, out := &in.Elasticsearch, &out.Elasticsearch
		*out = new(ElasticsearchSpec)
		**out = **in
	}
	if in.Cassandra != nil {
		in, out := &in.Cassandra, &out.Cassandra
		*out = new(CassandraSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.PasswordSecretRef != nil {
		in, out := &in.PasswordSecretRef, &out.PasswordSecretRef
		*out = new(SecretKeyReference)
		**out = **in
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(DatastoreTLSSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DeploymentOverride) DeepCopyInto(out *DeploymentOverride) {
	*out = *in
	if in.ObjectMetaOverride != nil {
		in, out := &in.ObjectMetaOverride, &out.ObjectMetaOverride
		*out = new(ObjectMetaOverride)
		(*in).DeepCopyInto(*out)
	}
	if in.Spec != nil {
		in, out := &in.Spec, &out.Spec
		*out = new(DeploymentOverrideSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.JSONPatch != nil {
		in, out := &in.JSONPatch, &out.JSONPatch
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DynamicConfigSpec) DeepCopyInto(out *DynamicConfigSpec) {
	*out = *in
	if in.PollInterval != nil {
		in, out := &in.PollInterval, &out.PollInterval
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.Values != nil {
		in, out := &in.Values, &out.Values
		*out = make(map[string][]ConstrainedValue, len(*in))
		for key, val := range *in {
			var outVal []ConstrainedValue
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = make([]ConstrainedValue, len(*in))
				for i := range *in {
					(*in)[i].DeepCopyInto(&(*out)[i])
				}
			}
			(*out)[key] = outVal
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MTLSSpec) DeepCopyInto(out *MTLSSpec) {
	*out = *in
	if in.Internode != nil {
		in, out := &in.Internode, &out.Internode
		*out = new(InternodeMTLSSpec)
		**out = **in
	}
	if in.Frontend != nil {
		in, out := &in.Frontend, &out.Frontend
		*out = new(FrontendMTLSSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.CertificatesDuration != nil {
		in, out := &in.CertificatesDuration, &out.CertificatesDuration
		*out = new(CertificatesDurationSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.RefreshInterval != nil {
		in, out := &in.RefreshInterval, &out.RefreshInterval
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.RenewBefore != nil {
		in, out := &in.RenewBefore, &out.RenewBefore
		*out = new(metav1.Duration)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec) {
	*out = *in
	if in.ExcludeTags != nil {
		in, out := &in.ExcludeTags, &out.ExcludeTags
		*out = make(map[string][]string, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.PerUnitHistogramBoundaries != nil {
		in, out := &in.PerUnitHistogramBoundaries, &out.PerUnitHistogramBoundaries
		*out = make(map[string][]string, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.Prefix != nil {
		in, out := &in.Prefix, &out.Prefix
		*out = new(string)
		**out = **in
	}
	if in.Prometheus != nil {
		in, out := &in.Prometheus, &out.Prometheus
		*out = new(PrometheusSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectMetaOverride) DeepCopyInto(out *ObjectMetaOverride) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PrometheusScrapeConfigServiceMonitor) DeepCopyInto(out *PrometheusScrapeConfigServiceMonitor) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Override != nil {
		in, out := &in.Override, &out.Override
		*out = new(monitoringv1.ServiceMonitorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.MetricRelabelConfigs != nil {
		in, out := &in.MetricRelabelConfigs, &out.MetricRelabelConfigs
		*out = make([]monitoringv1.RelabelConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RetryPolicy) DeepCopyInto(out *RetryPolicy) {
	*out = *in
	if in.InitialInterval != nil {
		in, out := &in.InitialInterval, &out.InitialInterval
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.BackoffCoefficient != nil {
		in, out := &in.BackoffCoefficient, &out.BackoffCoefficient
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.MaximumInterval != nil {
		in, out := &in.MaximumInterval, &out.MaximumInterval
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.NonRetryableErrorTypes != nil {
		in, out := &in.NonRetryableErrorTypes, &out.NonRetryableErrorTypes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Schedule) DeepCopyInto(out *Schedule) {
	*out = *in
	in.Action.DeepCopyInto(&out.Action)
	in.Spec.DeepCopyInto(&out.Spec)
	if in.Policy != nil {
		in, out := &in.Policy, &out.Policy
		*out = new(SchedulePolicies)
		(*in).DeepCopyInto(*out)
	}
	if in.State != nil {
		in, out := &in.State, &out.State
		*out = new(ScheduleState)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ScheduleCalendarSpec) DeepCopyInto(out *ScheduleCalendarSpec) {
	*out = *in
	if in.Second != nil {
		in, out := &in.Second, &out.Second
		*out = make([]ScheduleSecondMinuteRange, len(*in))
		copy(*out, *in)
	}
	if in.Minute != nil {
		in, out := &in.Minute, &out.Minute
		*out = make([]ScheduleSecondMinuteRange, len(*in))
		copy(*out, *in)
	}
	if in.Hour != nil {
		in, out := &in.Hour, &out.Hour
		*out = make([]ScheduleHourRange, len(*in))
		copy(*out, *in)
	}
	if in.DayOfMonth != nil {
		in, out := &in.DayOfMonth, &out.DayOfMonth
		*out = make([]ScheduleDayOfMonthRange, len(*in))
		copy(*out, *in)
	}
	if in.Month != nil {
		in, out := &in.Month, &out.Month
		*out = make([]ScheduleMonthRange, len(*in))
		copy(*out, *in)
	}
	if in.Year != nil {
		in, out := &in.Year, &out.Year
		*out = make([]ScheduleYearRange, len(*in))
		copy(*out, *in)
	}
	if in.DayOfWeek != nil {
		in, out := &in.DayOfWeek, &out.DayOfWeek
		*out = make([]ScheduleDayOfWeekRange, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec) {
	*out = *in
	if in.Calendars != nil {
		in, out := &in.Calendars, &out.Calendars
		*out = make([]ScheduleCalendarSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Intervals != nil {
		in, out := &in.Intervals, &out.Intervals
		*out = make([]ScheduleIntervalSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Crons != nil {
		in, out := &in.Crons, &out.Crons
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ExcludeCalendars != nil {
		in, out := &in.ExcludeCalendars, &out.ExcludeCalendars
		*out = make([]ScheduleCalendarSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.StartAt != nil {
		in, out := &in.StartAt, &out.StartAt
		*out = (*in).DeepCopy()
	}
	if in.EndAt != nil {
		in, out := &in.EndAt, &out.EndAt
		*out = (*in).DeepCopy()
	}
	if in.Jitter != nil {
		in, out := &in.Jitter, &out.Jitter
		*out = new(metav1.Duration)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ScheduleWorkflowAction) DeepCopyInto(out *ScheduleWorkflowAction) {
	*out = *in
	if in.Inputs != nil {
		in, out := &in.Inputs, &out.Inputs
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.WorkflowExecutionTimeout != nil {
		in, out := &in.WorkflowExecutionTimeout, &out.WorkflowExecutionTimeout
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.WorkflowRunTimeout != nil {
		in, out := &in.WorkflowRunTimeout, &out.WorkflowRunTimeout
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.WorkflowTaskTimeout != nil {
		in, out := &in.WorkflowTaskTimeout, &out.WorkflowTaskTimeout
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.RetryPolicy != nil {
		in, out := &in.RetryPolicy, &out.RetryPolicy
		*out = new(RetryPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.Memo != nil {
		in, out := &in.Memo, &out.Memo
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.SearchAttributes != nil {
		in, out := &in.SearchAttributes, &out.SearchAttributes
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
	*out = *in
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int32)
		**out = **in
	}
	if in.MembershipPort != nil {
		in, out := &in.MembershipPort, &out.MembershipPort
		*out = new(int32)
		**out = **in
	}
	if in.HTTPPort != nil {
		in, out := &in.HTTPPort, &out.HTTPPort
		*out = new(int32)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.Overrides != nil {
		in, out := &in.Overrides, &out.Overrides
		*out = new(ServiceSpecOverride)
		(*in).DeepCopyInto(*out)
	}
	if in.InitContainers != nil {
		in, out := &in.InitContainers, &out.InitContainers
		*out = make([]v1.Container, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ServicesSpec) DeepCopyInto(out *ServicesSpec) {
	*out = *in
	if in.Frontend != nil {
		in, out := &in.Frontend, &out.Frontend
		*out = new(ServiceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.InternalFrontend != nil {
		in, out := &in.InternalFrontend, &out.InternalFrontend
		*out = new(InternalFrontendServiceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.History != nil {
		in, out := &in.History, &out.History
		*out = new(ServiceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Matching != nil {
		in, out := &in.Matching, &out.Matching
		*out = new(ServiceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Worker != nil {
		in, out := &in.Worker, &out.Worker
		*out = new(ServiceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Overrides != nil {
		in, out := &in.Overrides, &out.Overrides
		*out = new(ServiceSpecOverride)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TemporalCluster) 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 *TemporalClusterClient) DeepCopyInto(out *TemporalClusterClient) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
}

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TemporalClusterList) 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 *TemporalClusterSpec) DeepCopyInto(out *TemporalClusterSpec) {
	*out = *in
	if in.Version != nil {
		in, out := &in.Version, &out.Version
		*out = new(version.Version)
		(*in).DeepCopyInto(*out)
	}
	if in.Log != nil {
		in, out := &in.Log, &out.Log
		*out = new(LogSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.JobTTLSecondsAfterFinished != nil {
		in, out := &in.JobTTLSecondsAfterFinished, &out.JobTTLSecondsAfterFinished
		*out = new(int32)
		**out = **in
	}
	in.JobResources.DeepCopyInto(&out.JobResources)
	if in.JobInitContainers != nil {
		in, out := &in.JobInitContainers, &out.JobInitContainers
		*out = make([]v1.Container, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = new(ServicesSpec)
		(*in).DeepCopyInto(*out)
	}
	in.Persistence.DeepCopyInto(&out.Persistence)
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	if in.UI != nil {
		in, out := &in.UI, &out.UI
		*out = new(TemporalUISpec)
		(*in).DeepCopyInto(*out)
	}
	if in.AdminTools != nil {
		in, out := &in.AdminTools, &out.AdminTools
		*out = new(TemporalAdminToolsSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.MTLS != nil {
		in, out := &in.MTLS, &out.MTLS
		*out = new(MTLSSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(MetricsSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.DynamicConfig != nil {
		in, out := &in.DynamicConfig, &out.DynamicConfig
		*out = new(DynamicConfigSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Archival != nil {
		in, out := &in.Archival, &out.Archival
		*out = new(ClusterArchivalSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Authorization != nil {
		in, out := &in.Authorization, &out.Authorization
		*out = new(AuthorizationSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TemporalClusterStatus) DeepCopyInto(out *TemporalClusterStatus) {
	*out = *in
	if in.Services != nil {
		in, out := &in.Services, &out.Services
		*out = make([]ServiceStatus, len(*in))
		copy(*out, *in)
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(TemporalPersistenceStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]metav1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TemporalNamespaceList) 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 *TemporalNamespaceSpec) DeepCopyInto(out *TemporalNamespaceSpec) {
	*out = *in
	out.ClusterRef = in.ClusterRef
	if in.RetentionPeriod != nil {
		in, out := &in.RetentionPeriod, &out.RetentionPeriod
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.Data != nil {
		in, out := &in.Data, &out.Data
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Clusters != nil {
		in, out := &in.Clusters, &out.Clusters
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Archival != nil {
		in, out := &in.Archival, &out.Archival
		*out = new(TemporalNamespaceArchivalSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TemporalScheduleList) 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 *TemporalScheduleSpec) DeepCopyInto(out *TemporalScheduleSpec) {
	*out = *in
	out.NamespaceRef = in.NamespaceRef
	in.Schedule.DeepCopyInto(&out.Schedule)
	if in.Memo != nil {
		in, out := &in.Memo, &out.Memo
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.SearchAttributes != nil {
		in, out := &in.SearchAttributes, &out.SearchAttributes
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TemporalUIIngressSpec) DeepCopyInto(out *TemporalUIIngressSpec) {
	*out = *in
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.IngressClassName != nil {
		in, out := &in.IngressClassName, &out.IngressClassName
		*out = new(string)
		**out = **in
	}
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = make([]networkingv1.IngressTLS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TemporalUISpec) DeepCopyInto(out *TemporalUISpec) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.Overrides != nil {
		in, out := &in.Overrides, &out.Overrides
		*out = new(ServiceSpecOverride)
		(*in).DeepCopyInto(*out)
	}
	if in.Ingress != nil {
		in, out := &in.Ingress, &out.Ingress
		*out = new(TemporalUIIngressSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Service != nil {
		in, out := &in.Service, &out.Service
		*out = new(ObjectMetaOverride)
		(*in).DeepCopyInto(*out)
	}
}

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