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