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/kendra/Kendra_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/kendra/model/ThesaurusStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/kendra/model/S3Path.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace kendra
27 {
28 namespace Model
29 {
30   class AWS_KENDRA_API DescribeThesaurusResult
31   {
32   public:
33     DescribeThesaurusResult();
34     DescribeThesaurusResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeThesaurusResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>The identifier of the thesaurus.</p>
40      */
GetId()41     inline const Aws::String& GetId() const{ return m_id; }
42 
43     /**
44      * <p>The identifier of the thesaurus.</p>
45      */
SetId(const Aws::String & value)46     inline void SetId(const Aws::String& value) { m_id = value; }
47 
48     /**
49      * <p>The identifier of the thesaurus.</p>
50      */
SetId(Aws::String && value)51     inline void SetId(Aws::String&& value) { m_id = std::move(value); }
52 
53     /**
54      * <p>The identifier of the thesaurus.</p>
55      */
SetId(const char * value)56     inline void SetId(const char* value) { m_id.assign(value); }
57 
58     /**
59      * <p>The identifier of the thesaurus.</p>
60      */
WithId(const Aws::String & value)61     inline DescribeThesaurusResult& WithId(const Aws::String& value) { SetId(value); return *this;}
62 
63     /**
64      * <p>The identifier of the thesaurus.</p>
65      */
WithId(Aws::String && value)66     inline DescribeThesaurusResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
67 
68     /**
69      * <p>The identifier of the thesaurus.</p>
70      */
WithId(const char * value)71     inline DescribeThesaurusResult& WithId(const char* value) { SetId(value); return *this;}
72 
73 
74     /**
75      * <p>The identifier of the index associated with the thesaurus to describe.</p>
76      */
GetIndexId()77     inline const Aws::String& GetIndexId() const{ return m_indexId; }
78 
79     /**
80      * <p>The identifier of the index associated with the thesaurus to describe.</p>
81      */
SetIndexId(const Aws::String & value)82     inline void SetIndexId(const Aws::String& value) { m_indexId = value; }
83 
84     /**
85      * <p>The identifier of the index associated with the thesaurus to describe.</p>
86      */
SetIndexId(Aws::String && value)87     inline void SetIndexId(Aws::String&& value) { m_indexId = std::move(value); }
88 
89     /**
90      * <p>The identifier of the index associated with the thesaurus to describe.</p>
91      */
SetIndexId(const char * value)92     inline void SetIndexId(const char* value) { m_indexId.assign(value); }
93 
94     /**
95      * <p>The identifier of the index associated with the thesaurus to describe.</p>
96      */
WithIndexId(const Aws::String & value)97     inline DescribeThesaurusResult& WithIndexId(const Aws::String& value) { SetIndexId(value); return *this;}
98 
99     /**
100      * <p>The identifier of the index associated with the thesaurus to describe.</p>
101      */
WithIndexId(Aws::String && value)102     inline DescribeThesaurusResult& WithIndexId(Aws::String&& value) { SetIndexId(std::move(value)); return *this;}
103 
104     /**
105      * <p>The identifier of the index associated with the thesaurus to describe.</p>
106      */
WithIndexId(const char * value)107     inline DescribeThesaurusResult& WithIndexId(const char* value) { SetIndexId(value); return *this;}
108 
109 
110     /**
111      * <p>The thesaurus name.</p>
112      */
GetName()113     inline const Aws::String& GetName() const{ return m_name; }
114 
115     /**
116      * <p>The thesaurus name.</p>
117      */
SetName(const Aws::String & value)118     inline void SetName(const Aws::String& value) { m_name = value; }
119 
120     /**
121      * <p>The thesaurus name.</p>
122      */
SetName(Aws::String && value)123     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
124 
125     /**
126      * <p>The thesaurus name.</p>
127      */
SetName(const char * value)128     inline void SetName(const char* value) { m_name.assign(value); }
129 
130     /**
131      * <p>The thesaurus name.</p>
132      */
WithName(const Aws::String & value)133     inline DescribeThesaurusResult& WithName(const Aws::String& value) { SetName(value); return *this;}
134 
135     /**
136      * <p>The thesaurus name.</p>
137      */
WithName(Aws::String && value)138     inline DescribeThesaurusResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
139 
140     /**
141      * <p>The thesaurus name.</p>
142      */
WithName(const char * value)143     inline DescribeThesaurusResult& WithName(const char* value) { SetName(value); return *this;}
144 
145 
146     /**
147      * <p>The thesaurus description.</p>
148      */
GetDescription()149     inline const Aws::String& GetDescription() const{ return m_description; }
150 
151     /**
152      * <p>The thesaurus description.</p>
153      */
SetDescription(const Aws::String & value)154     inline void SetDescription(const Aws::String& value) { m_description = value; }
155 
156     /**
157      * <p>The thesaurus description.</p>
158      */
SetDescription(Aws::String && value)159     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
160 
161     /**
162      * <p>The thesaurus description.</p>
163      */
SetDescription(const char * value)164     inline void SetDescription(const char* value) { m_description.assign(value); }
165 
166     /**
167      * <p>The thesaurus description.</p>
168      */
WithDescription(const Aws::String & value)169     inline DescribeThesaurusResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
170 
171     /**
172      * <p>The thesaurus description.</p>
173      */
WithDescription(Aws::String && value)174     inline DescribeThesaurusResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
175 
176     /**
177      * <p>The thesaurus description.</p>
178      */
WithDescription(const char * value)179     inline DescribeThesaurusResult& WithDescription(const char* value) { SetDescription(value); return *this;}
180 
181 
182     /**
183      * <p>The current status of the thesaurus. When the value is <code>ACTIVE</code>,
184      * queries are able to use the thesaurus. If the <code>Status</code> field value is
185      * <code>FAILED</code>, the <code>ErrorMessage</code> field provides more
186      * information. </p> <p>If the status is <code>ACTIVE_BUT_UPDATE_FAILED</code>, it
187      * means that Amazon Kendra could not ingest the new thesaurus file. The old
188      * thesaurus file is still active. </p>
189      */
GetStatus()190     inline const ThesaurusStatus& GetStatus() const{ return m_status; }
191 
192     /**
193      * <p>The current status of the thesaurus. When the value is <code>ACTIVE</code>,
194      * queries are able to use the thesaurus. If the <code>Status</code> field value is
195      * <code>FAILED</code>, the <code>ErrorMessage</code> field provides more
196      * information. </p> <p>If the status is <code>ACTIVE_BUT_UPDATE_FAILED</code>, it
197      * means that Amazon Kendra could not ingest the new thesaurus file. The old
198      * thesaurus file is still active. </p>
199      */
SetStatus(const ThesaurusStatus & value)200     inline void SetStatus(const ThesaurusStatus& value) { m_status = value; }
201 
202     /**
203      * <p>The current status of the thesaurus. When the value is <code>ACTIVE</code>,
204      * queries are able to use the thesaurus. If the <code>Status</code> field value is
205      * <code>FAILED</code>, the <code>ErrorMessage</code> field provides more
206      * information. </p> <p>If the status is <code>ACTIVE_BUT_UPDATE_FAILED</code>, it
207      * means that Amazon Kendra could not ingest the new thesaurus file. The old
208      * thesaurus file is still active. </p>
209      */
SetStatus(ThesaurusStatus && value)210     inline void SetStatus(ThesaurusStatus&& value) { m_status = std::move(value); }
211 
212     /**
213      * <p>The current status of the thesaurus. When the value is <code>ACTIVE</code>,
214      * queries are able to use the thesaurus. If the <code>Status</code> field value is
215      * <code>FAILED</code>, the <code>ErrorMessage</code> field provides more
216      * information. </p> <p>If the status is <code>ACTIVE_BUT_UPDATE_FAILED</code>, it
217      * means that Amazon Kendra could not ingest the new thesaurus file. The old
218      * thesaurus file is still active. </p>
219      */
WithStatus(const ThesaurusStatus & value)220     inline DescribeThesaurusResult& WithStatus(const ThesaurusStatus& value) { SetStatus(value); return *this;}
221 
222     /**
223      * <p>The current status of the thesaurus. When the value is <code>ACTIVE</code>,
224      * queries are able to use the thesaurus. If the <code>Status</code> field value is
225      * <code>FAILED</code>, the <code>ErrorMessage</code> field provides more
226      * information. </p> <p>If the status is <code>ACTIVE_BUT_UPDATE_FAILED</code>, it
227      * means that Amazon Kendra could not ingest the new thesaurus file. The old
228      * thesaurus file is still active. </p>
229      */
WithStatus(ThesaurusStatus && value)230     inline DescribeThesaurusResult& WithStatus(ThesaurusStatus&& value) { SetStatus(std::move(value)); return *this;}
231 
232 
233     /**
234      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
235      * <code>ErrorMessage</code> field provides more information. </p>
236      */
GetErrorMessage()237     inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; }
238 
239     /**
240      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
241      * <code>ErrorMessage</code> field provides more information. </p>
242      */
SetErrorMessage(const Aws::String & value)243     inline void SetErrorMessage(const Aws::String& value) { m_errorMessage = value; }
244 
245     /**
246      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
247      * <code>ErrorMessage</code> field provides more information. </p>
248      */
SetErrorMessage(Aws::String && value)249     inline void SetErrorMessage(Aws::String&& value) { m_errorMessage = std::move(value); }
250 
251     /**
252      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
253      * <code>ErrorMessage</code> field provides more information. </p>
254      */
SetErrorMessage(const char * value)255     inline void SetErrorMessage(const char* value) { m_errorMessage.assign(value); }
256 
257     /**
258      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
259      * <code>ErrorMessage</code> field provides more information. </p>
260      */
WithErrorMessage(const Aws::String & value)261     inline DescribeThesaurusResult& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;}
262 
263     /**
264      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
265      * <code>ErrorMessage</code> field provides more information. </p>
266      */
WithErrorMessage(Aws::String && value)267     inline DescribeThesaurusResult& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;}
268 
269     /**
270      * <p>When the <code>Status</code> field value is <code>FAILED</code>, the
271      * <code>ErrorMessage</code> field provides more information. </p>
272      */
WithErrorMessage(const char * value)273     inline DescribeThesaurusResult& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;}
274 
275 
276     /**
277      * <p>The Unix datetime that the thesaurus was created.</p>
278      */
GetCreatedAt()279     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
280 
281     /**
282      * <p>The Unix datetime that the thesaurus was created.</p>
283      */
SetCreatedAt(const Aws::Utils::DateTime & value)284     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; }
285 
286     /**
287      * <p>The Unix datetime that the thesaurus was created.</p>
288      */
SetCreatedAt(Aws::Utils::DateTime && value)289     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); }
290 
291     /**
292      * <p>The Unix datetime that the thesaurus was created.</p>
293      */
WithCreatedAt(const Aws::Utils::DateTime & value)294     inline DescribeThesaurusResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
295 
296     /**
297      * <p>The Unix datetime that the thesaurus was created.</p>
298      */
WithCreatedAt(Aws::Utils::DateTime && value)299     inline DescribeThesaurusResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
300 
301 
302     /**
303      * <p>The Unix datetime that the thesaurus was last updated.</p>
304      */
GetUpdatedAt()305     inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
306 
307     /**
308      * <p>The Unix datetime that the thesaurus was last updated.</p>
309      */
SetUpdatedAt(const Aws::Utils::DateTime & value)310     inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; }
311 
312     /**
313      * <p>The Unix datetime that the thesaurus was last updated.</p>
314      */
SetUpdatedAt(Aws::Utils::DateTime && value)315     inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); }
316 
317     /**
318      * <p>The Unix datetime that the thesaurus was last updated.</p>
319      */
WithUpdatedAt(const Aws::Utils::DateTime & value)320     inline DescribeThesaurusResult& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
321 
322     /**
323      * <p>The Unix datetime that the thesaurus was last updated.</p>
324      */
WithUpdatedAt(Aws::Utils::DateTime && value)325     inline DescribeThesaurusResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
326 
327 
328     /**
329      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
330      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
331      * </p>
332      */
GetRoleArn()333     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
334 
335     /**
336      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
337      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
338      * </p>
339      */
SetRoleArn(const Aws::String & value)340     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
341 
342     /**
343      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
344      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
345      * </p>
346      */
SetRoleArn(Aws::String && value)347     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
348 
349     /**
350      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
351      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
352      * </p>
353      */
SetRoleArn(const char * value)354     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
355 
356     /**
357      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
358      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
359      * </p>
360      */
WithRoleArn(const Aws::String & value)361     inline DescribeThesaurusResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
362 
363     /**
364      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
365      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
366      * </p>
367      */
WithRoleArn(Aws::String && value)368     inline DescribeThesaurusResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
369 
370     /**
371      * <p>An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
372      * permissions to access thesaurus file specified in <code>SourceS3Path</code>.
373      * </p>
374      */
WithRoleArn(const char * value)375     inline DescribeThesaurusResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
376 
377 
378 
GetSourceS3Path()379     inline const S3Path& GetSourceS3Path() const{ return m_sourceS3Path; }
380 
381 
SetSourceS3Path(const S3Path & value)382     inline void SetSourceS3Path(const S3Path& value) { m_sourceS3Path = value; }
383 
384 
SetSourceS3Path(S3Path && value)385     inline void SetSourceS3Path(S3Path&& value) { m_sourceS3Path = std::move(value); }
386 
387 
WithSourceS3Path(const S3Path & value)388     inline DescribeThesaurusResult& WithSourceS3Path(const S3Path& value) { SetSourceS3Path(value); return *this;}
389 
390 
WithSourceS3Path(S3Path && value)391     inline DescribeThesaurusResult& WithSourceS3Path(S3Path&& value) { SetSourceS3Path(std::move(value)); return *this;}
392 
393 
394     /**
395      * <p>The size of the thesaurus file in bytes.</p>
396      */
GetFileSizeBytes()397     inline long long GetFileSizeBytes() const{ return m_fileSizeBytes; }
398 
399     /**
400      * <p>The size of the thesaurus file in bytes.</p>
401      */
SetFileSizeBytes(long long value)402     inline void SetFileSizeBytes(long long value) { m_fileSizeBytes = value; }
403 
404     /**
405      * <p>The size of the thesaurus file in bytes.</p>
406      */
WithFileSizeBytes(long long value)407     inline DescribeThesaurusResult& WithFileSizeBytes(long long value) { SetFileSizeBytes(value); return *this;}
408 
409 
410     /**
411      * <p>The number of unique terms in the thesaurus file. For example, the synonyms
412      * <code>a,b,c</code> and <code>a=&gt;d</code>, the term count would be 4. </p>
413      */
GetTermCount()414     inline long long GetTermCount() const{ return m_termCount; }
415 
416     /**
417      * <p>The number of unique terms in the thesaurus file. For example, the synonyms
418      * <code>a,b,c</code> and <code>a=&gt;d</code>, the term count would be 4. </p>
419      */
SetTermCount(long long value)420     inline void SetTermCount(long long value) { m_termCount = value; }
421 
422     /**
423      * <p>The number of unique terms in the thesaurus file. For example, the synonyms
424      * <code>a,b,c</code> and <code>a=&gt;d</code>, the term count would be 4. </p>
425      */
WithTermCount(long long value)426     inline DescribeThesaurusResult& WithTermCount(long long value) { SetTermCount(value); return *this;}
427 
428 
429     /**
430      * <p>The number of synonym rules in the thesaurus file.</p>
431      */
GetSynonymRuleCount()432     inline long long GetSynonymRuleCount() const{ return m_synonymRuleCount; }
433 
434     /**
435      * <p>The number of synonym rules in the thesaurus file.</p>
436      */
SetSynonymRuleCount(long long value)437     inline void SetSynonymRuleCount(long long value) { m_synonymRuleCount = value; }
438 
439     /**
440      * <p>The number of synonym rules in the thesaurus file.</p>
441      */
WithSynonymRuleCount(long long value)442     inline DescribeThesaurusResult& WithSynonymRuleCount(long long value) { SetSynonymRuleCount(value); return *this;}
443 
444   private:
445 
446     Aws::String m_id;
447 
448     Aws::String m_indexId;
449 
450     Aws::String m_name;
451 
452     Aws::String m_description;
453 
454     ThesaurusStatus m_status;
455 
456     Aws::String m_errorMessage;
457 
458     Aws::Utils::DateTime m_createdAt;
459 
460     Aws::Utils::DateTime m_updatedAt;
461 
462     Aws::String m_roleArn;
463 
464     S3Path m_sourceS3Path;
465 
466     long long m_fileSizeBytes;
467 
468     long long m_termCount;
469 
470     long long m_synonymRuleCount;
471   };
472 
473 } // namespace Model
474 } // namespace kendra
475 } // namespace Aws
476