/** * 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 CreateDocumentClassifierRequest : public ComprehendRequest { public: AWS_COMPREHEND_API 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_COMPREHEND_API Aws::String SerializePayload() const override; AWS_COMPREHEND_API 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 version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

*/ inline const Aws::String& GetVersionName() const{ return m_versionName; } /** *

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

*/ inline bool VersionNameHasBeenSet() const { return m_versionNameHasBeenSet; } /** *

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

*/ inline void SetVersionName(const Aws::String& value) { m_versionNameHasBeenSet = true; m_versionName = value; } /** *

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

*/ inline void SetVersionName(Aws::String&& value) { m_versionNameHasBeenSet = true; m_versionName = std::move(value); } /** *

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

*/ inline void SetVersionName(const char* value) { m_versionNameHasBeenSet = true; m_versionName.assign(value); } /** *

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

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

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

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

The version name given to the newly created classifier. Version names can * have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and * underscores (_) are allowed. The version name must be unique among all models * with the same classifier name in the Amazon Web Services account/Amazon Web * Services Region.

*/ inline CreateDocumentClassifierRequest& WithVersionName(const char* value) { SetVersionName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the 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 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 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 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 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 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 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 IAM role that grants Amazon Comprehend * read access to your input data.

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

Tags to associate with the document classifier. 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 associate with the document classifier. 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 associate with the document classifier. 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 associate with the document classifier. 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 associate with the document classifier. 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 associate with the document classifier. 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 associate with the document classifier. 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 associate with the document classifier. 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;} /** *

Specifies the location for the output files from a custom classifier job. * This parameter is required for a request that creates a native classifier * model.

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

Specifies the location for the output files from a custom classifier job. * This parameter is required for a request that creates a native classifier * model.

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

Specifies the location for the output files from a custom classifier job. * This parameter is required for a request that creates a native classifier * model.

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

Specifies the location for the output files from a custom classifier job. * This parameter is required for a request that creates a native classifier * model.

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

Specifies the location for the output files from a custom classifier job. * This parameter is required for a request that creates a native classifier * model.

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

Specifies the location for the output files from a custom classifier job. * This parameter is required for a request that creates a native classifier * model.

*/ 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 languages * supported by Amazon Comprehend. 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 languages * supported by Amazon Comprehend. 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 languages * supported by Amazon Comprehend. 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 languages * supported by Amazon Comprehend. 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 languages * supported by Amazon Comprehend. 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 languages * supported by Amazon Comprehend. All documents must be in the same language.

*/ inline CreateDocumentClassifierRequest& WithLanguageCode(LanguageCode&& value) { SetLanguageCode(std::move(value)); 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:

  • 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 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:

  • 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 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:

  • 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 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:

  • 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 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:

  • 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 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:

  • 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 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:

  • 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 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:

  • 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;} /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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& GetModelKmsKeyId() const{ return m_modelKmsKeyId; } /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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 ModelKmsKeyIdHasBeenSet() const { return m_modelKmsKeyIdHasBeenSet; } /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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 SetModelKmsKeyId(const Aws::String& value) { m_modelKmsKeyIdHasBeenSet = true; m_modelKmsKeyId = value; } /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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 SetModelKmsKeyId(Aws::String&& value) { m_modelKmsKeyIdHasBeenSet = true; m_modelKmsKeyId = std::move(value); } /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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 SetModelKmsKeyId(const char* value) { m_modelKmsKeyIdHasBeenSet = true; m_modelKmsKeyId.assign(value); } /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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& WithModelKmsKeyId(const Aws::String& value) { SetModelKmsKeyId(value); return *this;} /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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& WithModelKmsKeyId(Aws::String&& value) { SetModelKmsKeyId(std::move(value)); return *this;} /** *

ID for the KMS key that Amazon Comprehend uses to encrypt trained custom * models. The ModelKmsKeyId 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& WithModelKmsKeyId(const char* value) { SetModelKmsKeyId(value); return *this;} /** *

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

*/ inline const Aws::String& GetModelPolicy() const{ return m_modelPolicy; } /** *

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

*/ inline bool ModelPolicyHasBeenSet() const { return m_modelPolicyHasBeenSet; } /** *

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

*/ inline void SetModelPolicy(const Aws::String& value) { m_modelPolicyHasBeenSet = true; m_modelPolicy = value; } /** *

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

*/ inline void SetModelPolicy(Aws::String&& value) { m_modelPolicyHasBeenSet = true; m_modelPolicy = std::move(value); } /** *

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

*/ inline void SetModelPolicy(const char* value) { m_modelPolicyHasBeenSet = true; m_modelPolicy.assign(value); } /** *

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

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

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

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

The resource-based policy to attach to your custom document classifier model. * You can use this policy to allow another Amazon Web Services account to import * your custom model.

Provide your policy as a JSON body that you enter as a * UTF-8 encoded string without line breaks. To provide valid JSON, enclose the * attribute names and values in double quotes. If the JSON body is also enclosed * in double quotes, then you must escape the double quotes that are inside the * policy:

"{\"attribute\": \"value\", \"attribute\": * [\"value\"]}"

To avoid escaping quotes, you can use single quotes * to enclose the policy and double quotes to enclose the JSON names and * values:

'{"attribute": "value", "attribute": ["value"]}' *

*/ inline CreateDocumentClassifierRequest& WithModelPolicy(const char* value) { SetModelPolicy(value); return *this;} private: Aws::String m_documentClassifierName; bool m_documentClassifierNameHasBeenSet = false; Aws::String m_versionName; bool m_versionNameHasBeenSet = false; Aws::String m_dataAccessRoleArn; bool m_dataAccessRoleArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; DocumentClassifierInputDataConfig m_inputDataConfig; bool m_inputDataConfigHasBeenSet = false; DocumentClassifierOutputDataConfig m_outputDataConfig; bool m_outputDataConfigHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; LanguageCode m_languageCode; bool m_languageCodeHasBeenSet = false; Aws::String m_volumeKmsKeyId; bool m_volumeKmsKeyIdHasBeenSet = false; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; DocumentClassifierMode m_mode; bool m_modeHasBeenSet = false; Aws::String m_modelKmsKeyId; bool m_modelKmsKeyIdHasBeenSet = false; Aws::String m_modelPolicy; bool m_modelPolicyHasBeenSet = false; }; } // namespace Model } // namespace Comprehend } // namespace Aws