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/lexv2-models/LexModelsV2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/lexv2-models/model/DialogCodeHookSettings.h>
11 #include <aws/lexv2-models/model/FulfillmentCodeHookSettings.h>
12 #include <aws/lexv2-models/model/IntentConfirmationSetting.h>
13 #include <aws/lexv2-models/model/IntentClosingSetting.h>
14 #include <aws/lexv2-models/model/KendraConfiguration.h>
15 #include <aws/core/utils/DateTime.h>
16 #include <aws/lexv2-models/model/SampleUtterance.h>
17 #include <aws/lexv2-models/model/SlotPriority.h>
18 #include <aws/lexv2-models/model/InputContext.h>
19 #include <aws/lexv2-models/model/OutputContext.h>
20 #include <utility>
21 
22 namespace Aws
23 {
24 template<typename RESULT_TYPE>
25 class AmazonWebServiceResult;
26 
27 namespace Utils
28 {
29 namespace Json
30 {
31   class JsonValue;
32 } // namespace Json
33 } // namespace Utils
34 namespace LexModelsV2
35 {
36 namespace Model
37 {
38   class AWS_LEXMODELSV2_API DescribeIntentResult
39   {
40   public:
41     DescribeIntentResult();
42     DescribeIntentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
43     DescribeIntentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
44 
45 
46     /**
47      * <p>The unique identifier assigned to the intent when it was created.</p>
48      */
GetIntentId()49     inline const Aws::String& GetIntentId() const{ return m_intentId; }
50 
51     /**
52      * <p>The unique identifier assigned to the intent when it was created.</p>
53      */
SetIntentId(const Aws::String & value)54     inline void SetIntentId(const Aws::String& value) { m_intentId = value; }
55 
56     /**
57      * <p>The unique identifier assigned to the intent when it was created.</p>
58      */
SetIntentId(Aws::String && value)59     inline void SetIntentId(Aws::String&& value) { m_intentId = std::move(value); }
60 
61     /**
62      * <p>The unique identifier assigned to the intent when it was created.</p>
63      */
SetIntentId(const char * value)64     inline void SetIntentId(const char* value) { m_intentId.assign(value); }
65 
66     /**
67      * <p>The unique identifier assigned to the intent when it was created.</p>
68      */
WithIntentId(const Aws::String & value)69     inline DescribeIntentResult& WithIntentId(const Aws::String& value) { SetIntentId(value); return *this;}
70 
71     /**
72      * <p>The unique identifier assigned to the intent when it was created.</p>
73      */
WithIntentId(Aws::String && value)74     inline DescribeIntentResult& WithIntentId(Aws::String&& value) { SetIntentId(std::move(value)); return *this;}
75 
76     /**
77      * <p>The unique identifier assigned to the intent when it was created.</p>
78      */
WithIntentId(const char * value)79     inline DescribeIntentResult& WithIntentId(const char* value) { SetIntentId(value); return *this;}
80 
81 
82     /**
83      * <p>The name specified for the intent.</p>
84      */
GetIntentName()85     inline const Aws::String& GetIntentName() const{ return m_intentName; }
86 
87     /**
88      * <p>The name specified for the intent.</p>
89      */
SetIntentName(const Aws::String & value)90     inline void SetIntentName(const Aws::String& value) { m_intentName = value; }
91 
92     /**
93      * <p>The name specified for the intent.</p>
94      */
SetIntentName(Aws::String && value)95     inline void SetIntentName(Aws::String&& value) { m_intentName = std::move(value); }
96 
97     /**
98      * <p>The name specified for the intent.</p>
99      */
SetIntentName(const char * value)100     inline void SetIntentName(const char* value) { m_intentName.assign(value); }
101 
102     /**
103      * <p>The name specified for the intent.</p>
104      */
WithIntentName(const Aws::String & value)105     inline DescribeIntentResult& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;}
106 
107     /**
108      * <p>The name specified for the intent.</p>
109      */
WithIntentName(Aws::String && value)110     inline DescribeIntentResult& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;}
111 
112     /**
113      * <p>The name specified for the intent.</p>
114      */
WithIntentName(const char * value)115     inline DescribeIntentResult& WithIntentName(const char* value) { SetIntentName(value); return *this;}
116 
117 
118     /**
119      * <p>The description of the intent.</p>
120      */
GetDescription()121     inline const Aws::String& GetDescription() const{ return m_description; }
122 
123     /**
124      * <p>The description of the intent.</p>
125      */
SetDescription(const Aws::String & value)126     inline void SetDescription(const Aws::String& value) { m_description = value; }
127 
128     /**
129      * <p>The description of the intent.</p>
130      */
SetDescription(Aws::String && value)131     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
132 
133     /**
134      * <p>The description of the intent.</p>
135      */
SetDescription(const char * value)136     inline void SetDescription(const char* value) { m_description.assign(value); }
137 
138     /**
139      * <p>The description of the intent.</p>
140      */
WithDescription(const Aws::String & value)141     inline DescribeIntentResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
142 
143     /**
144      * <p>The description of the intent.</p>
145      */
WithDescription(Aws::String && value)146     inline DescribeIntentResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
147 
148     /**
149      * <p>The description of the intent.</p>
150      */
WithDescription(const char * value)151     inline DescribeIntentResult& WithDescription(const char* value) { SetDescription(value); return *this;}
152 
153 
154     /**
155      * <p>The identifier of the built-in intent that this intent is derived from, if
156      * any.</p>
157      */
GetParentIntentSignature()158     inline const Aws::String& GetParentIntentSignature() const{ return m_parentIntentSignature; }
159 
160     /**
161      * <p>The identifier of the built-in intent that this intent is derived from, if
162      * any.</p>
163      */
SetParentIntentSignature(const Aws::String & value)164     inline void SetParentIntentSignature(const Aws::String& value) { m_parentIntentSignature = value; }
165 
166     /**
167      * <p>The identifier of the built-in intent that this intent is derived from, if
168      * any.</p>
169      */
SetParentIntentSignature(Aws::String && value)170     inline void SetParentIntentSignature(Aws::String&& value) { m_parentIntentSignature = std::move(value); }
171 
172     /**
173      * <p>The identifier of the built-in intent that this intent is derived from, if
174      * any.</p>
175      */
SetParentIntentSignature(const char * value)176     inline void SetParentIntentSignature(const char* value) { m_parentIntentSignature.assign(value); }
177 
178     /**
179      * <p>The identifier of the built-in intent that this intent is derived from, if
180      * any.</p>
181      */
WithParentIntentSignature(const Aws::String & value)182     inline DescribeIntentResult& WithParentIntentSignature(const Aws::String& value) { SetParentIntentSignature(value); return *this;}
183 
184     /**
185      * <p>The identifier of the built-in intent that this intent is derived from, if
186      * any.</p>
187      */
WithParentIntentSignature(Aws::String && value)188     inline DescribeIntentResult& WithParentIntentSignature(Aws::String&& value) { SetParentIntentSignature(std::move(value)); return *this;}
189 
190     /**
191      * <p>The identifier of the built-in intent that this intent is derived from, if
192      * any.</p>
193      */
WithParentIntentSignature(const char * value)194     inline DescribeIntentResult& WithParentIntentSignature(const char* value) { SetParentIntentSignature(value); return *this;}
195 
196 
197     /**
198      * <p>User utterances that trigger this intent.</p>
199      */
GetSampleUtterances()200     inline const Aws::Vector<SampleUtterance>& GetSampleUtterances() const{ return m_sampleUtterances; }
201 
202     /**
203      * <p>User utterances that trigger this intent.</p>
204      */
SetSampleUtterances(const Aws::Vector<SampleUtterance> & value)205     inline void SetSampleUtterances(const Aws::Vector<SampleUtterance>& value) { m_sampleUtterances = value; }
206 
207     /**
208      * <p>User utterances that trigger this intent.</p>
209      */
SetSampleUtterances(Aws::Vector<SampleUtterance> && value)210     inline void SetSampleUtterances(Aws::Vector<SampleUtterance>&& value) { m_sampleUtterances = std::move(value); }
211 
212     /**
213      * <p>User utterances that trigger this intent.</p>
214      */
WithSampleUtterances(const Aws::Vector<SampleUtterance> & value)215     inline DescribeIntentResult& WithSampleUtterances(const Aws::Vector<SampleUtterance>& value) { SetSampleUtterances(value); return *this;}
216 
217     /**
218      * <p>User utterances that trigger this intent.</p>
219      */
WithSampleUtterances(Aws::Vector<SampleUtterance> && value)220     inline DescribeIntentResult& WithSampleUtterances(Aws::Vector<SampleUtterance>&& value) { SetSampleUtterances(std::move(value)); return *this;}
221 
222     /**
223      * <p>User utterances that trigger this intent.</p>
224      */
AddSampleUtterances(const SampleUtterance & value)225     inline DescribeIntentResult& AddSampleUtterances(const SampleUtterance& value) { m_sampleUtterances.push_back(value); return *this; }
226 
227     /**
228      * <p>User utterances that trigger this intent.</p>
229      */
AddSampleUtterances(SampleUtterance && value)230     inline DescribeIntentResult& AddSampleUtterances(SampleUtterance&& value) { m_sampleUtterances.push_back(std::move(value)); return *this; }
231 
232 
233     /**
234      * <p>The Lambda function called during each turn of a conversation with the
235      * intent.</p>
236      */
GetDialogCodeHook()237     inline const DialogCodeHookSettings& GetDialogCodeHook() const{ return m_dialogCodeHook; }
238 
239     /**
240      * <p>The Lambda function called during each turn of a conversation with the
241      * intent.</p>
242      */
SetDialogCodeHook(const DialogCodeHookSettings & value)243     inline void SetDialogCodeHook(const DialogCodeHookSettings& value) { m_dialogCodeHook = value; }
244 
245     /**
246      * <p>The Lambda function called during each turn of a conversation with the
247      * intent.</p>
248      */
SetDialogCodeHook(DialogCodeHookSettings && value)249     inline void SetDialogCodeHook(DialogCodeHookSettings&& value) { m_dialogCodeHook = std::move(value); }
250 
251     /**
252      * <p>The Lambda function called during each turn of a conversation with the
253      * intent.</p>
254      */
WithDialogCodeHook(const DialogCodeHookSettings & value)255     inline DescribeIntentResult& WithDialogCodeHook(const DialogCodeHookSettings& value) { SetDialogCodeHook(value); return *this;}
256 
257     /**
258      * <p>The Lambda function called during each turn of a conversation with the
259      * intent.</p>
260      */
WithDialogCodeHook(DialogCodeHookSettings && value)261     inline DescribeIntentResult& WithDialogCodeHook(DialogCodeHookSettings&& value) { SetDialogCodeHook(std::move(value)); return *this;}
262 
263 
264     /**
265      * <p>The Lambda function called when the intent is complete and ready for
266      * fulfillment.</p>
267      */
GetFulfillmentCodeHook()268     inline const FulfillmentCodeHookSettings& GetFulfillmentCodeHook() const{ return m_fulfillmentCodeHook; }
269 
270     /**
271      * <p>The Lambda function called when the intent is complete and ready for
272      * fulfillment.</p>
273      */
SetFulfillmentCodeHook(const FulfillmentCodeHookSettings & value)274     inline void SetFulfillmentCodeHook(const FulfillmentCodeHookSettings& value) { m_fulfillmentCodeHook = value; }
275 
276     /**
277      * <p>The Lambda function called when the intent is complete and ready for
278      * fulfillment.</p>
279      */
SetFulfillmentCodeHook(FulfillmentCodeHookSettings && value)280     inline void SetFulfillmentCodeHook(FulfillmentCodeHookSettings&& value) { m_fulfillmentCodeHook = std::move(value); }
281 
282     /**
283      * <p>The Lambda function called when the intent is complete and ready for
284      * fulfillment.</p>
285      */
WithFulfillmentCodeHook(const FulfillmentCodeHookSettings & value)286     inline DescribeIntentResult& WithFulfillmentCodeHook(const FulfillmentCodeHookSettings& value) { SetFulfillmentCodeHook(value); return *this;}
287 
288     /**
289      * <p>The Lambda function called when the intent is complete and ready for
290      * fulfillment.</p>
291      */
WithFulfillmentCodeHook(FulfillmentCodeHookSettings && value)292     inline DescribeIntentResult& WithFulfillmentCodeHook(FulfillmentCodeHookSettings&& value) { SetFulfillmentCodeHook(std::move(value)); return *this;}
293 
294 
295     /**
296      * <p>The list that determines the priority that slots should be elicited from the
297      * user.</p>
298      */
GetSlotPriorities()299     inline const Aws::Vector<SlotPriority>& GetSlotPriorities() const{ return m_slotPriorities; }
300 
301     /**
302      * <p>The list that determines the priority that slots should be elicited from the
303      * user.</p>
304      */
SetSlotPriorities(const Aws::Vector<SlotPriority> & value)305     inline void SetSlotPriorities(const Aws::Vector<SlotPriority>& value) { m_slotPriorities = value; }
306 
307     /**
308      * <p>The list that determines the priority that slots should be elicited from the
309      * user.</p>
310      */
SetSlotPriorities(Aws::Vector<SlotPriority> && value)311     inline void SetSlotPriorities(Aws::Vector<SlotPriority>&& value) { m_slotPriorities = std::move(value); }
312 
313     /**
314      * <p>The list that determines the priority that slots should be elicited from the
315      * user.</p>
316      */
WithSlotPriorities(const Aws::Vector<SlotPriority> & value)317     inline DescribeIntentResult& WithSlotPriorities(const Aws::Vector<SlotPriority>& value) { SetSlotPriorities(value); return *this;}
318 
319     /**
320      * <p>The list that determines the priority that slots should be elicited from the
321      * user.</p>
322      */
WithSlotPriorities(Aws::Vector<SlotPriority> && value)323     inline DescribeIntentResult& WithSlotPriorities(Aws::Vector<SlotPriority>&& value) { SetSlotPriorities(std::move(value)); return *this;}
324 
325     /**
326      * <p>The list that determines the priority that slots should be elicited from the
327      * user.</p>
328      */
AddSlotPriorities(const SlotPriority & value)329     inline DescribeIntentResult& AddSlotPriorities(const SlotPriority& value) { m_slotPriorities.push_back(value); return *this; }
330 
331     /**
332      * <p>The list that determines the priority that slots should be elicited from the
333      * user.</p>
334      */
AddSlotPriorities(SlotPriority && value)335     inline DescribeIntentResult& AddSlotPriorities(SlotPriority&& value) { m_slotPriorities.push_back(std::move(value)); return *this; }
336 
337 
338     /**
339      * <p>Prompts that Amazon Lex sends to the user to confirm completion of an
340      * intent.</p>
341      */
GetIntentConfirmationSetting()342     inline const IntentConfirmationSetting& GetIntentConfirmationSetting() const{ return m_intentConfirmationSetting; }
343 
344     /**
345      * <p>Prompts that Amazon Lex sends to the user to confirm completion of an
346      * intent.</p>
347      */
SetIntentConfirmationSetting(const IntentConfirmationSetting & value)348     inline void SetIntentConfirmationSetting(const IntentConfirmationSetting& value) { m_intentConfirmationSetting = value; }
349 
350     /**
351      * <p>Prompts that Amazon Lex sends to the user to confirm completion of an
352      * intent.</p>
353      */
SetIntentConfirmationSetting(IntentConfirmationSetting && value)354     inline void SetIntentConfirmationSetting(IntentConfirmationSetting&& value) { m_intentConfirmationSetting = std::move(value); }
355 
356     /**
357      * <p>Prompts that Amazon Lex sends to the user to confirm completion of an
358      * intent.</p>
359      */
WithIntentConfirmationSetting(const IntentConfirmationSetting & value)360     inline DescribeIntentResult& WithIntentConfirmationSetting(const IntentConfirmationSetting& value) { SetIntentConfirmationSetting(value); return *this;}
361 
362     /**
363      * <p>Prompts that Amazon Lex sends to the user to confirm completion of an
364      * intent.</p>
365      */
WithIntentConfirmationSetting(IntentConfirmationSetting && value)366     inline DescribeIntentResult& WithIntentConfirmationSetting(IntentConfirmationSetting&& value) { SetIntentConfirmationSetting(std::move(value)); return *this;}
367 
368 
369     /**
370      * <p>The response that Amazon Lex sends to when the intent is closed.</p>
371      */
GetIntentClosingSetting()372     inline const IntentClosingSetting& GetIntentClosingSetting() const{ return m_intentClosingSetting; }
373 
374     /**
375      * <p>The response that Amazon Lex sends to when the intent is closed.</p>
376      */
SetIntentClosingSetting(const IntentClosingSetting & value)377     inline void SetIntentClosingSetting(const IntentClosingSetting& value) { m_intentClosingSetting = value; }
378 
379     /**
380      * <p>The response that Amazon Lex sends to when the intent is closed.</p>
381      */
SetIntentClosingSetting(IntentClosingSetting && value)382     inline void SetIntentClosingSetting(IntentClosingSetting&& value) { m_intentClosingSetting = std::move(value); }
383 
384     /**
385      * <p>The response that Amazon Lex sends to when the intent is closed.</p>
386      */
WithIntentClosingSetting(const IntentClosingSetting & value)387     inline DescribeIntentResult& WithIntentClosingSetting(const IntentClosingSetting& value) { SetIntentClosingSetting(value); return *this;}
388 
389     /**
390      * <p>The response that Amazon Lex sends to when the intent is closed.</p>
391      */
WithIntentClosingSetting(IntentClosingSetting && value)392     inline DescribeIntentResult& WithIntentClosingSetting(IntentClosingSetting&& value) { SetIntentClosingSetting(std::move(value)); return *this;}
393 
394 
395     /**
396      * <p>A list of contexts that must be active for the intent to be considered for
397      * sending to the user.</p>
398      */
GetInputContexts()399     inline const Aws::Vector<InputContext>& GetInputContexts() const{ return m_inputContexts; }
400 
401     /**
402      * <p>A list of contexts that must be active for the intent to be considered for
403      * sending to the user.</p>
404      */
SetInputContexts(const Aws::Vector<InputContext> & value)405     inline void SetInputContexts(const Aws::Vector<InputContext>& value) { m_inputContexts = value; }
406 
407     /**
408      * <p>A list of contexts that must be active for the intent to be considered for
409      * sending to the user.</p>
410      */
SetInputContexts(Aws::Vector<InputContext> && value)411     inline void SetInputContexts(Aws::Vector<InputContext>&& value) { m_inputContexts = std::move(value); }
412 
413     /**
414      * <p>A list of contexts that must be active for the intent to be considered for
415      * sending to the user.</p>
416      */
WithInputContexts(const Aws::Vector<InputContext> & value)417     inline DescribeIntentResult& WithInputContexts(const Aws::Vector<InputContext>& value) { SetInputContexts(value); return *this;}
418 
419     /**
420      * <p>A list of contexts that must be active for the intent to be considered for
421      * sending to the user.</p>
422      */
WithInputContexts(Aws::Vector<InputContext> && value)423     inline DescribeIntentResult& WithInputContexts(Aws::Vector<InputContext>&& value) { SetInputContexts(std::move(value)); return *this;}
424 
425     /**
426      * <p>A list of contexts that must be active for the intent to be considered for
427      * sending to the user.</p>
428      */
AddInputContexts(const InputContext & value)429     inline DescribeIntentResult& AddInputContexts(const InputContext& value) { m_inputContexts.push_back(value); return *this; }
430 
431     /**
432      * <p>A list of contexts that must be active for the intent to be considered for
433      * sending to the user.</p>
434      */
AddInputContexts(InputContext && value)435     inline DescribeIntentResult& AddInputContexts(InputContext&& value) { m_inputContexts.push_back(std::move(value)); return *this; }
436 
437 
438     /**
439      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
440      */
GetOutputContexts()441     inline const Aws::Vector<OutputContext>& GetOutputContexts() const{ return m_outputContexts; }
442 
443     /**
444      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
445      */
SetOutputContexts(const Aws::Vector<OutputContext> & value)446     inline void SetOutputContexts(const Aws::Vector<OutputContext>& value) { m_outputContexts = value; }
447 
448     /**
449      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
450      */
SetOutputContexts(Aws::Vector<OutputContext> && value)451     inline void SetOutputContexts(Aws::Vector<OutputContext>&& value) { m_outputContexts = std::move(value); }
452 
453     /**
454      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
455      */
WithOutputContexts(const Aws::Vector<OutputContext> & value)456     inline DescribeIntentResult& WithOutputContexts(const Aws::Vector<OutputContext>& value) { SetOutputContexts(value); return *this;}
457 
458     /**
459      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
460      */
WithOutputContexts(Aws::Vector<OutputContext> && value)461     inline DescribeIntentResult& WithOutputContexts(Aws::Vector<OutputContext>&& value) { SetOutputContexts(std::move(value)); return *this;}
462 
463     /**
464      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
465      */
AddOutputContexts(const OutputContext & value)466     inline DescribeIntentResult& AddOutputContexts(const OutputContext& value) { m_outputContexts.push_back(value); return *this; }
467 
468     /**
469      * <p>A list of contexts that are activated when the intent is fulfilled.</p>
470      */
AddOutputContexts(OutputContext && value)471     inline DescribeIntentResult& AddOutputContexts(OutputContext&& value) { m_outputContexts.push_back(std::move(value)); return *this; }
472 
473 
474     /**
475      * <p>Configuration information required to use the
476      * <code>AMAZON.KendraSearchIntent</code> intent.</p>
477      */
GetKendraConfiguration()478     inline const KendraConfiguration& GetKendraConfiguration() const{ return m_kendraConfiguration; }
479 
480     /**
481      * <p>Configuration information required to use the
482      * <code>AMAZON.KendraSearchIntent</code> intent.</p>
483      */
SetKendraConfiguration(const KendraConfiguration & value)484     inline void SetKendraConfiguration(const KendraConfiguration& value) { m_kendraConfiguration = value; }
485 
486     /**
487      * <p>Configuration information required to use the
488      * <code>AMAZON.KendraSearchIntent</code> intent.</p>
489      */
SetKendraConfiguration(KendraConfiguration && value)490     inline void SetKendraConfiguration(KendraConfiguration&& value) { m_kendraConfiguration = std::move(value); }
491 
492     /**
493      * <p>Configuration information required to use the
494      * <code>AMAZON.KendraSearchIntent</code> intent.</p>
495      */
WithKendraConfiguration(const KendraConfiguration & value)496     inline DescribeIntentResult& WithKendraConfiguration(const KendraConfiguration& value) { SetKendraConfiguration(value); return *this;}
497 
498     /**
499      * <p>Configuration information required to use the
500      * <code>AMAZON.KendraSearchIntent</code> intent.</p>
501      */
WithKendraConfiguration(KendraConfiguration && value)502     inline DescribeIntentResult& WithKendraConfiguration(KendraConfiguration&& value) { SetKendraConfiguration(std::move(value)); return *this;}
503 
504 
505     /**
506      * <p>The identifier of the bot associated with the intent.</p>
507      */
GetBotId()508     inline const Aws::String& GetBotId() const{ return m_botId; }
509 
510     /**
511      * <p>The identifier of the bot associated with the intent.</p>
512      */
SetBotId(const Aws::String & value)513     inline void SetBotId(const Aws::String& value) { m_botId = value; }
514 
515     /**
516      * <p>The identifier of the bot associated with the intent.</p>
517      */
SetBotId(Aws::String && value)518     inline void SetBotId(Aws::String&& value) { m_botId = std::move(value); }
519 
520     /**
521      * <p>The identifier of the bot associated with the intent.</p>
522      */
SetBotId(const char * value)523     inline void SetBotId(const char* value) { m_botId.assign(value); }
524 
525     /**
526      * <p>The identifier of the bot associated with the intent.</p>
527      */
WithBotId(const Aws::String & value)528     inline DescribeIntentResult& WithBotId(const Aws::String& value) { SetBotId(value); return *this;}
529 
530     /**
531      * <p>The identifier of the bot associated with the intent.</p>
532      */
WithBotId(Aws::String && value)533     inline DescribeIntentResult& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;}
534 
535     /**
536      * <p>The identifier of the bot associated with the intent.</p>
537      */
WithBotId(const char * value)538     inline DescribeIntentResult& WithBotId(const char* value) { SetBotId(value); return *this;}
539 
540 
541     /**
542      * <p>The version of the bot associated with the intent.</p>
543      */
GetBotVersion()544     inline const Aws::String& GetBotVersion() const{ return m_botVersion; }
545 
546     /**
547      * <p>The version of the bot associated with the intent.</p>
548      */
SetBotVersion(const Aws::String & value)549     inline void SetBotVersion(const Aws::String& value) { m_botVersion = value; }
550 
551     /**
552      * <p>The version of the bot associated with the intent.</p>
553      */
SetBotVersion(Aws::String && value)554     inline void SetBotVersion(Aws::String&& value) { m_botVersion = std::move(value); }
555 
556     /**
557      * <p>The version of the bot associated with the intent.</p>
558      */
SetBotVersion(const char * value)559     inline void SetBotVersion(const char* value) { m_botVersion.assign(value); }
560 
561     /**
562      * <p>The version of the bot associated with the intent.</p>
563      */
WithBotVersion(const Aws::String & value)564     inline DescribeIntentResult& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;}
565 
566     /**
567      * <p>The version of the bot associated with the intent.</p>
568      */
WithBotVersion(Aws::String && value)569     inline DescribeIntentResult& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;}
570 
571     /**
572      * <p>The version of the bot associated with the intent.</p>
573      */
WithBotVersion(const char * value)574     inline DescribeIntentResult& WithBotVersion(const char* value) { SetBotVersion(value); return *this;}
575 
576 
577     /**
578      * <p>The language and locale specified for the intent.</p>
579      */
GetLocaleId()580     inline const Aws::String& GetLocaleId() const{ return m_localeId; }
581 
582     /**
583      * <p>The language and locale specified for the intent.</p>
584      */
SetLocaleId(const Aws::String & value)585     inline void SetLocaleId(const Aws::String& value) { m_localeId = value; }
586 
587     /**
588      * <p>The language and locale specified for the intent.</p>
589      */
SetLocaleId(Aws::String && value)590     inline void SetLocaleId(Aws::String&& value) { m_localeId = std::move(value); }
591 
592     /**
593      * <p>The language and locale specified for the intent.</p>
594      */
SetLocaleId(const char * value)595     inline void SetLocaleId(const char* value) { m_localeId.assign(value); }
596 
597     /**
598      * <p>The language and locale specified for the intent.</p>
599      */
WithLocaleId(const Aws::String & value)600     inline DescribeIntentResult& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;}
601 
602     /**
603      * <p>The language and locale specified for the intent.</p>
604      */
WithLocaleId(Aws::String && value)605     inline DescribeIntentResult& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;}
606 
607     /**
608      * <p>The language and locale specified for the intent.</p>
609      */
WithLocaleId(const char * value)610     inline DescribeIntentResult& WithLocaleId(const char* value) { SetLocaleId(value); return *this;}
611 
612 
613     /**
614      * <p>A timestamp of the date and time that the intent was created.</p>
615      */
GetCreationDateTime()616     inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; }
617 
618     /**
619      * <p>A timestamp of the date and time that the intent was created.</p>
620      */
SetCreationDateTime(const Aws::Utils::DateTime & value)621     inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTime = value; }
622 
623     /**
624      * <p>A timestamp of the date and time that the intent was created.</p>
625      */
SetCreationDateTime(Aws::Utils::DateTime && value)626     inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTime = std::move(value); }
627 
628     /**
629      * <p>A timestamp of the date and time that the intent was created.</p>
630      */
WithCreationDateTime(const Aws::Utils::DateTime & value)631     inline DescribeIntentResult& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;}
632 
633     /**
634      * <p>A timestamp of the date and time that the intent was created.</p>
635      */
WithCreationDateTime(Aws::Utils::DateTime && value)636     inline DescribeIntentResult& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;}
637 
638 
639     /**
640      * <p>A timestamp of the date and time that the intent was last updated.</p>
641      */
GetLastUpdatedDateTime()642     inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; }
643 
644     /**
645      * <p>A timestamp of the date and time that the intent was last updated.</p>
646      */
SetLastUpdatedDateTime(const Aws::Utils::DateTime & value)647     inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTime = value; }
648 
649     /**
650      * <p>A timestamp of the date and time that the intent was last updated.</p>
651      */
SetLastUpdatedDateTime(Aws::Utils::DateTime && value)652     inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTime = std::move(value); }
653 
654     /**
655      * <p>A timestamp of the date and time that the intent was last updated.</p>
656      */
WithLastUpdatedDateTime(const Aws::Utils::DateTime & value)657     inline DescribeIntentResult& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;}
658 
659     /**
660      * <p>A timestamp of the date and time that the intent was last updated.</p>
661      */
WithLastUpdatedDateTime(Aws::Utils::DateTime && value)662     inline DescribeIntentResult& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;}
663 
664   private:
665 
666     Aws::String m_intentId;
667 
668     Aws::String m_intentName;
669 
670     Aws::String m_description;
671 
672     Aws::String m_parentIntentSignature;
673 
674     Aws::Vector<SampleUtterance> m_sampleUtterances;
675 
676     DialogCodeHookSettings m_dialogCodeHook;
677 
678     FulfillmentCodeHookSettings m_fulfillmentCodeHook;
679 
680     Aws::Vector<SlotPriority> m_slotPriorities;
681 
682     IntentConfirmationSetting m_intentConfirmationSetting;
683 
684     IntentClosingSetting m_intentClosingSetting;
685 
686     Aws::Vector<InputContext> m_inputContexts;
687 
688     Aws::Vector<OutputContext> m_outputContexts;
689 
690     KendraConfiguration m_kendraConfiguration;
691 
692     Aws::String m_botId;
693 
694     Aws::String m_botVersion;
695 
696     Aws::String m_localeId;
697 
698     Aws::Utils::DateTime m_creationDateTime;
699 
700     Aws::Utils::DateTime m_lastUpdatedDateTime;
701   };
702 
703 } // namespace Model
704 } // namespace LexModelsV2
705 } // namespace Aws
706