/** * 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 namespace Aws { namespace Comprehend { namespace Model { /** */ class AWS_COMPREHEND_API CreateDocumentClassifierRequest : public ComprehendRequest { public: CreateDocumentClassifierRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDocumentClassifier"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the document classifier.

*/ inline const Aws::String& GetDocumentClassifierName() const{ return m_documentClassifierName; } /** *

The name of the document classifier.

*/ inline bool DocumentClassifierNameHasBeenSet() const { return m_documentClassifierNameHasBeenSet; } /** *

The name of the document classifier.

*/ inline void SetDocumentClassifierName(const Aws::String& value) { m_documentClassifierNameHasBeenSet = true; m_documentClassifierName = value; } /** *

The name of the document classifier.

*/ inline void SetDocumentClassifierName(Aws::String&& value) { m_documentClassifierNameHasBeenSet = true; m_documentClassifierName = std::move(value); } /** *

The name of the document classifier.

*/ inline void SetDocumentClassifierName(const char* value) { m_documentClassifierNameHasBeenSet = true; m_documentClassifierName.assign(value); } /** *

The name of the document classifier.

*/ inline CreateDocumentClassifierRequest& WithDocumentClassifierName(const Aws::String& value) { SetDocumentClassifierName(value); return *this;} /** *

The name of the document classifier.

*/ inline CreateDocumentClassifierRequest& WithDocumentClassifierName(Aws::String&& value) { SetDocumentClassifierName(std::move(value)); return *this;} /** *

The name of the document classifier.

*/ inline CreateDocumentClassifierRequest& WithDocumentClassifierName(const char* value) { SetDocumentClassifierName(value); return *this;} /** *

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

*/ inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; } /** *

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

*/ inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; } /** *

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

*/ inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; } /** *

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

*/ inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); } /** *

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

*/ inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); } /** *

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

*/ inline CreateDocumentClassifierRequest& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;} /** *

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

*/ inline CreateDocumentClassifierRequest& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;} /** *

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

*/ inline CreateDocumentClassifierRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;} /** *

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

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

Tags to be associated with the document classifier being created. A tag is a * key-value pair that adds as a metadata to a resource used by Amazon Comprehend. * For example, a tag with "Sales" as the key might be added to a resource to * indicate its use by the sales department.

*/ inline CreateDocumentClassifierRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Specifies the format and location of the input data for the job.

*/ inline const DocumentClassifierInputDataConfig& GetInputDataConfig() const{ return m_inputDataConfig; } /** *

Specifies the format and location of the input data for the job.

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

Specifies the format and location of the input data for the job.

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

Specifies the format and location of the input data for the job.

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

Specifies the format and location of the input data for the job.

*/ inline CreateDocumentClassifierRequest& WithInputDataConfig(const DocumentClassifierInputDataConfig& value) { SetInputDataConfig(value); return *this;} /** *

Specifies the format and location of the input data for the job.

*/ inline CreateDocumentClassifierRequest& WithInputDataConfig(DocumentClassifierInputDataConfig&& value) { SetInputDataConfig(std::move(value)); return *this;} /** *

Enables the addition of output results configuration parameters for custom * classifier jobs.

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

Enables the addition of output results configuration parameters for custom * classifier jobs.

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

Enables the addition of output results configuration parameters for custom * classifier jobs.

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

Enables the addition of output results configuration parameters for custom * classifier jobs.

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

Enables the addition of output results configuration parameters for custom * classifier jobs.

*/ inline CreateDocumentClassifierRequest& WithOutputDataConfig(const DocumentClassifierOutputDataConfig& value) { SetOutputDataConfig(value); return *this;} /** *

Enables the addition of output results configuration parameters for custom * classifier jobs.

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

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline CreateDocumentClassifierRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline CreateDocumentClassifierRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} /** *

A unique identifier for the request. If you don't set the client request * token, Amazon Comprehend generates one.

*/ inline CreateDocumentClassifierRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} /** *

The language of the input documents. You can specify any of the following * languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish * ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must * be in the same language.

*/ inline const LanguageCode& GetLanguageCode() const{ return m_languageCode; } /** *

The language of the input documents. You can specify any of the following * languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish * ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must * be in the same language.

*/ inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } /** *

The language of the input documents. You can specify any of the following * languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish * ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must * be in the same language.

*/ inline void SetLanguageCode(const LanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } /** *

The language of the input documents. You can specify any of the following * languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish * ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must * be in the same language.

*/ inline void SetLanguageCode(LanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } /** *

The language of the input documents. You can specify any of the following * languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish * ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must * be in the same language.

*/ inline CreateDocumentClassifierRequest& WithLanguageCode(const LanguageCode& value) { SetLanguageCode(value); return *this;} /** *

The language of the input documents. You can specify any of the following * languages supported by Amazon Comprehend: German ("de"), English ("en"), Spanish * ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All documents must * be in the same language.

*/ inline CreateDocumentClassifierRequest& WithLanguageCode(LanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline const Aws::String& GetVolumeKmsKeyId() const{ return m_volumeKmsKeyId; } /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline bool VolumeKmsKeyIdHasBeenSet() const { return m_volumeKmsKeyIdHasBeenSet; } /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline void SetVolumeKmsKeyId(const Aws::String& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = value; } /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline void SetVolumeKmsKeyId(Aws::String&& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = std::move(value); } /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline void SetVolumeKmsKeyId(const char* value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId.assign(value); } /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline CreateDocumentClassifierRequest& WithVolumeKmsKeyId(const Aws::String& value) { SetVolumeKmsKeyId(value); return *this;} /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline CreateDocumentClassifierRequest& WithVolumeKmsKeyId(Aws::String&& value) { SetVolumeKmsKeyId(std::move(value)); return *this;} /** *

ID for the AWS 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:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • Amazon * Resource Name (ARN) of a KMS Key: * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" *

*/ inline CreateDocumentClassifierRequest& WithVolumeKmsKeyId(const char* value) { SetVolumeKmsKeyId(value); return *this;} /** *

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

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

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

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

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

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

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

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

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

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

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

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

Indicates the mode in which the classifier will be trained. The classifier * can be trained in multi-class mode, which identifies one and only one class for * each document, or multi-label mode, which identifies one or more labels for each * document. In multi-label mode, multiple labels for an individual document are * separated by a delimiter. The default delimiter between labels is a pipe * (|).

*/ inline const DocumentClassifierMode& GetMode() const{ return m_mode; } /** *

Indicates the mode in which the classifier will be trained. The classifier * can be trained in multi-class mode, which identifies one and only one class for * each document, or multi-label mode, which identifies one or more labels for each * document. In multi-label mode, multiple labels for an individual document are * separated by a delimiter. The default delimiter between labels is a pipe * (|).

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

Indicates the mode in which the classifier will be trained. The classifier * can be trained in multi-class mode, which identifies one and only one class for * each document, or multi-label mode, which identifies one or more labels for each * document. In multi-label mode, multiple labels for an individual document are * separated by a delimiter. The default delimiter between labels is a pipe * (|).

*/ inline void SetMode(const DocumentClassifierMode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

Indicates the mode in which the classifier will be trained. The classifier * can be trained in multi-class mode, which identifies one and only one class for * each document, or multi-label mode, which identifies one or more labels for each * document. In multi-label mode, multiple labels for an individual document are * separated by a delimiter. The default delimiter between labels is a pipe * (|).

*/ inline void SetMode(DocumentClassifierMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

Indicates the mode in which the classifier will be trained. The classifier * can be trained in multi-class mode, which identifies one and only one class for * each document, or multi-label mode, which identifies one or more labels for each * document. In multi-label mode, multiple labels for an individual document are * separated by a delimiter. The default delimiter between labels is a pipe * (|).

*/ inline CreateDocumentClassifierRequest& WithMode(const DocumentClassifierMode& value) { SetMode(value); return *this;} /** *

Indicates the mode in which the classifier will be trained. The classifier * can be trained in multi-class mode, which identifies one and only one class for * each document, or multi-label mode, which identifies one or more labels for each * document. In multi-label mode, multiple labels for an individual document are * separated by a delimiter. The default delimiter between labels is a pipe * (|).

*/ inline CreateDocumentClassifierRequest& WithMode(DocumentClassifierMode&& value) { SetMode(std::move(value)); return *this;} private: Aws::String m_documentClassifierName; bool m_documentClassifierNameHasBeenSet; Aws::String m_dataAccessRoleArn; bool m_dataAccessRoleArnHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; DocumentClassifierInputDataConfig m_inputDataConfig; bool m_inputDataConfigHasBeenSet; DocumentClassifierOutputDataConfig m_outputDataConfig; bool m_outputDataConfigHasBeenSet; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet; LanguageCode m_languageCode; bool m_languageCodeHasBeenSet; Aws::String m_volumeKmsKeyId; bool m_volumeKmsKeyIdHasBeenSet; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet; DocumentClassifierMode m_mode; bool m_modeHasBeenSet; }; } // namespace Model } // namespace Comprehend } // namespace Aws