/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Contains information about a training job.

See Also:

AWS * API Reference

*/ class TrainingJob { public: AWS_SAGEMAKER_API TrainingJob(); AWS_SAGEMAKER_API TrainingJob(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API TrainingJob& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the training job.

*/ inline const Aws::String& GetTrainingJobName() const{ return m_trainingJobName; } /** *

The name of the training job.

*/ inline bool TrainingJobNameHasBeenSet() const { return m_trainingJobNameHasBeenSet; } /** *

The name of the training job.

*/ inline void SetTrainingJobName(const Aws::String& value) { m_trainingJobNameHasBeenSet = true; m_trainingJobName = value; } /** *

The name of the training job.

*/ inline void SetTrainingJobName(Aws::String&& value) { m_trainingJobNameHasBeenSet = true; m_trainingJobName = std::move(value); } /** *

The name of the training job.

*/ inline void SetTrainingJobName(const char* value) { m_trainingJobNameHasBeenSet = true; m_trainingJobName.assign(value); } /** *

The name of the training job.

*/ inline TrainingJob& WithTrainingJobName(const Aws::String& value) { SetTrainingJobName(value); return *this;} /** *

The name of the training job.

*/ inline TrainingJob& WithTrainingJobName(Aws::String&& value) { SetTrainingJobName(std::move(value)); return *this;} /** *

The name of the training job.

*/ inline TrainingJob& WithTrainingJobName(const char* value) { SetTrainingJobName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline const Aws::String& GetTrainingJobArn() const{ return m_trainingJobArn; } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline bool TrainingJobArnHasBeenSet() const { return m_trainingJobArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline void SetTrainingJobArn(const Aws::String& value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn = value; } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline void SetTrainingJobArn(Aws::String&& value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline void SetTrainingJobArn(const char* value) { m_trainingJobArnHasBeenSet = true; m_trainingJobArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline TrainingJob& WithTrainingJobArn(const Aws::String& value) { SetTrainingJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline TrainingJob& WithTrainingJobArn(Aws::String&& value) { SetTrainingJobArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the training job.

*/ inline TrainingJob& WithTrainingJobArn(const char* value) { SetTrainingJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline const Aws::String& GetTuningJobArn() const{ return m_tuningJobArn; } /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline bool TuningJobArnHasBeenSet() const { return m_tuningJobArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline void SetTuningJobArn(const Aws::String& value) { m_tuningJobArnHasBeenSet = true; m_tuningJobArn = value; } /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline void SetTuningJobArn(Aws::String&& value) { m_tuningJobArnHasBeenSet = true; m_tuningJobArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline void SetTuningJobArn(const char* value) { m_tuningJobArnHasBeenSet = true; m_tuningJobArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline TrainingJob& WithTuningJobArn(const Aws::String& value) { SetTuningJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline TrainingJob& WithTuningJobArn(Aws::String&& value) { SetTuningJobArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if * the training job was launched by a hyperparameter tuning job.

*/ inline TrainingJob& WithTuningJobArn(const char* value) { SetTuningJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline const Aws::String& GetLabelingJobArn() const{ return m_labelingJobArn; } /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline bool LabelingJobArnHasBeenSet() const { return m_labelingJobArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline void SetLabelingJobArn(const Aws::String& value) { m_labelingJobArnHasBeenSet = true; m_labelingJobArn = value; } /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline void SetLabelingJobArn(Aws::String&& value) { m_labelingJobArnHasBeenSet = true; m_labelingJobArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline void SetLabelingJobArn(const char* value) { m_labelingJobArnHasBeenSet = true; m_labelingJobArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline TrainingJob& WithLabelingJobArn(const Aws::String& value) { SetLabelingJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline TrainingJob& WithLabelingJobArn(Aws::String&& value) { SetLabelingJobArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the labeling job.

*/ inline TrainingJob& WithLabelingJobArn(const char* value) { SetLabelingJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job.

*/ inline const Aws::String& GetAutoMLJobArn() const{ return m_autoMLJobArn; } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline bool AutoMLJobArnHasBeenSet() const { return m_autoMLJobArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline void SetAutoMLJobArn(const Aws::String& value) { m_autoMLJobArnHasBeenSet = true; m_autoMLJobArn = value; } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline void SetAutoMLJobArn(Aws::String&& value) { m_autoMLJobArnHasBeenSet = true; m_autoMLJobArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline void SetAutoMLJobArn(const char* value) { m_autoMLJobArnHasBeenSet = true; m_autoMLJobArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the job.

*/ inline TrainingJob& WithAutoMLJobArn(const Aws::String& value) { SetAutoMLJobArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the job.

*/ inline TrainingJob& WithAutoMLJobArn(Aws::String&& value) { SetAutoMLJobArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the job.

*/ inline TrainingJob& WithAutoMLJobArn(const char* value) { SetAutoMLJobArn(value); return *this;} /** *

Information about the Amazon S3 location that is configured for storing model * artifacts.

*/ inline const ModelArtifacts& GetModelArtifacts() const{ return m_modelArtifacts; } /** *

Information about the Amazon S3 location that is configured for storing model * artifacts.

*/ inline bool ModelArtifactsHasBeenSet() const { return m_modelArtifactsHasBeenSet; } /** *

Information about the Amazon S3 location that is configured for storing model * artifacts.

*/ inline void SetModelArtifacts(const ModelArtifacts& value) { m_modelArtifactsHasBeenSet = true; m_modelArtifacts = value; } /** *

Information about the Amazon S3 location that is configured for storing model * artifacts.

*/ inline void SetModelArtifacts(ModelArtifacts&& value) { m_modelArtifactsHasBeenSet = true; m_modelArtifacts = std::move(value); } /** *

Information about the Amazon S3 location that is configured for storing model * artifacts.

*/ inline TrainingJob& WithModelArtifacts(const ModelArtifacts& value) { SetModelArtifacts(value); return *this;} /** *

Information about the Amazon S3 location that is configured for storing model * artifacts.

*/ inline TrainingJob& WithModelArtifacts(ModelArtifacts&& value) { SetModelArtifacts(std::move(value)); return *this;} /** *

The status of the training job.

Training job statuses are:

    *
  • InProgress - The training is in progress.

  • *

    Completed - The training job has completed.

  • * Failed - The training job has failed. To see the reason for the * failure, see the FailureReason field in the response to a * DescribeTrainingJobResponse call.

  • * Stopping - The training job is stopping.

  • * Stopped - The training job has stopped.

For more * detailed information, see SecondaryStatus.

*/ inline const TrainingJobStatus& GetTrainingJobStatus() const{ return m_trainingJobStatus; } /** *

The status of the training job.

Training job statuses are:

    *
  • InProgress - The training is in progress.

  • *

    Completed - The training job has completed.

  • * Failed - The training job has failed. To see the reason for the * failure, see the FailureReason field in the response to a * DescribeTrainingJobResponse call.

  • * Stopping - The training job is stopping.

  • * Stopped - The training job has stopped.

For more * detailed information, see SecondaryStatus.

*/ inline bool TrainingJobStatusHasBeenSet() const { return m_trainingJobStatusHasBeenSet; } /** *

The status of the training job.

Training job statuses are:

    *
  • InProgress - The training is in progress.

  • *

    Completed - The training job has completed.

  • * Failed - The training job has failed. To see the reason for the * failure, see the FailureReason field in the response to a * DescribeTrainingJobResponse call.

  • * Stopping - The training job is stopping.

  • * Stopped - The training job has stopped.

For more * detailed information, see SecondaryStatus.

*/ inline void SetTrainingJobStatus(const TrainingJobStatus& value) { m_trainingJobStatusHasBeenSet = true; m_trainingJobStatus = value; } /** *

The status of the training job.

Training job statuses are:

    *
  • InProgress - The training is in progress.

  • *

    Completed - The training job has completed.

  • * Failed - The training job has failed. To see the reason for the * failure, see the FailureReason field in the response to a * DescribeTrainingJobResponse call.

  • * Stopping - The training job is stopping.

  • * Stopped - The training job has stopped.

For more * detailed information, see SecondaryStatus.

*/ inline void SetTrainingJobStatus(TrainingJobStatus&& value) { m_trainingJobStatusHasBeenSet = true; m_trainingJobStatus = std::move(value); } /** *

The status of the training job.

Training job statuses are:

    *
  • InProgress - The training is in progress.

  • *

    Completed - The training job has completed.

  • * Failed - The training job has failed. To see the reason for the * failure, see the FailureReason field in the response to a * DescribeTrainingJobResponse call.

  • * Stopping - The training job is stopping.

  • * Stopped - The training job has stopped.

For more * detailed information, see SecondaryStatus.

*/ inline TrainingJob& WithTrainingJobStatus(const TrainingJobStatus& value) { SetTrainingJobStatus(value); return *this;} /** *

The status of the training job.

Training job statuses are:

    *
  • InProgress - The training is in progress.

  • *

    Completed - The training job has completed.

  • * Failed - The training job has failed. To see the reason for the * failure, see the FailureReason field in the response to a * DescribeTrainingJobResponse call.

  • * Stopping - The training job is stopping.

  • * Stopped - The training job has stopped.

For more * detailed information, see SecondaryStatus.

*/ inline TrainingJob& WithTrainingJobStatus(TrainingJobStatus&& value) { SetTrainingJobStatus(std::move(value)); return *this;} /** *

Provides detailed information about the state of the training job. For * detailed information about the secondary status of the training job, see * StatusMessage under SecondaryStatusTransition.

*

SageMaker provides primary statuses and secondary statuses that apply to each * of them:

InProgress
  • Starting - * Starting the training job.

  • Downloading - An * optional stage for algorithms that support File training input * mode. It indicates that data is being downloaded to the ML storage volumes.

    *
  • Training - Training is in progress.

  • *

    Uploading - Training is complete and the model artifacts are * being uploaded to the S3 location.

Completed
*
  • Completed - The training job has completed.

  • *
Failed
  • Failed - The * training job has failed. The reason for the failure is returned in the * FailureReason field of * DescribeTrainingJobResponse.

Stopped
*
  • MaxRuntimeExceeded - The job stopped because it * exceeded the maximum allowed runtime.

  • Stopped - * The training job has stopped.

Stopping
    *
  • Stopping - Stopping the training job.

*

Valid values for SecondaryStatus are * subject to change.

We no longer support the following * secondary statuses:

  • LaunchingMLInstances

    *
  • PreparingTrainingStack

  • * DownloadingTrainingImage

*/ inline const SecondaryStatus& GetSecondaryStatus() const{ return m_secondaryStatus; } /** *

Provides detailed information about the state of the training job. For * detailed information about the secondary status of the training job, see * StatusMessage under SecondaryStatusTransition.

*

SageMaker provides primary statuses and secondary statuses that apply to each * of them:

InProgress
  • Starting - * Starting the training job.

  • Downloading - An * optional stage for algorithms that support File training input * mode. It indicates that data is being downloaded to the ML storage volumes.

    *
  • Training - Training is in progress.

  • *

    Uploading - Training is complete and the model artifacts are * being uploaded to the S3 location.

Completed
*
  • Completed - The training job has completed.

  • *
Failed
  • Failed - The * training job has failed. The reason for the failure is returned in the * FailureReason field of * DescribeTrainingJobResponse.

Stopped
*
  • MaxRuntimeExceeded - The job stopped because it * exceeded the maximum allowed runtime.

  • Stopped - * The training job has stopped.

Stopping
    *
  • Stopping - Stopping the training job.

*

Valid values for SecondaryStatus are * subject to change.

We no longer support the following * secondary statuses:

  • LaunchingMLInstances

    *
  • PreparingTrainingStack

  • * DownloadingTrainingImage

*/ inline bool SecondaryStatusHasBeenSet() const { return m_secondaryStatusHasBeenSet; } /** *

Provides detailed information about the state of the training job. For * detailed information about the secondary status of the training job, see * StatusMessage under SecondaryStatusTransition.

*

SageMaker provides primary statuses and secondary statuses that apply to each * of them:

InProgress
  • Starting - * Starting the training job.

  • Downloading - An * optional stage for algorithms that support File training input * mode. It indicates that data is being downloaded to the ML storage volumes.

    *
  • Training - Training is in progress.

  • *

    Uploading - Training is complete and the model artifacts are * being uploaded to the S3 location.

Completed
*
  • Completed - The training job has completed.

  • *
Failed
  • Failed - The * training job has failed. The reason for the failure is returned in the * FailureReason field of * DescribeTrainingJobResponse.

Stopped
*
  • MaxRuntimeExceeded - The job stopped because it * exceeded the maximum allowed runtime.

  • Stopped - * The training job has stopped.

Stopping
    *
  • Stopping - Stopping the training job.

*

Valid values for SecondaryStatus are * subject to change.

We no longer support the following * secondary statuses:

  • LaunchingMLInstances

    *
  • PreparingTrainingStack

  • * DownloadingTrainingImage

*/ inline void SetSecondaryStatus(const SecondaryStatus& value) { m_secondaryStatusHasBeenSet = true; m_secondaryStatus = value; } /** *

Provides detailed information about the state of the training job. For * detailed information about the secondary status of the training job, see * StatusMessage under SecondaryStatusTransition.

*

SageMaker provides primary statuses and secondary statuses that apply to each * of them:

InProgress
  • Starting - * Starting the training job.

  • Downloading - An * optional stage for algorithms that support File training input * mode. It indicates that data is being downloaded to the ML storage volumes.

    *
  • Training - Training is in progress.

  • *

    Uploading - Training is complete and the model artifacts are * being uploaded to the S3 location.

Completed
*
  • Completed - The training job has completed.

  • *
Failed
  • Failed - The * training job has failed. The reason for the failure is returned in the * FailureReason field of * DescribeTrainingJobResponse.

Stopped
*
  • MaxRuntimeExceeded - The job stopped because it * exceeded the maximum allowed runtime.

  • Stopped - * The training job has stopped.

Stopping
    *
  • Stopping - Stopping the training job.

*

Valid values for SecondaryStatus are * subject to change.

We no longer support the following * secondary statuses:

  • LaunchingMLInstances

    *
  • PreparingTrainingStack

  • * DownloadingTrainingImage

*/ inline void SetSecondaryStatus(SecondaryStatus&& value) { m_secondaryStatusHasBeenSet = true; m_secondaryStatus = std::move(value); } /** *

Provides detailed information about the state of the training job. For * detailed information about the secondary status of the training job, see * StatusMessage under SecondaryStatusTransition.

*

SageMaker provides primary statuses and secondary statuses that apply to each * of them:

InProgress
  • Starting - * Starting the training job.

  • Downloading - An * optional stage for algorithms that support File training input * mode. It indicates that data is being downloaded to the ML storage volumes.

    *
  • Training - Training is in progress.

  • *

    Uploading - Training is complete and the model artifacts are * being uploaded to the S3 location.

Completed
*
  • Completed - The training job has completed.

  • *
Failed
  • Failed - The * training job has failed. The reason for the failure is returned in the * FailureReason field of * DescribeTrainingJobResponse.

Stopped
*
  • MaxRuntimeExceeded - The job stopped because it * exceeded the maximum allowed runtime.

  • Stopped - * The training job has stopped.

Stopping
    *
  • Stopping - Stopping the training job.

*

Valid values for SecondaryStatus are * subject to change.

We no longer support the following * secondary statuses:

  • LaunchingMLInstances

    *
  • PreparingTrainingStack

  • * DownloadingTrainingImage

*/ inline TrainingJob& WithSecondaryStatus(const SecondaryStatus& value) { SetSecondaryStatus(value); return *this;} /** *

Provides detailed information about the state of the training job. For * detailed information about the secondary status of the training job, see * StatusMessage under SecondaryStatusTransition.

*

SageMaker provides primary statuses and secondary statuses that apply to each * of them:

InProgress
  • Starting - * Starting the training job.

  • Downloading - An * optional stage for algorithms that support File training input * mode. It indicates that data is being downloaded to the ML storage volumes.

    *
  • Training - Training is in progress.

  • *

    Uploading - Training is complete and the model artifacts are * being uploaded to the S3 location.

Completed
*
  • Completed - The training job has completed.

  • *
Failed
  • Failed - The * training job has failed. The reason for the failure is returned in the * FailureReason field of * DescribeTrainingJobResponse.

Stopped
*
  • MaxRuntimeExceeded - The job stopped because it * exceeded the maximum allowed runtime.

  • Stopped - * The training job has stopped.

Stopping
    *
  • Stopping - Stopping the training job.

*

Valid values for SecondaryStatus are * subject to change.

We no longer support the following * secondary statuses:

  • LaunchingMLInstances

    *
  • PreparingTrainingStack

  • * DownloadingTrainingImage

*/ inline TrainingJob& WithSecondaryStatus(SecondaryStatus&& value) { SetSecondaryStatus(std::move(value)); return *this;} /** *

If the training job failed, the reason it failed.

*/ inline const Aws::String& GetFailureReason() const{ return m_failureReason; } /** *

If the training job failed, the reason it failed.

*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *

If the training job failed, the reason it failed.

*/ inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *

If the training job failed, the reason it failed.

*/ inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *

If the training job failed, the reason it failed.

*/ inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } /** *

If the training job failed, the reason it failed.

*/ inline TrainingJob& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *

If the training job failed, the reason it failed.

*/ inline TrainingJob& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *

If the training job failed, the reason it failed.

*/ inline TrainingJob& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} /** *

Algorithm-specific parameters.

*/ inline const Aws::Map& GetHyperParameters() const{ return m_hyperParameters; } /** *

Algorithm-specific parameters.

*/ inline bool HyperParametersHasBeenSet() const { return m_hyperParametersHasBeenSet; } /** *

Algorithm-specific parameters.

*/ inline void SetHyperParameters(const Aws::Map& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters = value; } /** *

Algorithm-specific parameters.

*/ inline void SetHyperParameters(Aws::Map&& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters = std::move(value); } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& WithHyperParameters(const Aws::Map& value) { SetHyperParameters(value); return *this;} /** *

Algorithm-specific parameters.

*/ inline TrainingJob& WithHyperParameters(Aws::Map&& value) { SetHyperParameters(std::move(value)); return *this;} /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(const Aws::String& key, const Aws::String& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(key, value); return *this; } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(Aws::String&& key, const Aws::String& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(std::move(key), value); return *this; } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(const Aws::String& key, Aws::String&& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(key, std::move(value)); return *this; } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(Aws::String&& key, Aws::String&& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(const char* key, Aws::String&& value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(key, std::move(value)); return *this; } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(Aws::String&& key, const char* value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(std::move(key), value); return *this; } /** *

Algorithm-specific parameters.

*/ inline TrainingJob& AddHyperParameters(const char* key, const char* value) { m_hyperParametersHasBeenSet = true; m_hyperParameters.emplace(key, value); return *this; } /** *

Information about the algorithm used for training, and algorithm * metadata.

*/ inline const AlgorithmSpecification& GetAlgorithmSpecification() const{ return m_algorithmSpecification; } /** *

Information about the algorithm used for training, and algorithm * metadata.

*/ inline bool AlgorithmSpecificationHasBeenSet() const { return m_algorithmSpecificationHasBeenSet; } /** *

Information about the algorithm used for training, and algorithm * metadata.

*/ inline void SetAlgorithmSpecification(const AlgorithmSpecification& value) { m_algorithmSpecificationHasBeenSet = true; m_algorithmSpecification = value; } /** *

Information about the algorithm used for training, and algorithm * metadata.

*/ inline void SetAlgorithmSpecification(AlgorithmSpecification&& value) { m_algorithmSpecificationHasBeenSet = true; m_algorithmSpecification = std::move(value); } /** *

Information about the algorithm used for training, and algorithm * metadata.

*/ inline TrainingJob& WithAlgorithmSpecification(const AlgorithmSpecification& value) { SetAlgorithmSpecification(value); return *this;} /** *

Information about the algorithm used for training, and algorithm * metadata.

*/ inline TrainingJob& WithAlgorithmSpecification(AlgorithmSpecification&& value) { SetAlgorithmSpecification(std::move(value)); return *this;} /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline TrainingJob& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline TrainingJob& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Web Services Identity and Access Management (IAM) role configured * for the training job.

*/ inline TrainingJob& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline const Aws::Vector& GetInputDataConfig() const{ return m_inputDataConfig; } /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline bool InputDataConfigHasBeenSet() const { return m_inputDataConfigHasBeenSet; } /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline void SetInputDataConfig(const Aws::Vector& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; } /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline void SetInputDataConfig(Aws::Vector&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = std::move(value); } /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline TrainingJob& WithInputDataConfig(const Aws::Vector& value) { SetInputDataConfig(value); return *this;} /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline TrainingJob& WithInputDataConfig(Aws::Vector&& value) { SetInputDataConfig(std::move(value)); return *this;} /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline TrainingJob& AddInputDataConfig(const Channel& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig.push_back(value); return *this; } /** *

An array of Channel objects that describes each data input * channel.

Your input must be in the same Amazon Web Services region as * your training job.

*/ inline TrainingJob& AddInputDataConfig(Channel&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig.push_back(std::move(value)); return *this; } /** *

The S3 path where model artifacts that you configured when creating the job * are stored. SageMaker creates subfolders for model artifacts.

*/ inline const OutputDataConfig& GetOutputDataConfig() const{ return m_outputDataConfig; } /** *

The S3 path where model artifacts that you configured when creating the job * are stored. SageMaker creates subfolders for model artifacts.

*/ inline bool OutputDataConfigHasBeenSet() const { return m_outputDataConfigHasBeenSet; } /** *

The S3 path where model artifacts that you configured when creating the job * are stored. SageMaker creates subfolders for model artifacts.

*/ inline void SetOutputDataConfig(const OutputDataConfig& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = value; } /** *

The S3 path where model artifacts that you configured when creating the job * are stored. SageMaker creates subfolders for model artifacts.

*/ inline void SetOutputDataConfig(OutputDataConfig&& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = std::move(value); } /** *

The S3 path where model artifacts that you configured when creating the job * are stored. SageMaker creates subfolders for model artifacts.

*/ inline TrainingJob& WithOutputDataConfig(const OutputDataConfig& value) { SetOutputDataConfig(value); return *this;} /** *

The S3 path where model artifacts that you configured when creating the job * are stored. SageMaker creates subfolders for model artifacts.

*/ inline TrainingJob& WithOutputDataConfig(OutputDataConfig&& value) { SetOutputDataConfig(std::move(value)); return *this;} /** *

Resources, including ML compute instances and ML storage volumes, that are * configured for model training.

*/ inline const ResourceConfig& GetResourceConfig() const{ return m_resourceConfig; } /** *

Resources, including ML compute instances and ML storage volumes, that are * configured for model training.

*/ inline bool ResourceConfigHasBeenSet() const { return m_resourceConfigHasBeenSet; } /** *

Resources, including ML compute instances and ML storage volumes, that are * configured for model training.

*/ inline void SetResourceConfig(const ResourceConfig& value) { m_resourceConfigHasBeenSet = true; m_resourceConfig = value; } /** *

Resources, including ML compute instances and ML storage volumes, that are * configured for model training.

*/ inline void SetResourceConfig(ResourceConfig&& value) { m_resourceConfigHasBeenSet = true; m_resourceConfig = std::move(value); } /** *

Resources, including ML compute instances and ML storage volumes, that are * configured for model training.

*/ inline TrainingJob& WithResourceConfig(const ResourceConfig& value) { SetResourceConfig(value); return *this;} /** *

Resources, including ML compute instances and ML storage volumes, that are * configured for model training.

*/ inline TrainingJob& WithResourceConfig(ResourceConfig&& value) { SetResourceConfig(std::move(value)); return *this;} /** *

A VpcConfig * object that specifies the VPC that this training job has access to. For more * information, see Protect * Training Jobs by Using an Amazon Virtual Private Cloud.

*/ inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; } /** *

A VpcConfig * object that specifies the VPC that this training job has access to. For more * information, see Protect * Training Jobs by Using an Amazon Virtual Private Cloud.

*/ inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; } /** *

A VpcConfig * object that specifies the VPC that this training job has access to. For more * information, see Protect * Training Jobs by Using an Amazon Virtual Private Cloud.

*/ inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; } /** *

A VpcConfig * object that specifies the VPC that this training job has access to. For more * information, see Protect * Training Jobs by Using an Amazon Virtual Private Cloud.

*/ inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); } /** *

A VpcConfig * object that specifies the VPC that this training job has access to. For more * information, see Protect * Training Jobs by Using an Amazon Virtual Private Cloud.

*/ inline TrainingJob& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;} /** *

A VpcConfig * object that specifies the VPC that this training job has access to. For more * information, see Protect * Training Jobs by Using an Amazon Virtual Private Cloud.

*/ inline TrainingJob& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;} /** *

Specifies a limit to how long a model training job can run. It also specifies * how long a managed Spot training job has to complete. When the job reaches the * time limit, SageMaker ends the training job. Use this API to cap model training * costs.

To stop a job, SageMaker sends the algorithm the * SIGTERM signal, which delays job termination for 120 seconds. * Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost.

*/ inline const StoppingCondition& GetStoppingCondition() const{ return m_stoppingCondition; } /** *

Specifies a limit to how long a model training job can run. It also specifies * how long a managed Spot training job has to complete. When the job reaches the * time limit, SageMaker ends the training job. Use this API to cap model training * costs.

To stop a job, SageMaker sends the algorithm the * SIGTERM signal, which delays job termination for 120 seconds. * Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost.

*/ inline bool StoppingConditionHasBeenSet() const { return m_stoppingConditionHasBeenSet; } /** *

Specifies a limit to how long a model training job can run. It also specifies * how long a managed Spot training job has to complete. When the job reaches the * time limit, SageMaker ends the training job. Use this API to cap model training * costs.

To stop a job, SageMaker sends the algorithm the * SIGTERM signal, which delays job termination for 120 seconds. * Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost.

*/ inline void SetStoppingCondition(const StoppingCondition& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = value; } /** *

Specifies a limit to how long a model training job can run. It also specifies * how long a managed Spot training job has to complete. When the job reaches the * time limit, SageMaker ends the training job. Use this API to cap model training * costs.

To stop a job, SageMaker sends the algorithm the * SIGTERM signal, which delays job termination for 120 seconds. * Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost.

*/ inline void SetStoppingCondition(StoppingCondition&& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = std::move(value); } /** *

Specifies a limit to how long a model training job can run. It also specifies * how long a managed Spot training job has to complete. When the job reaches the * time limit, SageMaker ends the training job. Use this API to cap model training * costs.

To stop a job, SageMaker sends the algorithm the * SIGTERM signal, which delays job termination for 120 seconds. * Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost.

*/ inline TrainingJob& WithStoppingCondition(const StoppingCondition& value) { SetStoppingCondition(value); return *this;} /** *

Specifies a limit to how long a model training job can run. It also specifies * how long a managed Spot training job has to complete. When the job reaches the * time limit, SageMaker ends the training job. Use this API to cap model training * costs.

To stop a job, SageMaker sends the algorithm the * SIGTERM signal, which delays job termination for 120 seconds. * Algorithms can use this 120-second window to save the model artifacts, so the * results of training are not lost.

*/ inline TrainingJob& WithStoppingCondition(StoppingCondition&& value) { SetStoppingCondition(std::move(value)); return *this;} /** *

A timestamp that indicates when the training job was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

A timestamp that indicates when the training job was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

A timestamp that indicates when the training job was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

A timestamp that indicates when the training job was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

A timestamp that indicates when the training job was created.

*/ inline TrainingJob& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

A timestamp that indicates when the training job was created.

*/ inline TrainingJob& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

Indicates the time when the training job starts on training instances. You * are billed for the time interval between this time and the value of * TrainingEndTime. The start time in CloudWatch Logs might be later * than this time. The difference is due to the time it takes to download the * training data and to the size of the training container.

*/ inline const Aws::Utils::DateTime& GetTrainingStartTime() const{ return m_trainingStartTime; } /** *

Indicates the time when the training job starts on training instances. You * are billed for the time interval between this time and the value of * TrainingEndTime. The start time in CloudWatch Logs might be later * than this time. The difference is due to the time it takes to download the * training data and to the size of the training container.

*/ inline bool TrainingStartTimeHasBeenSet() const { return m_trainingStartTimeHasBeenSet; } /** *

Indicates the time when the training job starts on training instances. You * are billed for the time interval between this time and the value of * TrainingEndTime. The start time in CloudWatch Logs might be later * than this time. The difference is due to the time it takes to download the * training data and to the size of the training container.

*/ inline void SetTrainingStartTime(const Aws::Utils::DateTime& value) { m_trainingStartTimeHasBeenSet = true; m_trainingStartTime = value; } /** *

Indicates the time when the training job starts on training instances. You * are billed for the time interval between this time and the value of * TrainingEndTime. The start time in CloudWatch Logs might be later * than this time. The difference is due to the time it takes to download the * training data and to the size of the training container.

*/ inline void SetTrainingStartTime(Aws::Utils::DateTime&& value) { m_trainingStartTimeHasBeenSet = true; m_trainingStartTime = std::move(value); } /** *

Indicates the time when the training job starts on training instances. You * are billed for the time interval between this time and the value of * TrainingEndTime. The start time in CloudWatch Logs might be later * than this time. The difference is due to the time it takes to download the * training data and to the size of the training container.

*/ inline TrainingJob& WithTrainingStartTime(const Aws::Utils::DateTime& value) { SetTrainingStartTime(value); return *this;} /** *

Indicates the time when the training job starts on training instances. You * are billed for the time interval between this time and the value of * TrainingEndTime. The start time in CloudWatch Logs might be later * than this time. The difference is due to the time it takes to download the * training data and to the size of the training container.

*/ inline TrainingJob& WithTrainingStartTime(Aws::Utils::DateTime&& value) { SetTrainingStartTime(std::move(value)); return *this;} /** *

Indicates the time when the training job ends on training instances. You are * billed for the time interval between the value of TrainingStartTime * and this time. For successful jobs and stopped jobs, this is the time after * model artifacts are uploaded. For failed jobs, this is the time when SageMaker * detects a job failure.

*/ inline const Aws::Utils::DateTime& GetTrainingEndTime() const{ return m_trainingEndTime; } /** *

Indicates the time when the training job ends on training instances. You are * billed for the time interval between the value of TrainingStartTime * and this time. For successful jobs and stopped jobs, this is the time after * model artifacts are uploaded. For failed jobs, this is the time when SageMaker * detects a job failure.

*/ inline bool TrainingEndTimeHasBeenSet() const { return m_trainingEndTimeHasBeenSet; } /** *

Indicates the time when the training job ends on training instances. You are * billed for the time interval between the value of TrainingStartTime * and this time. For successful jobs and stopped jobs, this is the time after * model artifacts are uploaded. For failed jobs, this is the time when SageMaker * detects a job failure.

*/ inline void SetTrainingEndTime(const Aws::Utils::DateTime& value) { m_trainingEndTimeHasBeenSet = true; m_trainingEndTime = value; } /** *

Indicates the time when the training job ends on training instances. You are * billed for the time interval between the value of TrainingStartTime * and this time. For successful jobs and stopped jobs, this is the time after * model artifacts are uploaded. For failed jobs, this is the time when SageMaker * detects a job failure.

*/ inline void SetTrainingEndTime(Aws::Utils::DateTime&& value) { m_trainingEndTimeHasBeenSet = true; m_trainingEndTime = std::move(value); } /** *

Indicates the time when the training job ends on training instances. You are * billed for the time interval between the value of TrainingStartTime * and this time. For successful jobs and stopped jobs, this is the time after * model artifacts are uploaded. For failed jobs, this is the time when SageMaker * detects a job failure.

*/ inline TrainingJob& WithTrainingEndTime(const Aws::Utils::DateTime& value) { SetTrainingEndTime(value); return *this;} /** *

Indicates the time when the training job ends on training instances. You are * billed for the time interval between the value of TrainingStartTime * and this time. For successful jobs and stopped jobs, this is the time after * model artifacts are uploaded. For failed jobs, this is the time when SageMaker * detects a job failure.

*/ inline TrainingJob& WithTrainingEndTime(Aws::Utils::DateTime&& value) { SetTrainingEndTime(std::move(value)); return *this;} /** *

A timestamp that indicates when the status of the training job was last * modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

A timestamp that indicates when the status of the training job was last * modified.

*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *

A timestamp that indicates when the status of the training job was last * modified.

*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *

A timestamp that indicates when the status of the training job was last * modified.

*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *

A timestamp that indicates when the status of the training job was last * modified.

*/ inline TrainingJob& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *

A timestamp that indicates when the status of the training job was last * modified.

*/ inline TrainingJob& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline const Aws::Vector& GetSecondaryStatusTransitions() const{ return m_secondaryStatusTransitions; } /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline bool SecondaryStatusTransitionsHasBeenSet() const { return m_secondaryStatusTransitionsHasBeenSet; } /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline void SetSecondaryStatusTransitions(const Aws::Vector& value) { m_secondaryStatusTransitionsHasBeenSet = true; m_secondaryStatusTransitions = value; } /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline void SetSecondaryStatusTransitions(Aws::Vector&& value) { m_secondaryStatusTransitionsHasBeenSet = true; m_secondaryStatusTransitions = std::move(value); } /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline TrainingJob& WithSecondaryStatusTransitions(const Aws::Vector& value) { SetSecondaryStatusTransitions(value); return *this;} /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline TrainingJob& WithSecondaryStatusTransitions(Aws::Vector&& value) { SetSecondaryStatusTransitions(std::move(value)); return *this;} /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline TrainingJob& AddSecondaryStatusTransitions(const SecondaryStatusTransition& value) { m_secondaryStatusTransitionsHasBeenSet = true; m_secondaryStatusTransitions.push_back(value); return *this; } /** *

A history of all of the secondary statuses that the training job has * transitioned through.

*/ inline TrainingJob& AddSecondaryStatusTransitions(SecondaryStatusTransition&& value) { m_secondaryStatusTransitionsHasBeenSet = true; m_secondaryStatusTransitions.push_back(std::move(value)); return *this; } /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline const Aws::Vector& GetFinalMetricDataList() const{ return m_finalMetricDataList; } /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline bool FinalMetricDataListHasBeenSet() const { return m_finalMetricDataListHasBeenSet; } /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline void SetFinalMetricDataList(const Aws::Vector& value) { m_finalMetricDataListHasBeenSet = true; m_finalMetricDataList = value; } /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline void SetFinalMetricDataList(Aws::Vector&& value) { m_finalMetricDataListHasBeenSet = true; m_finalMetricDataList = std::move(value); } /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline TrainingJob& WithFinalMetricDataList(const Aws::Vector& value) { SetFinalMetricDataList(value); return *this;} /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline TrainingJob& WithFinalMetricDataList(Aws::Vector&& value) { SetFinalMetricDataList(std::move(value)); return *this;} /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline TrainingJob& AddFinalMetricDataList(const MetricData& value) { m_finalMetricDataListHasBeenSet = true; m_finalMetricDataList.push_back(value); return *this; } /** *

A list of final metric values that are set when the training job completes. * Used only if the training job was configured to use metrics.

*/ inline TrainingJob& AddFinalMetricDataList(MetricData&& value) { m_finalMetricDataListHasBeenSet = true; m_finalMetricDataList.push_back(std::move(value)); return *this; } /** *

If the TrainingJob was created with network isolation, the value * is set to true. If network isolation is enabled, nodes can't * communicate beyond the VPC they run in.

*/ inline bool GetEnableNetworkIsolation() const{ return m_enableNetworkIsolation; } /** *

If the TrainingJob was created with network isolation, the value * is set to true. If network isolation is enabled, nodes can't * communicate beyond the VPC they run in.

*/ inline bool EnableNetworkIsolationHasBeenSet() const { return m_enableNetworkIsolationHasBeenSet; } /** *

If the TrainingJob was created with network isolation, the value * is set to true. If network isolation is enabled, nodes can't * communicate beyond the VPC they run in.

*/ inline void SetEnableNetworkIsolation(bool value) { m_enableNetworkIsolationHasBeenSet = true; m_enableNetworkIsolation = value; } /** *

If the TrainingJob was created with network isolation, the value * is set to true. If network isolation is enabled, nodes can't * communicate beyond the VPC they run in.

*/ inline TrainingJob& WithEnableNetworkIsolation(bool value) { SetEnableNetworkIsolation(value); return *this;} /** *

To encrypt all communications between ML compute instances in distributed * training, choose True. Encryption provides greater security for * distributed training, but training might take longer. How long it takes depends * on the amount of communication between compute instances, especially if you use * a deep learning algorithm in distributed training.

*/ inline bool GetEnableInterContainerTrafficEncryption() const{ return m_enableInterContainerTrafficEncryption; } /** *

To encrypt all communications between ML compute instances in distributed * training, choose True. Encryption provides greater security for * distributed training, but training might take longer. How long it takes depends * on the amount of communication between compute instances, especially if you use * a deep learning algorithm in distributed training.

*/ inline bool EnableInterContainerTrafficEncryptionHasBeenSet() const { return m_enableInterContainerTrafficEncryptionHasBeenSet; } /** *

To encrypt all communications between ML compute instances in distributed * training, choose True. Encryption provides greater security for * distributed training, but training might take longer. How long it takes depends * on the amount of communication between compute instances, especially if you use * a deep learning algorithm in distributed training.

*/ inline void SetEnableInterContainerTrafficEncryption(bool value) { m_enableInterContainerTrafficEncryptionHasBeenSet = true; m_enableInterContainerTrafficEncryption = value; } /** *

To encrypt all communications between ML compute instances in distributed * training, choose True. Encryption provides greater security for * distributed training, but training might take longer. How long it takes depends * on the amount of communication between compute instances, especially if you use * a deep learning algorithm in distributed training.

*/ inline TrainingJob& WithEnableInterContainerTrafficEncryption(bool value) { SetEnableInterContainerTrafficEncryption(value); return *this;} /** *

When true, enables managed spot training using Amazon EC2 Spot instances to * run training jobs instead of on-demand instances. For more information, see Managed * Spot Training.

*/ inline bool GetEnableManagedSpotTraining() const{ return m_enableManagedSpotTraining; } /** *

When true, enables managed spot training using Amazon EC2 Spot instances to * run training jobs instead of on-demand instances. For more information, see Managed * Spot Training.

*/ inline bool EnableManagedSpotTrainingHasBeenSet() const { return m_enableManagedSpotTrainingHasBeenSet; } /** *

When true, enables managed spot training using Amazon EC2 Spot instances to * run training jobs instead of on-demand instances. For more information, see Managed * Spot Training.

*/ inline void SetEnableManagedSpotTraining(bool value) { m_enableManagedSpotTrainingHasBeenSet = true; m_enableManagedSpotTraining = value; } /** *

When true, enables managed spot training using Amazon EC2 Spot instances to * run training jobs instead of on-demand instances. For more information, see Managed * Spot Training.

*/ inline TrainingJob& WithEnableManagedSpotTraining(bool value) { SetEnableManagedSpotTraining(value); return *this;} inline const CheckpointConfig& GetCheckpointConfig() const{ return m_checkpointConfig; } inline bool CheckpointConfigHasBeenSet() const { return m_checkpointConfigHasBeenSet; } inline void SetCheckpointConfig(const CheckpointConfig& value) { m_checkpointConfigHasBeenSet = true; m_checkpointConfig = value; } inline void SetCheckpointConfig(CheckpointConfig&& value) { m_checkpointConfigHasBeenSet = true; m_checkpointConfig = std::move(value); } inline TrainingJob& WithCheckpointConfig(const CheckpointConfig& value) { SetCheckpointConfig(value); return *this;} inline TrainingJob& WithCheckpointConfig(CheckpointConfig&& value) { SetCheckpointConfig(std::move(value)); return *this;} /** *

The training time in seconds.

*/ inline int GetTrainingTimeInSeconds() const{ return m_trainingTimeInSeconds; } /** *

The training time in seconds.

*/ inline bool TrainingTimeInSecondsHasBeenSet() const { return m_trainingTimeInSecondsHasBeenSet; } /** *

The training time in seconds.

*/ inline void SetTrainingTimeInSeconds(int value) { m_trainingTimeInSecondsHasBeenSet = true; m_trainingTimeInSeconds = value; } /** *

The training time in seconds.

*/ inline TrainingJob& WithTrainingTimeInSeconds(int value) { SetTrainingTimeInSeconds(value); return *this;} /** *

The billable time in seconds.

*/ inline int GetBillableTimeInSeconds() const{ return m_billableTimeInSeconds; } /** *

The billable time in seconds.

*/ inline bool BillableTimeInSecondsHasBeenSet() const { return m_billableTimeInSecondsHasBeenSet; } /** *

The billable time in seconds.

*/ inline void SetBillableTimeInSeconds(int value) { m_billableTimeInSecondsHasBeenSet = true; m_billableTimeInSeconds = value; } /** *

The billable time in seconds.

*/ inline TrainingJob& WithBillableTimeInSeconds(int value) { SetBillableTimeInSeconds(value); return *this;} inline const DebugHookConfig& GetDebugHookConfig() const{ return m_debugHookConfig; } inline bool DebugHookConfigHasBeenSet() const { return m_debugHookConfigHasBeenSet; } inline void SetDebugHookConfig(const DebugHookConfig& value) { m_debugHookConfigHasBeenSet = true; m_debugHookConfig = value; } inline void SetDebugHookConfig(DebugHookConfig&& value) { m_debugHookConfigHasBeenSet = true; m_debugHookConfig = std::move(value); } inline TrainingJob& WithDebugHookConfig(const DebugHookConfig& value) { SetDebugHookConfig(value); return *this;} inline TrainingJob& WithDebugHookConfig(DebugHookConfig&& value) { SetDebugHookConfig(std::move(value)); return *this;} inline const ExperimentConfig& GetExperimentConfig() const{ return m_experimentConfig; } inline bool ExperimentConfigHasBeenSet() const { return m_experimentConfigHasBeenSet; } inline void SetExperimentConfig(const ExperimentConfig& value) { m_experimentConfigHasBeenSet = true; m_experimentConfig = value; } inline void SetExperimentConfig(ExperimentConfig&& value) { m_experimentConfigHasBeenSet = true; m_experimentConfig = std::move(value); } inline TrainingJob& WithExperimentConfig(const ExperimentConfig& value) { SetExperimentConfig(value); return *this;} inline TrainingJob& WithExperimentConfig(ExperimentConfig&& value) { SetExperimentConfig(std::move(value)); return *this;} /** *

Information about the debug rule configuration.

*/ inline const Aws::Vector& GetDebugRuleConfigurations() const{ return m_debugRuleConfigurations; } /** *

Information about the debug rule configuration.

*/ inline bool DebugRuleConfigurationsHasBeenSet() const { return m_debugRuleConfigurationsHasBeenSet; } /** *

Information about the debug rule configuration.

*/ inline void SetDebugRuleConfigurations(const Aws::Vector& value) { m_debugRuleConfigurationsHasBeenSet = true; m_debugRuleConfigurations = value; } /** *

Information about the debug rule configuration.

*/ inline void SetDebugRuleConfigurations(Aws::Vector&& value) { m_debugRuleConfigurationsHasBeenSet = true; m_debugRuleConfigurations = std::move(value); } /** *

Information about the debug rule configuration.

*/ inline TrainingJob& WithDebugRuleConfigurations(const Aws::Vector& value) { SetDebugRuleConfigurations(value); return *this;} /** *

Information about the debug rule configuration.

*/ inline TrainingJob& WithDebugRuleConfigurations(Aws::Vector&& value) { SetDebugRuleConfigurations(std::move(value)); return *this;} /** *

Information about the debug rule configuration.

*/ inline TrainingJob& AddDebugRuleConfigurations(const DebugRuleConfiguration& value) { m_debugRuleConfigurationsHasBeenSet = true; m_debugRuleConfigurations.push_back(value); return *this; } /** *

Information about the debug rule configuration.

*/ inline TrainingJob& AddDebugRuleConfigurations(DebugRuleConfiguration&& value) { m_debugRuleConfigurationsHasBeenSet = true; m_debugRuleConfigurations.push_back(std::move(value)); return *this; } inline const TensorBoardOutputConfig& GetTensorBoardOutputConfig() const{ return m_tensorBoardOutputConfig; } inline bool TensorBoardOutputConfigHasBeenSet() const { return m_tensorBoardOutputConfigHasBeenSet; } inline void SetTensorBoardOutputConfig(const TensorBoardOutputConfig& value) { m_tensorBoardOutputConfigHasBeenSet = true; m_tensorBoardOutputConfig = value; } inline void SetTensorBoardOutputConfig(TensorBoardOutputConfig&& value) { m_tensorBoardOutputConfigHasBeenSet = true; m_tensorBoardOutputConfig = std::move(value); } inline TrainingJob& WithTensorBoardOutputConfig(const TensorBoardOutputConfig& value) { SetTensorBoardOutputConfig(value); return *this;} inline TrainingJob& WithTensorBoardOutputConfig(TensorBoardOutputConfig&& value) { SetTensorBoardOutputConfig(std::move(value)); return *this;} /** *

Information about the evaluation status of the rules for the training * job.

*/ inline const Aws::Vector& GetDebugRuleEvaluationStatuses() const{ return m_debugRuleEvaluationStatuses; } /** *

Information about the evaluation status of the rules for the training * job.

*/ inline bool DebugRuleEvaluationStatusesHasBeenSet() const { return m_debugRuleEvaluationStatusesHasBeenSet; } /** *

Information about the evaluation status of the rules for the training * job.

*/ inline void SetDebugRuleEvaluationStatuses(const Aws::Vector& value) { m_debugRuleEvaluationStatusesHasBeenSet = true; m_debugRuleEvaluationStatuses = value; } /** *

Information about the evaluation status of the rules for the training * job.

*/ inline void SetDebugRuleEvaluationStatuses(Aws::Vector&& value) { m_debugRuleEvaluationStatusesHasBeenSet = true; m_debugRuleEvaluationStatuses = std::move(value); } /** *

Information about the evaluation status of the rules for the training * job.

*/ inline TrainingJob& WithDebugRuleEvaluationStatuses(const Aws::Vector& value) { SetDebugRuleEvaluationStatuses(value); return *this;} /** *

Information about the evaluation status of the rules for the training * job.

*/ inline TrainingJob& WithDebugRuleEvaluationStatuses(Aws::Vector&& value) { SetDebugRuleEvaluationStatuses(std::move(value)); return *this;} /** *

Information about the evaluation status of the rules for the training * job.

*/ inline TrainingJob& AddDebugRuleEvaluationStatuses(const DebugRuleEvaluationStatus& value) { m_debugRuleEvaluationStatusesHasBeenSet = true; m_debugRuleEvaluationStatuses.push_back(value); return *this; } /** *

Information about the evaluation status of the rules for the training * job.

*/ inline TrainingJob& AddDebugRuleEvaluationStatuses(DebugRuleEvaluationStatus&& value) { m_debugRuleEvaluationStatusesHasBeenSet = true; m_debugRuleEvaluationStatuses.push_back(std::move(value)); return *this; } inline const ProfilerConfig& GetProfilerConfig() const{ return m_profilerConfig; } inline bool ProfilerConfigHasBeenSet() const { return m_profilerConfigHasBeenSet; } inline void SetProfilerConfig(const ProfilerConfig& value) { m_profilerConfigHasBeenSet = true; m_profilerConfig = value; } inline void SetProfilerConfig(ProfilerConfig&& value) { m_profilerConfigHasBeenSet = true; m_profilerConfig = std::move(value); } inline TrainingJob& WithProfilerConfig(const ProfilerConfig& value) { SetProfilerConfig(value); return *this;} inline TrainingJob& WithProfilerConfig(ProfilerConfig&& value) { SetProfilerConfig(std::move(value)); return *this;} /** *

The environment variables to set in the Docker container.

*/ inline const Aws::Map& GetEnvironment() const{ return m_environment; } /** *

The environment variables to set in the Docker container.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

The environment variables to set in the Docker container.

*/ inline void SetEnvironment(const Aws::Map& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

The environment variables to set in the Docker container.

*/ inline void SetEnvironment(Aws::Map&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& WithEnvironment(const Aws::Map& value) { SetEnvironment(value); return *this;} /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& WithEnvironment(Aws::Map&& value) { SetEnvironment(std::move(value)); return *this;} /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(const Aws::String& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(Aws::String&& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(const Aws::String& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(Aws::String&& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), std::move(value)); return *this; } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(const char* key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(Aws::String&& key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; } /** *

The environment variables to set in the Docker container.

*/ inline TrainingJob& AddEnvironment(const char* key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; } /** *

The number of times to retry the job when the job fails due to an * InternalServerError.

*/ inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; } /** *

The number of times to retry the job when the job fails due to an * InternalServerError.

*/ inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; } /** *

The number of times to retry the job when the job fails due to an * InternalServerError.

*/ inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; } /** *

The number of times to retry the job when the job fails due to an * InternalServerError.

*/ inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); } /** *

The number of times to retry the job when the job fails due to an * InternalServerError.

*/ inline TrainingJob& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;} /** *

The number of times to retry the job when the job fails due to an * InternalServerError.

*/ inline TrainingJob& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;} /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline TrainingJob& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline TrainingJob& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline TrainingJob& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

An array of key-value pairs. You can use tags to categorize your Amazon Web * Services resources in different ways, for example, by purpose, owner, or * environment. For more information, see Tagging * Amazon Web Services Resources.

*/ inline TrainingJob& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_trainingJobName; bool m_trainingJobNameHasBeenSet = false; Aws::String m_trainingJobArn; bool m_trainingJobArnHasBeenSet = false; Aws::String m_tuningJobArn; bool m_tuningJobArnHasBeenSet = false; Aws::String m_labelingJobArn; bool m_labelingJobArnHasBeenSet = false; Aws::String m_autoMLJobArn; bool m_autoMLJobArnHasBeenSet = false; ModelArtifacts m_modelArtifacts; bool m_modelArtifactsHasBeenSet = false; TrainingJobStatus m_trainingJobStatus; bool m_trainingJobStatusHasBeenSet = false; SecondaryStatus m_secondaryStatus; bool m_secondaryStatusHasBeenSet = false; Aws::String m_failureReason; bool m_failureReasonHasBeenSet = false; Aws::Map m_hyperParameters; bool m_hyperParametersHasBeenSet = false; AlgorithmSpecification m_algorithmSpecification; bool m_algorithmSpecificationHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_inputDataConfig; bool m_inputDataConfigHasBeenSet = false; OutputDataConfig m_outputDataConfig; bool m_outputDataConfigHasBeenSet = false; ResourceConfig m_resourceConfig; bool m_resourceConfigHasBeenSet = false; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; StoppingCondition m_stoppingCondition; bool m_stoppingConditionHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_trainingStartTime; bool m_trainingStartTimeHasBeenSet = false; Aws::Utils::DateTime m_trainingEndTime; bool m_trainingEndTimeHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::Vector m_secondaryStatusTransitions; bool m_secondaryStatusTransitionsHasBeenSet = false; Aws::Vector m_finalMetricDataList; bool m_finalMetricDataListHasBeenSet = false; bool m_enableNetworkIsolation; bool m_enableNetworkIsolationHasBeenSet = false; bool m_enableInterContainerTrafficEncryption; bool m_enableInterContainerTrafficEncryptionHasBeenSet = false; bool m_enableManagedSpotTraining; bool m_enableManagedSpotTrainingHasBeenSet = false; CheckpointConfig m_checkpointConfig; bool m_checkpointConfigHasBeenSet = false; int m_trainingTimeInSeconds; bool m_trainingTimeInSecondsHasBeenSet = false; int m_billableTimeInSeconds; bool m_billableTimeInSecondsHasBeenSet = false; DebugHookConfig m_debugHookConfig; bool m_debugHookConfigHasBeenSet = false; ExperimentConfig m_experimentConfig; bool m_experimentConfigHasBeenSet = false; Aws::Vector m_debugRuleConfigurations; bool m_debugRuleConfigurationsHasBeenSet = false; TensorBoardOutputConfig m_tensorBoardOutputConfig; bool m_tensorBoardOutputConfigHasBeenSet = false; Aws::Vector m_debugRuleEvaluationStatuses; bool m_debugRuleEvaluationStatusesHasBeenSet = false; ProfilerConfig m_profilerConfig; bool m_profilerConfigHasBeenSet = false; Aws::Map m_environment; bool m_environmentHasBeenSet = false; RetryStrategy m_retryStrategy; bool m_retryStrategyHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws