// +build !ignore_autogenerated

// Code generated by operator-sdk. DO NOT EDIT.

package v1alpha1

import (
	v1 "k8s.io/api/core/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 *Grafana) DeepCopyInto(out *Grafana) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaConfig) DeepCopyInto(out *GrafanaConfig) {
	*out = *in
	if in.Paths != nil {
		in, out := &in.Paths, &out.Paths
		*out = new(GrafanaConfigPaths)
		**out = **in
	}
	if in.Server != nil {
		in, out := &in.Server, &out.Server
		*out = new(GrafanaConfigServer)
		(*in).DeepCopyInto(*out)
	}
	if in.Database != nil {
		in, out := &in.Database, &out.Database
		*out = new(GrafanaConfigDatabase)
		(*in).DeepCopyInto(*out)
	}
	if in.RemoteCache != nil {
		in, out := &in.RemoteCache, &out.RemoteCache
		*out = new(GrafanaConfigRemoteCache)
		**out = **in
	}
	if in.Security != nil {
		in, out := &in.Security, &out.Security
		*out = new(GrafanaConfigSecurity)
		(*in).DeepCopyInto(*out)
	}
	if in.Users != nil {
		in, out := &in.Users, &out.Users
		*out = new(GrafanaConfigUsers)
		(*in).DeepCopyInto(*out)
	}
	if in.Auth != nil {
		in, out := &in.Auth, &out.Auth
		*out = new(GrafanaConfigAuth)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthBasic != nil {
		in, out := &in.AuthBasic, &out.AuthBasic
		*out = new(GrafanaConfigAuthBasic)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthAnonymous != nil {
		in, out := &in.AuthAnonymous, &out.AuthAnonymous
		*out = new(GrafanaConfigAuthAnonymous)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthGoogle != nil {
		in, out := &in.AuthGoogle, &out.AuthGoogle
		*out = new(GrafanaConfigAuthGoogle)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthGithub != nil {
		in, out := &in.AuthGithub, &out.AuthGithub
		*out = new(GrafanaConfigAuthGithub)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthGenericOauth != nil {
		in, out := &in.AuthGenericOauth, &out.AuthGenericOauth
		*out = new(GrafanaConfigAuthGenericOauth)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthLdap != nil {
		in, out := &in.AuthLdap, &out.AuthLdap
		*out = new(GrafanaConfigAuthLdap)
		(*in).DeepCopyInto(*out)
	}
	if in.AuthProxy != nil {
		in, out := &in.AuthProxy, &out.AuthProxy
		*out = new(GrafanaConfigAuthProxy)
		(*in).DeepCopyInto(*out)
	}
	if in.DataProxy != nil {
		in, out := &in.DataProxy, &out.DataProxy
		*out = new(GrafanaConfigDataProxy)
		(*in).DeepCopyInto(*out)
	}
	if in.Analytics != nil {
		in, out := &in.Analytics, &out.Analytics
		*out = new(GrafanaConfigAnalytics)
		(*in).DeepCopyInto(*out)
	}
	if in.Dashboards != nil {
		in, out := &in.Dashboards, &out.Dashboards
		*out = new(GrafanaConfigDashboards)
		(*in).DeepCopyInto(*out)
	}
	if in.Smtp != nil {
		in, out := &in.Smtp, &out.Smtp
		*out = new(GrafanaConfigSmtp)
		(*in).DeepCopyInto(*out)
	}
	if in.Log != nil {
		in, out := &in.Log, &out.Log
		*out = new(GrafanaConfigLog)
		**out = **in
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(GrafanaConfigMetrics)
		(*in).DeepCopyInto(*out)
	}
	if in.MetricsGraphite != nil {
		in, out := &in.MetricsGraphite, &out.MetricsGraphite
		*out = new(GrafanaConfigMetricsGraphite)
		**out = **in
	}
	if in.Snapshots != nil {
		in, out := &in.Snapshots, &out.Snapshots
		*out = new(GrafanaConfigSnapshots)
		(*in).DeepCopyInto(*out)
	}
	if in.ExternalImageStorage != nil {
		in, out := &in.ExternalImageStorage, &out.ExternalImageStorage
		*out = new(GrafanaConfigExternalImageStorage)
		**out = **in
	}
	if in.ExternalImageStorageS3 != nil {
		in, out := &in.ExternalImageStorageS3, &out.ExternalImageStorageS3
		*out = new(GrafanaConfigExternalImageStorageS3)
		**out = **in
	}
	if in.ExternalImageStorageWebdav != nil {
		in, out := &in.ExternalImageStorageWebdav, &out.ExternalImageStorageWebdav
		*out = new(GrafanaConfigExternalImageStorageWebdav)
		**out = **in
	}
	if in.ExternalImageStorageGcs != nil {
		in, out := &in.ExternalImageStorageGcs, &out.ExternalImageStorageGcs
		*out = new(GrafanaConfigExternalImageStorageGcs)
		**out = **in
	}
	if in.ExternalImageStorageAzureBlob != nil {
		in, out := &in.ExternalImageStorageAzureBlob, &out.ExternalImageStorageAzureBlob
		*out = new(GrafanaConfigExternalImageStorageAzureBlob)
		**out = **in
	}
	if in.Alerting != nil {
		in, out := &in.Alerting, &out.Alerting
		*out = new(GrafanaConfigAlerting)
		(*in).DeepCopyInto(*out)
	}
	if in.Panels != nil {
		in, out := &in.Panels, &out.Panels
		*out = new(GrafanaConfigPanels)
		(*in).DeepCopyInto(*out)
	}
	if in.Plugins != nil {
		in, out := &in.Plugins, &out.Plugins
		*out = new(GrafanaConfigPlugins)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaConfigAlerting) DeepCopyInto(out *GrafanaConfigAlerting) {
	*out = *in
	if in.Enabled != nil {
		in, out := &in.Enabled, &out.Enabled
		*out = new(bool)
		**out = **in
	}
	if in.ExecuteAlerts != nil {
		in, out := &in.ExecuteAlerts, &out.ExecuteAlerts
		*out = new(bool)
		**out = **in
	}
	if in.ConcurrentRenderLimit != nil {
		in, out := &in.ConcurrentRenderLimit, &out.ConcurrentRenderLimit
		*out = new(int)
		**out = **in
	}
	if in.EvaluationTimeoutSeconds != nil {
		in, out := &in.EvaluationTimeoutSeconds, &out.EvaluationTimeoutSeconds
		*out = new(int)
		**out = **in
	}
	if in.NotificationTimeoutSeconds != nil {
		in, out := &in.NotificationTimeoutSeconds, &out.NotificationTimeoutSeconds
		*out = new(int)
		**out = **in
	}
	if in.MaxAttempts != nil {
		in, out := &in.MaxAttempts, &out.MaxAttempts
		*out = new(int)
		**out = **in
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaConfigAuth) DeepCopyInto(out *GrafanaConfigAuth) {
	*out = *in
	if in.LoginMaximumInactiveLifetimeDays != nil {
		in, out := &in.LoginMaximumInactiveLifetimeDays, &out.LoginMaximumInactiveLifetimeDays
		*out = new(int)
		**out = **in
	}
	if in.LoginMaximumLifetimeDays != nil {
		in, out := &in.LoginMaximumLifetimeDays, &out.LoginMaximumLifetimeDays
		*out = new(int)
		**out = **in
	}
	if in.TokenRotationIntervalMinutes != nil {
		in, out := &in.TokenRotationIntervalMinutes, &out.TokenRotationIntervalMinutes
		*out = new(int)
		**out = **in
	}
	if in.DisableLoginForm != nil {
		in, out := &in.DisableLoginForm, &out.DisableLoginForm
		*out = new(bool)
		**out = **in
	}
	if in.DisableSignoutMenu != nil {
		in, out := &in.DisableSignoutMenu, &out.DisableSignoutMenu
		*out = new(bool)
		**out = **in
	}
	if in.OauthAutoLogin != nil {
		in, out := &in.OauthAutoLogin, &out.OauthAutoLogin
		*out = new(bool)
		**out = **in
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaConfigDatabase) DeepCopyInto(out *GrafanaConfigDatabase) {
	*out = *in
	if in.MaxIdleConn != nil {
		in, out := &in.MaxIdleConn, &out.MaxIdleConn
		*out = new(int)
		**out = **in
	}
	if in.MaxOpenConn != nil {
		in, out := &in.MaxOpenConn, &out.MaxOpenConn
		*out = new(int)
		**out = **in
	}
	if in.ConnMaxLifetime != nil {
		in, out := &in.ConnMaxLifetime, &out.ConnMaxLifetime
		*out = new(int)
		**out = **in
	}
	if in.LogQueries != nil {
		in, out := &in.LogQueries, &out.LogQueries
		*out = new(bool)
		**out = **in
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaConfigSecurity) DeepCopyInto(out *GrafanaConfigSecurity) {
	*out = *in
	if in.LoginRememberDays != nil {
		in, out := &in.LoginRememberDays, &out.LoginRememberDays
		*out = new(int)
		**out = **in
	}
	if in.DisableGravatar != nil {
		in, out := &in.DisableGravatar, &out.DisableGravatar
		*out = new(bool)
		**out = **in
	}
	if in.CookieSecure != nil {
		in, out := &in.CookieSecure, &out.CookieSecure
		*out = new(bool)
		**out = **in
	}
	if in.AllowEmbedding != nil {
		in, out := &in.AllowEmbedding, &out.AllowEmbedding
		*out = new(bool)
		**out = **in
	}
	if in.StrictTransportSecurity != nil {
		in, out := &in.StrictTransportSecurity, &out.StrictTransportSecurity
		*out = new(bool)
		**out = **in
	}
	if in.StrictTransportSecurityMaxAgeSeconds != nil {
		in, out := &in.StrictTransportSecurityMaxAgeSeconds, &out.StrictTransportSecurityMaxAgeSeconds
		*out = new(int)
		**out = **in
	}
	if in.StrictTransportSecurityPreload != nil {
		in, out := &in.StrictTransportSecurityPreload, &out.StrictTransportSecurityPreload
		*out = new(bool)
		**out = **in
	}
	if in.StrictTransportSecuritySubdomains != nil {
		in, out := &in.StrictTransportSecuritySubdomains, &out.StrictTransportSecuritySubdomains
		*out = new(bool)
		**out = **in
	}
	if in.XContentTypeOptions != nil {
		in, out := &in.XContentTypeOptions, &out.XContentTypeOptions
		*out = new(bool)
		**out = **in
	}
	if in.XXssProtection != nil {
		in, out := &in.XXssProtection, &out.XXssProtection
		*out = new(bool)
		**out = **in
	}
	return
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaConfigUsers) DeepCopyInto(out *GrafanaConfigUsers) {
	*out = *in
	if in.AllowSignUp != nil {
		in, out := &in.AllowSignUp, &out.AllowSignUp
		*out = new(bool)
		**out = **in
	}
	if in.AllowOrgCreate != nil {
		in, out := &in.AllowOrgCreate, &out.AllowOrgCreate
		*out = new(bool)
		**out = **in
	}
	if in.AutoAssignOrg != nil {
		in, out := &in.AutoAssignOrg, &out.AutoAssignOrg
		*out = new(bool)
		**out = **in
	}
	if in.ViewersCanEdit != nil {
		in, out := &in.ViewersCanEdit, &out.ViewersCanEdit
		*out = new(bool)
		**out = **in
	}
	if in.EditorsCanAdmin != nil {
		in, out := &in.EditorsCanAdmin, &out.EditorsCanAdmin
		*out = new(bool)
		**out = **in
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaDeployment) DeepCopyInto(out *GrafanaDeployment) {
	*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.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaIngress) DeepCopyInto(out *GrafanaIngress) {
	*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.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaService) DeepCopyInto(out *GrafanaService) {
	*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.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.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]v1.ServicePort, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaServiceAccount) DeepCopyInto(out *GrafanaServiceAccount) {
	*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.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaSpec) DeepCopyInto(out *GrafanaSpec) {
	*out = *in
	in.Config.DeepCopyInto(&out.Config)
	if in.Containers != nil {
		in, out := &in.Containers, &out.Containers
		*out = make([]v1.Container, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.DashboardLabelSelector != nil {
		in, out := &in.DashboardLabelSelector, &out.DashboardLabelSelector
		*out = make([]*metav1.LabelSelector, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(metav1.LabelSelector)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Ingress != nil {
		in, out := &in.Ingress, &out.Ingress
		*out = new(GrafanaIngress)
		(*in).DeepCopyInto(*out)
	}
	if in.Secrets != nil {
		in, out := &in.Secrets, &out.Secrets
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ConfigMaps != nil {
		in, out := &in.ConfigMaps, &out.ConfigMaps
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Service != nil {
		in, out := &in.Service, &out.Service
		*out = new(GrafanaService)
		(*in).DeepCopyInto(*out)
	}
	if in.Deployment != nil {
		in, out := &in.Deployment, &out.Deployment
		*out = new(GrafanaDeployment)
		(*in).DeepCopyInto(*out)
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.ServiceAccount != nil {
		in, out := &in.ServiceAccount, &out.ServiceAccount
		*out = new(GrafanaServiceAccount)
		(*in).DeepCopyInto(*out)
	}
	if in.Client != nil {
		in, out := &in.Client, &out.Client
		*out = new(GrafanaClient)
		(*in).DeepCopyInto(*out)
	}
	if in.Compat != nil {
		in, out := &in.Compat, &out.Compat
		*out = new(GrafanaCompat)
		**out = **in
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GrafanaStatus) DeepCopyInto(out *GrafanaStatus) {
	*out = *in
	if in.InstalledDashboards != nil {
		in, out := &in.InstalledDashboards, &out.InstalledDashboards
		*out = make(map[string][]*GrafanaDashboardRef, len(*in))
		for key, val := range *in {
			var outVal []*GrafanaDashboardRef
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = make([]*GrafanaDashboardRef, len(*in))
				for i := range *in {
					if (*in)[i] != nil {
						in, out := &(*in)[i], &(*out)[i]
						*out = new(GrafanaDashboardRef)
						**out = **in
					}
				}
			}
			(*out)[key] = outVal
		}
	}
	if in.InstalledPlugins != nil {
		in, out := &in.InstalledPlugins, &out.InstalledPlugins
		*out = make(PluginList, len(*in))
		copy(*out, *in)
	}
	if in.FailedPlugins != nil {
		in, out := &in.FailedPlugins, &out.FailedPlugins
		*out = make(PluginList, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in PluginList) DeepCopyInto(out *PluginList) {
	{
		in := &in
		*out = make(PluginList, len(*in))
		copy(*out, *in)
		return
	}
}

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