/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.comprehend.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Provides information about a document classifier. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DocumentClassifierProperties implements Serializable, Cloneable, StructuredPojo { /** *

* The Amazon Resource Name (ARN) that identifies the document classifier. *

*/ private String documentClassifierArn; /** *

* The language code for the language of the documents that the classifier was trained on. *

*/ private String languageCode; /** *

* The status of the document classifier. If the status is TRAINED the classifier is ready to use. If * the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should review the * warnings returned in the CreateDocumentClassifier response. *

*

* If the status is FAILED you can see additional information about why the classifier wasn't trained * in the Message field. *

*/ private String status; /** *

* Additional information about the status of the classifier. *

*/ private String message; /** *

* The time that the document classifier was submitted for training. *

*/ private java.util.Date submitTime; /** *

* The time that training the document classifier completed. *

*/ private java.util.Date endTime; /** *

* Indicates the time when the training starts on documentation classifiers. You are billed for the time interval * between this time and the value of TrainingEndTime. *

*/ private java.util.Date trainingStartTime; /** *

* The time that training of the document classifier was completed. Indicates the time when the training completes * on documentation classifiers. You are billed for the time interval between this time and the value of * TrainingStartTime. *

*/ private java.util.Date trainingEndTime; /** *

* The input data configuration that you supplied when you created the document classifier for training. *

*/ private DocumentClassifierInputDataConfig inputDataConfig; /** *

* Provides output results configuration parameters for custom classifier jobs. *

*/ private DocumentClassifierOutputDataConfig outputDataConfig; /** *

* Information about the document classifier, including the number of documents used for training the classifier, * the number of documents used for test the classifier, and an accuracy rating. *

*/ private ClassifierMetadata classifierMetadata; /** *

* The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. *

*/ private String dataAccessRoleArn; /** *

* ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on * the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can * be either of the following formats: *

* */ private String volumeKmsKeyId; /** *

* Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for * your custom classifier. For more information, see Amazon VPC. *

*/ private VpcConfig vpcConfig; /** *

* Indicates the mode in which the specific classifier was trained. This also indicates the format of input * documents and the format of the confusion matrix. Each classifier can only be trained in one mode and this cannot * be changed once the classifier is trained. *

*/ private String mode; /** *

* ID for the KMS key that Amazon Comprehend uses to encrypt trained custom models. The ModelKmsKeyId can be either * of the following formats: *

* */ private String modelKmsKeyId; /** *

* The version name that you assigned to the document classifier. *

*/ private String versionName; /** *

* The Amazon Resource Name (ARN) of the source model. This model was imported from a different Amazon Web Services * account to create the document classifier model in your Amazon Web Services account. *

*/ private String sourceModelArn; /** *

* The Amazon Resource Number (ARN) of the flywheel *

*/ private String flywheelArn; /** *

* The Amazon Resource Name (ARN) that identifies the document classifier. *

* * @param documentClassifierArn * The Amazon Resource Name (ARN) that identifies the document classifier. */ public void setDocumentClassifierArn(String documentClassifierArn) { this.documentClassifierArn = documentClassifierArn; } /** *

* The Amazon Resource Name (ARN) that identifies the document classifier. *

* * @return The Amazon Resource Name (ARN) that identifies the document classifier. */ public String getDocumentClassifierArn() { return this.documentClassifierArn; } /** *

* The Amazon Resource Name (ARN) that identifies the document classifier. *

* * @param documentClassifierArn * The Amazon Resource Name (ARN) that identifies the document classifier. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withDocumentClassifierArn(String documentClassifierArn) { setDocumentClassifierArn(documentClassifierArn); return this; } /** *

* The language code for the language of the documents that the classifier was trained on. *

* * @param languageCode * The language code for the language of the documents that the classifier was trained on. * @see LanguageCode */ public void setLanguageCode(String languageCode) { this.languageCode = languageCode; } /** *

* The language code for the language of the documents that the classifier was trained on. *

* * @return The language code for the language of the documents that the classifier was trained on. * @see LanguageCode */ public String getLanguageCode() { return this.languageCode; } /** *

* The language code for the language of the documents that the classifier was trained on. *

* * @param languageCode * The language code for the language of the documents that the classifier was trained on. * @return Returns a reference to this object so that method calls can be chained together. * @see LanguageCode */ public DocumentClassifierProperties withLanguageCode(String languageCode) { setLanguageCode(languageCode); return this; } /** *

* The language code for the language of the documents that the classifier was trained on. *

* * @param languageCode * The language code for the language of the documents that the classifier was trained on. * @return Returns a reference to this object so that method calls can be chained together. * @see LanguageCode */ public DocumentClassifierProperties withLanguageCode(LanguageCode languageCode) { this.languageCode = languageCode.toString(); return this; } /** *

* The status of the document classifier. If the status is TRAINED the classifier is ready to use. If * the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should review the * warnings returned in the CreateDocumentClassifier response. *

*

* If the status is FAILED you can see additional information about why the classifier wasn't trained * in the Message field. *

* * @param status * The status of the document classifier. If the status is TRAINED the classifier is ready to * use. If the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should * review the warnings returned in the CreateDocumentClassifier response.

*

* If the status is FAILED you can see additional information about why the classifier wasn't * trained in the Message field. * @see ModelStatus */ public void setStatus(String status) { this.status = status; } /** *

* The status of the document classifier. If the status is TRAINED the classifier is ready to use. If * the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should review the * warnings returned in the CreateDocumentClassifier response. *

*

* If the status is FAILED you can see additional information about why the classifier wasn't trained * in the Message field. *

* * @return The status of the document classifier. If the status is TRAINED the classifier is ready to * use. If the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you * should review the warnings returned in the CreateDocumentClassifier response.

*

* If the status is FAILED you can see additional information about why the classifier wasn't * trained in the Message field. * @see ModelStatus */ public String getStatus() { return this.status; } /** *

* The status of the document classifier. If the status is TRAINED the classifier is ready to use. If * the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should review the * warnings returned in the CreateDocumentClassifier response. *

*

* If the status is FAILED you can see additional information about why the classifier wasn't trained * in the Message field. *

* * @param status * The status of the document classifier. If the status is TRAINED the classifier is ready to * use. If the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should * review the warnings returned in the CreateDocumentClassifier response.

*

* If the status is FAILED you can see additional information about why the classifier wasn't * trained in the Message field. * @return Returns a reference to this object so that method calls can be chained together. * @see ModelStatus */ public DocumentClassifierProperties withStatus(String status) { setStatus(status); return this; } /** *

* The status of the document classifier. If the status is TRAINED the classifier is ready to use. If * the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should review the * warnings returned in the CreateDocumentClassifier response. *

*

* If the status is FAILED you can see additional information about why the classifier wasn't trained * in the Message field. *

* * @param status * The status of the document classifier. If the status is TRAINED the classifier is ready to * use. If the status is TRAINED_WITH_WARNINGS the classifier training succeeded, but you should * review the warnings returned in the CreateDocumentClassifier response.

*

* If the status is FAILED you can see additional information about why the classifier wasn't * trained in the Message field. * @return Returns a reference to this object so that method calls can be chained together. * @see ModelStatus */ public DocumentClassifierProperties withStatus(ModelStatus status) { this.status = status.toString(); return this; } /** *

* Additional information about the status of the classifier. *

* * @param message * Additional information about the status of the classifier. */ public void setMessage(String message) { this.message = message; } /** *

* Additional information about the status of the classifier. *

* * @return Additional information about the status of the classifier. */ public String getMessage() { return this.message; } /** *

* Additional information about the status of the classifier. *

* * @param message * Additional information about the status of the classifier. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withMessage(String message) { setMessage(message); return this; } /** *

* The time that the document classifier was submitted for training. *

* * @param submitTime * The time that the document classifier was submitted for training. */ public void setSubmitTime(java.util.Date submitTime) { this.submitTime = submitTime; } /** *

* The time that the document classifier was submitted for training. *

* * @return The time that the document classifier was submitted for training. */ public java.util.Date getSubmitTime() { return this.submitTime; } /** *

* The time that the document classifier was submitted for training. *

* * @param submitTime * The time that the document classifier was submitted for training. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withSubmitTime(java.util.Date submitTime) { setSubmitTime(submitTime); return this; } /** *

* The time that training the document classifier completed. *

* * @param endTime * The time that training the document classifier completed. */ public void setEndTime(java.util.Date endTime) { this.endTime = endTime; } /** *

* The time that training the document classifier completed. *

* * @return The time that training the document classifier completed. */ public java.util.Date getEndTime() { return this.endTime; } /** *

* The time that training the document classifier completed. *

* * @param endTime * The time that training the document classifier completed. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withEndTime(java.util.Date endTime) { setEndTime(endTime); return this; } /** *

* Indicates the time when the training starts on documentation classifiers. You are billed for the time interval * between this time and the value of TrainingEndTime. *

* * @param trainingStartTime * Indicates the time when the training starts on documentation classifiers. You are billed for the time * interval between this time and the value of TrainingEndTime. */ public void setTrainingStartTime(java.util.Date trainingStartTime) { this.trainingStartTime = trainingStartTime; } /** *

* Indicates the time when the training starts on documentation classifiers. You are billed for the time interval * between this time and the value of TrainingEndTime. *

* * @return Indicates the time when the training starts on documentation classifiers. You are billed for the time * interval between this time and the value of TrainingEndTime. */ public java.util.Date getTrainingStartTime() { return this.trainingStartTime; } /** *

* Indicates the time when the training starts on documentation classifiers. You are billed for the time interval * between this time and the value of TrainingEndTime. *

* * @param trainingStartTime * Indicates the time when the training starts on documentation classifiers. You are billed for the time * interval between this time and the value of TrainingEndTime. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withTrainingStartTime(java.util.Date trainingStartTime) { setTrainingStartTime(trainingStartTime); return this; } /** *

* The time that training of the document classifier was completed. Indicates the time when the training completes * on documentation classifiers. You are billed for the time interval between this time and the value of * TrainingStartTime. *

* * @param trainingEndTime * The time that training of the document classifier was completed. Indicates the time when the training * completes on documentation classifiers. You are billed for the time interval between this time and the * value of TrainingStartTime. */ public void setTrainingEndTime(java.util.Date trainingEndTime) { this.trainingEndTime = trainingEndTime; } /** *

* The time that training of the document classifier was completed. Indicates the time when the training completes * on documentation classifiers. You are billed for the time interval between this time and the value of * TrainingStartTime. *

* * @return The time that training of the document classifier was completed. Indicates the time when the training * completes on documentation classifiers. You are billed for the time interval between this time and the * value of TrainingStartTime. */ public java.util.Date getTrainingEndTime() { return this.trainingEndTime; } /** *

* The time that training of the document classifier was completed. Indicates the time when the training completes * on documentation classifiers. You are billed for the time interval between this time and the value of * TrainingStartTime. *

* * @param trainingEndTime * The time that training of the document classifier was completed. Indicates the time when the training * completes on documentation classifiers. You are billed for the time interval between this time and the * value of TrainingStartTime. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withTrainingEndTime(java.util.Date trainingEndTime) { setTrainingEndTime(trainingEndTime); return this; } /** *

* The input data configuration that you supplied when you created the document classifier for training. *

* * @param inputDataConfig * The input data configuration that you supplied when you created the document classifier for training. */ public void setInputDataConfig(DocumentClassifierInputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; } /** *

* The input data configuration that you supplied when you created the document classifier for training. *

* * @return The input data configuration that you supplied when you created the document classifier for training. */ public DocumentClassifierInputDataConfig getInputDataConfig() { return this.inputDataConfig; } /** *

* The input data configuration that you supplied when you created the document classifier for training. *

* * @param inputDataConfig * The input data configuration that you supplied when you created the document classifier for training. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withInputDataConfig(DocumentClassifierInputDataConfig inputDataConfig) { setInputDataConfig(inputDataConfig); return this; } /** *

* Provides output results configuration parameters for custom classifier jobs. *

* * @param outputDataConfig * Provides output results configuration parameters for custom classifier jobs. */ public void setOutputDataConfig(DocumentClassifierOutputDataConfig outputDataConfig) { this.outputDataConfig = outputDataConfig; } /** *

* Provides output results configuration parameters for custom classifier jobs. *

* * @return Provides output results configuration parameters for custom classifier jobs. */ public DocumentClassifierOutputDataConfig getOutputDataConfig() { return this.outputDataConfig; } /** *

* Provides output results configuration parameters for custom classifier jobs. *

* * @param outputDataConfig * Provides output results configuration parameters for custom classifier jobs. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withOutputDataConfig(DocumentClassifierOutputDataConfig outputDataConfig) { setOutputDataConfig(outputDataConfig); return this; } /** *

* Information about the document classifier, including the number of documents used for training the classifier, * the number of documents used for test the classifier, and an accuracy rating. *

* * @param classifierMetadata * Information about the document classifier, including the number of documents used for training the * classifier, the number of documents used for test the classifier, and an accuracy rating. */ public void setClassifierMetadata(ClassifierMetadata classifierMetadata) { this.classifierMetadata = classifierMetadata; } /** *

* Information about the document classifier, including the number of documents used for training the classifier, * the number of documents used for test the classifier, and an accuracy rating. *

* * @return Information about the document classifier, including the number of documents used for training the * classifier, the number of documents used for test the classifier, and an accuracy rating. */ public ClassifierMetadata getClassifierMetadata() { return this.classifierMetadata; } /** *

* Information about the document classifier, including the number of documents used for training the classifier, * the number of documents used for test the classifier, and an accuracy rating. *

* * @param classifierMetadata * Information about the document classifier, including the number of documents used for training the * classifier, the number of documents used for test the classifier, and an accuracy rating. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withClassifierMetadata(ClassifierMetadata classifierMetadata) { setClassifierMetadata(classifierMetadata); return this; } /** *

* The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. *

* * @param dataAccessRoleArn * The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input * data. */ public void setDataAccessRoleArn(String dataAccessRoleArn) { this.dataAccessRoleArn = dataAccessRoleArn; } /** *

* The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. *

* * @return The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input * data. */ public String getDataAccessRoleArn() { return this.dataAccessRoleArn; } /** *

* The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input data. *

* * @param dataAccessRoleArn * The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input * data. * @return Returns a reference to this object so that method calls can be chained together. */ public DocumentClassifierProperties withDataAccessRoleArn(String dataAccessRoleArn) { setDataAccessRoleArn(dataAccessRoleArn); return this; } /** *

* ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on * the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can * be either of the following formats: *

* * * @param volumeKmsKeyId * ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend uses to encrypt * data on the storage volume attached to the ML compute instance(s) that process the analysis job. The * VolumeKmsKeyId can be either of the following formats:

*