func (in *MinioStatus) DeepCopy() *MinioStatus {
	if in == nil {
		return nil
	}
	out := new(MinioStatus)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MinioStatus.
package v1alpha1
import (
	"k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/runtime"
)
func (in *AppInfo) DeepCopyInto(out *AppInfo) {
	*out = *in
	if in.Deployments != nil {
		in, out := &in.Deployments, &out.Deployments
		*out = make([]DeploymentInfo, len(*in))
		copy(*out, *in)
	}
}
func (in *AppInfo) DeepCopy() *AppInfo {
	if in == nil {
		return nil
	}
	out := new(AppInfo)
	in.DeepCopyInto(out)
	return out
}
func (in *AppResourceStatus) DeepCopyInto(out *AppResourceStatus) {
	*out = *in
}
func (in *AppResourceStatus) DeepCopy() *AppResourceStatus {
	if in == nil {
		return nil
	}
	out := new(AppResourceStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdApp) DeepCopyInto(out *ClowdApp) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ClowdApp) DeepCopy() *ClowdApp {
	if in == nil {
		return nil
	}
	out := new(ClowdApp)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdApp) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClowdAppList) DeepCopyInto(out *ClowdAppList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClowdApp, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClowdAppList) DeepCopy() *ClowdAppList {
	if in == nil {
		return nil
	}
	out := new(ClowdAppList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdAppList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClowdAppSpec) DeepCopyInto(out *ClowdAppSpec) {
	*out = *in
	if in.Deployments != nil {
		in, out := &in.Deployments, &out.Deployments
		*out = make([]Deployment, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Jobs != nil {
		in, out := &in.Jobs, &out.Jobs
		*out = make([]Job, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.KafkaTopics != nil {
		in, out := &in.KafkaTopics, &out.KafkaTopics
		*out = make([]KafkaTopicSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Database.DeepCopyInto(&out.Database)
	if in.ObjectStore != nil {
		in, out := &in.ObjectStore, &out.ObjectStore
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Dependencies != nil {
		in, out := &in.Dependencies, &out.Dependencies
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.OptionalDependencies != nil {
		in, out := &in.OptionalDependencies, &out.OptionalDependencies
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	out.Testing = in.Testing
	out.Cyndi = in.Cyndi
}
func (in *ClowdAppSpec) DeepCopy() *ClowdAppSpec {
	if in == nil {
		return nil
	}
	out := new(ClowdAppSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdAppStatus) DeepCopyInto(out *ClowdAppStatus) {
	*out = *in
	out.Deployments = in.Deployments
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClowdCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClowdAppStatus) DeepCopy() *ClowdAppStatus {
	if in == nil {
		return nil
	}
	out := new(ClowdAppStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdCondition) DeepCopyInto(out *ClowdCondition) {
	*out = *in
	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
}
func (in *ClowdCondition) DeepCopy() *ClowdCondition {
	if in == nil {
		return nil
	}
	out := new(ClowdCondition)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdEnvironment) DeepCopyInto(out *ClowdEnvironment) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ClowdEnvironment) DeepCopy() *ClowdEnvironment {
	if in == nil {
		return nil
	}
	out := new(ClowdEnvironment)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdEnvironment) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClowdEnvironmentList) DeepCopyInto(out *ClowdEnvironmentList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClowdEnvironment, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClowdEnvironmentList) DeepCopy() *ClowdEnvironmentList {
	if in == nil {
		return nil
	}
	out := new(ClowdEnvironmentList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdEnvironmentList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClowdEnvironmentSpec) DeepCopyInto(out *ClowdEnvironmentSpec) {
	*out = *in
	in.Providers.DeepCopyInto(&out.Providers)
	in.ResourceDefaults.DeepCopyInto(&out.ResourceDefaults)
	out.ServiceConfig = in.ServiceConfig
}
func (in *ClowdEnvironmentSpec) DeepCopy() *ClowdEnvironmentSpec {
	if in == nil {
		return nil
	}
	out := new(ClowdEnvironmentSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdEnvironmentStatus) DeepCopyInto(out *ClowdEnvironmentStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClowdCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.Deployments = in.Deployments
	if in.Apps != nil {
		in, out := &in.Apps, &out.Apps
		*out = make([]AppInfo, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.Prometheus = in.Prometheus
}
func (in *ClowdEnvironmentStatus) DeepCopy() *ClowdEnvironmentStatus {
	if in == nil {
		return nil
	}
	out := new(ClowdEnvironmentStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdJobInvocation) DeepCopyInto(out *ClowdJobInvocation) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ClowdJobInvocation) DeepCopy() *ClowdJobInvocation {
	if in == nil {
		return nil
	}
	out := new(ClowdJobInvocation)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdJobInvocation) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClowdJobInvocationList) DeepCopyInto(out *ClowdJobInvocationList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClowdJobInvocation, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClowdJobInvocationList) DeepCopy() *ClowdJobInvocationList {
	if in == nil {
		return nil
	}
	out := new(ClowdJobInvocationList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdJobInvocationList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClowdJobInvocationSpec) DeepCopyInto(out *ClowdJobInvocationSpec) {
	*out = *in
	if in.Jobs != nil {
		in, out := &in.Jobs, &out.Jobs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.Testing.DeepCopyInto(&out.Testing)
}
func (in *ClowdJobInvocationSpec) DeepCopy() *ClowdJobInvocationSpec {
	if in == nil {
		return nil
	}
	out := new(ClowdJobInvocationSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ClowdJobInvocationStatus) DeepCopyInto(out *ClowdJobInvocationStatus) {
	*out = *in
	if in.Jobs != nil {
		in, out := &in.Jobs, &out.Jobs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.JobMap != nil {
		in, out := &in.JobMap, &out.JobMap
		*out = make(map[string]JobConditionState, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClowdCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClowdJobInvocationStatus) DeepCopy() *ClowdJobInvocationStatus {
	if in == nil {
		return nil
	}
	out := new(ClowdJobInvocationStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *CyndiSpec) DeepCopyInto(out *CyndiSpec) {
	*out = *in
}
func (in *CyndiSpec) DeepCopy() *CyndiSpec {
	if in == nil {
		return nil
	}
	out := new(CyndiSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *DatabaseConfig) DeepCopyInto(out *DatabaseConfig) {
	*out = *in
}
func (in *DatabaseConfig) DeepCopy() *DatabaseConfig {
	if in == nil {
		return nil
	}
	out := new(DatabaseConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec) {
	*out = *in
	if in.Version != nil {
		in, out := &in.Version, &out.Version
		*out = new(int32)
		**out = **in
	}
}
func (in *DatabaseSpec) DeepCopy() *DatabaseSpec {
	if in == nil {
		return nil
	}
	out := new(DatabaseSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Deployment) DeepCopyInto(out *Deployment) {
	*out = *in
	if in.MinReplicas != nil {
		in, out := &in.MinReplicas, &out.MinReplicas
		*out = new(int32)
		**out = **in
	}
	in.WebServices.DeepCopyInto(&out.WebServices)
	in.PodSpec.DeepCopyInto(&out.PodSpec)
}
func (in *Deployment) DeepCopy() *Deployment {
	if in == nil {
		return nil
	}
	out := new(Deployment)
	in.DeepCopyInto(out)
	return out
}
func (in *DeploymentInfo) DeepCopyInto(out *DeploymentInfo) {
	*out = *in
}
func (in *DeploymentInfo) DeepCopy() *DeploymentInfo {
	if in == nil {
		return nil
	}
	out := new(DeploymentInfo)
	in.DeepCopyInto(out)
	return out
}
func (in *EnvResourceStatus) DeepCopyInto(out *EnvResourceStatus) {
	*out = *in
}
func (in *EnvResourceStatus) DeepCopy() *EnvResourceStatus {
	if in == nil {
		return nil
	}
	out := new(EnvResourceStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *FeatureFlagsConfig) DeepCopyInto(out *FeatureFlagsConfig) {
	*out = *in
	out.CredentialRef = in.CredentialRef
}
func (in *FeatureFlagsConfig) DeepCopy() *FeatureFlagsConfig {
	if in == nil {
		return nil
	}
	out := new(FeatureFlagsConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *InMemoryDBConfig) DeepCopyInto(out *InMemoryDBConfig) {
	*out = *in
}
func (in *InMemoryDBConfig) DeepCopy() *InMemoryDBConfig {
	if in == nil {
		return nil
	}
	out := new(InMemoryDBConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *InitContainer) DeepCopyInto(out *InitContainer) {
	*out = *in
	if in.Command != nil {
		in, out := &in.Command, &out.Command
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *InitContainer) DeepCopy() *InitContainer {
	if in == nil {
		return nil
	}
	out := new(InitContainer)
	in.DeepCopyInto(out)
	return out
}
func (in *IqeConfig) DeepCopyInto(out *IqeConfig) {
	*out = *in
	in.Resources.DeepCopyInto(&out.Resources)
	out.VaultSecretRef = in.VaultSecretRef
}
func (in *IqeConfig) DeepCopy() *IqeConfig {
	if in == nil {
		return nil
	}
	out := new(IqeConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *IqeJobSpec) DeepCopyInto(out *IqeJobSpec) {
	*out = *in
	out.UI = in.UI
	if in.Requirements != nil {
		in, out := &in.Requirements, &out.Requirements
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
	if in.RequirementsPriority != nil {
		in, out := &in.RequirementsPriority, &out.RequirementsPriority
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
	if in.TestImportance != nil {
		in, out := &in.TestImportance, &out.TestImportance
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
}
func (in *IqeJobSpec) DeepCopy() *IqeJobSpec {
	if in == nil {
		return nil
	}
	out := new(IqeJobSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Job) DeepCopyInto(out *Job) {
	*out = *in
	in.PodSpec.DeepCopyInto(&out.PodSpec)
	if in.Suspend != nil {
		in, out := &in.Suspend, &out.Suspend
		*out = new(bool)
		**out = **in
	}
	if in.SuccessfulJobsHistoryLimit != nil {
		in, out := &in.SuccessfulJobsHistoryLimit, &out.SuccessfulJobsHistoryLimit
		*out = new(int32)
		**out = **in
	}
	if in.FailedJobsHistoryLimit != nil {
		in, out := &in.FailedJobsHistoryLimit, &out.FailedJobsHistoryLimit
		*out = new(int32)
		**out = **in
	}
	if in.StartingDeadlineSeconds != nil {
		in, out := &in.StartingDeadlineSeconds, &out.StartingDeadlineSeconds
		*out = new(int64)
		**out = **in
	}
}
func (in *Job) DeepCopy() *Job {
	if in == nil {
		return nil
	}
	out := new(Job)
	in.DeepCopyInto(out)
	return out
}
func (in *JobTestingSpec) DeepCopyInto(out *JobTestingSpec) {
	*out = *in
	in.Iqe.DeepCopyInto(&out.Iqe)
}
func (in *JobTestingSpec) DeepCopy() *JobTestingSpec {
	if in == nil {
		return nil
	}
	out := new(JobTestingSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *KafkaClusterConfig) DeepCopyInto(out *KafkaClusterConfig) {
	*out = *in
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(map[string]string)
		if **in != nil {
			in, out := *in, *out
			*out = make(map[string]string, len(*in))
			for key, val := range *in {
				(*out)[key] = val
			}
		}
	}
	in.JVMOptions.DeepCopyInto(&out.JVMOptions)
	in.Resources.DeepCopyInto(&out.Resources)
}
func (in *KafkaClusterConfig) DeepCopy() *KafkaClusterConfig {
	if in == nil {
		return nil
	}
	out := new(KafkaClusterConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *KafkaConfig) DeepCopyInto(out *KafkaConfig) {
	*out = *in
	in.Cluster.DeepCopyInto(&out.Cluster)
	out.Connect = in.Connect
	out.ManagedSecretRef = in.ManagedSecretRef
}
func (in *KafkaConfig) DeepCopy() *KafkaConfig {
	if in == nil {
		return nil
	}
	out := new(KafkaConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *KafkaConnectClusterConfig) DeepCopyInto(out *KafkaConnectClusterConfig) {
	*out = *in
}
func (in *KafkaConnectClusterConfig) DeepCopy() *KafkaConnectClusterConfig {
	if in == nil {
		return nil
	}
	out := new(KafkaConnectClusterConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *KafkaTopicSpec) DeepCopyInto(out *KafkaTopicSpec) {
	*out = *in
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}
func (in *KafkaTopicSpec) DeepCopy() *KafkaTopicSpec {
	if in == nil {
		return nil
	}
	out := new(KafkaTopicSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig) {
	*out = *in
}
func (in *LoggingConfig) DeepCopy() *LoggingConfig {
	if in == nil {
		return nil
	}
	out := new(LoggingConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricsConfig) DeepCopyInto(out *MetricsConfig) {
	*out = *in
	out.Prometheus = in.Prometheus
}
func (in *MetricsConfig) DeepCopy() *MetricsConfig {
	if in == nil {
		return nil
	}
	out := new(MetricsConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *MetricsWebService) DeepCopyInto(out *MetricsWebService) {
	*out = *in
}
func (in *MetricsWebService) DeepCopy() *MetricsWebService {
	if in == nil {
		return nil
	}
	out := new(MetricsWebService)
	in.DeepCopyInto(out)
	return out
}
func (in *MinioStatus) DeepCopyInto(out *MinioStatus) {
	*out = *in
	out.Credentials = in.Credentials
}