1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/comprehend/Comprehend_EXPORTS.h>
8 #include <aws/comprehend/ComprehendRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/comprehend/model/InputDataConfig.h>
11 #include <aws/comprehend/model/OutputDataConfig.h>
12 #include <aws/comprehend/model/VpcConfig.h>
13 #include <aws/core/utils/memory/stl/AWSVector.h>
14 #include <aws/comprehend/model/Tag.h>
15 #include <utility>
16 #include <aws/core/utils/UUID.h>
17 
18 namespace Aws
19 {
20 namespace Comprehend
21 {
22 namespace Model
23 {
24 
25   /**
26    */
27   class AWS_COMPREHEND_API StartDocumentClassificationJobRequest : public ComprehendRequest
28   {
29   public:
30     StartDocumentClassificationJobRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "StartDocumentClassificationJob"; }
37 
38     Aws::String SerializePayload() const override;
39 
40     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
41 
42 
43     /**
44      * <p>The identifier of the job.</p>
45      */
GetJobName()46     inline const Aws::String& GetJobName() const{ return m_jobName; }
47 
48     /**
49      * <p>The identifier of the job.</p>
50      */
JobNameHasBeenSet()51     inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
52 
53     /**
54      * <p>The identifier of the job.</p>
55      */
SetJobName(const Aws::String & value)56     inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; }
57 
58     /**
59      * <p>The identifier of the job.</p>
60      */
SetJobName(Aws::String && value)61     inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); }
62 
63     /**
64      * <p>The identifier of the job.</p>
65      */
SetJobName(const char * value)66     inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); }
67 
68     /**
69      * <p>The identifier of the job.</p>
70      */
WithJobName(const Aws::String & value)71     inline StartDocumentClassificationJobRequest& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
72 
73     /**
74      * <p>The identifier of the job.</p>
75      */
WithJobName(Aws::String && value)76     inline StartDocumentClassificationJobRequest& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
77 
78     /**
79      * <p>The identifier of the job.</p>
80      */
WithJobName(const char * value)81     inline StartDocumentClassificationJobRequest& WithJobName(const char* value) { SetJobName(value); return *this;}
82 
83 
84     /**
85      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
86      * the job.</p>
87      */
GetDocumentClassifierArn()88     inline const Aws::String& GetDocumentClassifierArn() const{ return m_documentClassifierArn; }
89 
90     /**
91      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
92      * the job.</p>
93      */
DocumentClassifierArnHasBeenSet()94     inline bool DocumentClassifierArnHasBeenSet() const { return m_documentClassifierArnHasBeenSet; }
95 
96     /**
97      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
98      * the job.</p>
99      */
SetDocumentClassifierArn(const Aws::String & value)100     inline void SetDocumentClassifierArn(const Aws::String& value) { m_documentClassifierArnHasBeenSet = true; m_documentClassifierArn = value; }
101 
102     /**
103      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
104      * the job.</p>
105      */
SetDocumentClassifierArn(Aws::String && value)106     inline void SetDocumentClassifierArn(Aws::String&& value) { m_documentClassifierArnHasBeenSet = true; m_documentClassifierArn = std::move(value); }
107 
108     /**
109      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
110      * the job.</p>
111      */
SetDocumentClassifierArn(const char * value)112     inline void SetDocumentClassifierArn(const char* value) { m_documentClassifierArnHasBeenSet = true; m_documentClassifierArn.assign(value); }
113 
114     /**
115      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
116      * the job.</p>
117      */
WithDocumentClassifierArn(const Aws::String & value)118     inline StartDocumentClassificationJobRequest& WithDocumentClassifierArn(const Aws::String& value) { SetDocumentClassifierArn(value); return *this;}
119 
120     /**
121      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
122      * the job.</p>
123      */
WithDocumentClassifierArn(Aws::String && value)124     inline StartDocumentClassificationJobRequest& WithDocumentClassifierArn(Aws::String&& value) { SetDocumentClassifierArn(std::move(value)); return *this;}
125 
126     /**
127      * <p>The Amazon Resource Name (ARN) of the document classifier to use to process
128      * the job.</p>
129      */
WithDocumentClassifierArn(const char * value)130     inline StartDocumentClassificationJobRequest& WithDocumentClassifierArn(const char* value) { SetDocumentClassifierArn(value); return *this;}
131 
132 
133     /**
134      * <p>Specifies the format and location of the input data for the job.</p>
135      */
GetInputDataConfig()136     inline const InputDataConfig& GetInputDataConfig() const{ return m_inputDataConfig; }
137 
138     /**
139      * <p>Specifies the format and location of the input data for the job.</p>
140      */
InputDataConfigHasBeenSet()141     inline bool InputDataConfigHasBeenSet() const { return m_inputDataConfigHasBeenSet; }
142 
143     /**
144      * <p>Specifies the format and location of the input data for the job.</p>
145      */
SetInputDataConfig(const InputDataConfig & value)146     inline void SetInputDataConfig(const InputDataConfig& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; }
147 
148     /**
149      * <p>Specifies the format and location of the input data for the job.</p>
150      */
SetInputDataConfig(InputDataConfig && value)151     inline void SetInputDataConfig(InputDataConfig&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = std::move(value); }
152 
153     /**
154      * <p>Specifies the format and location of the input data for the job.</p>
155      */
WithInputDataConfig(const InputDataConfig & value)156     inline StartDocumentClassificationJobRequest& WithInputDataConfig(const InputDataConfig& value) { SetInputDataConfig(value); return *this;}
157 
158     /**
159      * <p>Specifies the format and location of the input data for the job.</p>
160      */
WithInputDataConfig(InputDataConfig && value)161     inline StartDocumentClassificationJobRequest& WithInputDataConfig(InputDataConfig&& value) { SetInputDataConfig(std::move(value)); return *this;}
162 
163 
164     /**
165      * <p>Specifies where to send the output files.</p>
166      */
GetOutputDataConfig()167     inline const OutputDataConfig& GetOutputDataConfig() const{ return m_outputDataConfig; }
168 
169     /**
170      * <p>Specifies where to send the output files.</p>
171      */
OutputDataConfigHasBeenSet()172     inline bool OutputDataConfigHasBeenSet() const { return m_outputDataConfigHasBeenSet; }
173 
174     /**
175      * <p>Specifies where to send the output files.</p>
176      */
SetOutputDataConfig(const OutputDataConfig & value)177     inline void SetOutputDataConfig(const OutputDataConfig& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = value; }
178 
179     /**
180      * <p>Specifies where to send the output files.</p>
181      */
SetOutputDataConfig(OutputDataConfig && value)182     inline void SetOutputDataConfig(OutputDataConfig&& value) { m_outputDataConfigHasBeenSet = true; m_outputDataConfig = std::move(value); }
183 
184     /**
185      * <p>Specifies where to send the output files.</p>
186      */
WithOutputDataConfig(const OutputDataConfig & value)187     inline StartDocumentClassificationJobRequest& WithOutputDataConfig(const OutputDataConfig& value) { SetOutputDataConfig(value); return *this;}
188 
189     /**
190      * <p>Specifies where to send the output files.</p>
191      */
WithOutputDataConfig(OutputDataConfig && value)192     inline StartDocumentClassificationJobRequest& WithOutputDataConfig(OutputDataConfig&& value) { SetOutputDataConfig(std::move(value)); return *this;}
193 
194 
195     /**
196      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
197      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
198      */
GetDataAccessRoleArn()199     inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; }
200 
201     /**
202      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
203      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
204      */
DataAccessRoleArnHasBeenSet()205     inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; }
206 
207     /**
208      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
209      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
210      */
SetDataAccessRoleArn(const Aws::String & value)211     inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; }
212 
213     /**
214      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
215      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
216      */
SetDataAccessRoleArn(Aws::String && value)217     inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); }
218 
219     /**
220      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
221      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
222      */
SetDataAccessRoleArn(const char * value)223     inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); }
224 
225     /**
226      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
227      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
228      */
WithDataAccessRoleArn(const Aws::String & value)229     inline StartDocumentClassificationJobRequest& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;}
230 
231     /**
232      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
233      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
234      */
WithDataAccessRoleArn(Aws::String && value)235     inline StartDocumentClassificationJobRequest& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;}
236 
237     /**
238      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
239      * (IAM) role that grants Amazon Comprehend read access to your input data.</p>
240      */
WithDataAccessRoleArn(const char * value)241     inline StartDocumentClassificationJobRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;}
242 
243 
244     /**
245      * <p>A unique identifier for the request. If you do not set the client request
246      * token, Amazon Comprehend generates one.</p>
247      */
GetClientRequestToken()248     inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
249 
250     /**
251      * <p>A unique identifier for the request. If you do not set the client request
252      * token, Amazon Comprehend generates one.</p>
253      */
ClientRequestTokenHasBeenSet()254     inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
255 
256     /**
257      * <p>A unique identifier for the request. If you do not set the client request
258      * token, Amazon Comprehend generates one.</p>
259      */
SetClientRequestToken(const Aws::String & value)260     inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
261 
262     /**
263      * <p>A unique identifier for the request. If you do not set the client request
264      * token, Amazon Comprehend generates one.</p>
265      */
SetClientRequestToken(Aws::String && value)266     inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
267 
268     /**
269      * <p>A unique identifier for the request. If you do not set the client request
270      * token, Amazon Comprehend generates one.</p>
271      */
SetClientRequestToken(const char * value)272     inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
273 
274     /**
275      * <p>A unique identifier for the request. If you do not set the client request
276      * token, Amazon Comprehend generates one.</p>
277      */
WithClientRequestToken(const Aws::String & value)278     inline StartDocumentClassificationJobRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
279 
280     /**
281      * <p>A unique identifier for the request. If you do not set the client request
282      * token, Amazon Comprehend generates one.</p>
283      */
WithClientRequestToken(Aws::String && value)284     inline StartDocumentClassificationJobRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
285 
286     /**
287      * <p>A unique identifier for the request. If you do not set the client request
288      * token, Amazon Comprehend generates one.</p>
289      */
WithClientRequestToken(const char * value)290     inline StartDocumentClassificationJobRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
291 
292 
293     /**
294      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
295      * to encrypt data on the storage volume attached to the ML compute instance(s)
296      * that process the analysis job. The VolumeKmsKeyId can be either of the following
297      * formats:</p> <ul> <li> <p>KMS Key ID:
298      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
299      * Resource Name (ARN) of a KMS Key:
300      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
301      * </p> </li> </ul>
302      */
GetVolumeKmsKeyId()303     inline const Aws::String& GetVolumeKmsKeyId() const{ return m_volumeKmsKeyId; }
304 
305     /**
306      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
307      * to encrypt data on the storage volume attached to the ML compute instance(s)
308      * that process the analysis job. The VolumeKmsKeyId can be either of the following
309      * formats:</p> <ul> <li> <p>KMS Key ID:
310      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
311      * Resource Name (ARN) of a KMS Key:
312      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
313      * </p> </li> </ul>
314      */
VolumeKmsKeyIdHasBeenSet()315     inline bool VolumeKmsKeyIdHasBeenSet() const { return m_volumeKmsKeyIdHasBeenSet; }
316 
317     /**
318      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
319      * to encrypt data on the storage volume attached to the ML compute instance(s)
320      * that process the analysis job. The VolumeKmsKeyId can be either of the following
321      * formats:</p> <ul> <li> <p>KMS Key ID:
322      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
323      * Resource Name (ARN) of a KMS Key:
324      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
325      * </p> </li> </ul>
326      */
SetVolumeKmsKeyId(const Aws::String & value)327     inline void SetVolumeKmsKeyId(const Aws::String& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = value; }
328 
329     /**
330      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
331      * to encrypt data on the storage volume attached to the ML compute instance(s)
332      * that process the analysis job. The VolumeKmsKeyId can be either of the following
333      * formats:</p> <ul> <li> <p>KMS Key ID:
334      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
335      * Resource Name (ARN) of a KMS Key:
336      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
337      * </p> </li> </ul>
338      */
SetVolumeKmsKeyId(Aws::String && value)339     inline void SetVolumeKmsKeyId(Aws::String&& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = std::move(value); }
340 
341     /**
342      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
343      * to encrypt data on the storage volume attached to the ML compute instance(s)
344      * that process the analysis job. The VolumeKmsKeyId can be either of the following
345      * formats:</p> <ul> <li> <p>KMS Key ID:
346      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
347      * Resource Name (ARN) of a KMS Key:
348      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
349      * </p> </li> </ul>
350      */
SetVolumeKmsKeyId(const char * value)351     inline void SetVolumeKmsKeyId(const char* value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId.assign(value); }
352 
353     /**
354      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
355      * to encrypt data on the storage volume attached to the ML compute instance(s)
356      * that process the analysis job. The VolumeKmsKeyId can be either of the following
357      * formats:</p> <ul> <li> <p>KMS Key ID:
358      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
359      * Resource Name (ARN) of a KMS Key:
360      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
361      * </p> </li> </ul>
362      */
WithVolumeKmsKeyId(const Aws::String & value)363     inline StartDocumentClassificationJobRequest& WithVolumeKmsKeyId(const Aws::String& value) { SetVolumeKmsKeyId(value); return *this;}
364 
365     /**
366      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
367      * to encrypt data on the storage volume attached to the ML compute instance(s)
368      * that process the analysis job. The VolumeKmsKeyId can be either of the following
369      * formats:</p> <ul> <li> <p>KMS Key ID:
370      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
371      * Resource Name (ARN) of a KMS Key:
372      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
373      * </p> </li> </ul>
374      */
WithVolumeKmsKeyId(Aws::String && value)375     inline StartDocumentClassificationJobRequest& WithVolumeKmsKeyId(Aws::String&& value) { SetVolumeKmsKeyId(std::move(value)); return *this;}
376 
377     /**
378      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
379      * to encrypt data on the storage volume attached to the ML compute instance(s)
380      * that process the analysis job. The VolumeKmsKeyId can be either of the following
381      * formats:</p> <ul> <li> <p>KMS Key ID:
382      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
383      * Resource Name (ARN) of a KMS Key:
384      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
385      * </p> </li> </ul>
386      */
WithVolumeKmsKeyId(const char * value)387     inline StartDocumentClassificationJobRequest& WithVolumeKmsKeyId(const char* value) { SetVolumeKmsKeyId(value); return *this;}
388 
389 
390     /**
391      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
392      * containing the resources you are using for your document classification job. For
393      * more information, see <a
394      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
395      * VPC</a>. </p>
396      */
GetVpcConfig()397     inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; }
398 
399     /**
400      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
401      * containing the resources you are using for your document classification job. For
402      * more information, see <a
403      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
404      * VPC</a>. </p>
405      */
VpcConfigHasBeenSet()406     inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; }
407 
408     /**
409      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
410      * containing the resources you are using for your document classification job. For
411      * more information, see <a
412      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
413      * VPC</a>. </p>
414      */
SetVpcConfig(const VpcConfig & value)415     inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; }
416 
417     /**
418      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
419      * containing the resources you are using for your document classification job. For
420      * more information, see <a
421      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
422      * VPC</a>. </p>
423      */
SetVpcConfig(VpcConfig && value)424     inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); }
425 
426     /**
427      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
428      * containing the resources you are using for your document classification job. For
429      * more information, see <a
430      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
431      * VPC</a>. </p>
432      */
WithVpcConfig(const VpcConfig & value)433     inline StartDocumentClassificationJobRequest& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;}
434 
435     /**
436      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
437      * containing the resources you are using for your document classification job. For
438      * more information, see <a
439      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
440      * VPC</a>. </p>
441      */
WithVpcConfig(VpcConfig && value)442     inline StartDocumentClassificationJobRequest& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;}
443 
444 
445     /**
446      * <p>Tags to be associated with the document classification job. A tag is a
447      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
448      * example, a tag with "Sales" as the key might be added to a resource to indicate
449      * its use by the sales department.</p>
450      */
GetTags()451     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
452 
453     /**
454      * <p>Tags to be associated with the document classification job. A tag is a
455      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
456      * example, a tag with "Sales" as the key might be added to a resource to indicate
457      * its use by the sales department.</p>
458      */
TagsHasBeenSet()459     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
460 
461     /**
462      * <p>Tags to be associated with the document classification job. A tag is a
463      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
464      * example, a tag with "Sales" as the key might be added to a resource to indicate
465      * its use by the sales department.</p>
466      */
SetTags(const Aws::Vector<Tag> & value)467     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
468 
469     /**
470      * <p>Tags to be associated with the document classification job. A tag is a
471      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
472      * example, a tag with "Sales" as the key might be added to a resource to indicate
473      * its use by the sales department.</p>
474      */
SetTags(Aws::Vector<Tag> && value)475     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
476 
477     /**
478      * <p>Tags to be associated with the document classification job. A tag is a
479      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
480      * example, a tag with "Sales" as the key might be added to a resource to indicate
481      * its use by the sales department.</p>
482      */
WithTags(const Aws::Vector<Tag> & value)483     inline StartDocumentClassificationJobRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
484 
485     /**
486      * <p>Tags to be associated with the document classification job. A tag is a
487      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
488      * example, a tag with "Sales" as the key might be added to a resource to indicate
489      * its use by the sales department.</p>
490      */
WithTags(Aws::Vector<Tag> && value)491     inline StartDocumentClassificationJobRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
492 
493     /**
494      * <p>Tags to be associated with the document classification job. A tag is a
495      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
496      * example, a tag with "Sales" as the key might be added to a resource to indicate
497      * its use by the sales department.</p>
498      */
AddTags(const Tag & value)499     inline StartDocumentClassificationJobRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
500 
501     /**
502      * <p>Tags to be associated with the document classification job. A tag is a
503      * key-value pair that adds metadata to a resource used by Amazon Comprehend. For
504      * example, a tag with "Sales" as the key might be added to a resource to indicate
505      * its use by the sales department.</p>
506      */
AddTags(Tag && value)507     inline StartDocumentClassificationJobRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
508 
509   private:
510 
511     Aws::String m_jobName;
512     bool m_jobNameHasBeenSet;
513 
514     Aws::String m_documentClassifierArn;
515     bool m_documentClassifierArnHasBeenSet;
516 
517     InputDataConfig m_inputDataConfig;
518     bool m_inputDataConfigHasBeenSet;
519 
520     OutputDataConfig m_outputDataConfig;
521     bool m_outputDataConfigHasBeenSet;
522 
523     Aws::String m_dataAccessRoleArn;
524     bool m_dataAccessRoleArnHasBeenSet;
525 
526     Aws::String m_clientRequestToken;
527     bool m_clientRequestTokenHasBeenSet;
528 
529     Aws::String m_volumeKmsKeyId;
530     bool m_volumeKmsKeyIdHasBeenSet;
531 
532     VpcConfig m_vpcConfig;
533     bool m_vpcConfigHasBeenSet;
534 
535     Aws::Vector<Tag> m_tags;
536     bool m_tagsHasBeenSet;
537   };
538 
539 } // namespace Model
540 } // namespace Comprehend
541 } // namespace Aws
542