/* * Copyright 2010-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 com.amazonaws.AmazonWebServiceRequest; /** *
* Starts an asynchronous topic detection job. Use the
* DescribeTopicDetectionJob
operation to track the status of a
* job.
*
* Specifies the format and location of the input data for the job. *
*/ private InputDataConfig inputDataConfig; /** *
* Specifies where to send the output files. The output is a compressed
* archive with two files, topic-terms.csv
that lists the terms
* associated with each topic, and doc-topics.csv
that lists
* the documents associated with each topic
*
* The Amazon Resource Name (ARN) of the IAM role that grants Amazon * Comprehend read access to your input data. For more information, see Role-based permissions. *
*
* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
*/
private String dataAccessRoleArn;
/**
*
* The identifier of the job. *
*
* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
*/
private String jobName;
/**
*
* The number of topics to detect. *
*
* Constraints:
* Range: 1 - 100
*/
private Integer numberOfTopics;
/**
*
* A unique identifier for the request. If you do not set the client request * token, Amazon Comprehend generates one. *
*
* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
*/
private String clientRequestToken;
/**
*
* 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"
*
* Constraints:
* Length: - 2048
* Pattern: ^\p{ASCII}+$
*/
private String volumeKmsKeyId;
/**
*
* Configuration parameters for an optional private Virtual Private Cloud * (VPC) containing the resources you are using for your topic detection * job. For more information, see Amazon VPC. *
*/ private VpcConfig vpcConfig; /** ** Tags to associate with the topics detection 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. *
*/ private java.util.List* Specifies the format and location of the input data for the job. *
* * @return* Specifies the format and location of the input data for the job. *
*/ public InputDataConfig getInputDataConfig() { return inputDataConfig; } /** ** Specifies the format and location of the input data for the job. *
* * @param inputDataConfig* Specifies the format and location of the input data for the * job. *
*/ public void setInputDataConfig(InputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; } /** ** Specifies the format and location of the input data for the job. *
** Returns a reference to this object so that method calls can be chained * together. * * @param inputDataConfig
* Specifies the format and location of the input data for the * job. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withInputDataConfig(InputDataConfig inputDataConfig) { this.inputDataConfig = inputDataConfig; return this; } /** *
* Specifies where to send the output files. The output is a compressed
* archive with two files, topic-terms.csv
that lists the terms
* associated with each topic, and doc-topics.csv
that lists
* the documents associated with each topic
*
* Specifies where to send the output files. The output is a
* compressed archive with two files, topic-terms.csv
* that lists the terms associated with each topic, and
* doc-topics.csv
that lists the documents associated
* with each topic
*
* Specifies where to send the output files. The output is a compressed
* archive with two files, topic-terms.csv
that lists the terms
* associated with each topic, and doc-topics.csv
that lists
* the documents associated with each topic
*
* Specifies where to send the output files. The output is a
* compressed archive with two files,
* topic-terms.csv
that lists the terms associated
* with each topic, and doc-topics.csv
that lists
* the documents associated with each topic
*
* Specifies where to send the output files. The output is a compressed
* archive with two files, topic-terms.csv
that lists the terms
* associated with each topic, and doc-topics.csv
that lists
* the documents associated with each topic
*
* Returns a reference to this object so that method calls can be chained * together. * * @param outputDataConfig
* Specifies where to send the output files. The output is a
* compressed archive with two files,
* topic-terms.csv
that lists the terms associated
* with each topic, and doc-topics.csv
that lists
* the documents associated with each topic
*
* The Amazon Resource Name (ARN) of the IAM role that grants Amazon * Comprehend read access to your input data. For more information, see Role-based permissions. *
*
* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
*
* @return
* The Amazon Resource Name (ARN) of the IAM role that grants Amazon * Comprehend read access to your input data. For more information, * see Role-based permissions. *
*/ public String getDataAccessRoleArn() { return dataAccessRoleArn; } /** ** The Amazon Resource Name (ARN) of the IAM role that grants Amazon * Comprehend read access to your input data. For more information, see Role-based permissions. *
*
* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
*
* @param dataAccessRoleArn
* The Amazon Resource Name (ARN) of the IAM role that grants * Amazon Comprehend read access to your input data. For more * information, see Role-based permissions. *
*/ 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. For more information, see Role-based permissions. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 20 - 2048
* Pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
*
* @param dataAccessRoleArn
* The Amazon Resource Name (ARN) of the IAM role that grants * Amazon Comprehend read access to your input data. For more * information, see Role-based permissions. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withDataAccessRoleArn(String dataAccessRoleArn) { this.dataAccessRoleArn = dataAccessRoleArn; return this; } /** ** The identifier of the job. *
*
* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
*
* @return
* The identifier of the job. *
*/ public String getJobName() { return jobName; } /** ** The identifier of the job. *
*
* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
*
* @param jobName
* The identifier of the job. *
*/ public void setJobName(String jobName) { this.jobName = jobName; } /** ** The identifier of the job. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 256
* Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
*
* @param jobName
* The identifier of the job. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withJobName(String jobName) { this.jobName = jobName; return this; } /** ** The number of topics to detect. *
*
* Constraints:
* Range: 1 - 100
*
* @return
* The number of topics to detect. *
*/ public Integer getNumberOfTopics() { return numberOfTopics; } /** ** The number of topics to detect. *
*
* Constraints:
* Range: 1 - 100
*
* @param numberOfTopics
* The number of topics to detect. *
*/ public void setNumberOfTopics(Integer numberOfTopics) { this.numberOfTopics = numberOfTopics; } /** ** The number of topics to detect. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Range: 1 - 100
*
* @param numberOfTopics
* The number of topics to detect. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withNumberOfTopics(Integer numberOfTopics) { this.numberOfTopics = numberOfTopics; return this; } /** ** A unique identifier for the request. If you do not set the client request * token, Amazon Comprehend generates one. *
*
* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
*
* @return
* A unique identifier for the request. If you do not set the client * request token, Amazon Comprehend generates one. *
*/ public String getClientRequestToken() { return clientRequestToken; } /** ** A unique identifier for the request. If you do not set the client request * token, Amazon Comprehend generates one. *
*
* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
*
* @param clientRequestToken
* A unique identifier for the request. If you do not set the * client request token, Amazon Comprehend generates one. *
*/ public void setClientRequestToken(String clientRequestToken) { this.clientRequestToken = clientRequestToken; } /** ** A unique identifier for the request. If you do not set the client request * token, Amazon Comprehend generates one. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 64
* Pattern: ^[a-zA-Z0-9-]+$
*
* @param clientRequestToken
* A unique identifier for the request. If you do not set the * client request token, Amazon Comprehend generates one. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withClientRequestToken(String clientRequestToken) { this.clientRequestToken = clientRequestToken; 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"
*
* Constraints:
* Length: - 2048
* Pattern: ^\p{ASCII}+$
*
* @return
* 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"
*
* 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"
*
* Constraints:
* Length: - 2048
* Pattern: ^\p{ASCII}+$
*
* @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: *
*
* 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"
*
* 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"
*
* Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: - 2048
* Pattern: ^\p{ASCII}+$
*
* @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: *
*
* 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"
*
* Configuration parameters for an optional private Virtual Private Cloud * (VPC) containing the resources you are using for your topic detection * job. For more information, see Amazon VPC. *
* * @return* Configuration parameters for an optional private Virtual Private * Cloud (VPC) containing the resources you are using for your topic * detection job. For more information, see Amazon VPC. *
*/ public VpcConfig getVpcConfig() { return vpcConfig; } /** ** Configuration parameters for an optional private Virtual Private Cloud * (VPC) containing the resources you are using for your topic detection * job. For more information, see Amazon VPC. *
* * @param vpcConfig* Configuration parameters for an optional private Virtual * Private Cloud (VPC) containing the resources you are using for * your topic detection job. For more information, see Amazon VPC. *
*/ public void setVpcConfig(VpcConfig vpcConfig) { this.vpcConfig = vpcConfig; } /** ** Configuration parameters for an optional private Virtual Private Cloud * (VPC) containing the resources you are using for your topic detection * job. For more information, see Amazon VPC. *
** Returns a reference to this object so that method calls can be chained * together. * * @param vpcConfig
* Configuration parameters for an optional private Virtual * Private Cloud (VPC) containing the resources you are using for * your topic detection job. For more information, see Amazon VPC. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withVpcConfig(VpcConfig vpcConfig) { this.vpcConfig = vpcConfig; return this; } /** ** Tags to associate with the topics detection 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. *
* * @return* Tags to associate with the topics detection 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. *
*/ public java.util.List* Tags to associate with the topics detection 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. *
* * @param tags* Tags to associate with the topics detection 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. *
*/ public void setTags(java.util.Collection* Tags to associate with the topics detection 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Tags to associate with the topics detection 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withTags(Tag... tags) { if (getTags() == null) { this.tags = new java.util.ArrayList* Tags to associate with the topics detection 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. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tags
* Tags to associate with the topics detection 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. *
* @return A reference to this updated object so that method calls can be * chained together. */ public StartTopicsDetectionJobRequest withTags(java.util.Collection