func (in *ForwardOutput) DeepCopy() *ForwardOutput {
	if in == nil {
		return nil
	}
	out := new(ForwardOutput)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForwardOutput.
package output
import (
	"github.com/banzaicloud/logging-operator/pkg/sdk/model/common"
	"github.com/banzaicloud/operator-tools/pkg/secret"
)
func (in *AwsElasticsearchOutputConfig) DeepCopyInto(out *AwsElasticsearchOutputConfig) {
	*out = *in
	if in.Endpoint != nil {
		in, out := &in.Endpoint, &out.Endpoint
		*out = new(EndpointCredentials)
		(*in).DeepCopyInto(*out)
	}
	if in.Format != nil {
		in, out := &in.Format, &out.Format
		*out = new(Format)
		(*in).DeepCopyInto(*out)
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AwsElasticsearchOutputConfig) DeepCopy() *AwsElasticsearchOutputConfig {
	if in == nil {
		return nil
	}
	out := new(AwsElasticsearchOutputConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *AzureStorage) DeepCopyInto(out *AzureStorage) {
	*out = *in
	if in.AzureStorageAccount != nil {
		in, out := &in.AzureStorageAccount, &out.AzureStorageAccount
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.AzureStorageAccessKey != nil {
		in, out := &in.AzureStorageAccessKey, &out.AzureStorageAccessKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.AzureStorageSasToken != nil {
		in, out := &in.AzureStorageSasToken, &out.AzureStorageSasToken
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
}
func (in *AzureStorage) DeepCopy() *AzureStorage {
	if in == nil {
		return nil
	}
	out := new(AzureStorage)
	in.DeepCopyInto(out)
	return out
}
func (in *Buffer) DeepCopyInto(out *Buffer) {
	*out = *in
	if in.RetryForever != nil {
		in, out := &in.RetryForever, &out.RetryForever
		*out = new(bool)
		**out = **in
	}
}
func (in *Buffer) DeepCopy() *Buffer {
	if in == nil {
		return nil
	}
	out := new(Buffer)
	in.DeepCopyInto(out)
	return out
}
func (in *CloudWatchOutput) DeepCopyInto(out *CloudWatchOutput) {
	*out = *in
	if in.AwsAccessKey != nil {
		in, out := &in.AwsAccessKey, &out.AwsAccessKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.AwsSecretKey != nil {
		in, out := &in.AwsSecretKey, &out.AwsSecretKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
	if in.Format != nil {
		in, out := &in.Format, &out.Format
		*out = new(Format)
		(*in).DeepCopyInto(*out)
	}
}
func (in *CloudWatchOutput) DeepCopy() *CloudWatchOutput {
	if in == nil {
		return nil
	}
	out := new(CloudWatchOutput)
	in.DeepCopyInto(out)
	return out
}
func (in *Compress) DeepCopyInto(out *Compress) {
	*out = *in
}
func (in *Compress) DeepCopy() *Compress {
	if in == nil {
		return nil
	}
	out := new(Compress)
	in.DeepCopyInto(out)
	return out
}
func (in *DatadogOutput) DeepCopyInto(out *DatadogOutput) {
	*out = *in
	if in.ApiKey != nil {
		in, out := &in.ApiKey, &out.ApiKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
}
func (in *DatadogOutput) DeepCopy() *DatadogOutput {
	if in == nil {
		return nil
	}
	out := new(DatadogOutput)
	in.DeepCopyInto(out)
	return out
}
func (in *ElasticsearchOutput) DeepCopyInto(out *ElasticsearchOutput) {
	*out = *in
	if in.Password != nil {
		in, out := &in.Password, &out.Password
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.SslVerify != nil {
		in, out := &in.SslVerify, &out.SslVerify
		*out = new(bool)
		**out = **in
	}
	if in.SSLCACert != nil {
		in, out := &in.SSLCACert, &out.SSLCACert
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.SSLClientCert != nil {
		in, out := &in.SSLClientCert, &out.SSLClientCert
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.SSLClientCertKey != nil {
		in, out := &in.SSLClientCertKey, &out.SSLClientCertKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.SSLClientCertKeyPass != nil {
		in, out := &in.SSLClientCertKeyPass, &out.SSLClientCertKeyPass
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.UtcIndex != nil {
		in, out := &in.UtcIndex, &out.UtcIndex
		*out = new(bool)
		**out = **in
	}
	if in.SuppressTypeName != nil {
		in, out := &in.SuppressTypeName, &out.SuppressTypeName
		*out = new(bool)
		**out = **in
	}
	if in.TemplateFile != nil {
		in, out := &in.TemplateFile, &out.TemplateFile
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.IndexDatePattern != nil {
		in, out := &in.IndexDatePattern, &out.IndexDatePattern
		*out = new(string)
		**out = **in
	}
	if in.ApplicationName != nil {
		in, out := &in.ApplicationName, &out.ApplicationName
		*out = new(string)
		**out = **in
	}
	if in.FailOnPuttingTemplateRetryExceed != nil {
		in, out := &in.FailOnPuttingTemplateRetryExceed, &out.FailOnPuttingTemplateRetryExceed
		*out = new(bool)
		**out = **in
	}
	if in.ReloadConnections != nil {
		in, out := &in.ReloadConnections, &out.ReloadConnections
		*out = new(bool)
		**out = **in
	}
	if in.VerifyEsVersionAtStartup != nil {
		in, out := &in.VerifyEsVersionAtStartup, &out.VerifyEsVersionAtStartup
		*out = new(bool)
		**out = **in
	}
	if in.ApiKey != nil {
		in, out := &in.ApiKey, &out.ApiKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.ExceptionBackup != nil {
		in, out := &in.ExceptionBackup, &out.ExceptionBackup
		*out = new(bool)
		**out = **in
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
	if in.DataStreamEnable != nil {
		in, out := &in.DataStreamEnable, &out.DataStreamEnable
		*out = new(bool)
		**out = **in
	}
}
func (in *ElasticsearchOutput) DeepCopy() *ElasticsearchOutput {
	if in == nil {
		return nil
	}
	out := new(ElasticsearchOutput)
	in.DeepCopyInto(out)
	return out
}
func (in *Endpoint) DeepCopyInto(out *Endpoint) {
	*out = *in
	if in.Token != nil {
		in, out := &in.Token, &out.Token
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Endpoint) DeepCopy() *Endpoint {
	if in == nil {
		return nil
	}
	out := new(Endpoint)
	in.DeepCopyInto(out)
	return out
}
func (in *EndpointCredentials) DeepCopyInto(out *EndpointCredentials) {
	*out = *in
	if in.AccessKeyId != nil {
		in, out := &in.AccessKeyId, &out.AccessKeyId
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.SecretAccessKey != nil {
		in, out := &in.SecretAccessKey, &out.SecretAccessKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.AssumeRoleArn != nil {
		in, out := &in.AssumeRoleArn, &out.AssumeRoleArn
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.EcsContainerCredentialsRelativeUri != nil {
		in, out := &in.EcsContainerCredentialsRelativeUri, &out.EcsContainerCredentialsRelativeUri
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.AssumeRoleSessionName != nil {
		in, out := &in.AssumeRoleSessionName, &out.AssumeRoleSessionName
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.AssumeRoleWebIdentityTokenFile != nil {
		in, out := &in.AssumeRoleWebIdentityTokenFile, &out.AssumeRoleWebIdentityTokenFile
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.StsCredentialsRegion != nil {
		in, out := &in.StsCredentialsRegion, &out.StsCredentialsRegion
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
}
func (in *EndpointCredentials) DeepCopy() *EndpointCredentials {
	if in == nil {
		return nil
	}
	out := new(EndpointCredentials)
	in.DeepCopyInto(out)
	return out
}
func (in *FileOutputConfig) DeepCopyInto(out *FileOutputConfig) {
	*out = *in
	if in.AddPathSuffix != nil {
		in, out := &in.AddPathSuffix, &out.AddPathSuffix
		*out = new(bool)
		**out = **in
	}
	if in.Format != nil {
		in, out := &in.Format, &out.Format
		*out = new(Format)
		(*in).DeepCopyInto(*out)
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
}
func (in *FileOutputConfig) DeepCopy() *FileOutputConfig {
	if in == nil {
		return nil
	}
	out := new(FileOutputConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *FluentdServer) DeepCopyInto(out *FluentdServer) {
	*out = *in
	if in.SharedKey != nil {
		in, out := &in.SharedKey, &out.SharedKey
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.Username != nil {
		in, out := &in.Username, &out.Username
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.Password != nil {
		in, out := &in.Password, &out.Password
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
}
func (in *FluentdServer) DeepCopy() *FluentdServer {
	if in == nil {
		return nil
	}
	out := new(FluentdServer)
	in.DeepCopyInto(out)
	return out
}
func (in *Format) DeepCopyInto(out *Format) {
	*out = *in
	if in.AddNewline != nil {
		in, out := &in.AddNewline, &out.AddNewline
		*out = new(bool)
		**out = **in
	}
}
func (in *Format) DeepCopy() *Format {
	if in == nil {
		return nil
	}
	out := new(Format)
	in.DeepCopyInto(out)
	return out
}
func (in *FormatRfc5424) DeepCopyInto(out *FormatRfc5424) {
	*out = *in
	if in.Rfc6587MessageSize != nil {
		in, out := &in.Rfc6587MessageSize, &out.Rfc6587MessageSize
		*out = new(bool)
		**out = **in
	}
}
func (in *FormatRfc5424) DeepCopy() *FormatRfc5424 {
	if in == nil {
		return nil
	}
	out := new(FormatRfc5424)
	in.DeepCopyInto(out)
	return out
}
func (in *ForwardOutput) DeepCopyInto(out *ForwardOutput) {
	*out = *in
	if in.FluentdServers != nil {
		in, out := &in.FluentdServers, &out.FluentdServers
		*out = make([]FluentdServer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.TlsCertPath != nil {
		in, out := &in.TlsCertPath, &out.TlsCertPath
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.TlsClientCertPath != nil {
		in, out := &in.TlsClientCertPath, &out.TlsClientCertPath
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.TlsClientPrivateKeyPath != nil {
		in, out := &in.TlsClientPrivateKeyPath, &out.TlsClientPrivateKeyPath
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.TlsClientPrivateKeyPassphrase != nil {
		in, out := &in.TlsClientPrivateKeyPassphrase, &out.TlsClientPrivateKeyPassphrase
		*out = new(secret.Secret)
		(*in).DeepCopyInto(*out)
	}
	if in.Security != nil {
		in, out := &in.Security, &out.Security
		*out = new(common.Security)
		**out = **in
	}
	if in.Buffer != nil {
		in, out := &in.Buffer, &out.Buffer
		*out = new(Buffer)
		(*in).DeepCopyInto(*out)
	}
}