package v1beta1

import (
	"k8s.io/api/core/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

func (in *AuthStatus) DeepCopyInto(out *AuthStatus) {
	*out = *in
	if in.GenerateOpensearchHash != nil {
		in, out := &in.GenerateOpensearchHash, &out.GenerateOpensearchHash
		*out = new(bool)
		**out = **in
	}
	if in.OpensearchAuthSecretKeyRef != nil {
		in, out := &in.OpensearchAuthSecretKeyRef, &out.OpensearchAuthSecretKeyRef
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
}

func (in *AuthStatus) DeepCopy() *AuthStatus {
	if in == nil {
		return nil
	}
	out := new(AuthStatus)
	in.DeepCopyInto(out)
	return out
}

func (in *Dashboards) DeepCopyInto(out *Dashboards) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

func (in *Dashboards) DeepCopy() *Dashboards {
	if in == nil {
		return nil
	}
	out := new(Dashboards)
	in.DeepCopyInto(out)
	return out
}

func (in *Dashboards) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

func (in *DashboardsList) DeepCopyInto(out *DashboardsList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Dashboards, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

func (in *DashboardsList) DeepCopy() *DashboardsList {
	if in == nil {
		return nil
	}
	out := new(DashboardsList)
	in.DeepCopyInto(out)
	return out
}

func (in *DashboardsList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

func (in *DashboardsSpec) DeepCopyInto(out *DashboardsSpec) {
	*out = *in
	if in.OpensearchCluster != nil {
		in, out := &in.OpensearchCluster, &out.OpensearchCluster
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.OpensearchConfig != nil {
		in, out := &in.OpensearchConfig, &out.OpensearchConfig
		*out = new(OpensearchConfigSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.DefaultRepo != nil {
		in, out := &in.DefaultRepo, &out.DefaultRepo
		*out = new(string)
		**out = **in
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(ImageSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(PersistenceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.TLSSecret != nil {
		in, out := &in.TLSSecret, &out.TLSSecret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
}

func (in *DashboardsSpec) DeepCopy() *DashboardsSpec {
	if in == nil {
		return nil
	}
	out := new(DashboardsSpec)
	in.DeepCopyInto(out)
	return out
}

func (in *DashboardsStatus) DeepCopyInto(out *DashboardsStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Version != nil {
		in, out := &in.Version, &out.Version
		*out = new(string)
		**out = **in
	}
}

func (in *DashboardsStatus) DeepCopy() *DashboardsStatus {
	if in == nil {
		return nil
	}
	out := new(DashboardsStatus)
	in.DeepCopyInto(out)
	return out
}

func (in *ImageResolver) DeepCopyInto(out *ImageResolver) {
	*out = *in
	if in.DefaultRepoOverride != nil {
		in, out := &in.DefaultRepoOverride, &out.DefaultRepoOverride
		*out = new(string)
		**out = **in
	}
	if in.ImageOverride != nil {
		in, out := &in.ImageOverride, &out.ImageOverride
		*out = new(ImageSpec)
		(*in).DeepCopyInto(*out)
	}
}

func (in *ImageResolver) DeepCopy() *ImageResolver {
	if in == nil {
		return nil
	}
	out := new(ImageResolver)
	in.DeepCopyInto(out)
	return out
}

func (in *ImageSpec) DeepCopyInto(out *ImageSpec) {
	*out = *in
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(string)
		**out = **in
	}
	if in.ImagePullPolicy != nil {
		in, out := &in.ImagePullPolicy, &out.ImagePullPolicy
		*out = new(v1.PullPolicy)
		**out = **in
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
}

func (in *ImageSpec) DeepCopy() *ImageSpec {
	if in == nil {
		return nil
	}
	out := new(ImageSpec)
	in.DeepCopyInto(out)
	return out
}

func (in *OpensearchCluster) DeepCopyInto(out *OpensearchCluster) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

func (in *OpensearchCluster) DeepCopy() *OpensearchCluster {
	if in == nil {
		return nil
	}
	out := new(OpensearchCluster)
	in.DeepCopyInto(out)
	return out
}

func (in *OpensearchCluster) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

func (in *OpensearchClusterList) DeepCopyInto(out *OpensearchClusterList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]OpensearchCluster, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

func (in *OpensearchClusterList) DeepCopy() *OpensearchClusterList {
	if in == nil {
		return nil
	}
	out := new(OpensearchClusterList)
	in.DeepCopyInto(out)
	return out
}

func (in *OpensearchClusterList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

func (in *OpensearchClusterSpec) DeepCopyInto(out *OpensearchClusterSpec) {
	*out = *in
	if in.DefaultRepo != nil {
		in, out := &in.DefaultRepo, &out.DefaultRepo
		*out = new(string)
		**out = **in
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(ImageSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ConfigSecret != nil {
		in, out := &in.ConfigSecret, &out.ConfigSecret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.AuthConfigSecret != nil {
		in, out := &in.AuthConfigSecret, &out.AuthConfigSecret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.AdminPasswordFrom != nil {
		in, out := &in.AdminPasswordFrom, &out.AdminPasswordFrom
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	in.Master.DeepCopyInto(&out.Master)
	in.Data.DeepCopyInto(&out.Data)
	in.Client.DeepCopyInto(&out.Client)
	if in.GlobalNodeSelector != nil {
		in, out := &in.GlobalNodeSelector, &out.GlobalNodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.GlobalTolerations != nil {
		in, out := &in.GlobalTolerations, &out.GlobalTolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

func (in *OpensearchClusterSpec) DeepCopy() *OpensearchClusterSpec {
	if in == nil {
		return nil
	}
	out := new(OpensearchClusterSpec)
	in.DeepCopyInto(out)
	return out
}

func (in *OpensearchClusterStatus) DeepCopyInto(out *OpensearchClusterStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Version != nil {
		in, out := &in.Version, &out.Version
		*out = new(string)
		**out = **in
	}
	in.Auth.DeepCopyInto(&out.Auth)
}

func (in *OpensearchClusterStatus) DeepCopy() *OpensearchClusterStatus {
	if in == nil {
		return nil
	}
	out := new(OpensearchClusterStatus)
	in.DeepCopyInto(out)
	return out
}

func (in *OpensearchConfigSpec) DeepCopyInto(out *OpensearchConfigSpec) {
	*out = *in
	if in.PasswordFrom != nil {
		in, out := &in.PasswordFrom, &out.PasswordFrom
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	if in.VerifySSL != nil {
		in, out := &in.VerifySSL, &out.VerifySSL
		*out = new(bool)
		**out = **in
	}
}

func (in *OpensearchConfigSpec) DeepCopy() *OpensearchConfigSpec {
	if in == nil {
		return nil
	}
	out := new(OpensearchConfigSpec)
	in.DeepCopyInto(out)
	return out
}

func (in *OpensearchWorkloadOptions) DeepCopyInto(out *OpensearchWorkloadOptions) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(PersistenceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtraEnvVars != nil {
		in, out := &in.ExtraEnvVars, &out.ExtraEnvVars
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

func (in *OpensearchWorkloadOptions) DeepCopy() *OpensearchWorkloadOptions {
	if in == nil {
		return nil
	}
	out := new(OpensearchWorkloadOptions)
	in.DeepCopyInto(out)
	return out
}

func (in *PersistenceSpec) DeepCopyInto(out *PersistenceSpec) {
	*out = *in
	if in.StorageClassName != nil {
		in, out := &in.StorageClassName, &out.StorageClassName
		*out = new(string)
		**out = **in
	}
	if in.AccessModes != nil {
		in, out := &in.AccessModes, &out.AccessModes
		*out = make([]v1.PersistentVolumeAccessMode, len(*in))
		copy(*out, *in)
	}
	out.Request = in.Request.DeepCopy()
}

func (in *PersistenceSpec) DeepCopy() *PersistenceSpec {
	if in == nil {
		return nil
	}
	out := new(PersistenceSpec)
	in.DeepCopyInto(out)
	return out
}
//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
Copyright 2021.

Licensed 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 (
	"k8s.io/api/core/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 *AuthStatus) DeepCopyInto(out *AuthStatus) {
	*out = *in
	if in.GenerateOpensearchHash != nil {
		in, out := &in.GenerateOpensearchHash, &out.GenerateOpensearchHash
		*out = new(bool)
		**out = **in
	}
	if in.OpensearchAuthSecretKeyRef != nil {
		in, out := &in.OpensearchAuthSecretKeyRef, &out.OpensearchAuthSecretKeyRef
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DashboardsList) 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 *DashboardsSpec) DeepCopyInto(out *DashboardsSpec) {
	*out = *in
	if in.OpensearchCluster != nil {
		in, out := &in.OpensearchCluster, &out.OpensearchCluster
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.OpensearchConfig != nil {
		in, out := &in.OpensearchConfig, &out.OpensearchConfig
		*out = new(OpensearchConfigSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.DefaultRepo != nil {
		in, out := &in.DefaultRepo, &out.DefaultRepo
		*out = new(string)
		**out = **in
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(ImageSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(PersistenceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.TLSSecret != nil {
		in, out := &in.TLSSecret, &out.TLSSecret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ImageSpec) DeepCopyInto(out *ImageSpec) {
	*out = *in
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(string)
		**out = **in
	}
	if in.ImagePullPolicy != nil {
		in, out := &in.ImagePullPolicy, &out.ImagePullPolicy
		*out = new(v1.PullPolicy)
		**out = **in
	}
	if in.ImagePullSecrets != nil {
		in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *OpensearchClusterList) 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 *OpensearchClusterSpec) DeepCopyInto(out *OpensearchClusterSpec) {
	*out = *in
	if in.DefaultRepo != nil {
		in, out := &in.DefaultRepo, &out.DefaultRepo
		*out = new(string)
		**out = **in
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(ImageSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ConfigSecret != nil {
		in, out := &in.ConfigSecret, &out.ConfigSecret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.AuthConfigSecret != nil {
		in, out := &in.AuthConfigSecret, &out.AuthConfigSecret
		*out = new(v1.LocalObjectReference)
		**out = **in
	}
	if in.AdminPasswordFrom != nil {
		in, out := &in.AdminPasswordFrom, &out.AdminPasswordFrom
		*out = new(v1.SecretKeySelector)
		(*in).DeepCopyInto(*out)
	}
	in.Master.DeepCopyInto(&out.Master)
	in.Data.DeepCopyInto(&out.Data)
	in.Client.DeepCopyInto(&out.Client)
	if in.GlobalNodeSelector != nil {
		in, out := &in.GlobalNodeSelector, &out.GlobalNodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.GlobalTolerations != nil {
		in, out := &in.GlobalTolerations, &out.GlobalTolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OpensearchWorkloadOptions) DeepCopyInto(out *OpensearchWorkloadOptions) {
	*out = *in
	if in.Replicas != nil {
		in, out := &in.Replicas, &out.Replicas
		*out = new(int32)
		**out = **in
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(v1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(PersistenceSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtraEnvVars != nil {
		in, out := &in.ExtraEnvVars, &out.ExtraEnvVars
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PersistenceSpec) DeepCopyInto(out *PersistenceSpec) {
	*out = *in
	if in.StorageClassName != nil {
		in, out := &in.StorageClassName, &out.StorageClassName
		*out = new(string)
		**out = **in
	}
	if in.AccessModes != nil {
		in, out := &in.AccessModes, &out.AccessModes
		*out = make([]v1.PersistentVolumeAccessMode, len(*in))
		copy(*out, *in)
	}
	out.Request = in.Request.DeepCopy()
}

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