/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace Comprehend { namespace Model { class ClassifyDocumentResult { public: AWS_COMPREHEND_API ClassifyDocumentResult(); AWS_COMPREHEND_API ClassifyDocumentResult(const Aws::AmazonWebServiceResult& result); AWS_COMPREHEND_API ClassifyDocumentResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline const Aws::Vector& GetClasses() const{ return m_classes; } /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline void SetClasses(const Aws::Vector& value) { m_classes = value; } /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline void SetClasses(Aws::Vector&& value) { m_classes = std::move(value); } /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline ClassifyDocumentResult& WithClasses(const Aws::Vector& value) { SetClasses(value); return *this;} /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline ClassifyDocumentResult& WithClasses(Aws::Vector&& value) { SetClasses(std::move(value)); return *this;} /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline ClassifyDocumentResult& AddClasses(const DocumentClass& value) { m_classes.push_back(value); return *this; } /** *

The classes used by the document being analyzed. These are used for * multi-class trained models. Individual classes are mutually exclusive and each * document is expected to have only a single class assigned to it. For example, an * animal can be a dog or a cat, but not both at the same time.

*/ inline ClassifyDocumentResult& AddClasses(DocumentClass&& value) { m_classes.push_back(std::move(value)); return *this; } /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline const Aws::Vector& GetLabels() const{ return m_labels; } /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline void SetLabels(const Aws::Vector& value) { m_labels = value; } /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline void SetLabels(Aws::Vector&& value) { m_labels = std::move(value); } /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline ClassifyDocumentResult& WithLabels(const Aws::Vector& value) { SetLabels(value); return *this;} /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline ClassifyDocumentResult& WithLabels(Aws::Vector&& value) { SetLabels(std::move(value)); return *this;} /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline ClassifyDocumentResult& AddLabels(const DocumentLabel& value) { m_labels.push_back(value); return *this; } /** *

The labels used the document being analyzed. These are used for multi-label * trained models. Individual labels represent different categories that are * related in some manner and are not mutually exclusive. For example, a movie can * be just an action movie, or it can be an action movie, a science fiction movie, * and a comedy, all at the same time.

*/ inline ClassifyDocumentResult& AddLabels(DocumentLabel&& value) { m_labels.push_back(std::move(value)); return *this; } /** *

Extraction information about the document. This field is present in the * response only if your request includes the Byte parameter.

*/ inline const DocumentMetadata& GetDocumentMetadata() const{ return m_documentMetadata; } /** *

Extraction information about the document. This field is present in the * response only if your request includes the Byte parameter.

*/ inline void SetDocumentMetadata(const DocumentMetadata& value) { m_documentMetadata = value; } /** *

Extraction information about the document. This field is present in the * response only if your request includes the Byte parameter.

*/ inline void SetDocumentMetadata(DocumentMetadata&& value) { m_documentMetadata = std::move(value); } /** *

Extraction information about the document. This field is present in the * response only if your request includes the Byte parameter.

*/ inline ClassifyDocumentResult& WithDocumentMetadata(const DocumentMetadata& value) { SetDocumentMetadata(value); return *this;} /** *

Extraction information about the document. This field is present in the * response only if your request includes the Byte parameter.

*/ inline ClassifyDocumentResult& WithDocumentMetadata(DocumentMetadata&& value) { SetDocumentMetadata(std::move(value)); return *this;} /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline const Aws::Vector& GetDocumentType() const{ return m_documentType; } /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline void SetDocumentType(const Aws::Vector& value) { m_documentType = value; } /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline void SetDocumentType(Aws::Vector&& value) { m_documentType = std::move(value); } /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline ClassifyDocumentResult& WithDocumentType(const Aws::Vector& value) { SetDocumentType(value); return *this;} /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline ClassifyDocumentResult& WithDocumentType(Aws::Vector&& value) { SetDocumentType(std::move(value)); return *this;} /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline ClassifyDocumentResult& AddDocumentType(const DocumentTypeListItem& value) { m_documentType.push_back(value); return *this; } /** *

The document type for each page in the input document. This field is present * in the response only if your request includes the Byte parameter. *

*/ inline ClassifyDocumentResult& AddDocumentType(DocumentTypeListItem&& value) { m_documentType.push_back(std::move(value)); return *this; } /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline const Aws::Vector& GetErrors() const{ return m_errors; } /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline void SetErrors(const Aws::Vector& value) { m_errors = value; } /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline void SetErrors(Aws::Vector&& value) { m_errors = std::move(value); } /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline ClassifyDocumentResult& WithErrors(const Aws::Vector& value) { SetErrors(value); return *this;} /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline ClassifyDocumentResult& WithErrors(Aws::Vector&& value) { SetErrors(std::move(value)); return *this;} /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline ClassifyDocumentResult& AddErrors(const ErrorsListItem& value) { m_errors.push_back(value); return *this; } /** *

Page-level errors that the system detected while processing the input * document. The field is empty if the system encountered no errors.

*/ inline ClassifyDocumentResult& AddErrors(ErrorsListItem&& value) { m_errors.push_back(std::move(value)); return *this; } /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline const Aws::Vector& GetWarnings() const{ return m_warnings; } /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline void SetWarnings(const Aws::Vector& value) { m_warnings = value; } /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline void SetWarnings(Aws::Vector&& value) { m_warnings = std::move(value); } /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline ClassifyDocumentResult& WithWarnings(const Aws::Vector& value) { SetWarnings(value); return *this;} /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline ClassifyDocumentResult& WithWarnings(Aws::Vector&& value) { SetWarnings(std::move(value)); return *this;} /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline ClassifyDocumentResult& AddWarnings(const WarningsListItem& value) { m_warnings.push_back(value); return *this; } /** *

Warnings detected while processing the input document. The response includes * a warning if there is a mismatch between the input document type and the model * type associated with the endpoint that you specified. The response can also * include warnings for individual pages that have a mismatch.

The field is * empty if the system generated no warnings.

*/ inline ClassifyDocumentResult& AddWarnings(WarningsListItem&& value) { m_warnings.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline ClassifyDocumentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline ClassifyDocumentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline ClassifyDocumentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::Vector m_classes; Aws::Vector m_labels; DocumentMetadata m_documentMetadata; Aws::Vector m_documentType; Aws::Vector m_errors; Aws::Vector m_warnings; Aws::String m_requestId; }; } // namespace Model } // namespace Comprehend } // namespace Aws