/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Comprehend { namespace Model { /** */ class StartDocumentClassificationJobRequest : public ComprehendRequest { public: AWS_COMPREHEND_API StartDocumentClassificationJobRequest(); // 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 "StartDocumentClassificationJob"; } AWS_COMPREHEND_API Aws::String SerializePayload() const override; AWS_COMPREHEND_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The identifier of the job.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } /** *

The identifier of the job.

*/ inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } /** *

The identifier of the job.

*/ inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; } /** *

The identifier of the job.

*/ inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); } /** *

The identifier of the job.

*/ inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); } /** *

The identifier of the job.

*/ inline StartDocumentClassificationJobRequest& WithJobName(const Aws::String& value) { SetJobName(value); return *this;} /** *

The identifier of the job.

*/ inline StartDocumentClassificationJobRequest& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;} /** *

The identifier of the job.

*/ inline StartDocumentClassificationJobRequest& WithJobName(const char* value) { SetJobName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline const Aws::String& GetDocumentClassifierArn() const{ return m_documentClassifierArn; } /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline bool DocumentClassifierArnHasBeenSet() const { return m_documentClassifierArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline void SetDocumentClassifierArn(const Aws::String& value) { m_documentClassifierArnHasBeenSet = true; m_documentClassifierArn = value; } /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline void SetDocumentClassifierArn(Aws::String&& value) { m_documentClassifierArnHasBeenSet = true; m_documentClassifierArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline void SetDocumentClassifierArn(const char* value) { m_documentClassifierArnHasBeenSet = true; m_documentClassifierArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline StartDocumentClassificationJobRequest& WithDocumentClassifierArn(const Aws::String& value) { SetDocumentClassifierArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline StartDocumentClassificationJobRequest& WithDocumentClassifierArn(Aws::String&& value) { SetDocumentClassifierArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the document classifier to use to process * the job.

*/ inline StartDocumentClassificationJobRequest& WithDocumentClassifierArn(const char* value) { SetDocumentClassifierArn(value); return *this;} /** *

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

*/ inline const InputDataConfig& 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 InputDataConfig& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; } /** *

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

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

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

*/ inline StartDocumentClassificationJobRequest& WithInputDataConfig(const InputDataConfig& value) { SetInputDataConfig(value); return *this;} /** *

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

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

Specifies where to send the output files.

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

Specifies where to send the output files.

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

Specifies where to send the output files.

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

Specifies where to send the output files.

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

Specifies where to send the output files.

*/ inline StartDocumentClassificationJobRequest& WithOutputDataConfig(const OutputDataConfig& value) { SetOutputDataConfig(value); return *this;} /** *

Specifies where to send the output files.

*/ inline StartDocumentClassificationJobRequest& WithOutputDataConfig(OutputDataConfig&& value) { SetOutputDataConfig(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 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 StartDocumentClassificationJobRequest& 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 StartDocumentClassificationJobRequest& 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 StartDocumentClassificationJobRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;} /** *

A unique identifier for the request. If you do not 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 do not set the client request * token, Amazon Comprehend generates one.

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

A unique identifier for the request. If you do not 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 do not 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 do not 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 do not set the client request * token, Amazon Comprehend generates one.

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

A unique identifier for the request. If you do not set the client request * token, Amazon Comprehend generates one.

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

A unique identifier for the request. If you do not set the client request * token, Amazon Comprehend generates one.

*/ inline StartDocumentClassificationJobRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(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 StartDocumentClassificationJobRequest& 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 StartDocumentClassificationJobRequest& 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 StartDocumentClassificationJobRequest& 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 document classification job. 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 document classification job. 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 document classification job. 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 document classification job. 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 document classification job. For * more information, see Amazon * VPC.

*/ inline StartDocumentClassificationJobRequest& 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 document classification job. For * more information, see Amazon * VPC.

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

Tags to associate with the document classification job. A tag is a key-value * pair that adds 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 classification job. A tag is a key-value * pair that adds 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 classification job. A tag is a key-value * pair that adds 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 classification job. A tag is a key-value * pair that adds 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 classification job. A tag is a key-value * pair that adds 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 StartDocumentClassificationJobRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Tags to associate with the document classification job. A tag is a key-value * pair that adds 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 StartDocumentClassificationJobRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Tags to associate with the document classification job. A tag is a key-value * pair that adds 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 StartDocumentClassificationJobRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Tags to associate with the document classification job. A tag is a key-value * pair that adds 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 StartDocumentClassificationJobRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline const Aws::String& GetFlywheelArn() const{ return m_flywheelArn; } /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline bool FlywheelArnHasBeenSet() const { return m_flywheelArnHasBeenSet; } /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline void SetFlywheelArn(const Aws::String& value) { m_flywheelArnHasBeenSet = true; m_flywheelArn = value; } /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline void SetFlywheelArn(Aws::String&& value) { m_flywheelArnHasBeenSet = true; m_flywheelArn = std::move(value); } /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline void SetFlywheelArn(const char* value) { m_flywheelArnHasBeenSet = true; m_flywheelArn.assign(value); } /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline StartDocumentClassificationJobRequest& WithFlywheelArn(const Aws::String& value) { SetFlywheelArn(value); return *this;} /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline StartDocumentClassificationJobRequest& WithFlywheelArn(Aws::String&& value) { SetFlywheelArn(std::move(value)); return *this;} /** *

The Amazon Resource Number (ARN) of the flywheel associated with the model to * use.

*/ inline StartDocumentClassificationJobRequest& WithFlywheelArn(const char* value) { SetFlywheelArn(value); return *this;} private: Aws::String m_jobName; bool m_jobNameHasBeenSet = false; Aws::String m_documentClassifierArn; bool m_documentClassifierArnHasBeenSet = false; InputDataConfig m_inputDataConfig; bool m_inputDataConfigHasBeenSet = false; OutputDataConfig m_outputDataConfig; bool m_outputDataConfigHasBeenSet = false; Aws::String m_dataAccessRoleArn; bool m_dataAccessRoleArnHasBeenSet = false; Aws::String m_clientRequestToken; bool m_clientRequestTokenHasBeenSet = false; Aws::String m_volumeKmsKeyId; bool m_volumeKmsKeyIdHasBeenSet = false; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_flywheelArn; bool m_flywheelArnHasBeenSet = false; }; } // namespace Model } // namespace Comprehend } // namespace Aws