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)
	}
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1
import ()
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
	}
}
func (in *AlgorithmSpecification) DeepCopy() *AlgorithmSpecification {
	if in == nil {
		return nil
	}
	out := new(AlgorithmSpecification)
	in.DeepCopyInto(out)
	return out
}
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)
	}
}
func (in *AppSpecification) DeepCopy() *AppSpecification {
	if in == nil {
		return nil
	}
	out := new(AppSpecification)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *AutoscalingResource) DeepCopy() *AutoscalingResource {
	if in == nil {
		return nil
	}
	out := new(AutoscalingResource)
	in.DeepCopyInto(out)
	return out
}
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)
	}
}
func (in *CategoricalParameterRange) DeepCopy() *CategoricalParameterRange {
	if in == nil {
		return nil
	}
	out := new(CategoricalParameterRange)
	in.DeepCopyInto(out)
	return out
}
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)
	}
}
func (in *Channel) DeepCopy() *Channel {
	if in == nil {
		return nil
	}
	out := new(Channel)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *CheckpointConfig) DeepCopy() *CheckpointConfig {
	if in == nil {
		return nil
	}
	out := new(CheckpointConfig)
	in.DeepCopyInto(out)
	return out
}
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
			}
		}
	}
}
func (in *CollectionConfiguration) DeepCopy() *CollectionConfiguration {
	if in == nil {
		return nil
	}
	out := new(CollectionConfiguration)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *ContainerDefinition) DeepCopy() *ContainerDefinition {
	if in == nil {
		return nil
	}
	out := new(ContainerDefinition)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *ContinuousParameterRange) DeepCopy() *ContinuousParameterRange {
	if in == nil {
		return nil
	}
	out := new(ContinuousParameterRange)
	in.DeepCopyInto(out)
	return out
}
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
			}
		}
	}
}
func (in *CustomizedMetricSpecification) DeepCopy() *CustomizedMetricSpecification {
	if in == nil {
		return nil
	}
	out := new(CustomizedMetricSpecification)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *DataProcessing) DeepCopy() *DataProcessing {
	if in == nil {
		return nil
	}
	out := new(DataProcessing)
	in.DeepCopyInto(out)
	return out
}
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)
	}
}
func (in *DataSource) DeepCopy() *DataSource {
	if in == nil {
		return nil
	}
	out := new(DataSource)
	in.DeepCopyInto(out)
	return out
}
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)
			}
		}
	}
}
func (in *DebugHookConfig) DeepCopy() *DebugHookConfig {
	if in == nil {
		return nil
	}
	out := new(DebugHookConfig)
	in.DeepCopyInto(out)
	return out
}
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
			}
		}
	}
}
func (in *DebugRuleConfiguration) DeepCopy() *DebugRuleConfiguration {
	if in == nil {
		return nil
	}
	out := new(DebugRuleConfiguration)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *DebugRuleEvaluationStatus) DeepCopy() *DebugRuleEvaluationStatus {
	if in == nil {
		return nil
	}
	out := new(DebugRuleEvaluationStatus)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *DeployedImage) DeepCopy() *DeployedImage {
	if in == nil {
		return nil
	}
	out := new(DeployedImage)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *FileSystemDataSource) DeepCopy() *FileSystemDataSource {
	if in == nil {
		return nil
	}
	out := new(FileSystemDataSource)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *FinalHyperParameterTuningJobObjectiveMetric) DeepCopy() *FinalHyperParameterTuningJobObjectiveMetric {
	if in == nil {
		return nil
	}
	out := new(FinalHyperParameterTuningJobObjectiveMetric)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *HAPSuspendedState) DeepCopy() *HAPSuspendedState {
	if in == nil {
		return nil
	}
	out := new(HAPSuspendedState)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *HyperParameterAlgorithmSpecification) DeepCopy() *HyperParameterAlgorithmSpecification {
	if in == nil {
		return nil
	}
	out := new(HyperParameterAlgorithmSpecification)
	in.DeepCopyInto(out)
	return out
}
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)
	}
}
func (in *HyperParameterTrainingJobDefinition) DeepCopy() *HyperParameterTrainingJobDefinition {
	if in == nil {
		return nil
	}
	out := new(HyperParameterTrainingJobDefinition)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *HyperParameterTrainingJobSummary) DeepCopy() *HyperParameterTrainingJobSummary {
	if in == nil {
		return nil
	}
	out := new(HyperParameterTrainingJobSummary)
	in.DeepCopyInto(out)
	return out
}
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)
	}
}
func (in *HyperParameterTuningJobConfig) DeepCopy() *HyperParameterTuningJobConfig {
	if in == nil {
		return nil
	}
	out := new(HyperParameterTuningJobConfig)
	in.DeepCopyInto(out)
	return out
}
func (in *HyperParameterTuningJobObjective) DeepCopyInto(out *HyperParameterTuningJobObjective) {
	*out = *in
	if in.MetricName != nil {
		in, out := &in.MetricName, &out.MetricName
		*out = new(string)
		**out = **in
	}
}
func (in *HyperParameterTuningJobObjective) DeepCopy() *HyperParameterTuningJobObjective {
	if in == nil {
		return nil
	}
	out := new(HyperParameterTuningJobObjective)
	in.DeepCopyInto(out)
	return out
}
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])
		}
	}
}
func (in *HyperParameterTuningJobWarmStartConfig) DeepCopy() *HyperParameterTuningJobWarmStartConfig {
	if in == nil {
		return nil
	}
	out := new(HyperParameterTuningJobWarmStartConfig)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *IntegerParameterRange) DeepCopy() *IntegerParameterRange {
	if in == nil {
		return nil
	}
	out := new(IntegerParameterRange)
	in.DeepCopyInto(out)
	return out
}
func (in *KeyValuePair) DeepCopyInto(out *KeyValuePair) {
	*out = *in
}
func (in *KeyValuePair) DeepCopy() *KeyValuePair {
	if in == nil {
		return nil
	}
	out := new(KeyValuePair)
	in.DeepCopyInto(out)
	return out
}
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
	}
}
func (in *MetricDefinition) DeepCopy() *MetricDefinition {
	if in == nil {
		return nil
	}
	out := new(MetricDefinition)
	in.DeepCopyInto(out)
	return out
}