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

A description of a version of an Amazon Rekognition Custom Labels * model.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the model version.

*/ inline const Aws::String& GetProjectVersionArn() const{ return m_projectVersionArn; } /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline bool ProjectVersionArnHasBeenSet() const { return m_projectVersionArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline void SetProjectVersionArn(const Aws::String& value) { m_projectVersionArnHasBeenSet = true; m_projectVersionArn = value; } /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline void SetProjectVersionArn(Aws::String&& value) { m_projectVersionArnHasBeenSet = true; m_projectVersionArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline void SetProjectVersionArn(const char* value) { m_projectVersionArnHasBeenSet = true; m_projectVersionArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline ProjectVersionDescription& WithProjectVersionArn(const Aws::String& value) { SetProjectVersionArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline ProjectVersionDescription& WithProjectVersionArn(Aws::String&& value) { SetProjectVersionArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the model version.

*/ inline ProjectVersionDescription& WithProjectVersionArn(const char* value) { SetProjectVersionArn(value); return *this;} /** *

The Unix datetime for the date and time that training started.

*/ inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; } /** *

The Unix datetime for the date and time that training started.

*/ inline bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; } /** *

The Unix datetime for the date and time that training started.

*/ inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = value; } /** *

The Unix datetime for the date and time that training started.

*/ inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = std::move(value); } /** *

The Unix datetime for the date and time that training started.

*/ inline ProjectVersionDescription& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;} /** *

The Unix datetime for the date and time that training started.

*/ inline ProjectVersionDescription& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;} /** *

The minimum number of inference units used by the model. For more * information, see StartProjectVersion.

*/ inline int GetMinInferenceUnits() const{ return m_minInferenceUnits; } /** *

The minimum number of inference units used by the model. For more * information, see StartProjectVersion.

*/ inline bool MinInferenceUnitsHasBeenSet() const { return m_minInferenceUnitsHasBeenSet; } /** *

The minimum number of inference units used by the model. For more * information, see StartProjectVersion.

*/ inline void SetMinInferenceUnits(int value) { m_minInferenceUnitsHasBeenSet = true; m_minInferenceUnits = value; } /** *

The minimum number of inference units used by the model. For more * information, see StartProjectVersion.

*/ inline ProjectVersionDescription& WithMinInferenceUnits(int value) { SetMinInferenceUnits(value); return *this;} /** *

The current status of the model version.

*/ inline const ProjectVersionStatus& GetStatus() const{ return m_status; } /** *

The current status of the model version.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the model version.

*/ inline void SetStatus(const ProjectVersionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the model version.

*/ inline void SetStatus(ProjectVersionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the model version.

*/ inline ProjectVersionDescription& WithStatus(const ProjectVersionStatus& value) { SetStatus(value); return *this;} /** *

The current status of the model version.

*/ inline ProjectVersionDescription& WithStatus(ProjectVersionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A descriptive message for an error or warning that occurred.

*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *

A descriptive message for an error or warning that occurred.

*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *

A descriptive message for an error or warning that occurred.

*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *

A descriptive message for an error or warning that occurred.

*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *

A descriptive message for an error or warning that occurred.

*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *

A descriptive message for an error or warning that occurred.

*/ inline ProjectVersionDescription& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *

A descriptive message for an error or warning that occurred.

*/ inline ProjectVersionDescription& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *

A descriptive message for an error or warning that occurred.

*/ inline ProjectVersionDescription& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *

The duration, in seconds, that you were billed for a successful training of * the model version. This value is only returned if the model version has been * successfully trained.

*/ inline long long GetBillableTrainingTimeInSeconds() const{ return m_billableTrainingTimeInSeconds; } /** *

The duration, in seconds, that you were billed for a successful training of * the model version. This value is only returned if the model version has been * successfully trained.

*/ inline bool BillableTrainingTimeInSecondsHasBeenSet() const { return m_billableTrainingTimeInSecondsHasBeenSet; } /** *

The duration, in seconds, that you were billed for a successful training of * the model version. This value is only returned if the model version has been * successfully trained.

*/ inline void SetBillableTrainingTimeInSeconds(long long value) { m_billableTrainingTimeInSecondsHasBeenSet = true; m_billableTrainingTimeInSeconds = value; } /** *

The duration, in seconds, that you were billed for a successful training of * the model version. This value is only returned if the model version has been * successfully trained.

*/ inline ProjectVersionDescription& WithBillableTrainingTimeInSeconds(long long value) { SetBillableTrainingTimeInSeconds(value); return *this;} /** *

The Unix date and time that training of the model ended.

*/ inline const Aws::Utils::DateTime& GetTrainingEndTimestamp() const{ return m_trainingEndTimestamp; } /** *

The Unix date and time that training of the model ended.

*/ inline bool TrainingEndTimestampHasBeenSet() const { return m_trainingEndTimestampHasBeenSet; } /** *

The Unix date and time that training of the model ended.

*/ inline void SetTrainingEndTimestamp(const Aws::Utils::DateTime& value) { m_trainingEndTimestampHasBeenSet = true; m_trainingEndTimestamp = value; } /** *

The Unix date and time that training of the model ended.

*/ inline void SetTrainingEndTimestamp(Aws::Utils::DateTime&& value) { m_trainingEndTimestampHasBeenSet = true; m_trainingEndTimestamp = std::move(value); } /** *

The Unix date and time that training of the model ended.

*/ inline ProjectVersionDescription& WithTrainingEndTimestamp(const Aws::Utils::DateTime& value) { SetTrainingEndTimestamp(value); return *this;} /** *

The Unix date and time that training of the model ended.

*/ inline ProjectVersionDescription& WithTrainingEndTimestamp(Aws::Utils::DateTime&& value) { SetTrainingEndTimestamp(std::move(value)); return *this;} /** *

The location where training results are saved.

*/ inline const OutputConfig& GetOutputConfig() const{ return m_outputConfig; } /** *

The location where training results are saved.

*/ inline bool OutputConfigHasBeenSet() const { return m_outputConfigHasBeenSet; } /** *

The location where training results are saved.

*/ inline void SetOutputConfig(const OutputConfig& value) { m_outputConfigHasBeenSet = true; m_outputConfig = value; } /** *

The location where training results are saved.

*/ inline void SetOutputConfig(OutputConfig&& value) { m_outputConfigHasBeenSet = true; m_outputConfig = std::move(value); } /** *

The location where training results are saved.

*/ inline ProjectVersionDescription& WithOutputConfig(const OutputConfig& value) { SetOutputConfig(value); return *this;} /** *

The location where training results are saved.

*/ inline ProjectVersionDescription& WithOutputConfig(OutputConfig&& value) { SetOutputConfig(std::move(value)); return *this;} /** *

Contains information about the training results.

*/ inline const TrainingDataResult& GetTrainingDataResult() const{ return m_trainingDataResult; } /** *

Contains information about the training results.

*/ inline bool TrainingDataResultHasBeenSet() const { return m_trainingDataResultHasBeenSet; } /** *

Contains information about the training results.

*/ inline void SetTrainingDataResult(const TrainingDataResult& value) { m_trainingDataResultHasBeenSet = true; m_trainingDataResult = value; } /** *

Contains information about the training results.

*/ inline void SetTrainingDataResult(TrainingDataResult&& value) { m_trainingDataResultHasBeenSet = true; m_trainingDataResult = std::move(value); } /** *

Contains information about the training results.

*/ inline ProjectVersionDescription& WithTrainingDataResult(const TrainingDataResult& value) { SetTrainingDataResult(value); return *this;} /** *

Contains information about the training results.

*/ inline ProjectVersionDescription& WithTrainingDataResult(TrainingDataResult&& value) { SetTrainingDataResult(std::move(value)); return *this;} /** *

Contains information about the testing results.

*/ inline const TestingDataResult& GetTestingDataResult() const{ return m_testingDataResult; } /** *

Contains information about the testing results.

*/ inline bool TestingDataResultHasBeenSet() const { return m_testingDataResultHasBeenSet; } /** *

Contains information about the testing results.

*/ inline void SetTestingDataResult(const TestingDataResult& value) { m_testingDataResultHasBeenSet = true; m_testingDataResult = value; } /** *

Contains information about the testing results.

*/ inline void SetTestingDataResult(TestingDataResult&& value) { m_testingDataResultHasBeenSet = true; m_testingDataResult = std::move(value); } /** *

Contains information about the testing results.

*/ inline ProjectVersionDescription& WithTestingDataResult(const TestingDataResult& value) { SetTestingDataResult(value); return *this;} /** *

Contains information about the testing results.

*/ inline ProjectVersionDescription& WithTestingDataResult(TestingDataResult&& value) { SetTestingDataResult(std::move(value)); return *this;} /** *

The training results. EvaluationResult is only returned if * training is successful.

*/ inline const EvaluationResult& GetEvaluationResult() const{ return m_evaluationResult; } /** *

The training results. EvaluationResult is only returned if * training is successful.

*/ inline bool EvaluationResultHasBeenSet() const { return m_evaluationResultHasBeenSet; } /** *

The training results. EvaluationResult is only returned if * training is successful.

*/ inline void SetEvaluationResult(const EvaluationResult& value) { m_evaluationResultHasBeenSet = true; m_evaluationResult = value; } /** *

The training results. EvaluationResult is only returned if * training is successful.

*/ inline void SetEvaluationResult(EvaluationResult&& value) { m_evaluationResultHasBeenSet = true; m_evaluationResult = std::move(value); } /** *

The training results. EvaluationResult is only returned if * training is successful.

*/ inline ProjectVersionDescription& WithEvaluationResult(const EvaluationResult& value) { SetEvaluationResult(value); return *this;} /** *

The training results. EvaluationResult is only returned if * training is successful.

*/ inline ProjectVersionDescription& WithEvaluationResult(EvaluationResult&& value) { SetEvaluationResult(std::move(value)); return *this;} /** *

The location of the summary manifest. The summary manifest provides aggregate * data validation results for the training and test datasets.

*/ inline const GroundTruthManifest& GetManifestSummary() const{ return m_manifestSummary; } /** *

The location of the summary manifest. The summary manifest provides aggregate * data validation results for the training and test datasets.

*/ inline bool ManifestSummaryHasBeenSet() const { return m_manifestSummaryHasBeenSet; } /** *

The location of the summary manifest. The summary manifest provides aggregate * data validation results for the training and test datasets.

*/ inline void SetManifestSummary(const GroundTruthManifest& value) { m_manifestSummaryHasBeenSet = true; m_manifestSummary = value; } /** *

The location of the summary manifest. The summary manifest provides aggregate * data validation results for the training and test datasets.

*/ inline void SetManifestSummary(GroundTruthManifest&& value) { m_manifestSummaryHasBeenSet = true; m_manifestSummary = std::move(value); } /** *

The location of the summary manifest. The summary manifest provides aggregate * data validation results for the training and test datasets.

*/ inline ProjectVersionDescription& WithManifestSummary(const GroundTruthManifest& value) { SetManifestSummary(value); return *this;} /** *

The location of the summary manifest. The summary manifest provides aggregate * data validation results for the training and test datasets.

*/ inline ProjectVersionDescription& WithManifestSummary(GroundTruthManifest&& value) { SetManifestSummary(std::move(value)); return *this;} /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline ProjectVersionDescription& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline ProjectVersionDescription& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The identifer for the AWS Key Management Service key (AWS KMS key) that was * used to encrypt the model during training.

*/ inline ProjectVersionDescription& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The maximum number of inference units Amazon Rekognition Custom Labels uses * to auto-scale the model. For more information, see * StartProjectVersion.

*/ inline int GetMaxInferenceUnits() const{ return m_maxInferenceUnits; } /** *

The maximum number of inference units Amazon Rekognition Custom Labels uses * to auto-scale the model. For more information, see * StartProjectVersion.

*/ inline bool MaxInferenceUnitsHasBeenSet() const { return m_maxInferenceUnitsHasBeenSet; } /** *

The maximum number of inference units Amazon Rekognition Custom Labels uses * to auto-scale the model. For more information, see * StartProjectVersion.

*/ inline void SetMaxInferenceUnits(int value) { m_maxInferenceUnitsHasBeenSet = true; m_maxInferenceUnits = value; } /** *

The maximum number of inference units Amazon Rekognition Custom Labels uses * to auto-scale the model. For more information, see * StartProjectVersion.

*/ inline ProjectVersionDescription& WithMaxInferenceUnits(int value) { SetMaxInferenceUnits(value); return *this;} /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline const Aws::String& GetSourceProjectVersionArn() const{ return m_sourceProjectVersionArn; } /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline bool SourceProjectVersionArnHasBeenSet() const { return m_sourceProjectVersionArnHasBeenSet; } /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline void SetSourceProjectVersionArn(const Aws::String& value) { m_sourceProjectVersionArnHasBeenSet = true; m_sourceProjectVersionArn = value; } /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline void SetSourceProjectVersionArn(Aws::String&& value) { m_sourceProjectVersionArnHasBeenSet = true; m_sourceProjectVersionArn = std::move(value); } /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline void SetSourceProjectVersionArn(const char* value) { m_sourceProjectVersionArnHasBeenSet = true; m_sourceProjectVersionArn.assign(value); } /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline ProjectVersionDescription& WithSourceProjectVersionArn(const Aws::String& value) { SetSourceProjectVersionArn(value); return *this;} /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline ProjectVersionDescription& WithSourceProjectVersionArn(Aws::String&& value) { SetSourceProjectVersionArn(std::move(value)); return *this;} /** *

If the model version was copied from a different project, * SourceProjectVersionArn contains the ARN of the source model * version.

*/ inline ProjectVersionDescription& WithSourceProjectVersionArn(const char* value) { SetSourceProjectVersionArn(value); return *this;} private: Aws::String m_projectVersionArn; bool m_projectVersionArnHasBeenSet = false; Aws::Utils::DateTime m_creationTimestamp; bool m_creationTimestampHasBeenSet = false; int m_minInferenceUnits; bool m_minInferenceUnitsHasBeenSet = false; ProjectVersionStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; long long m_billableTrainingTimeInSeconds; bool m_billableTrainingTimeInSecondsHasBeenSet = false; Aws::Utils::DateTime m_trainingEndTimestamp; bool m_trainingEndTimestampHasBeenSet = false; OutputConfig m_outputConfig; bool m_outputConfigHasBeenSet = false; TrainingDataResult m_trainingDataResult; bool m_trainingDataResultHasBeenSet = false; TestingDataResult m_testingDataResult; bool m_testingDataResultHasBeenSet = false; EvaluationResult m_evaluationResult; bool m_evaluationResultHasBeenSet = false; GroundTruthManifest m_manifestSummary; bool m_manifestSummaryHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; int m_maxInferenceUnits; bool m_maxInferenceUnitsHasBeenSet = false; Aws::String m_sourceProjectVersionArn; bool m_sourceProjectVersionArnHasBeenSet = false; }; } // namespace Model } // namespace Rekognition } // namespace Aws