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/QuerySuggestionsBlockListStatus.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 DescribeQuerySuggestionsBlockListResult
31   {
32   public:
33     DescribeQuerySuggestionsBlockListResult();
34     DescribeQuerySuggestionsBlockListResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     DescribeQuerySuggestionsBlockListResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>Shows the identifier of the index for the block list.</p>
40      */
GetIndexId()41     inline const Aws::String& GetIndexId() const{ return m_indexId; }
42 
43     /**
44      * <p>Shows the identifier of the index for the block list.</p>
45      */
SetIndexId(const Aws::String & value)46     inline void SetIndexId(const Aws::String& value) { m_indexId = value; }
47 
48     /**
49      * <p>Shows the identifier of the index for the block list.</p>
50      */
SetIndexId(Aws::String && value)51     inline void SetIndexId(Aws::String&& value) { m_indexId = std::move(value); }
52 
53     /**
54      * <p>Shows the identifier of the index for the block list.</p>
55      */
SetIndexId(const char * value)56     inline void SetIndexId(const char* value) { m_indexId.assign(value); }
57 
58     /**
59      * <p>Shows the identifier of the index for the block list.</p>
60      */
WithIndexId(const Aws::String & value)61     inline DescribeQuerySuggestionsBlockListResult& WithIndexId(const Aws::String& value) { SetIndexId(value); return *this;}
62 
63     /**
64      * <p>Shows the identifier of the index for the block list.</p>
65      */
WithIndexId(Aws::String && value)66     inline DescribeQuerySuggestionsBlockListResult& WithIndexId(Aws::String&& value) { SetIndexId(std::move(value)); return *this;}
67 
68     /**
69      * <p>Shows the identifier of the index for the block list.</p>
70      */
WithIndexId(const char * value)71     inline DescribeQuerySuggestionsBlockListResult& WithIndexId(const char* value) { SetIndexId(value); return *this;}
72 
73 
74     /**
75      * <p>Shows the unique identifier of the block list.</p>
76      */
GetId()77     inline const Aws::String& GetId() const{ return m_id; }
78 
79     /**
80      * <p>Shows the unique identifier of the block list.</p>
81      */
SetId(const Aws::String & value)82     inline void SetId(const Aws::String& value) { m_id = value; }
83 
84     /**
85      * <p>Shows the unique identifier of the block list.</p>
86      */
SetId(Aws::String && value)87     inline void SetId(Aws::String&& value) { m_id = std::move(value); }
88 
89     /**
90      * <p>Shows the unique identifier of the block list.</p>
91      */
SetId(const char * value)92     inline void SetId(const char* value) { m_id.assign(value); }
93 
94     /**
95      * <p>Shows the unique identifier of the block list.</p>
96      */
WithId(const Aws::String & value)97     inline DescribeQuerySuggestionsBlockListResult& WithId(const Aws::String& value) { SetId(value); return *this;}
98 
99     /**
100      * <p>Shows the unique identifier of the block list.</p>
101      */
WithId(Aws::String && value)102     inline DescribeQuerySuggestionsBlockListResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
103 
104     /**
105      * <p>Shows the unique identifier of the block list.</p>
106      */
WithId(const char * value)107     inline DescribeQuerySuggestionsBlockListResult& WithId(const char* value) { SetId(value); return *this;}
108 
109 
110     /**
111      * <p>Shows the name of the block list.</p>
112      */
GetName()113     inline const Aws::String& GetName() const{ return m_name; }
114 
115     /**
116      * <p>Shows the name of the block list.</p>
117      */
SetName(const Aws::String & value)118     inline void SetName(const Aws::String& value) { m_name = value; }
119 
120     /**
121      * <p>Shows the name of the block list.</p>
122      */
SetName(Aws::String && value)123     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
124 
125     /**
126      * <p>Shows the name of the block list.</p>
127      */
SetName(const char * value)128     inline void SetName(const char* value) { m_name.assign(value); }
129 
130     /**
131      * <p>Shows the name of the block list.</p>
132      */
WithName(const Aws::String & value)133     inline DescribeQuerySuggestionsBlockListResult& WithName(const Aws::String& value) { SetName(value); return *this;}
134 
135     /**
136      * <p>Shows the name of the block list.</p>
137      */
WithName(Aws::String && value)138     inline DescribeQuerySuggestionsBlockListResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
139 
140     /**
141      * <p>Shows the name of the block list.</p>
142      */
WithName(const char * value)143     inline DescribeQuerySuggestionsBlockListResult& WithName(const char* value) { SetName(value); return *this;}
144 
145 
146     /**
147      * <p>Shows the description for the block list.</p>
148      */
GetDescription()149     inline const Aws::String& GetDescription() const{ return m_description; }
150 
151     /**
152      * <p>Shows the description for the block list.</p>
153      */
SetDescription(const Aws::String & value)154     inline void SetDescription(const Aws::String& value) { m_description = value; }
155 
156     /**
157      * <p>Shows the description for the block list.</p>
158      */
SetDescription(Aws::String && value)159     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
160 
161     /**
162      * <p>Shows the description for the block list.</p>
163      */
SetDescription(const char * value)164     inline void SetDescription(const char* value) { m_description.assign(value); }
165 
166     /**
167      * <p>Shows the description for the block list.</p>
168      */
WithDescription(const Aws::String & value)169     inline DescribeQuerySuggestionsBlockListResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
170 
171     /**
172      * <p>Shows the description for the block list.</p>
173      */
WithDescription(Aws::String && value)174     inline DescribeQuerySuggestionsBlockListResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
175 
176     /**
177      * <p>Shows the description for the block list.</p>
178      */
WithDescription(const char * value)179     inline DescribeQuerySuggestionsBlockListResult& WithDescription(const char* value) { SetDescription(value); return *this;}
180 
181 
182     /**
183      * <p>Shows whether the current status of the block list is <code>ACTIVE</code> or
184      * <code>INACTIVE</code>.</p>
185      */
GetStatus()186     inline const QuerySuggestionsBlockListStatus& GetStatus() const{ return m_status; }
187 
188     /**
189      * <p>Shows whether the current status of the block list is <code>ACTIVE</code> or
190      * <code>INACTIVE</code>.</p>
191      */
SetStatus(const QuerySuggestionsBlockListStatus & value)192     inline void SetStatus(const QuerySuggestionsBlockListStatus& value) { m_status = value; }
193 
194     /**
195      * <p>Shows whether the current status of the block list is <code>ACTIVE</code> or
196      * <code>INACTIVE</code>.</p>
197      */
SetStatus(QuerySuggestionsBlockListStatus && value)198     inline void SetStatus(QuerySuggestionsBlockListStatus&& value) { m_status = std::move(value); }
199 
200     /**
201      * <p>Shows whether the current status of the block list is <code>ACTIVE</code> or
202      * <code>INACTIVE</code>.</p>
203      */
WithStatus(const QuerySuggestionsBlockListStatus & value)204     inline DescribeQuerySuggestionsBlockListResult& WithStatus(const QuerySuggestionsBlockListStatus& value) { SetStatus(value); return *this;}
205 
206     /**
207      * <p>Shows whether the current status of the block list is <code>ACTIVE</code> or
208      * <code>INACTIVE</code>.</p>
209      */
WithStatus(QuerySuggestionsBlockListStatus && value)210     inline DescribeQuerySuggestionsBlockListResult& WithStatus(QuerySuggestionsBlockListStatus&& value) { SetStatus(std::move(value)); return *this;}
211 
212 
213     /**
214      * <p>Shows the error message with details when there are issues in processing the
215      * block list.</p>
216      */
GetErrorMessage()217     inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; }
218 
219     /**
220      * <p>Shows the error message with details when there are issues in processing the
221      * block list.</p>
222      */
SetErrorMessage(const Aws::String & value)223     inline void SetErrorMessage(const Aws::String& value) { m_errorMessage = value; }
224 
225     /**
226      * <p>Shows the error message with details when there are issues in processing the
227      * block list.</p>
228      */
SetErrorMessage(Aws::String && value)229     inline void SetErrorMessage(Aws::String&& value) { m_errorMessage = std::move(value); }
230 
231     /**
232      * <p>Shows the error message with details when there are issues in processing the
233      * block list.</p>
234      */
SetErrorMessage(const char * value)235     inline void SetErrorMessage(const char* value) { m_errorMessage.assign(value); }
236 
237     /**
238      * <p>Shows the error message with details when there are issues in processing the
239      * block list.</p>
240      */
WithErrorMessage(const Aws::String & value)241     inline DescribeQuerySuggestionsBlockListResult& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;}
242 
243     /**
244      * <p>Shows the error message with details when there are issues in processing the
245      * block list.</p>
246      */
WithErrorMessage(Aws::String && value)247     inline DescribeQuerySuggestionsBlockListResult& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;}
248 
249     /**
250      * <p>Shows the error message with details when there are issues in processing the
251      * block list.</p>
252      */
WithErrorMessage(const char * value)253     inline DescribeQuerySuggestionsBlockListResult& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;}
254 
255 
256     /**
257      * <p>Shows the date-time a block list for query suggestions was created.</p>
258      */
GetCreatedAt()259     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
260 
261     /**
262      * <p>Shows the date-time a block list for query suggestions was created.</p>
263      */
SetCreatedAt(const Aws::Utils::DateTime & value)264     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; }
265 
266     /**
267      * <p>Shows the date-time a block list for query suggestions was created.</p>
268      */
SetCreatedAt(Aws::Utils::DateTime && value)269     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); }
270 
271     /**
272      * <p>Shows the date-time a block list for query suggestions was created.</p>
273      */
WithCreatedAt(const Aws::Utils::DateTime & value)274     inline DescribeQuerySuggestionsBlockListResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
275 
276     /**
277      * <p>Shows the date-time a block list for query suggestions was created.</p>
278      */
WithCreatedAt(Aws::Utils::DateTime && value)279     inline DescribeQuerySuggestionsBlockListResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
280 
281 
282     /**
283      * <p>Shows the date-time a block list for query suggestions was last updated.</p>
284      */
GetUpdatedAt()285     inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
286 
287     /**
288      * <p>Shows the date-time a block list for query suggestions was last updated.</p>
289      */
SetUpdatedAt(const Aws::Utils::DateTime & value)290     inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAt = value; }
291 
292     /**
293      * <p>Shows the date-time a block list for query suggestions was last updated.</p>
294      */
SetUpdatedAt(Aws::Utils::DateTime && value)295     inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAt = std::move(value); }
296 
297     /**
298      * <p>Shows the date-time a block list for query suggestions was last updated.</p>
299      */
WithUpdatedAt(const Aws::Utils::DateTime & value)300     inline DescribeQuerySuggestionsBlockListResult& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
301 
302     /**
303      * <p>Shows the date-time a block list for query suggestions was last updated.</p>
304      */
WithUpdatedAt(Aws::Utils::DateTime && value)305     inline DescribeQuerySuggestionsBlockListResult& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
306 
307 
308     /**
309      * <p>Shows the current S3 path to your block list text file in your S3 bucket.</p>
310      * <p>Each block word or phrase should be on a separate line in a text file.</p>
311      * <p>For information on the current quota limits for block lists, see <a
312      * href="https://docs.aws.amazon.com/kendra/latest/dg/quotas.html">Quotas for
313      * Amazon Kendra</a>.</p>
314      */
GetSourceS3Path()315     inline const S3Path& GetSourceS3Path() const{ return m_sourceS3Path; }
316 
317     /**
318      * <p>Shows the current S3 path to your block list text file in your S3 bucket.</p>
319      * <p>Each block word or phrase should be on a separate line in a text file.</p>
320      * <p>For information on the current quota limits for block lists, see <a
321      * href="https://docs.aws.amazon.com/kendra/latest/dg/quotas.html">Quotas for
322      * Amazon Kendra</a>.</p>
323      */
SetSourceS3Path(const S3Path & value)324     inline void SetSourceS3Path(const S3Path& value) { m_sourceS3Path = value; }
325 
326     /**
327      * <p>Shows the current S3 path to your block list text file in your S3 bucket.</p>
328      * <p>Each block word or phrase should be on a separate line in a text file.</p>
329      * <p>For information on the current quota limits for block lists, see <a
330      * href="https://docs.aws.amazon.com/kendra/latest/dg/quotas.html">Quotas for
331      * Amazon Kendra</a>.</p>
332      */
SetSourceS3Path(S3Path && value)333     inline void SetSourceS3Path(S3Path&& value) { m_sourceS3Path = std::move(value); }
334 
335     /**
336      * <p>Shows the current S3 path to your block list text file in your S3 bucket.</p>
337      * <p>Each block word or phrase should be on a separate line in a text file.</p>
338      * <p>For information on the current quota limits for block lists, see <a
339      * href="https://docs.aws.amazon.com/kendra/latest/dg/quotas.html">Quotas for
340      * Amazon Kendra</a>.</p>
341      */
WithSourceS3Path(const S3Path & value)342     inline DescribeQuerySuggestionsBlockListResult& WithSourceS3Path(const S3Path& value) { SetSourceS3Path(value); return *this;}
343 
344     /**
345      * <p>Shows the current S3 path to your block list text file in your S3 bucket.</p>
346      * <p>Each block word or phrase should be on a separate line in a text file.</p>
347      * <p>For information on the current quota limits for block lists, see <a
348      * href="https://docs.aws.amazon.com/kendra/latest/dg/quotas.html">Quotas for
349      * Amazon Kendra</a>.</p>
350      */
WithSourceS3Path(S3Path && value)351     inline DescribeQuerySuggestionsBlockListResult& WithSourceS3Path(S3Path&& value) { SetSourceS3Path(std::move(value)); return *this;}
352 
353 
354     /**
355      * <p>Shows the current number of valid, non-empty words or phrases in the block
356      * list text file.</p>
357      */
GetItemCount()358     inline int GetItemCount() const{ return m_itemCount; }
359 
360     /**
361      * <p>Shows the current number of valid, non-empty words or phrases in the block
362      * list text file.</p>
363      */
SetItemCount(int value)364     inline void SetItemCount(int value) { m_itemCount = value; }
365 
366     /**
367      * <p>Shows the current number of valid, non-empty words or phrases in the block
368      * list text file.</p>
369      */
WithItemCount(int value)370     inline DescribeQuerySuggestionsBlockListResult& WithItemCount(int value) { SetItemCount(value); return *this;}
371 
372 
373     /**
374      * <p>Shows the current size of the block list text file in S3.</p>
375      */
GetFileSizeBytes()376     inline long long GetFileSizeBytes() const{ return m_fileSizeBytes; }
377 
378     /**
379      * <p>Shows the current size of the block list text file in S3.</p>
380      */
SetFileSizeBytes(long long value)381     inline void SetFileSizeBytes(long long value) { m_fileSizeBytes = value; }
382 
383     /**
384      * <p>Shows the current size of the block list text file in S3.</p>
385      */
WithFileSizeBytes(long long value)386     inline DescribeQuerySuggestionsBlockListResult& WithFileSizeBytes(long long value) { SetFileSizeBytes(value); return *this;}
387 
388 
389     /**
390      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
391      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
392      * permissions to your file in S3 and needs to give STS (Security Token Service)
393      * assume role permissions to Amazon Kendra.</p>
394      */
GetRoleArn()395     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
396 
397     /**
398      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
399      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
400      * permissions to your file in S3 and needs to give STS (Security Token Service)
401      * assume role permissions to Amazon Kendra.</p>
402      */
SetRoleArn(const Aws::String & value)403     inline void SetRoleArn(const Aws::String& value) { m_roleArn = value; }
404 
405     /**
406      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
407      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
408      * permissions to your file in S3 and needs to give STS (Security Token Service)
409      * assume role permissions to Amazon Kendra.</p>
410      */
SetRoleArn(Aws::String && value)411     inline void SetRoleArn(Aws::String&& value) { m_roleArn = std::move(value); }
412 
413     /**
414      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
415      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
416      * permissions to your file in S3 and needs to give STS (Security Token Service)
417      * assume role permissions to Amazon Kendra.</p>
418      */
SetRoleArn(const char * value)419     inline void SetRoleArn(const char* value) { m_roleArn.assign(value); }
420 
421     /**
422      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
423      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
424      * permissions to your file in S3 and needs to give STS (Security Token Service)
425      * assume role permissions to Amazon Kendra.</p>
426      */
WithRoleArn(const Aws::String & value)427     inline DescribeQuerySuggestionsBlockListResult& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
428 
429     /**
430      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
431      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
432      * permissions to your file in S3 and needs to give STS (Security Token Service)
433      * assume role permissions to Amazon Kendra.</p>
434      */
WithRoleArn(Aws::String && value)435     inline DescribeQuerySuggestionsBlockListResult& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
436 
437     /**
438      * <p>Shows the current IAM (Identity and Access Management) role used by Amazon
439      * Kendra to access the block list text file in S3.</p> <p>The role needs S3 read
440      * permissions to your file in S3 and needs to give STS (Security Token Service)
441      * assume role permissions to Amazon Kendra.</p>
442      */
WithRoleArn(const char * value)443     inline DescribeQuerySuggestionsBlockListResult& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
444 
445   private:
446 
447     Aws::String m_indexId;
448 
449     Aws::String m_id;
450 
451     Aws::String m_name;
452 
453     Aws::String m_description;
454 
455     QuerySuggestionsBlockListStatus m_status;
456 
457     Aws::String m_errorMessage;
458 
459     Aws::Utils::DateTime m_createdAt;
460 
461     Aws::Utils::DateTime m_updatedAt;
462 
463     S3Path m_sourceS3Path;
464 
465     int m_itemCount;
466 
467     long long m_fileSizeBytes;
468 
469     Aws::String m_roleArn;
470   };
471 
472 } // namespace Model
473 } // namespace kendra
474 } // namespace Aws
475