func (in *AstarteGenericComponentSpec) DeepCopyInto(out *AstarteGenericComponentSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.API.DeepCopyInto(&out.API)
	in.Backend.DeepCopyInto(&out.Backend)
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package commontypes
import (
	"github.com/astarte-platform/astarte-kubernetes-operator/external/voyager/v1beta1"
	appsv1 "k8s.io/api/apps/v1"
	"k8s.io/api/core/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *AstarteAPISpec) DeepCopyInto(out *AstarteAPISpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.SSL != nil {
		in, out := &in.SSL, &out.SSL
		*out = new(bool)
		**out = **in
	}
}
func (in *AstarteAPISpec) DeepCopy() *AstarteAPISpec {
	if in == nil {
		return nil
	}
	out := new(AstarteAPISpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteAPISpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteAppengineAPISpec) DeepCopyInto(out *AstarteAppengineAPISpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.AstarteGenericAPISpec.DeepCopyInto(&out.AstarteGenericAPISpec)
	if in.MaxResultsLimit != nil {
		in, out := &in.MaxResultsLimit, &out.MaxResultsLimit
		*out = new(int)
		**out = **in
	}
}
func (in *AstarteAppengineAPISpec) DeepCopy() *AstarteAppengineAPISpec {
	if in == nil {
		return nil
	}
	out := new(AstarteAppengineAPISpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteAppengineAPISpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCARootConfigSigningCAConstraintSpec) DeepCopyInto(out *AstarteCFSSLCARootConfigSigningCAConstraintSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteCFSSLCARootConfigSigningCAConstraintSpec) DeepCopy() *AstarteCFSSLCARootConfigSigningCAConstraintSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCARootConfigSigningCAConstraintSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCARootConfigSigningCAConstraintSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCARootConfigSigningDefaultSpec) DeepCopyInto(out *AstarteCFSSLCARootConfigSigningDefaultSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Usages != nil {
		in, out := &in.Usages, &out.Usages
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.CAConstraint != nil {
		in, out := &in.CAConstraint, &out.CAConstraint
		*out = new(AstarteCFSSLCARootConfigSigningCAConstraintSpec)
		**out = **in
	}
}
func (in *AstarteCFSSLCARootConfigSigningDefaultSpec) DeepCopy() *AstarteCFSSLCARootConfigSigningDefaultSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCARootConfigSigningDefaultSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCARootConfigSigningDefaultSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCARootConfigSigningSpec) DeepCopyInto(out *AstarteCFSSLCARootConfigSigningSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Default != nil {
		in, out := &in.Default, &out.Default
		*out = new(AstarteCFSSLCARootConfigSigningDefaultSpec)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AstarteCFSSLCARootConfigSigningSpec) DeepCopy() *AstarteCFSSLCARootConfigSigningSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCARootConfigSigningSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCARootConfigSigningSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCARootConfigSpec) DeepCopyInto(out *AstarteCFSSLCARootConfigSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Signing != nil {
		in, out := &in.Signing, &out.Signing
		*out = new(AstarteCFSSLCARootConfigSigningSpec)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AstarteCFSSLCARootConfigSpec) DeepCopy() *AstarteCFSSLCARootConfigSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCARootConfigSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCARootConfigSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCSRRootCACASpec) DeepCopyInto(out *AstarteCFSSLCSRRootCACASpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteCFSSLCSRRootCACASpec) DeepCopy() *AstarteCFSSLCSRRootCACASpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCSRRootCACASpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCSRRootCACASpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCSRRootCAKeySpec) DeepCopyInto(out *AstarteCFSSLCSRRootCAKeySpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteCFSSLCSRRootCAKeySpec) DeepCopy() *AstarteCFSSLCSRRootCAKeySpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCSRRootCAKeySpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCSRRootCAKeySpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCSRRootCANamesSpec) DeepCopyInto(out *AstarteCFSSLCSRRootCANamesSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteCFSSLCSRRootCANamesSpec) DeepCopy() *AstarteCFSSLCSRRootCANamesSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCSRRootCANamesSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCSRRootCANamesSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLCSRRootCASpec) DeepCopyInto(out *AstarteCFSSLCSRRootCASpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Key != nil {
		in, out := &in.Key, &out.Key
		*out = new(AstarteCFSSLCSRRootCAKeySpec)
		**out = **in
	}
	if in.Names != nil {
		in, out := &in.Names, &out.Names
		*out = make([]AstarteCFSSLCSRRootCANamesSpec, len(*in))
		copy(*out, *in)
	}
	if in.CA != nil {
		in, out := &in.CA, &out.CA
		*out = new(AstarteCFSSLCSRRootCACASpec)
		**out = **in
	}
}
func (in *AstarteCFSSLCSRRootCASpec) DeepCopy() *AstarteCFSSLCSRRootCASpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLCSRRootCASpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLCSRRootCASpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLDBConfigSpec) DeepCopyInto(out *AstarteCFSSLDBConfigSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteCFSSLDBConfigSpec) DeepCopy() *AstarteCFSSLDBConfigSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLDBConfigSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLDBConfigSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCFSSLSpec) DeepCopyInto(out *AstarteCFSSLSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Deploy != nil {
		in, out := &in.Deploy, &out.Deploy
		*out = new(bool)
		**out = **in
	}
	out.CASecret = in.CASecret
	if in.DBConfig != nil {
		in, out := &in.DBConfig, &out.DBConfig
		*out = new(AstarteCFSSLDBConfigSpec)
		**out = **in
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Storage != nil {
		in, out := &in.Storage, &out.Storage
		*out = new(AstartePersistentStorageSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.CSRRootCa != nil {
		in, out := &in.CSRRootCa, &out.CSRRootCa
		*out = new(AstarteCFSSLCSRRootCASpec)
		(*in).DeepCopyInto(*out)
	}
	if in.CARootConfig != nil {
		in, out := &in.CARootConfig, &out.CARootConfig
		*out = new(AstarteCFSSLCARootConfigSpec)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AstarteCFSSLSpec) DeepCopy() *AstarteCFSSLSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCFSSLSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCFSSLSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCassandraConnectionSpec) DeepCopyInto(out *AstarteCassandraConnectionSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.PoolSize != nil {
		in, out := &in.PoolSize, &out.PoolSize
		*out = new(int)
		**out = **in
	}
	if in.Autodiscovery != nil {
		in, out := &in.Autodiscovery, &out.Autodiscovery
		*out = new(bool)
		**out = **in
	}
	in.SSLConfiguration.DeepCopyInto(&out.SSLConfiguration)
	if in.Secret != nil {
		in, out := &in.Secret, &out.Secret
		*out = new(LoginCredentialsSecret)
		**out = **in
	}
}
func (in *AstarteCassandraConnectionSpec) DeepCopy() *AstarteCassandraConnectionSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCassandraConnectionSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCassandraConnectionSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCassandraSSLConfigurationSpec) DeepCopyInto(out *AstarteCassandraSSLConfigurationSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	out.CustomCASecret = in.CustomCASecret
	if in.SNI != nil {
		in, out := &in.SNI, &out.SNI
		*out = new(bool)
		**out = **in
	}
}
func (in *AstarteCassandraSSLConfigurationSpec) DeepCopy() *AstarteCassandraSSLConfigurationSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCassandraSSLConfigurationSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCassandraSSLConfigurationSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteCassandraSpec) DeepCopyInto(out *AstarteCassandraSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.AstarteGenericClusteredResource.DeepCopyInto(&out.AstarteGenericClusteredResource)
	if in.Storage != nil {
		in, out := &in.Storage, &out.Storage
		*out = new(AstartePersistentStorageSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Connection != nil {
		in, out := &in.Connection, &out.Connection
		*out = new(AstarteCassandraConnectionSpec)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AstarteCassandraSpec) DeepCopy() *AstarteCassandraSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteCassandraSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteCassandraSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteComponentsSpec) DeepCopyInto(out *AstarteComponentsSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	in.Flow.DeepCopyInto(&out.Flow)
	in.Housekeeping.DeepCopyInto(&out.Housekeeping)
	in.RealmManagement.DeepCopyInto(&out.RealmManagement)
	in.Pairing.DeepCopyInto(&out.Pairing)
	in.DataUpdaterPlant.DeepCopyInto(&out.DataUpdaterPlant)
	in.AppengineAPI.DeepCopyInto(&out.AppengineAPI)
	in.TriggerEngine.DeepCopyInto(&out.TriggerEngine)
	in.Dashboard.DeepCopyInto(&out.Dashboard)
}
func (in *AstarteComponentsSpec) DeepCopy() *AstarteComponentsSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteComponentsSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteComponentsSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteDashboardConfigAuthSpec) DeepCopyInto(out *AstarteDashboardConfigAuthSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteDashboardConfigAuthSpec) DeepCopy() *AstarteDashboardConfigAuthSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteDashboardConfigAuthSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteDashboardConfigAuthSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteDashboardConfigSpec) DeepCopyInto(out *AstarteDashboardConfigSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = make([]AstarteDashboardConfigAuthSpec, len(*in))
		copy(*out, *in)
	}
}
func (in *AstarteDashboardConfigSpec) DeepCopy() *AstarteDashboardConfigSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteDashboardConfigSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteDashboardConfigSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteDashboardSpec) DeepCopyInto(out *AstarteDashboardSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.AstarteGenericClusteredResource.DeepCopyInto(&out.AstarteGenericClusteredResource)
	in.Config.DeepCopyInto(&out.Config)
}
func (in *AstarteDashboardSpec) DeepCopy() *AstarteDashboardSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteDashboardSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteDashboardSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteDataUpdaterPlantSpec) DeepCopyInto(out *AstarteDataUpdaterPlantSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.AstarteGenericClusteredResource.DeepCopyInto(&out.AstarteGenericClusteredResource)
	if in.DataQueueCount != nil {
		in, out := &in.DataQueueCount, &out.DataQueueCount
		*out = new(int)
		**out = **in
	}
	if in.PrefetchCount != nil {
		in, out := &in.PrefetchCount, &out.PrefetchCount
		*out = new(int)
		**out = **in
	}
}
func (in *AstarteDataUpdaterPlantSpec) DeepCopy() *AstarteDataUpdaterPlantSpec {
	if in == nil {
		return nil
	}
	out := new(AstarteDataUpdaterPlantSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteDataUpdaterPlantSpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteFeatures) DeepCopyInto(out *AstarteFeatures) {
	*out = *in
	out.TypeMeta = in.TypeMeta
}
func (in *AstarteFeatures) DeepCopy() *AstarteFeatures {
	if in == nil {
		return nil
	}
	out := new(AstarteFeatures)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteFeatures) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteGenericAPISpec) DeepCopyInto(out *AstarteGenericAPISpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.AstarteGenericClusteredResource.DeepCopyInto(&out.AstarteGenericClusteredResource)
	if in.DisableAuthentication != nil {
		in, out := &in.DisableAuthentication, &out.DisableAuthentication
		*out = new(bool)
		**out = **in
	}
}
func (in *AstarteGenericAPISpec) DeepCopy() *AstarteGenericAPISpec {
	if in == nil {
		return nil
	}
	out := new(AstarteGenericAPISpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteGenericAPISpec) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *AstarteGenericClusteredResource) DeepCopyInto(out *AstarteGenericClusteredResource) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.Deploy != nil {
		in, out := &in.Deploy, &out.Deploy
		*out = new(bool)
		**out = **in
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.AntiAffinity != nil {
		in, out := &in.AntiAffinity, &out.AntiAffinity
		*out = new(bool)
		**out = **in
	}
	if in.CustomAffinity != nil {
		in, out := &in.CustomAffinity, &out.CustomAffinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.DeploymentStrategy != nil {
		in, out := &in.DeploymentStrategy, &out.DeploymentStrategy
		*out = new(appsv1.DeploymentStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.AdditionalEnv != nil {
		in, out := &in.AdditionalEnv, &out.AdditionalEnv
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *AstarteGenericClusteredResource) DeepCopy() *AstarteGenericClusteredResource {
	if in == nil {
		return nil
	}
	out := new(AstarteGenericClusteredResource)
	in.DeepCopyInto(out)
	return out
}
func (in *AstarteGenericClusteredResource) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}