//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.

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 v1

import ()

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AlgorithmSpecification) DeepCopyInto(out *AlgorithmSpecification) {
	*out = *in
	if in.AlgorithmName != nil {
		in, out := &in.AlgorithmName, &out.AlgorithmName
		*out = new(string)
		**out = **in
	}
	if in.MetricDefinitions != nil {
		in, out := &in.MetricDefinitions, &out.MetricDefinitions
		*out = make([]MetricDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.TrainingImage != nil {
		in, out := &in.TrainingImage, &out.TrainingImage
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Channel) DeepCopyInto(out *Channel) {
	*out = *in
	if in.ChannelName != nil {
		in, out := &in.ChannelName, &out.ChannelName
		*out = new(string)
		**out = **in
	}
	if in.ContentType != nil {
		in, out := &in.ContentType, &out.ContentType
		*out = new(string)
		**out = **in
	}
	if in.DataSource != nil {
		in, out := &in.DataSource, &out.DataSource
		*out = new(DataSource)
		(*in).DeepCopyInto(*out)
	}
	if in.ShuffleConfig != nil {
		in, out := &in.ShuffleConfig, &out.ShuffleConfig
		*out = new(ShuffleConfig)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CollectionConfiguration) DeepCopyInto(out *CollectionConfiguration) {
	*out = *in
	if in.CollectionName != nil {
		in, out := &in.CollectionName, &out.CollectionName
		*out = new(string)
		**out = **in
	}
	if in.CollectionParameters != nil {
		in, out := &in.CollectionParameters, &out.CollectionParameters
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ContainerDefinition) DeepCopyInto(out *ContainerDefinition) {
	*out = *in
	if in.ContainerHostname != nil {
		in, out := &in.ContainerHostname, &out.ContainerHostname
		*out = new(string)
		**out = **in
	}
	if in.Environment != nil {
		in, out := &in.Environment, &out.Environment
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(string)
		**out = **in
	}
	if in.ModelDataUrl != nil {
		in, out := &in.ModelDataUrl, &out.ModelDataUrl
		*out = new(string)
		**out = **in
	}
	if in.Mode != nil {
		in, out := &in.Mode, &out.Mode
		*out = new(string)
		**out = **in
	}
	if in.ModelPackageName != nil {
		in, out := &in.ModelPackageName, &out.ModelPackageName
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CustomizedMetricSpecification) DeepCopyInto(out *CustomizedMetricSpecification) {
	*out = *in
	if in.MetricName != nil {
		in, out := &in.MetricName, &out.MetricName
		*out = new(string)
		**out = **in
	}
	if in.Namespace != nil {
		in, out := &in.Namespace, &out.Namespace
		*out = new(string)
		**out = **in
	}
	if in.Statistic != nil {
		in, out := &in.Statistic, &out.Statistic
		*out = new(string)
		**out = **in
	}
	if in.Unit != nil {
		in, out := &in.Unit, &out.Unit
		*out = new(string)
		**out = **in
	}
	if in.Dimensions != nil {
		in, out := &in.Dimensions, &out.Dimensions
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DebugHookConfig) DeepCopyInto(out *DebugHookConfig) {
	*out = *in
	if in.LocalPath != nil {
		in, out := &in.LocalPath, &out.LocalPath
		*out = new(string)
		**out = **in
	}
	if in.S3OutputPath != nil {
		in, out := &in.S3OutputPath, &out.S3OutputPath
		*out = new(string)
		**out = **in
	}
	if in.HookParameters != nil {
		in, out := &in.HookParameters, &out.HookParameters
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
	if in.CollectionConfigurations != nil {
		in, out := &in.CollectionConfigurations, &out.CollectionConfigurations
		*out = make([]*CollectionConfiguration, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(CollectionConfiguration)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DebugRuleConfiguration) DeepCopyInto(out *DebugRuleConfiguration) {
	*out = *in
	if in.RuleConfigurationName != nil {
		in, out := &in.RuleConfigurationName, &out.RuleConfigurationName
		*out = new(string)
		**out = **in
	}
	if in.LocalPath != nil {
		in, out := &in.LocalPath, &out.LocalPath
		*out = new(string)
		**out = **in
	}
	if in.S3OutputPath != nil {
		in, out := &in.S3OutputPath, &out.S3OutputPath
		*out = new(string)
		**out = **in
	}
	if in.RuleEvaluatorImage != nil {
		in, out := &in.RuleEvaluatorImage, &out.RuleEvaluatorImage
		*out = new(string)
		**out = **in
	}
	if in.VolumeSizeInGB != nil {
		in, out := &in.VolumeSizeInGB, &out.VolumeSizeInGB
		*out = new(int64)
		**out = **in
	}
	if in.RuleParameters != nil {
		in, out := &in.RuleParameters, &out.RuleParameters
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DebugRuleEvaluationStatus) DeepCopyInto(out *DebugRuleEvaluationStatus) {
	*out = *in
	if in.LastModifiedTime != nil {
		in, out := &in.LastModifiedTime, &out.LastModifiedTime
		*out = (*in).DeepCopy()
	}
	if in.RuleConfigurationName != nil {
		in, out := &in.RuleConfigurationName, &out.RuleConfigurationName
		*out = new(string)
		**out = **in
	}
	if in.RuleEvaluationJobArn != nil {
		in, out := &in.RuleEvaluationJobArn, &out.RuleEvaluationJobArn
		*out = new(string)
		**out = **in
	}
	if in.RuleEvaluationStatus != nil {
		in, out := &in.RuleEvaluationStatus, &out.RuleEvaluationStatus
		*out = new(string)
		**out = **in
	}
	if in.StatusDetail != nil {
		in, out := &in.StatusDetail, &out.StatusDetail
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DeployedImage) DeepCopyInto(out *DeployedImage) {
	*out = *in
	if in.ResolutionTime != nil {
		in, out := &in.ResolutionTime, &out.ResolutionTime
		*out = (*in).DeepCopy()
	}
	if in.ResolvedImage != nil {
		in, out := &in.ResolvedImage, &out.ResolvedImage
		*out = new(string)
		**out = **in
	}
	if in.SpecifiedImage != nil {
		in, out := &in.SpecifiedImage, &out.SpecifiedImage
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FileSystemDataSource) DeepCopyInto(out *FileSystemDataSource) {
	*out = *in
	if in.DirectoryPath != nil {
		in, out := &in.DirectoryPath, &out.DirectoryPath
		*out = new(string)
		**out = **in
	}
	if in.FileSystemAccessMode != nil {
		in, out := &in.FileSystemAccessMode, &out.FileSystemAccessMode
		*out = new(string)
		**out = **in
	}
	if in.FileSystemId != nil {
		in, out := &in.FileSystemId, &out.FileSystemId
		*out = new(string)
		**out = **in
	}
	if in.FileSystemType != nil {
		in, out := &in.FileSystemType, &out.FileSystemType
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HyperParameterAlgorithmSpecification) DeepCopyInto(out *HyperParameterAlgorithmSpecification) {
	*out = *in
	if in.AlgorithmName != nil {
		in, out := &in.AlgorithmName, &out.AlgorithmName
		*out = new(string)
		**out = **in
	}
	if in.MetricDefinitions != nil {
		in, out := &in.MetricDefinitions, &out.MetricDefinitions
		*out = make([]MetricDefinition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.TrainingImage != nil {
		in, out := &in.TrainingImage, &out.TrainingImage
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HyperParameterTrainingJobDefinition) DeepCopyInto(out *HyperParameterTrainingJobDefinition) {
	*out = *in
	if in.AlgorithmSpecification != nil {
		in, out := &in.AlgorithmSpecification, &out.AlgorithmSpecification
		*out = new(HyperParameterAlgorithmSpecification)
		(*in).DeepCopyInto(*out)
	}
	if in.EnableInterContainerTrafficEncryption != nil {
		in, out := &in.EnableInterContainerTrafficEncryption, &out.EnableInterContainerTrafficEncryption
		*out = new(bool)
		**out = **in
	}
	if in.EnableNetworkIsolation != nil {
		in, out := &in.EnableNetworkIsolation, &out.EnableNetworkIsolation
		*out = new(bool)
		**out = **in
	}
	if in.EnableManagedSpotTraining != nil {
		in, out := &in.EnableManagedSpotTraining, &out.EnableManagedSpotTraining
		*out = new(bool)
		**out = **in
	}
	if in.InputDataConfig != nil {
		in, out := &in.InputDataConfig, &out.InputDataConfig
		*out = make([]Channel, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OutputDataConfig != nil {
		in, out := &in.OutputDataConfig, &out.OutputDataConfig
		*out = new(OutputDataConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.CheckpointConfig != nil {
		in, out := &in.CheckpointConfig, &out.CheckpointConfig
		*out = new(CheckpointConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.ResourceConfig != nil {
		in, out := &in.ResourceConfig, &out.ResourceConfig
		*out = new(ResourceConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.RoleArn != nil {
		in, out := &in.RoleArn, &out.RoleArn
		*out = new(string)
		**out = **in
	}
	if in.StaticHyperParameters != nil {
		in, out := &in.StaticHyperParameters, &out.StaticHyperParameters
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
	if in.StoppingCondition != nil {
		in, out := &in.StoppingCondition, &out.StoppingCondition
		*out = new(StoppingCondition)
		(*in).DeepCopyInto(*out)
	}
	if in.VpcConfig != nil {
		in, out := &in.VpcConfig, &out.VpcConfig
		*out = new(VpcConfig)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HyperParameterTrainingJobSummary) DeepCopyInto(out *HyperParameterTrainingJobSummary) {
	*out = *in
	if in.CreationTime != nil {
		in, out := &in.CreationTime, &out.CreationTime
		*out = (*in).DeepCopy()
	}
	if in.FailureReason != nil {
		in, out := &in.FailureReason, &out.FailureReason
		*out = new(string)
		**out = **in
	}
	if in.FinalHyperParameterTuningJobObjectiveMetric != nil {
		in, out := &in.FinalHyperParameterTuningJobObjectiveMetric, &out.FinalHyperParameterTuningJobObjectiveMetric
		*out = new(FinalHyperParameterTuningJobObjectiveMetric)
		(*in).DeepCopyInto(*out)
	}
	if in.TrainingEndTime != nil {
		in, out := &in.TrainingEndTime, &out.TrainingEndTime
		*out = (*in).DeepCopy()
	}
	if in.TrainingJobArn != nil {
		in, out := &in.TrainingJobArn, &out.TrainingJobArn
		*out = new(string)
		**out = **in
	}
	if in.TrainingJobName != nil {
		in, out := &in.TrainingJobName, &out.TrainingJobName
		*out = new(string)
		**out = **in
	}
	if in.TrainingStartTime != nil {
		in, out := &in.TrainingStartTime, &out.TrainingStartTime
		*out = (*in).DeepCopy()
	}
	if in.TunedHyperParameters != nil {
		in, out := &in.TunedHyperParameters, &out.TunedHyperParameters
		*out = make([]*KeyValuePair, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(KeyValuePair)
				**out = **in
			}
		}
	}
	if in.TuningJobName != nil {
		in, out := &in.TuningJobName, &out.TuningJobName
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Model) DeepCopyInto(out *Model) {
	*out = *in
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Containers != nil {
		in, out := &in.Containers, &out.Containers
		*out = make([]*ContainerDefinition, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ContainerDefinition)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.PrimaryContainer != nil {
		in, out := &in.PrimaryContainer, &out.PrimaryContainer
		*out = new(string)
		**out = **in
	}
	if in.ExecutionRoleArn != nil {
		in, out := &in.ExecutionRoleArn, &out.ExecutionRoleArn
		*out = new(string)
		**out = **in
	}
	if in.EnableNetworkIsolation != nil {
		in, out := &in.EnableNetworkIsolation, &out.EnableNetworkIsolation
		*out = new(bool)
		**out = **in
	}
	if in.VpcConfig != nil {
		in, out := &in.VpcConfig, &out.VpcConfig
		*out = new(VpcConfig)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ParameterRanges) DeepCopyInto(out *ParameterRanges) {
	*out = *in
	if in.CategoricalParameterRanges != nil {
		in, out := &in.CategoricalParameterRanges, &out.CategoricalParameterRanges
		*out = make([]CategoricalParameterRange, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ContinuousParameterRanges != nil {
		in, out := &in.ContinuousParameterRanges, &out.ContinuousParameterRanges
		*out = make([]ContinuousParameterRange, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.IntegerParameterRanges != nil {
		in, out := &in.IntegerParameterRanges, &out.IntegerParameterRanges
		*out = make([]IntegerParameterRange, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProductionVariant) DeepCopyInto(out *ProductionVariant) {
	*out = *in
	if in.AcceleratorType != nil {
		in, out := &in.AcceleratorType, &out.AcceleratorType
		*out = new(string)
		**out = **in
	}
	if in.InitialInstanceCount != nil {
		in, out := &in.InitialInstanceCount, &out.InitialInstanceCount
		*out = new(int64)
		**out = **in
	}
	if in.InitialVariantWeight != nil {
		in, out := &in.InitialVariantWeight, &out.InitialVariantWeight
		*out = new(int64)
		**out = **in
	}
	if in.ModelName != nil {
		in, out := &in.ModelName, &out.ModelName
		*out = new(string)
		**out = **in
	}
	if in.VariantName != nil {
		in, out := &in.VariantName, &out.VariantName
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProductionVariantSummary) DeepCopyInto(out *ProductionVariantSummary) {
	*out = *in
	if in.CurrentInstanceCount != nil {
		in, out := &in.CurrentInstanceCount, &out.CurrentInstanceCount
		*out = new(int64)
		**out = **in
	}
	if in.CurrentWeight != nil {
		in, out := &in.CurrentWeight, &out.CurrentWeight
		*out = new(int64)
		**out = **in
	}
	if in.DeployedImages != nil {
		in, out := &in.DeployedImages, &out.DeployedImages
		*out = make([]DeployedImage, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.DesiredInstanceCount != nil {
		in, out := &in.DesiredInstanceCount, &out.DesiredInstanceCount
		*out = new(int64)
		**out = **in
	}
	if in.DesiredWeight != nil {
		in, out := &in.DesiredWeight, &out.DesiredWeight
		*out = new(int64)
		**out = **in
	}
	if in.VariantName != nil {
		in, out := &in.VariantName, &out.VariantName
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceConfig) DeepCopyInto(out *ResourceConfig) {
	*out = *in
	if in.InstanceCount != nil {
		in, out := &in.InstanceCount, &out.InstanceCount
		*out = new(int64)
		**out = **in
	}
	if in.VolumeKmsKeyId != nil {
		in, out := &in.VolumeKmsKeyId, &out.VolumeKmsKeyId
		*out = new(string)
		**out = **in
	}
	if in.VolumeSizeInGB != nil {
		in, out := &in.VolumeSizeInGB, &out.VolumeSizeInGB
		*out = new(int64)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TargetTrackingScalingPolicyConfig) DeepCopyInto(out *TargetTrackingScalingPolicyConfig) {
	*out = *in
	if in.TargetValue != nil {
		in, out := &in.TargetValue, &out.TargetValue
		*out = new(int64)
		**out = **in
	}
	if in.ScaleInCooldown != nil {
		in, out := &in.ScaleInCooldown, &out.ScaleInCooldown
		*out = new(int64)
		**out = **in
	}
	if in.ScaleOutCooldown != nil {
		in, out := &in.ScaleOutCooldown, &out.ScaleOutCooldown
		*out = new(int64)
		**out = **in
	}
	if in.DisableScaleIn != nil {
		in, out := &in.DisableScaleIn, &out.DisableScaleIn
		*out = new(bool)
		**out = **in
	}
	if in.PredefinedMetricSpecification != nil {
		in, out := &in.PredefinedMetricSpecification, &out.PredefinedMetricSpecification
		*out = new(PredefinedMetricSpecification)
		(*in).DeepCopyInto(*out)
	}
	if in.CustomizedMetricSpecification != nil {
		in, out := &in.CustomizedMetricSpecification, &out.CustomizedMetricSpecification
		*out = new(CustomizedMetricSpecification)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrainingJobStatusCounters) DeepCopyInto(out *TrainingJobStatusCounters) {
	*out = *in
	if in.Completed != nil {
		in, out := &in.Completed, &out.Completed
		*out = new(int64)
		**out = **in
	}
	if in.InProgress != nil {
		in, out := &in.InProgress, &out.InProgress
		*out = new(int64)
		**out = **in
	}
	if in.NonRetryableError != nil {
		in, out := &in.NonRetryableError, &out.NonRetryableError
		*out = new(int64)
		**out = **in
	}
	if in.RetryableError != nil {
		in, out := &in.RetryableError, &out.RetryableError
		*out = new(int64)
		**out = **in
	}
	if in.TotalError != nil {
		in, out := &in.TotalError, &out.TotalError
		*out = new(int64)
		**out = **in
	}
	if in.Stopped != nil {
		in, out := &in.Stopped, &out.Stopped
		*out = new(int64)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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