/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Information about a candidate produced by an AutoML training job, including * its status, steps, and other properties.

See Also:

AWS * API Reference

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

The name of the candidate.

*/ inline const Aws::String& GetCandidateName() const{ return m_candidateName; } /** *

The name of the candidate.

*/ inline bool CandidateNameHasBeenSet() const { return m_candidateNameHasBeenSet; } /** *

The name of the candidate.

*/ inline void SetCandidateName(const Aws::String& value) { m_candidateNameHasBeenSet = true; m_candidateName = value; } /** *

The name of the candidate.

*/ inline void SetCandidateName(Aws::String&& value) { m_candidateNameHasBeenSet = true; m_candidateName = std::move(value); } /** *

The name of the candidate.

*/ inline void SetCandidateName(const char* value) { m_candidateNameHasBeenSet = true; m_candidateName.assign(value); } /** *

The name of the candidate.

*/ inline AutoMLCandidate& WithCandidateName(const Aws::String& value) { SetCandidateName(value); return *this;} /** *

The name of the candidate.

*/ inline AutoMLCandidate& WithCandidateName(Aws::String&& value) { SetCandidateName(std::move(value)); return *this;} /** *

The name of the candidate.

*/ inline AutoMLCandidate& WithCandidateName(const char* value) { SetCandidateName(value); return *this;} inline const FinalAutoMLJobObjectiveMetric& GetFinalAutoMLJobObjectiveMetric() const{ return m_finalAutoMLJobObjectiveMetric; } inline bool FinalAutoMLJobObjectiveMetricHasBeenSet() const { return m_finalAutoMLJobObjectiveMetricHasBeenSet; } inline void SetFinalAutoMLJobObjectiveMetric(const FinalAutoMLJobObjectiveMetric& value) { m_finalAutoMLJobObjectiveMetricHasBeenSet = true; m_finalAutoMLJobObjectiveMetric = value; } inline void SetFinalAutoMLJobObjectiveMetric(FinalAutoMLJobObjectiveMetric&& value) { m_finalAutoMLJobObjectiveMetricHasBeenSet = true; m_finalAutoMLJobObjectiveMetric = std::move(value); } inline AutoMLCandidate& WithFinalAutoMLJobObjectiveMetric(const FinalAutoMLJobObjectiveMetric& value) { SetFinalAutoMLJobObjectiveMetric(value); return *this;} inline AutoMLCandidate& WithFinalAutoMLJobObjectiveMetric(FinalAutoMLJobObjectiveMetric&& value) { SetFinalAutoMLJobObjectiveMetric(std::move(value)); return *this;} /** *

The objective's status.

*/ inline const ObjectiveStatus& GetObjectiveStatus() const{ return m_objectiveStatus; } /** *

The objective's status.

*/ inline bool ObjectiveStatusHasBeenSet() const { return m_objectiveStatusHasBeenSet; } /** *

The objective's status.

*/ inline void SetObjectiveStatus(const ObjectiveStatus& value) { m_objectiveStatusHasBeenSet = true; m_objectiveStatus = value; } /** *

The objective's status.

*/ inline void SetObjectiveStatus(ObjectiveStatus&& value) { m_objectiveStatusHasBeenSet = true; m_objectiveStatus = std::move(value); } /** *

The objective's status.

*/ inline AutoMLCandidate& WithObjectiveStatus(const ObjectiveStatus& value) { SetObjectiveStatus(value); return *this;} /** *

The objective's status.

*/ inline AutoMLCandidate& WithObjectiveStatus(ObjectiveStatus&& value) { SetObjectiveStatus(std::move(value)); return *this;} /** *

Information about the candidate's steps.

*/ inline const Aws::Vector& GetCandidateSteps() const{ return m_candidateSteps; } /** *

Information about the candidate's steps.

*/ inline bool CandidateStepsHasBeenSet() const { return m_candidateStepsHasBeenSet; } /** *

Information about the candidate's steps.

*/ inline void SetCandidateSteps(const Aws::Vector& value) { m_candidateStepsHasBeenSet = true; m_candidateSteps = value; } /** *

Information about the candidate's steps.

*/ inline void SetCandidateSteps(Aws::Vector&& value) { m_candidateStepsHasBeenSet = true; m_candidateSteps = std::move(value); } /** *

Information about the candidate's steps.

*/ inline AutoMLCandidate& WithCandidateSteps(const Aws::Vector& value) { SetCandidateSteps(value); return *this;} /** *

Information about the candidate's steps.

*/ inline AutoMLCandidate& WithCandidateSteps(Aws::Vector&& value) { SetCandidateSteps(std::move(value)); return *this;} /** *

Information about the candidate's steps.

*/ inline AutoMLCandidate& AddCandidateSteps(const AutoMLCandidateStep& value) { m_candidateStepsHasBeenSet = true; m_candidateSteps.push_back(value); return *this; } /** *

Information about the candidate's steps.

*/ inline AutoMLCandidate& AddCandidateSteps(AutoMLCandidateStep&& value) { m_candidateStepsHasBeenSet = true; m_candidateSteps.push_back(std::move(value)); return *this; } /** *

The candidate's status.

*/ inline const CandidateStatus& GetCandidateStatus() const{ return m_candidateStatus; } /** *

The candidate's status.

*/ inline bool CandidateStatusHasBeenSet() const { return m_candidateStatusHasBeenSet; } /** *

The candidate's status.

*/ inline void SetCandidateStatus(const CandidateStatus& value) { m_candidateStatusHasBeenSet = true; m_candidateStatus = value; } /** *

The candidate's status.

*/ inline void SetCandidateStatus(CandidateStatus&& value) { m_candidateStatusHasBeenSet = true; m_candidateStatus = std::move(value); } /** *

The candidate's status.

*/ inline AutoMLCandidate& WithCandidateStatus(const CandidateStatus& value) { SetCandidateStatus(value); return *this;} /** *

The candidate's status.

*/ inline AutoMLCandidate& WithCandidateStatus(CandidateStatus&& value) { SetCandidateStatus(std::move(value)); return *this;} /** *

Information about the recommended inference container definitions.

*/ inline const Aws::Vector& GetInferenceContainers() const{ return m_inferenceContainers; } /** *

Information about the recommended inference container definitions.

*/ inline bool InferenceContainersHasBeenSet() const { return m_inferenceContainersHasBeenSet; } /** *

Information about the recommended inference container definitions.

*/ inline void SetInferenceContainers(const Aws::Vector& value) { m_inferenceContainersHasBeenSet = true; m_inferenceContainers = value; } /** *

Information about the recommended inference container definitions.

*/ inline void SetInferenceContainers(Aws::Vector&& value) { m_inferenceContainersHasBeenSet = true; m_inferenceContainers = std::move(value); } /** *

Information about the recommended inference container definitions.

*/ inline AutoMLCandidate& WithInferenceContainers(const Aws::Vector& value) { SetInferenceContainers(value); return *this;} /** *

Information about the recommended inference container definitions.

*/ inline AutoMLCandidate& WithInferenceContainers(Aws::Vector&& value) { SetInferenceContainers(std::move(value)); return *this;} /** *

Information about the recommended inference container definitions.

*/ inline AutoMLCandidate& AddInferenceContainers(const AutoMLContainerDefinition& value) { m_inferenceContainersHasBeenSet = true; m_inferenceContainers.push_back(value); return *this; } /** *

Information about the recommended inference container definitions.

*/ inline AutoMLCandidate& AddInferenceContainers(AutoMLContainerDefinition&& value) { m_inferenceContainersHasBeenSet = true; m_inferenceContainers.push_back(std::move(value)); return *this; } /** *

The creation time.

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

The creation time.

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

The creation time.

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

The creation time.

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

The creation time.

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

The creation time.

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

The end time.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

The end time.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

The end time.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

The end time.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

The end time.

*/ inline AutoMLCandidate& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

The end time.

*/ inline AutoMLCandidate& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

The last modified time.

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

The last modified time.

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

The last modified time.

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

The last modified time.

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

The last modified time.

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

The last modified time.

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

The failure reason.

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

The failure reason.

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

The failure reason.

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

The failure reason.

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

The failure reason.

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

The failure reason.

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

The failure reason.

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

The failure reason.

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

The properties of an AutoML candidate job.

*/ inline const CandidateProperties& GetCandidateProperties() const{ return m_candidateProperties; } /** *

The properties of an AutoML candidate job.

*/ inline bool CandidatePropertiesHasBeenSet() const { return m_candidatePropertiesHasBeenSet; } /** *

The properties of an AutoML candidate job.

*/ inline void SetCandidateProperties(const CandidateProperties& value) { m_candidatePropertiesHasBeenSet = true; m_candidateProperties = value; } /** *

The properties of an AutoML candidate job.

*/ inline void SetCandidateProperties(CandidateProperties&& value) { m_candidatePropertiesHasBeenSet = true; m_candidateProperties = std::move(value); } /** *

The properties of an AutoML candidate job.

*/ inline AutoMLCandidate& WithCandidateProperties(const CandidateProperties& value) { SetCandidateProperties(value); return *this;} /** *

The properties of an AutoML candidate job.

*/ inline AutoMLCandidate& WithCandidateProperties(CandidateProperties&& value) { SetCandidateProperties(std::move(value)); return *this;} /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline const Aws::Map>& GetInferenceContainerDefinitions() const{ return m_inferenceContainerDefinitions; } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline bool InferenceContainerDefinitionsHasBeenSet() const { return m_inferenceContainerDefinitionsHasBeenSet; } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline void SetInferenceContainerDefinitions(const Aws::Map>& value) { m_inferenceContainerDefinitionsHasBeenSet = true; m_inferenceContainerDefinitions = value; } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline void SetInferenceContainerDefinitions(Aws::Map>&& value) { m_inferenceContainerDefinitionsHasBeenSet = true; m_inferenceContainerDefinitions = std::move(value); } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline AutoMLCandidate& WithInferenceContainerDefinitions(const Aws::Map>& value) { SetInferenceContainerDefinitions(value); return *this;} /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline AutoMLCandidate& WithInferenceContainerDefinitions(Aws::Map>&& value) { SetInferenceContainerDefinitions(std::move(value)); return *this;} /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline AutoMLCandidate& AddInferenceContainerDefinitions(const AutoMLProcessingUnit& key, const Aws::Vector& value) { m_inferenceContainerDefinitionsHasBeenSet = true; m_inferenceContainerDefinitions.emplace(key, value); return *this; } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline AutoMLCandidate& AddInferenceContainerDefinitions(AutoMLProcessingUnit&& key, const Aws::Vector& value) { m_inferenceContainerDefinitionsHasBeenSet = true; m_inferenceContainerDefinitions.emplace(std::move(key), value); return *this; } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline AutoMLCandidate& AddInferenceContainerDefinitions(const AutoMLProcessingUnit& key, Aws::Vector&& value) { m_inferenceContainerDefinitionsHasBeenSet = true; m_inferenceContainerDefinitions.emplace(key, std::move(value)); return *this; } /** *

The mapping of all supported processing unit (CPU, GPU, etc...) to inference * container definitions for the candidate. This field is populated for the AutoML * jobs V2 (for example, for jobs created by calling * CreateAutoMLJobV2) related to image or text classification problem * types only.

*/ inline AutoMLCandidate& AddInferenceContainerDefinitions(AutoMLProcessingUnit&& key, Aws::Vector&& value) { m_inferenceContainerDefinitionsHasBeenSet = true; m_inferenceContainerDefinitions.emplace(std::move(key), std::move(value)); return *this; } private: Aws::String m_candidateName; bool m_candidateNameHasBeenSet = false; FinalAutoMLJobObjectiveMetric m_finalAutoMLJobObjectiveMetric; bool m_finalAutoMLJobObjectiveMetricHasBeenSet = false; ObjectiveStatus m_objectiveStatus; bool m_objectiveStatusHasBeenSet = false; Aws::Vector m_candidateSteps; bool m_candidateStepsHasBeenSet = false; CandidateStatus m_candidateStatus; bool m_candidateStatusHasBeenSet = false; Aws::Vector m_inferenceContainers; bool m_inferenceContainersHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::String m_failureReason; bool m_failureReasonHasBeenSet = false; CandidateProperties m_candidateProperties; bool m_candidatePropertiesHasBeenSet = false; Aws::Map> m_inferenceContainerDefinitions; bool m_inferenceContainerDefinitionsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws