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/core/utils/memory/stl/AWSVector.h>
11 #include <aws/comprehend/model/EntityRecognizerInputDataConfig.h>
12 #include <aws/comprehend/model/LanguageCode.h>
13 #include <aws/comprehend/model/VpcConfig.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 CreateEntityRecognizerRequest : public ComprehendRequest
28   {
29   public:
30     CreateEntityRecognizerRequest();
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 "CreateEntityRecognizer"; }
37 
38     Aws::String SerializePayload() const override;
39 
40     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
41 
42 
43     /**
44      * <p>The name given to the newly created recognizer. Recognizer names can be a
45      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
46      * (_) are allowed. The name must be unique in the account/region.</p>
47      */
GetRecognizerName()48     inline const Aws::String& GetRecognizerName() const{ return m_recognizerName; }
49 
50     /**
51      * <p>The name given to the newly created recognizer. Recognizer names can be a
52      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
53      * (_) are allowed. The name must be unique in the account/region.</p>
54      */
RecognizerNameHasBeenSet()55     inline bool RecognizerNameHasBeenSet() const { return m_recognizerNameHasBeenSet; }
56 
57     /**
58      * <p>The name given to the newly created recognizer. Recognizer names can be a
59      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
60      * (_) are allowed. The name must be unique in the account/region.</p>
61      */
SetRecognizerName(const Aws::String & value)62     inline void SetRecognizerName(const Aws::String& value) { m_recognizerNameHasBeenSet = true; m_recognizerName = value; }
63 
64     /**
65      * <p>The name given to the newly created recognizer. Recognizer names can be a
66      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
67      * (_) are allowed. The name must be unique in the account/region.</p>
68      */
SetRecognizerName(Aws::String && value)69     inline void SetRecognizerName(Aws::String&& value) { m_recognizerNameHasBeenSet = true; m_recognizerName = std::move(value); }
70 
71     /**
72      * <p>The name given to the newly created recognizer. Recognizer names can be a
73      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
74      * (_) are allowed. The name must be unique in the account/region.</p>
75      */
SetRecognizerName(const char * value)76     inline void SetRecognizerName(const char* value) { m_recognizerNameHasBeenSet = true; m_recognizerName.assign(value); }
77 
78     /**
79      * <p>The name given to the newly created recognizer. Recognizer names can be a
80      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
81      * (_) are allowed. The name must be unique in the account/region.</p>
82      */
WithRecognizerName(const Aws::String & value)83     inline CreateEntityRecognizerRequest& WithRecognizerName(const Aws::String& value) { SetRecognizerName(value); return *this;}
84 
85     /**
86      * <p>The name given to the newly created recognizer. Recognizer names can be a
87      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
88      * (_) are allowed. The name must be unique in the account/region.</p>
89      */
WithRecognizerName(Aws::String && value)90     inline CreateEntityRecognizerRequest& WithRecognizerName(Aws::String&& value) { SetRecognizerName(std::move(value)); return *this;}
91 
92     /**
93      * <p>The name given to the newly created recognizer. Recognizer names can be a
94      * maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
95      * (_) are allowed. The name must be unique in the account/region.</p>
96      */
WithRecognizerName(const char * value)97     inline CreateEntityRecognizerRequest& WithRecognizerName(const char* value) { SetRecognizerName(value); return *this;}
98 
99 
100     /**
101      * <p>The version name given to the newly created recognizer. Version names can be
102      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
103      * underscores (_) are allowed. The version name must be unique among all models
104      * with the same recognizer name in the account/ AWS Region.</p>
105      */
GetVersionName()106     inline const Aws::String& GetVersionName() const{ return m_versionName; }
107 
108     /**
109      * <p>The version name given to the newly created recognizer. Version names can be
110      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
111      * underscores (_) are allowed. The version name must be unique among all models
112      * with the same recognizer name in the account/ AWS Region.</p>
113      */
VersionNameHasBeenSet()114     inline bool VersionNameHasBeenSet() const { return m_versionNameHasBeenSet; }
115 
116     /**
117      * <p>The version name given to the newly created recognizer. Version names can be
118      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
119      * underscores (_) are allowed. The version name must be unique among all models
120      * with the same recognizer name in the account/ AWS Region.</p>
121      */
SetVersionName(const Aws::String & value)122     inline void SetVersionName(const Aws::String& value) { m_versionNameHasBeenSet = true; m_versionName = value; }
123 
124     /**
125      * <p>The version name given to the newly created recognizer. Version names can be
126      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
127      * underscores (_) are allowed. The version name must be unique among all models
128      * with the same recognizer name in the account/ AWS Region.</p>
129      */
SetVersionName(Aws::String && value)130     inline void SetVersionName(Aws::String&& value) { m_versionNameHasBeenSet = true; m_versionName = std::move(value); }
131 
132     /**
133      * <p>The version name given to the newly created recognizer. Version names can be
134      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
135      * underscores (_) are allowed. The version name must be unique among all models
136      * with the same recognizer name in the account/ AWS Region.</p>
137      */
SetVersionName(const char * value)138     inline void SetVersionName(const char* value) { m_versionNameHasBeenSet = true; m_versionName.assign(value); }
139 
140     /**
141      * <p>The version name given to the newly created recognizer. Version names can be
142      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
143      * underscores (_) are allowed. The version name must be unique among all models
144      * with the same recognizer name in the account/ AWS Region.</p>
145      */
WithVersionName(const Aws::String & value)146     inline CreateEntityRecognizerRequest& WithVersionName(const Aws::String& value) { SetVersionName(value); return *this;}
147 
148     /**
149      * <p>The version name given to the newly created recognizer. Version names can be
150      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
151      * underscores (_) are allowed. The version name must be unique among all models
152      * with the same recognizer name in the account/ AWS Region.</p>
153      */
WithVersionName(Aws::String && value)154     inline CreateEntityRecognizerRequest& WithVersionName(Aws::String&& value) { SetVersionName(std::move(value)); return *this;}
155 
156     /**
157      * <p>The version name given to the newly created recognizer. Version names can be
158      * a maximum of 256 characters. Alphanumeric characters, hyphens (-) and
159      * underscores (_) are allowed. The version name must be unique among all models
160      * with the same recognizer name in the account/ AWS Region.</p>
161      */
WithVersionName(const char * value)162     inline CreateEntityRecognizerRequest& WithVersionName(const char* value) { SetVersionName(value); return *this;}
163 
164 
165     /**
166      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
167      * that grants Amazon Comprehend read access to your input data.</p>
168      */
GetDataAccessRoleArn()169     inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; }
170 
171     /**
172      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
173      * that grants Amazon Comprehend read access to your input data.</p>
174      */
DataAccessRoleArnHasBeenSet()175     inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; }
176 
177     /**
178      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
179      * that grants Amazon Comprehend read access to your input data.</p>
180      */
SetDataAccessRoleArn(const Aws::String & value)181     inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; }
182 
183     /**
184      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
185      * that grants Amazon Comprehend read access to your input data.</p>
186      */
SetDataAccessRoleArn(Aws::String && value)187     inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); }
188 
189     /**
190      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
191      * that grants Amazon Comprehend read access to your input data.</p>
192      */
SetDataAccessRoleArn(const char * value)193     inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); }
194 
195     /**
196      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
197      * that grants Amazon Comprehend read access to your input data.</p>
198      */
WithDataAccessRoleArn(const Aws::String & value)199     inline CreateEntityRecognizerRequest& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;}
200 
201     /**
202      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
203      * that grants Amazon Comprehend read access to your input data.</p>
204      */
WithDataAccessRoleArn(Aws::String && value)205     inline CreateEntityRecognizerRequest& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;}
206 
207     /**
208      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
209      * that grants Amazon Comprehend read access to your input data.</p>
210      */
WithDataAccessRoleArn(const char * value)211     inline CreateEntityRecognizerRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;}
212 
213 
214     /**
215      * <p>Tags to be associated with the entity recognizer being created. A tag is a
216      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
217      * For example, a tag with "Sales" as the key might be added to a resource to
218      * indicate its use by the sales department. </p>
219      */
GetTags()220     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
221 
222     /**
223      * <p>Tags to be associated with the entity recognizer being created. A tag is a
224      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
225      * For example, a tag with "Sales" as the key might be added to a resource to
226      * indicate its use by the sales department. </p>
227      */
TagsHasBeenSet()228     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
229 
230     /**
231      * <p>Tags to be associated with the entity recognizer being created. A tag is a
232      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
233      * For example, a tag with "Sales" as the key might be added to a resource to
234      * indicate its use by the sales department. </p>
235      */
SetTags(const Aws::Vector<Tag> & value)236     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
237 
238     /**
239      * <p>Tags to be associated with the entity recognizer being created. A tag is a
240      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
241      * For example, a tag with "Sales" as the key might be added to a resource to
242      * indicate its use by the sales department. </p>
243      */
SetTags(Aws::Vector<Tag> && value)244     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
245 
246     /**
247      * <p>Tags to be associated with the entity recognizer being created. A tag is a
248      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
249      * For example, a tag with "Sales" as the key might be added to a resource to
250      * indicate its use by the sales department. </p>
251      */
WithTags(const Aws::Vector<Tag> & value)252     inline CreateEntityRecognizerRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
253 
254     /**
255      * <p>Tags to be associated with the entity recognizer being created. A tag is a
256      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
257      * For example, a tag with "Sales" as the key might be added to a resource to
258      * indicate its use by the sales department. </p>
259      */
WithTags(Aws::Vector<Tag> && value)260     inline CreateEntityRecognizerRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
261 
262     /**
263      * <p>Tags to be associated with the entity recognizer being created. A tag is a
264      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
265      * For example, a tag with "Sales" as the key might be added to a resource to
266      * indicate its use by the sales department. </p>
267      */
AddTags(const Tag & value)268     inline CreateEntityRecognizerRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
269 
270     /**
271      * <p>Tags to be associated with the entity recognizer being created. A tag is a
272      * key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
273      * For example, a tag with "Sales" as the key might be added to a resource to
274      * indicate its use by the sales department. </p>
275      */
AddTags(Tag && value)276     inline CreateEntityRecognizerRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
277 
278 
279     /**
280      * <p>Specifies the format and location of the input data. The S3 bucket containing
281      * the input data must be located in the same region as the entity recognizer being
282      * created. </p>
283      */
GetInputDataConfig()284     inline const EntityRecognizerInputDataConfig& GetInputDataConfig() const{ return m_inputDataConfig; }
285 
286     /**
287      * <p>Specifies the format and location of the input data. The S3 bucket containing
288      * the input data must be located in the same region as the entity recognizer being
289      * created. </p>
290      */
InputDataConfigHasBeenSet()291     inline bool InputDataConfigHasBeenSet() const { return m_inputDataConfigHasBeenSet; }
292 
293     /**
294      * <p>Specifies the format and location of the input data. The S3 bucket containing
295      * the input data must be located in the same region as the entity recognizer being
296      * created. </p>
297      */
SetInputDataConfig(const EntityRecognizerInputDataConfig & value)298     inline void SetInputDataConfig(const EntityRecognizerInputDataConfig& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = value; }
299 
300     /**
301      * <p>Specifies the format and location of the input data. The S3 bucket containing
302      * the input data must be located in the same region as the entity recognizer being
303      * created. </p>
304      */
SetInputDataConfig(EntityRecognizerInputDataConfig && value)305     inline void SetInputDataConfig(EntityRecognizerInputDataConfig&& value) { m_inputDataConfigHasBeenSet = true; m_inputDataConfig = std::move(value); }
306 
307     /**
308      * <p>Specifies the format and location of the input data. The S3 bucket containing
309      * the input data must be located in the same region as the entity recognizer being
310      * created. </p>
311      */
WithInputDataConfig(const EntityRecognizerInputDataConfig & value)312     inline CreateEntityRecognizerRequest& WithInputDataConfig(const EntityRecognizerInputDataConfig& value) { SetInputDataConfig(value); return *this;}
313 
314     /**
315      * <p>Specifies the format and location of the input data. The S3 bucket containing
316      * the input data must be located in the same region as the entity recognizer being
317      * created. </p>
318      */
WithInputDataConfig(EntityRecognizerInputDataConfig && value)319     inline CreateEntityRecognizerRequest& WithInputDataConfig(EntityRecognizerInputDataConfig&& value) { SetInputDataConfig(std::move(value)); return *this;}
320 
321 
322     /**
323      * <p> A unique identifier for the request. If you don't set the client request
324      * token, Amazon Comprehend generates one.</p>
325      */
GetClientRequestToken()326     inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
327 
328     /**
329      * <p> A unique identifier for the request. If you don't set the client request
330      * token, Amazon Comprehend generates one.</p>
331      */
ClientRequestTokenHasBeenSet()332     inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
333 
334     /**
335      * <p> A unique identifier for the request. If you don't set the client request
336      * token, Amazon Comprehend generates one.</p>
337      */
SetClientRequestToken(const Aws::String & value)338     inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
339 
340     /**
341      * <p> A unique identifier for the request. If you don't set the client request
342      * token, Amazon Comprehend generates one.</p>
343      */
SetClientRequestToken(Aws::String && value)344     inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
345 
346     /**
347      * <p> A unique identifier for the request. If you don't set the client request
348      * token, Amazon Comprehend generates one.</p>
349      */
SetClientRequestToken(const char * value)350     inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
351 
352     /**
353      * <p> A unique identifier for the request. If you don't set the client request
354      * token, Amazon Comprehend generates one.</p>
355      */
WithClientRequestToken(const Aws::String & value)356     inline CreateEntityRecognizerRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
357 
358     /**
359      * <p> A unique identifier for the request. If you don't set the client request
360      * token, Amazon Comprehend generates one.</p>
361      */
WithClientRequestToken(Aws::String && value)362     inline CreateEntityRecognizerRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
363 
364     /**
365      * <p> A unique identifier for the request. If you don't set the client request
366      * token, Amazon Comprehend generates one.</p>
367      */
WithClientRequestToken(const char * value)368     inline CreateEntityRecognizerRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
369 
370 
371     /**
372      * <p> You can specify any of the following languages supported by Amazon
373      * Comprehend: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"),
374      * German ("de"), or Portuguese ("pt"). All documents must be in the same
375      * language.</p>
376      */
GetLanguageCode()377     inline const LanguageCode& GetLanguageCode() const{ return m_languageCode; }
378 
379     /**
380      * <p> You can specify any of the following languages supported by Amazon
381      * Comprehend: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"),
382      * German ("de"), or Portuguese ("pt"). All documents must be in the same
383      * language.</p>
384      */
LanguageCodeHasBeenSet()385     inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; }
386 
387     /**
388      * <p> You can specify any of the following languages supported by Amazon
389      * Comprehend: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"),
390      * German ("de"), or Portuguese ("pt"). All documents must be in the same
391      * language.</p>
392      */
SetLanguageCode(const LanguageCode & value)393     inline void SetLanguageCode(const LanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; }
394 
395     /**
396      * <p> You can specify any of the following languages supported by Amazon
397      * Comprehend: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"),
398      * German ("de"), or Portuguese ("pt"). All documents must be in the same
399      * language.</p>
400      */
SetLanguageCode(LanguageCode && value)401     inline void SetLanguageCode(LanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); }
402 
403     /**
404      * <p> You can specify any of the following languages supported by Amazon
405      * Comprehend: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"),
406      * German ("de"), or Portuguese ("pt"). All documents must be in the same
407      * language.</p>
408      */
WithLanguageCode(const LanguageCode & value)409     inline CreateEntityRecognizerRequest& WithLanguageCode(const LanguageCode& value) { SetLanguageCode(value); return *this;}
410 
411     /**
412      * <p> You can specify any of the following languages supported by Amazon
413      * Comprehend: English ("en"), Spanish ("es"), French ("fr"), Italian ("it"),
414      * German ("de"), or Portuguese ("pt"). All documents must be in the same
415      * language.</p>
416      */
WithLanguageCode(LanguageCode && value)417     inline CreateEntityRecognizerRequest& WithLanguageCode(LanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;}
418 
419 
420     /**
421      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
422      * to encrypt data on the storage volume attached to the ML compute instance(s)
423      * that process the analysis job. The VolumeKmsKeyId can be either of the following
424      * formats:</p> <ul> <li> <p>KMS Key ID:
425      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
426      * Resource Name (ARN) of a KMS Key:
427      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
428      * </p> </li> </ul>
429      */
GetVolumeKmsKeyId()430     inline const Aws::String& GetVolumeKmsKeyId() const{ return m_volumeKmsKeyId; }
431 
432     /**
433      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
434      * to encrypt data on the storage volume attached to the ML compute instance(s)
435      * that process the analysis job. The VolumeKmsKeyId can be either of the following
436      * formats:</p> <ul> <li> <p>KMS Key ID:
437      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
438      * Resource Name (ARN) of a KMS Key:
439      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
440      * </p> </li> </ul>
441      */
VolumeKmsKeyIdHasBeenSet()442     inline bool VolumeKmsKeyIdHasBeenSet() const { return m_volumeKmsKeyIdHasBeenSet; }
443 
444     /**
445      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
446      * to encrypt data on the storage volume attached to the ML compute instance(s)
447      * that process the analysis job. The VolumeKmsKeyId can be either of the following
448      * formats:</p> <ul> <li> <p>KMS Key ID:
449      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
450      * Resource Name (ARN) of a KMS Key:
451      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
452      * </p> </li> </ul>
453      */
SetVolumeKmsKeyId(const Aws::String & value)454     inline void SetVolumeKmsKeyId(const Aws::String& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = value; }
455 
456     /**
457      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
458      * to encrypt data on the storage volume attached to the ML compute instance(s)
459      * that process the analysis job. The VolumeKmsKeyId can be either of the following
460      * formats:</p> <ul> <li> <p>KMS Key ID:
461      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
462      * Resource Name (ARN) of a KMS Key:
463      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
464      * </p> </li> </ul>
465      */
SetVolumeKmsKeyId(Aws::String && value)466     inline void SetVolumeKmsKeyId(Aws::String&& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = std::move(value); }
467 
468     /**
469      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
470      * to encrypt data on the storage volume attached to the ML compute instance(s)
471      * that process the analysis job. The VolumeKmsKeyId can be either of the following
472      * formats:</p> <ul> <li> <p>KMS Key ID:
473      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
474      * Resource Name (ARN) of a KMS Key:
475      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
476      * </p> </li> </ul>
477      */
SetVolumeKmsKeyId(const char * value)478     inline void SetVolumeKmsKeyId(const char* value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId.assign(value); }
479 
480     /**
481      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
482      * to encrypt data on the storage volume attached to the ML compute instance(s)
483      * that process the analysis job. The VolumeKmsKeyId can be either of the following
484      * formats:</p> <ul> <li> <p>KMS Key ID:
485      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
486      * Resource Name (ARN) of a KMS Key:
487      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
488      * </p> </li> </ul>
489      */
WithVolumeKmsKeyId(const Aws::String & value)490     inline CreateEntityRecognizerRequest& WithVolumeKmsKeyId(const Aws::String& value) { SetVolumeKmsKeyId(value); return *this;}
491 
492     /**
493      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
494      * to encrypt data on the storage volume attached to the ML compute instance(s)
495      * that process the analysis job. The VolumeKmsKeyId can be either of the following
496      * formats:</p> <ul> <li> <p>KMS Key ID:
497      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
498      * Resource Name (ARN) of a KMS Key:
499      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
500      * </p> </li> </ul>
501      */
WithVolumeKmsKeyId(Aws::String && value)502     inline CreateEntityRecognizerRequest& WithVolumeKmsKeyId(Aws::String&& value) { SetVolumeKmsKeyId(std::move(value)); return *this;}
503 
504     /**
505      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
506      * to encrypt data on the storage volume attached to the ML compute instance(s)
507      * that process the analysis job. The VolumeKmsKeyId can be either of the following
508      * formats:</p> <ul> <li> <p>KMS Key ID:
509      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
510      * Resource Name (ARN) of a KMS Key:
511      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
512      * </p> </li> </ul>
513      */
WithVolumeKmsKeyId(const char * value)514     inline CreateEntityRecognizerRequest& WithVolumeKmsKeyId(const char* value) { SetVolumeKmsKeyId(value); return *this;}
515 
516 
517     /**
518      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
519      * containing the resources you are using for your custom entity recognizer. For
520      * more information, see <a
521      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
522      * VPC</a>. </p>
523      */
GetVpcConfig()524     inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; }
525 
526     /**
527      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
528      * containing the resources you are using for your custom entity recognizer. For
529      * more information, see <a
530      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
531      * VPC</a>. </p>
532      */
VpcConfigHasBeenSet()533     inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; }
534 
535     /**
536      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
537      * containing the resources you are using for your custom entity recognizer. For
538      * more information, see <a
539      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
540      * VPC</a>. </p>
541      */
SetVpcConfig(const VpcConfig & value)542     inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; }
543 
544     /**
545      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
546      * containing the resources you are using for your custom entity recognizer. For
547      * more information, see <a
548      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
549      * VPC</a>. </p>
550      */
SetVpcConfig(VpcConfig && value)551     inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); }
552 
553     /**
554      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
555      * containing the resources you are using for your custom entity recognizer. For
556      * more information, see <a
557      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
558      * VPC</a>. </p>
559      */
WithVpcConfig(const VpcConfig & value)560     inline CreateEntityRecognizerRequest& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;}
561 
562     /**
563      * <p>Configuration parameters for an optional private Virtual Private Cloud (VPC)
564      * containing the resources you are using for your custom entity recognizer. For
565      * more information, see <a
566      * href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon
567      * VPC</a>. </p>
568      */
WithVpcConfig(VpcConfig && value)569     inline CreateEntityRecognizerRequest& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;}
570 
571 
572     /**
573      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
574      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
575      * following formats</p> <ul> <li> <p>KMS Key ID:
576      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
577      * Resource Name (ARN) of a KMS Key:
578      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
579      * </p> </li> </ul>
580      */
GetModelKmsKeyId()581     inline const Aws::String& GetModelKmsKeyId() const{ return m_modelKmsKeyId; }
582 
583     /**
584      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
585      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
586      * following formats</p> <ul> <li> <p>KMS Key ID:
587      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
588      * Resource Name (ARN) of a KMS Key:
589      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
590      * </p> </li> </ul>
591      */
ModelKmsKeyIdHasBeenSet()592     inline bool ModelKmsKeyIdHasBeenSet() const { return m_modelKmsKeyIdHasBeenSet; }
593 
594     /**
595      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
596      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
597      * following formats</p> <ul> <li> <p>KMS Key ID:
598      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
599      * Resource Name (ARN) of a KMS Key:
600      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
601      * </p> </li> </ul>
602      */
SetModelKmsKeyId(const Aws::String & value)603     inline void SetModelKmsKeyId(const Aws::String& value) { m_modelKmsKeyIdHasBeenSet = true; m_modelKmsKeyId = value; }
604 
605     /**
606      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
607      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
608      * following formats</p> <ul> <li> <p>KMS Key ID:
609      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
610      * Resource Name (ARN) of a KMS Key:
611      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
612      * </p> </li> </ul>
613      */
SetModelKmsKeyId(Aws::String && value)614     inline void SetModelKmsKeyId(Aws::String&& value) { m_modelKmsKeyIdHasBeenSet = true; m_modelKmsKeyId = std::move(value); }
615 
616     /**
617      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
618      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
619      * following formats</p> <ul> <li> <p>KMS Key ID:
620      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
621      * Resource Name (ARN) of a KMS Key:
622      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
623      * </p> </li> </ul>
624      */
SetModelKmsKeyId(const char * value)625     inline void SetModelKmsKeyId(const char* value) { m_modelKmsKeyIdHasBeenSet = true; m_modelKmsKeyId.assign(value); }
626 
627     /**
628      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
629      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
630      * following formats</p> <ul> <li> <p>KMS Key ID:
631      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
632      * Resource Name (ARN) of a KMS Key:
633      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
634      * </p> </li> </ul>
635      */
WithModelKmsKeyId(const Aws::String & value)636     inline CreateEntityRecognizerRequest& WithModelKmsKeyId(const Aws::String& value) { SetModelKmsKeyId(value); return *this;}
637 
638     /**
639      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
640      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
641      * following formats</p> <ul> <li> <p>KMS Key ID:
642      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
643      * Resource Name (ARN) of a KMS Key:
644      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
645      * </p> </li> </ul>
646      */
WithModelKmsKeyId(Aws::String && value)647     inline CreateEntityRecognizerRequest& WithModelKmsKeyId(Aws::String&& value) { SetModelKmsKeyId(std::move(value)); return *this;}
648 
649     /**
650      * <p>ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
651      * to encrypt trained custom models. The ModelKmsKeyId can be either of the
652      * following formats</p> <ul> <li> <p>KMS Key ID:
653      * <code>"1234abcd-12ab-34cd-56ef-1234567890ab"</code> </p> </li> <li> <p>Amazon
654      * Resource Name (ARN) of a KMS Key:
655      * <code>"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"</code>
656      * </p> </li> </ul>
657      */
WithModelKmsKeyId(const char * value)658     inline CreateEntityRecognizerRequest& WithModelKmsKeyId(const char* value) { SetModelKmsKeyId(value); return *this;}
659 
660   private:
661 
662     Aws::String m_recognizerName;
663     bool m_recognizerNameHasBeenSet;
664 
665     Aws::String m_versionName;
666     bool m_versionNameHasBeenSet;
667 
668     Aws::String m_dataAccessRoleArn;
669     bool m_dataAccessRoleArnHasBeenSet;
670 
671     Aws::Vector<Tag> m_tags;
672     bool m_tagsHasBeenSet;
673 
674     EntityRecognizerInputDataConfig m_inputDataConfig;
675     bool m_inputDataConfigHasBeenSet;
676 
677     Aws::String m_clientRequestToken;
678     bool m_clientRequestTokenHasBeenSet;
679 
680     LanguageCode m_languageCode;
681     bool m_languageCodeHasBeenSet;
682 
683     Aws::String m_volumeKmsKeyId;
684     bool m_volumeKmsKeyIdHasBeenSet;
685 
686     VpcConfig m_vpcConfig;
687     bool m_vpcConfigHasBeenSet;
688 
689     Aws::String m_modelKmsKeyId;
690     bool m_modelKmsKeyIdHasBeenSet;
691   };
692 
693 } // namespace Model
694 } // namespace Comprehend
695 } // namespace Aws
696