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/lexv2-models/LexModelsV2Request.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/lexv2-models/model/DialogCodeHookSettings.h>
12 #include <aws/lexv2-models/model/FulfillmentCodeHookSettings.h>
13 #include <aws/lexv2-models/model/IntentConfirmationSetting.h>
14 #include <aws/lexv2-models/model/IntentClosingSetting.h>
15 #include <aws/lexv2-models/model/KendraConfiguration.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 namespace LexModelsV2
25 {
26 namespace Model
27 {
28 
29   /**
30    */
31   class AWS_LEXMODELSV2_API UpdateIntentRequest : public LexModelsV2Request
32   {
33   public:
34     UpdateIntentRequest();
35 
36     // Service request name is the Operation name which will send this request out,
37     // each operation should has unique request name, so that we can get operation's name from this request.
38     // Note: this is not true for response, multiple operations may have the same response name,
39     // so we can not get operation's name from response.
GetServiceRequestName()40     inline virtual const char* GetServiceRequestName() const override { return "UpdateIntent"; }
41 
42     Aws::String SerializePayload() const override;
43 
44 
45     /**
46      * <p>The unique identifier of the intent to update.</p>
47      */
GetIntentId()48     inline const Aws::String& GetIntentId() const{ return m_intentId; }
49 
50     /**
51      * <p>The unique identifier of the intent to update.</p>
52      */
IntentIdHasBeenSet()53     inline bool IntentIdHasBeenSet() const { return m_intentIdHasBeenSet; }
54 
55     /**
56      * <p>The unique identifier of the intent to update.</p>
57      */
SetIntentId(const Aws::String & value)58     inline void SetIntentId(const Aws::String& value) { m_intentIdHasBeenSet = true; m_intentId = value; }
59 
60     /**
61      * <p>The unique identifier of the intent to update.</p>
62      */
SetIntentId(Aws::String && value)63     inline void SetIntentId(Aws::String&& value) { m_intentIdHasBeenSet = true; m_intentId = std::move(value); }
64 
65     /**
66      * <p>The unique identifier of the intent to update.</p>
67      */
SetIntentId(const char * value)68     inline void SetIntentId(const char* value) { m_intentIdHasBeenSet = true; m_intentId.assign(value); }
69 
70     /**
71      * <p>The unique identifier of the intent to update.</p>
72      */
WithIntentId(const Aws::String & value)73     inline UpdateIntentRequest& WithIntentId(const Aws::String& value) { SetIntentId(value); return *this;}
74 
75     /**
76      * <p>The unique identifier of the intent to update.</p>
77      */
WithIntentId(Aws::String && value)78     inline UpdateIntentRequest& WithIntentId(Aws::String&& value) { SetIntentId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The unique identifier of the intent to update.</p>
82      */
WithIntentId(const char * value)83     inline UpdateIntentRequest& WithIntentId(const char* value) { SetIntentId(value); return *this;}
84 
85 
86     /**
87      * <p>The new name for the intent.</p>
88      */
GetIntentName()89     inline const Aws::String& GetIntentName() const{ return m_intentName; }
90 
91     /**
92      * <p>The new name for the intent.</p>
93      */
IntentNameHasBeenSet()94     inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; }
95 
96     /**
97      * <p>The new name for the intent.</p>
98      */
SetIntentName(const Aws::String & value)99     inline void SetIntentName(const Aws::String& value) { m_intentNameHasBeenSet = true; m_intentName = value; }
100 
101     /**
102      * <p>The new name for the intent.</p>
103      */
SetIntentName(Aws::String && value)104     inline void SetIntentName(Aws::String&& value) { m_intentNameHasBeenSet = true; m_intentName = std::move(value); }
105 
106     /**
107      * <p>The new name for the intent.</p>
108      */
SetIntentName(const char * value)109     inline void SetIntentName(const char* value) { m_intentNameHasBeenSet = true; m_intentName.assign(value); }
110 
111     /**
112      * <p>The new name for the intent.</p>
113      */
WithIntentName(const Aws::String & value)114     inline UpdateIntentRequest& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;}
115 
116     /**
117      * <p>The new name for the intent.</p>
118      */
WithIntentName(Aws::String && value)119     inline UpdateIntentRequest& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;}
120 
121     /**
122      * <p>The new name for the intent.</p>
123      */
WithIntentName(const char * value)124     inline UpdateIntentRequest& WithIntentName(const char* value) { SetIntentName(value); return *this;}
125 
126 
127     /**
128      * <p>The new description of the intent.</p>
129      */
GetDescription()130     inline const Aws::String& GetDescription() const{ return m_description; }
131 
132     /**
133      * <p>The new description of the intent.</p>
134      */
DescriptionHasBeenSet()135     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
136 
137     /**
138      * <p>The new description of the intent.</p>
139      */
SetDescription(const Aws::String & value)140     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
141 
142     /**
143      * <p>The new description of the intent.</p>
144      */
SetDescription(Aws::String && value)145     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
146 
147     /**
148      * <p>The new description of the intent.</p>
149      */
SetDescription(const char * value)150     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
151 
152     /**
153      * <p>The new description of the intent.</p>
154      */
WithDescription(const Aws::String & value)155     inline UpdateIntentRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
156 
157     /**
158      * <p>The new description of the intent.</p>
159      */
WithDescription(Aws::String && value)160     inline UpdateIntentRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
161 
162     /**
163      * <p>The new description of the intent.</p>
164      */
WithDescription(const char * value)165     inline UpdateIntentRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
166 
167 
168     /**
169      * <p>The signature of the new built-in intent to use as the parent of this
170      * intent.</p>
171      */
GetParentIntentSignature()172     inline const Aws::String& GetParentIntentSignature() const{ return m_parentIntentSignature; }
173 
174     /**
175      * <p>The signature of the new built-in intent to use as the parent of this
176      * intent.</p>
177      */
ParentIntentSignatureHasBeenSet()178     inline bool ParentIntentSignatureHasBeenSet() const { return m_parentIntentSignatureHasBeenSet; }
179 
180     /**
181      * <p>The signature of the new built-in intent to use as the parent of this
182      * intent.</p>
183      */
SetParentIntentSignature(const Aws::String & value)184     inline void SetParentIntentSignature(const Aws::String& value) { m_parentIntentSignatureHasBeenSet = true; m_parentIntentSignature = value; }
185 
186     /**
187      * <p>The signature of the new built-in intent to use as the parent of this
188      * intent.</p>
189      */
SetParentIntentSignature(Aws::String && value)190     inline void SetParentIntentSignature(Aws::String&& value) { m_parentIntentSignatureHasBeenSet = true; m_parentIntentSignature = std::move(value); }
191 
192     /**
193      * <p>The signature of the new built-in intent to use as the parent of this
194      * intent.</p>
195      */
SetParentIntentSignature(const char * value)196     inline void SetParentIntentSignature(const char* value) { m_parentIntentSignatureHasBeenSet = true; m_parentIntentSignature.assign(value); }
197 
198     /**
199      * <p>The signature of the new built-in intent to use as the parent of this
200      * intent.</p>
201      */
WithParentIntentSignature(const Aws::String & value)202     inline UpdateIntentRequest& WithParentIntentSignature(const Aws::String& value) { SetParentIntentSignature(value); return *this;}
203 
204     /**
205      * <p>The signature of the new built-in intent to use as the parent of this
206      * intent.</p>
207      */
WithParentIntentSignature(Aws::String && value)208     inline UpdateIntentRequest& WithParentIntentSignature(Aws::String&& value) { SetParentIntentSignature(std::move(value)); return *this;}
209 
210     /**
211      * <p>The signature of the new built-in intent to use as the parent of this
212      * intent.</p>
213      */
WithParentIntentSignature(const char * value)214     inline UpdateIntentRequest& WithParentIntentSignature(const char* value) { SetParentIntentSignature(value); return *this;}
215 
216 
217     /**
218      * <p>New utterances used to invoke the intent.</p>
219      */
GetSampleUtterances()220     inline const Aws::Vector<SampleUtterance>& GetSampleUtterances() const{ return m_sampleUtterances; }
221 
222     /**
223      * <p>New utterances used to invoke the intent.</p>
224      */
SampleUtterancesHasBeenSet()225     inline bool SampleUtterancesHasBeenSet() const { return m_sampleUtterancesHasBeenSet; }
226 
227     /**
228      * <p>New utterances used to invoke the intent.</p>
229      */
SetSampleUtterances(const Aws::Vector<SampleUtterance> & value)230     inline void SetSampleUtterances(const Aws::Vector<SampleUtterance>& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances = value; }
231 
232     /**
233      * <p>New utterances used to invoke the intent.</p>
234      */
SetSampleUtterances(Aws::Vector<SampleUtterance> && value)235     inline void SetSampleUtterances(Aws::Vector<SampleUtterance>&& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances = std::move(value); }
236 
237     /**
238      * <p>New utterances used to invoke the intent.</p>
239      */
WithSampleUtterances(const Aws::Vector<SampleUtterance> & value)240     inline UpdateIntentRequest& WithSampleUtterances(const Aws::Vector<SampleUtterance>& value) { SetSampleUtterances(value); return *this;}
241 
242     /**
243      * <p>New utterances used to invoke the intent.</p>
244      */
WithSampleUtterances(Aws::Vector<SampleUtterance> && value)245     inline UpdateIntentRequest& WithSampleUtterances(Aws::Vector<SampleUtterance>&& value) { SetSampleUtterances(std::move(value)); return *this;}
246 
247     /**
248      * <p>New utterances used to invoke the intent.</p>
249      */
AddSampleUtterances(const SampleUtterance & value)250     inline UpdateIntentRequest& AddSampleUtterances(const SampleUtterance& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(value); return *this; }
251 
252     /**
253      * <p>New utterances used to invoke the intent.</p>
254      */
AddSampleUtterances(SampleUtterance && value)255     inline UpdateIntentRequest& AddSampleUtterances(SampleUtterance&& value) { m_sampleUtterancesHasBeenSet = true; m_sampleUtterances.push_back(std::move(value)); return *this; }
256 
257 
258     /**
259      * <p>The new Lambda function to use between each turn of the conversation with the
260      * bot.</p>
261      */
GetDialogCodeHook()262     inline const DialogCodeHookSettings& GetDialogCodeHook() const{ return m_dialogCodeHook; }
263 
264     /**
265      * <p>The new Lambda function to use between each turn of the conversation with the
266      * bot.</p>
267      */
DialogCodeHookHasBeenSet()268     inline bool DialogCodeHookHasBeenSet() const { return m_dialogCodeHookHasBeenSet; }
269 
270     /**
271      * <p>The new Lambda function to use between each turn of the conversation with the
272      * bot.</p>
273      */
SetDialogCodeHook(const DialogCodeHookSettings & value)274     inline void SetDialogCodeHook(const DialogCodeHookSettings& value) { m_dialogCodeHookHasBeenSet = true; m_dialogCodeHook = value; }
275 
276     /**
277      * <p>The new Lambda function to use between each turn of the conversation with the
278      * bot.</p>
279      */
SetDialogCodeHook(DialogCodeHookSettings && value)280     inline void SetDialogCodeHook(DialogCodeHookSettings&& value) { m_dialogCodeHookHasBeenSet = true; m_dialogCodeHook = std::move(value); }
281 
282     /**
283      * <p>The new Lambda function to use between each turn of the conversation with the
284      * bot.</p>
285      */
WithDialogCodeHook(const DialogCodeHookSettings & value)286     inline UpdateIntentRequest& WithDialogCodeHook(const DialogCodeHookSettings& value) { SetDialogCodeHook(value); return *this;}
287 
288     /**
289      * <p>The new Lambda function to use between each turn of the conversation with the
290      * bot.</p>
291      */
WithDialogCodeHook(DialogCodeHookSettings && value)292     inline UpdateIntentRequest& WithDialogCodeHook(DialogCodeHookSettings&& value) { SetDialogCodeHook(std::move(value)); return *this;}
293 
294 
295     /**
296      * <p>The new Lambda function to call when all of the intents required slots are
297      * provided and the intent is ready for fulfillment.</p>
298      */
GetFulfillmentCodeHook()299     inline const FulfillmentCodeHookSettings& GetFulfillmentCodeHook() const{ return m_fulfillmentCodeHook; }
300 
301     /**
302      * <p>The new Lambda function to call when all of the intents required slots are
303      * provided and the intent is ready for fulfillment.</p>
304      */
FulfillmentCodeHookHasBeenSet()305     inline bool FulfillmentCodeHookHasBeenSet() const { return m_fulfillmentCodeHookHasBeenSet; }
306 
307     /**
308      * <p>The new Lambda function to call when all of the intents required slots are
309      * provided and the intent is ready for fulfillment.</p>
310      */
SetFulfillmentCodeHook(const FulfillmentCodeHookSettings & value)311     inline void SetFulfillmentCodeHook(const FulfillmentCodeHookSettings& value) { m_fulfillmentCodeHookHasBeenSet = true; m_fulfillmentCodeHook = value; }
312 
313     /**
314      * <p>The new Lambda function to call when all of the intents required slots are
315      * provided and the intent is ready for fulfillment.</p>
316      */
SetFulfillmentCodeHook(FulfillmentCodeHookSettings && value)317     inline void SetFulfillmentCodeHook(FulfillmentCodeHookSettings&& value) { m_fulfillmentCodeHookHasBeenSet = true; m_fulfillmentCodeHook = std::move(value); }
318 
319     /**
320      * <p>The new Lambda function to call when all of the intents required slots are
321      * provided and the intent is ready for fulfillment.</p>
322      */
WithFulfillmentCodeHook(const FulfillmentCodeHookSettings & value)323     inline UpdateIntentRequest& WithFulfillmentCodeHook(const FulfillmentCodeHookSettings& value) { SetFulfillmentCodeHook(value); return *this;}
324 
325     /**
326      * <p>The new Lambda function to call when all of the intents required slots are
327      * provided and the intent is ready for fulfillment.</p>
328      */
WithFulfillmentCodeHook(FulfillmentCodeHookSettings && value)329     inline UpdateIntentRequest& WithFulfillmentCodeHook(FulfillmentCodeHookSettings&& value) { SetFulfillmentCodeHook(std::move(value)); return *this;}
330 
331 
332     /**
333      * <p>A new list of slots and their priorities that are contained by the
334      * intent.</p>
335      */
GetSlotPriorities()336     inline const Aws::Vector<SlotPriority>& GetSlotPriorities() const{ return m_slotPriorities; }
337 
338     /**
339      * <p>A new list of slots and their priorities that are contained by the
340      * intent.</p>
341      */
SlotPrioritiesHasBeenSet()342     inline bool SlotPrioritiesHasBeenSet() const { return m_slotPrioritiesHasBeenSet; }
343 
344     /**
345      * <p>A new list of slots and their priorities that are contained by the
346      * intent.</p>
347      */
SetSlotPriorities(const Aws::Vector<SlotPriority> & value)348     inline void SetSlotPriorities(const Aws::Vector<SlotPriority>& value) { m_slotPrioritiesHasBeenSet = true; m_slotPriorities = value; }
349 
350     /**
351      * <p>A new list of slots and their priorities that are contained by the
352      * intent.</p>
353      */
SetSlotPriorities(Aws::Vector<SlotPriority> && value)354     inline void SetSlotPriorities(Aws::Vector<SlotPriority>&& value) { m_slotPrioritiesHasBeenSet = true; m_slotPriorities = std::move(value); }
355 
356     /**
357      * <p>A new list of slots and their priorities that are contained by the
358      * intent.</p>
359      */
WithSlotPriorities(const Aws::Vector<SlotPriority> & value)360     inline UpdateIntentRequest& WithSlotPriorities(const Aws::Vector<SlotPriority>& value) { SetSlotPriorities(value); return *this;}
361 
362     /**
363      * <p>A new list of slots and their priorities that are contained by the
364      * intent.</p>
365      */
WithSlotPriorities(Aws::Vector<SlotPriority> && value)366     inline UpdateIntentRequest& WithSlotPriorities(Aws::Vector<SlotPriority>&& value) { SetSlotPriorities(std::move(value)); return *this;}
367 
368     /**
369      * <p>A new list of slots and their priorities that are contained by the
370      * intent.</p>
371      */
AddSlotPriorities(const SlotPriority & value)372     inline UpdateIntentRequest& AddSlotPriorities(const SlotPriority& value) { m_slotPrioritiesHasBeenSet = true; m_slotPriorities.push_back(value); return *this; }
373 
374     /**
375      * <p>A new list of slots and their priorities that are contained by the
376      * intent.</p>
377      */
AddSlotPriorities(SlotPriority && value)378     inline UpdateIntentRequest& AddSlotPriorities(SlotPriority&& value) { m_slotPrioritiesHasBeenSet = true; m_slotPriorities.push_back(std::move(value)); return *this; }
379 
380 
381     /**
382      * <p>New prompts that Amazon Lex sends to the user to confirm the completion of an
383      * intent.</p>
384      */
GetIntentConfirmationSetting()385     inline const IntentConfirmationSetting& GetIntentConfirmationSetting() const{ return m_intentConfirmationSetting; }
386 
387     /**
388      * <p>New prompts that Amazon Lex sends to the user to confirm the completion of an
389      * intent.</p>
390      */
IntentConfirmationSettingHasBeenSet()391     inline bool IntentConfirmationSettingHasBeenSet() const { return m_intentConfirmationSettingHasBeenSet; }
392 
393     /**
394      * <p>New prompts that Amazon Lex sends to the user to confirm the completion of an
395      * intent.</p>
396      */
SetIntentConfirmationSetting(const IntentConfirmationSetting & value)397     inline void SetIntentConfirmationSetting(const IntentConfirmationSetting& value) { m_intentConfirmationSettingHasBeenSet = true; m_intentConfirmationSetting = value; }
398 
399     /**
400      * <p>New prompts that Amazon Lex sends to the user to confirm the completion of an
401      * intent.</p>
402      */
SetIntentConfirmationSetting(IntentConfirmationSetting && value)403     inline void SetIntentConfirmationSetting(IntentConfirmationSetting&& value) { m_intentConfirmationSettingHasBeenSet = true; m_intentConfirmationSetting = std::move(value); }
404 
405     /**
406      * <p>New prompts that Amazon Lex sends to the user to confirm the completion of an
407      * intent.</p>
408      */
WithIntentConfirmationSetting(const IntentConfirmationSetting & value)409     inline UpdateIntentRequest& WithIntentConfirmationSetting(const IntentConfirmationSetting& value) { SetIntentConfirmationSetting(value); return *this;}
410 
411     /**
412      * <p>New prompts that Amazon Lex sends to the user to confirm the completion of an
413      * intent.</p>
414      */
WithIntentConfirmationSetting(IntentConfirmationSetting && value)415     inline UpdateIntentRequest& WithIntentConfirmationSetting(IntentConfirmationSetting&& value) { SetIntentConfirmationSetting(std::move(value)); return *this;}
416 
417 
418     /**
419      * <p>The new response that Amazon Lex sends the user when the intent is
420      * closed.</p>
421      */
GetIntentClosingSetting()422     inline const IntentClosingSetting& GetIntentClosingSetting() const{ return m_intentClosingSetting; }
423 
424     /**
425      * <p>The new response that Amazon Lex sends the user when the intent is
426      * closed.</p>
427      */
IntentClosingSettingHasBeenSet()428     inline bool IntentClosingSettingHasBeenSet() const { return m_intentClosingSettingHasBeenSet; }
429 
430     /**
431      * <p>The new response that Amazon Lex sends the user when the intent is
432      * closed.</p>
433      */
SetIntentClosingSetting(const IntentClosingSetting & value)434     inline void SetIntentClosingSetting(const IntentClosingSetting& value) { m_intentClosingSettingHasBeenSet = true; m_intentClosingSetting = value; }
435 
436     /**
437      * <p>The new response that Amazon Lex sends the user when the intent is
438      * closed.</p>
439      */
SetIntentClosingSetting(IntentClosingSetting && value)440     inline void SetIntentClosingSetting(IntentClosingSetting&& value) { m_intentClosingSettingHasBeenSet = true; m_intentClosingSetting = std::move(value); }
441 
442     /**
443      * <p>The new response that Amazon Lex sends the user when the intent is
444      * closed.</p>
445      */
WithIntentClosingSetting(const IntentClosingSetting & value)446     inline UpdateIntentRequest& WithIntentClosingSetting(const IntentClosingSetting& value) { SetIntentClosingSetting(value); return *this;}
447 
448     /**
449      * <p>The new response that Amazon Lex sends the user when the intent is
450      * closed.</p>
451      */
WithIntentClosingSetting(IntentClosingSetting && value)452     inline UpdateIntentRequest& WithIntentClosingSetting(IntentClosingSetting&& value) { SetIntentClosingSetting(std::move(value)); return *this;}
453 
454 
455     /**
456      * <p>A new list of contexts that must be active in order for Amazon Lex to
457      * consider the intent.</p>
458      */
GetInputContexts()459     inline const Aws::Vector<InputContext>& GetInputContexts() const{ return m_inputContexts; }
460 
461     /**
462      * <p>A new list of contexts that must be active in order for Amazon Lex to
463      * consider the intent.</p>
464      */
InputContextsHasBeenSet()465     inline bool InputContextsHasBeenSet() const { return m_inputContextsHasBeenSet; }
466 
467     /**
468      * <p>A new list of contexts that must be active in order for Amazon Lex to
469      * consider the intent.</p>
470      */
SetInputContexts(const Aws::Vector<InputContext> & value)471     inline void SetInputContexts(const Aws::Vector<InputContext>& value) { m_inputContextsHasBeenSet = true; m_inputContexts = value; }
472 
473     /**
474      * <p>A new list of contexts that must be active in order for Amazon Lex to
475      * consider the intent.</p>
476      */
SetInputContexts(Aws::Vector<InputContext> && value)477     inline void SetInputContexts(Aws::Vector<InputContext>&& value) { m_inputContextsHasBeenSet = true; m_inputContexts = std::move(value); }
478 
479     /**
480      * <p>A new list of contexts that must be active in order for Amazon Lex to
481      * consider the intent.</p>
482      */
WithInputContexts(const Aws::Vector<InputContext> & value)483     inline UpdateIntentRequest& WithInputContexts(const Aws::Vector<InputContext>& value) { SetInputContexts(value); return *this;}
484 
485     /**
486      * <p>A new list of contexts that must be active in order for Amazon Lex to
487      * consider the intent.</p>
488      */
WithInputContexts(Aws::Vector<InputContext> && value)489     inline UpdateIntentRequest& WithInputContexts(Aws::Vector<InputContext>&& value) { SetInputContexts(std::move(value)); return *this;}
490 
491     /**
492      * <p>A new list of contexts that must be active in order for Amazon Lex to
493      * consider the intent.</p>
494      */
AddInputContexts(const InputContext & value)495     inline UpdateIntentRequest& AddInputContexts(const InputContext& value) { m_inputContextsHasBeenSet = true; m_inputContexts.push_back(value); return *this; }
496 
497     /**
498      * <p>A new list of contexts that must be active in order for Amazon Lex to
499      * consider the intent.</p>
500      */
AddInputContexts(InputContext && value)501     inline UpdateIntentRequest& AddInputContexts(InputContext&& value) { m_inputContextsHasBeenSet = true; m_inputContexts.push_back(std::move(value)); return *this; }
502 
503 
504     /**
505      * <p>A new list of contexts that Amazon Lex activates when the intent is
506      * fulfilled.</p>
507      */
GetOutputContexts()508     inline const Aws::Vector<OutputContext>& GetOutputContexts() const{ return m_outputContexts; }
509 
510     /**
511      * <p>A new list of contexts that Amazon Lex activates when the intent is
512      * fulfilled.</p>
513      */
OutputContextsHasBeenSet()514     inline bool OutputContextsHasBeenSet() const { return m_outputContextsHasBeenSet; }
515 
516     /**
517      * <p>A new list of contexts that Amazon Lex activates when the intent is
518      * fulfilled.</p>
519      */
SetOutputContexts(const Aws::Vector<OutputContext> & value)520     inline void SetOutputContexts(const Aws::Vector<OutputContext>& value) { m_outputContextsHasBeenSet = true; m_outputContexts = value; }
521 
522     /**
523      * <p>A new list of contexts that Amazon Lex activates when the intent is
524      * fulfilled.</p>
525      */
SetOutputContexts(Aws::Vector<OutputContext> && value)526     inline void SetOutputContexts(Aws::Vector<OutputContext>&& value) { m_outputContextsHasBeenSet = true; m_outputContexts = std::move(value); }
527 
528     /**
529      * <p>A new list of contexts that Amazon Lex activates when the intent is
530      * fulfilled.</p>
531      */
WithOutputContexts(const Aws::Vector<OutputContext> & value)532     inline UpdateIntentRequest& WithOutputContexts(const Aws::Vector<OutputContext>& value) { SetOutputContexts(value); return *this;}
533 
534     /**
535      * <p>A new list of contexts that Amazon Lex activates when the intent is
536      * fulfilled.</p>
537      */
WithOutputContexts(Aws::Vector<OutputContext> && value)538     inline UpdateIntentRequest& WithOutputContexts(Aws::Vector<OutputContext>&& value) { SetOutputContexts(std::move(value)); return *this;}
539 
540     /**
541      * <p>A new list of contexts that Amazon Lex activates when the intent is
542      * fulfilled.</p>
543      */
AddOutputContexts(const OutputContext & value)544     inline UpdateIntentRequest& AddOutputContexts(const OutputContext& value) { m_outputContextsHasBeenSet = true; m_outputContexts.push_back(value); return *this; }
545 
546     /**
547      * <p>A new list of contexts that Amazon Lex activates when the intent is
548      * fulfilled.</p>
549      */
AddOutputContexts(OutputContext && value)550     inline UpdateIntentRequest& AddOutputContexts(OutputContext&& value) { m_outputContextsHasBeenSet = true; m_outputContexts.push_back(std::move(value)); return *this; }
551 
552 
553     /**
554      * <p>New configuration settings for connecting to an Amazon Kendra index.</p>
555      */
GetKendraConfiguration()556     inline const KendraConfiguration& GetKendraConfiguration() const{ return m_kendraConfiguration; }
557 
558     /**
559      * <p>New configuration settings for connecting to an Amazon Kendra index.</p>
560      */
KendraConfigurationHasBeenSet()561     inline bool KendraConfigurationHasBeenSet() const { return m_kendraConfigurationHasBeenSet; }
562 
563     /**
564      * <p>New configuration settings for connecting to an Amazon Kendra index.</p>
565      */
SetKendraConfiguration(const KendraConfiguration & value)566     inline void SetKendraConfiguration(const KendraConfiguration& value) { m_kendraConfigurationHasBeenSet = true; m_kendraConfiguration = value; }
567 
568     /**
569      * <p>New configuration settings for connecting to an Amazon Kendra index.</p>
570      */
SetKendraConfiguration(KendraConfiguration && value)571     inline void SetKendraConfiguration(KendraConfiguration&& value) { m_kendraConfigurationHasBeenSet = true; m_kendraConfiguration = std::move(value); }
572 
573     /**
574      * <p>New configuration settings for connecting to an Amazon Kendra index.</p>
575      */
WithKendraConfiguration(const KendraConfiguration & value)576     inline UpdateIntentRequest& WithKendraConfiguration(const KendraConfiguration& value) { SetKendraConfiguration(value); return *this;}
577 
578     /**
579      * <p>New configuration settings for connecting to an Amazon Kendra index.</p>
580      */
WithKendraConfiguration(KendraConfiguration && value)581     inline UpdateIntentRequest& WithKendraConfiguration(KendraConfiguration&& value) { SetKendraConfiguration(std::move(value)); return *this;}
582 
583 
584     /**
585      * <p>The identifier of the bot that contains the intent.</p>
586      */
GetBotId()587     inline const Aws::String& GetBotId() const{ return m_botId; }
588 
589     /**
590      * <p>The identifier of the bot that contains the intent.</p>
591      */
BotIdHasBeenSet()592     inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; }
593 
594     /**
595      * <p>The identifier of the bot that contains the intent.</p>
596      */
SetBotId(const Aws::String & value)597     inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; }
598 
599     /**
600      * <p>The identifier of the bot that contains the intent.</p>
601      */
SetBotId(Aws::String && value)602     inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); }
603 
604     /**
605      * <p>The identifier of the bot that contains the intent.</p>
606      */
SetBotId(const char * value)607     inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); }
608 
609     /**
610      * <p>The identifier of the bot that contains the intent.</p>
611      */
WithBotId(const Aws::String & value)612     inline UpdateIntentRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;}
613 
614     /**
615      * <p>The identifier of the bot that contains the intent.</p>
616      */
WithBotId(Aws::String && value)617     inline UpdateIntentRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;}
618 
619     /**
620      * <p>The identifier of the bot that contains the intent.</p>
621      */
WithBotId(const char * value)622     inline UpdateIntentRequest& WithBotId(const char* value) { SetBotId(value); return *this;}
623 
624 
625     /**
626      * <p>The version of the bot that contains the intent. Must be
627      * <code>DRAFT</code>.</p>
628      */
GetBotVersion()629     inline const Aws::String& GetBotVersion() const{ return m_botVersion; }
630 
631     /**
632      * <p>The version of the bot that contains the intent. Must be
633      * <code>DRAFT</code>.</p>
634      */
BotVersionHasBeenSet()635     inline bool BotVersionHasBeenSet() const { return m_botVersionHasBeenSet; }
636 
637     /**
638      * <p>The version of the bot that contains the intent. Must be
639      * <code>DRAFT</code>.</p>
640      */
SetBotVersion(const Aws::String & value)641     inline void SetBotVersion(const Aws::String& value) { m_botVersionHasBeenSet = true; m_botVersion = value; }
642 
643     /**
644      * <p>The version of the bot that contains the intent. Must be
645      * <code>DRAFT</code>.</p>
646      */
SetBotVersion(Aws::String && value)647     inline void SetBotVersion(Aws::String&& value) { m_botVersionHasBeenSet = true; m_botVersion = std::move(value); }
648 
649     /**
650      * <p>The version of the bot that contains the intent. Must be
651      * <code>DRAFT</code>.</p>
652      */
SetBotVersion(const char * value)653     inline void SetBotVersion(const char* value) { m_botVersionHasBeenSet = true; m_botVersion.assign(value); }
654 
655     /**
656      * <p>The version of the bot that contains the intent. Must be
657      * <code>DRAFT</code>.</p>
658      */
WithBotVersion(const Aws::String & value)659     inline UpdateIntentRequest& WithBotVersion(const Aws::String& value) { SetBotVersion(value); return *this;}
660 
661     /**
662      * <p>The version of the bot that contains the intent. Must be
663      * <code>DRAFT</code>.</p>
664      */
WithBotVersion(Aws::String && value)665     inline UpdateIntentRequest& WithBotVersion(Aws::String&& value) { SetBotVersion(std::move(value)); return *this;}
666 
667     /**
668      * <p>The version of the bot that contains the intent. Must be
669      * <code>DRAFT</code>.</p>
670      */
WithBotVersion(const char * value)671     inline UpdateIntentRequest& WithBotVersion(const char* value) { SetBotVersion(value); return *this;}
672 
673 
674     /**
675      * <p>The identifier of the language and locale where this intent is used. The
676      * string must match one of the supported locales. For more information, see <a
677      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
678      * languages</a>.</p>
679      */
GetLocaleId()680     inline const Aws::String& GetLocaleId() const{ return m_localeId; }
681 
682     /**
683      * <p>The identifier of the language and locale where this intent is used. The
684      * string must match one of the supported locales. For more information, see <a
685      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
686      * languages</a>.</p>
687      */
LocaleIdHasBeenSet()688     inline bool LocaleIdHasBeenSet() const { return m_localeIdHasBeenSet; }
689 
690     /**
691      * <p>The identifier of the language and locale where this intent is used. The
692      * string must match one of the supported locales. For more information, see <a
693      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
694      * languages</a>.</p>
695      */
SetLocaleId(const Aws::String & value)696     inline void SetLocaleId(const Aws::String& value) { m_localeIdHasBeenSet = true; m_localeId = value; }
697 
698     /**
699      * <p>The identifier of the language and locale where this intent is used. The
700      * string must match one of the supported locales. For more information, see <a
701      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
702      * languages</a>.</p>
703      */
SetLocaleId(Aws::String && value)704     inline void SetLocaleId(Aws::String&& value) { m_localeIdHasBeenSet = true; m_localeId = std::move(value); }
705 
706     /**
707      * <p>The identifier of the language and locale where this intent is used. The
708      * string must match one of the supported locales. For more information, see <a
709      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
710      * languages</a>.</p>
711      */
SetLocaleId(const char * value)712     inline void SetLocaleId(const char* value) { m_localeIdHasBeenSet = true; m_localeId.assign(value); }
713 
714     /**
715      * <p>The identifier of the language and locale where this intent is used. The
716      * string must match one of the supported locales. For more information, see <a
717      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
718      * languages</a>.</p>
719      */
WithLocaleId(const Aws::String & value)720     inline UpdateIntentRequest& WithLocaleId(const Aws::String& value) { SetLocaleId(value); return *this;}
721 
722     /**
723      * <p>The identifier of the language and locale where this intent is used. The
724      * string must match one of the supported locales. For more information, see <a
725      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
726      * languages</a>.</p>
727      */
WithLocaleId(Aws::String && value)728     inline UpdateIntentRequest& WithLocaleId(Aws::String&& value) { SetLocaleId(std::move(value)); return *this;}
729 
730     /**
731      * <p>The identifier of the language and locale where this intent is used. The
732      * string must match one of the supported locales. For more information, see <a
733      * href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported
734      * languages</a>.</p>
735      */
WithLocaleId(const char * value)736     inline UpdateIntentRequest& WithLocaleId(const char* value) { SetLocaleId(value); return *this;}
737 
738   private:
739 
740     Aws::String m_intentId;
741     bool m_intentIdHasBeenSet;
742 
743     Aws::String m_intentName;
744     bool m_intentNameHasBeenSet;
745 
746     Aws::String m_description;
747     bool m_descriptionHasBeenSet;
748 
749     Aws::String m_parentIntentSignature;
750     bool m_parentIntentSignatureHasBeenSet;
751 
752     Aws::Vector<SampleUtterance> m_sampleUtterances;
753     bool m_sampleUtterancesHasBeenSet;
754 
755     DialogCodeHookSettings m_dialogCodeHook;
756     bool m_dialogCodeHookHasBeenSet;
757 
758     FulfillmentCodeHookSettings m_fulfillmentCodeHook;
759     bool m_fulfillmentCodeHookHasBeenSet;
760 
761     Aws::Vector<SlotPriority> m_slotPriorities;
762     bool m_slotPrioritiesHasBeenSet;
763 
764     IntentConfirmationSetting m_intentConfirmationSetting;
765     bool m_intentConfirmationSettingHasBeenSet;
766 
767     IntentClosingSetting m_intentClosingSetting;
768     bool m_intentClosingSettingHasBeenSet;
769 
770     Aws::Vector<InputContext> m_inputContexts;
771     bool m_inputContextsHasBeenSet;
772 
773     Aws::Vector<OutputContext> m_outputContexts;
774     bool m_outputContextsHasBeenSet;
775 
776     KendraConfiguration m_kendraConfiguration;
777     bool m_kendraConfigurationHasBeenSet;
778 
779     Aws::String m_botId;
780     bool m_botIdHasBeenSet;
781 
782     Aws::String m_botVersion;
783     bool m_botVersionHasBeenSet;
784 
785     Aws::String m_localeId;
786     bool m_localeIdHasBeenSet;
787   };
788 
789 } // namespace Model
790 } // namespace LexModelsV2
791 } // namespace Aws
792