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/connect/Connect_EXPORTS.h>
8 #include <aws/connect/ConnectRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSMap.h>
11 #include <aws/connect/model/Reference.h>
12 #include <utility>
13 #include <aws/core/utils/UUID.h>
14 
15 namespace Aws
16 {
17 namespace Connect
18 {
19 namespace Model
20 {
21 
22   /**
23    */
24   class AWS_CONNECT_API StartTaskContactRequest : public ConnectRequest
25   {
26   public:
27     StartTaskContactRequest();
28 
29     // Service request name is the Operation name which will send this request out,
30     // each operation should has unique request name, so that we can get operation's name from this request.
31     // Note: this is not true for response, multiple operations may have the same response name,
32     // so we can not get operation's name from response.
GetServiceRequestName()33     inline virtual const char* GetServiceRequestName() const override { return "StartTaskContact"; }
34 
35     Aws::String SerializePayload() const override;
36 
37 
38     /**
39      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
40      * the ARN of the instance.</p>
41      */
GetInstanceId()42     inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
43 
44     /**
45      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
46      * the ARN of the instance.</p>
47      */
InstanceIdHasBeenSet()48     inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
49 
50     /**
51      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
52      * the ARN of the instance.</p>
53      */
SetInstanceId(const Aws::String & value)54     inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
55 
56     /**
57      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
58      * the ARN of the instance.</p>
59      */
SetInstanceId(Aws::String && value)60     inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); }
61 
62     /**
63      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
64      * the ARN of the instance.</p>
65      */
SetInstanceId(const char * value)66     inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
67 
68     /**
69      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
70      * the ARN of the instance.</p>
71      */
WithInstanceId(const Aws::String & value)72     inline StartTaskContactRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
73 
74     /**
75      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
76      * the ARN of the instance.</p>
77      */
WithInstanceId(Aws::String && value)78     inline StartTaskContactRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The identifier of the Amazon Connect instance. You can find the instanceId in
82      * the ARN of the instance.</p>
83      */
WithInstanceId(const char * value)84     inline StartTaskContactRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
85 
86 
87     /**
88      * <p>The identifier of the previous chat, voice, or task contact. </p>
89      */
GetPreviousContactId()90     inline const Aws::String& GetPreviousContactId() const{ return m_previousContactId; }
91 
92     /**
93      * <p>The identifier of the previous chat, voice, or task contact. </p>
94      */
PreviousContactIdHasBeenSet()95     inline bool PreviousContactIdHasBeenSet() const { return m_previousContactIdHasBeenSet; }
96 
97     /**
98      * <p>The identifier of the previous chat, voice, or task contact. </p>
99      */
SetPreviousContactId(const Aws::String & value)100     inline void SetPreviousContactId(const Aws::String& value) { m_previousContactIdHasBeenSet = true; m_previousContactId = value; }
101 
102     /**
103      * <p>The identifier of the previous chat, voice, or task contact. </p>
104      */
SetPreviousContactId(Aws::String && value)105     inline void SetPreviousContactId(Aws::String&& value) { m_previousContactIdHasBeenSet = true; m_previousContactId = std::move(value); }
106 
107     /**
108      * <p>The identifier of the previous chat, voice, or task contact. </p>
109      */
SetPreviousContactId(const char * value)110     inline void SetPreviousContactId(const char* value) { m_previousContactIdHasBeenSet = true; m_previousContactId.assign(value); }
111 
112     /**
113      * <p>The identifier of the previous chat, voice, or task contact. </p>
114      */
WithPreviousContactId(const Aws::String & value)115     inline StartTaskContactRequest& WithPreviousContactId(const Aws::String& value) { SetPreviousContactId(value); return *this;}
116 
117     /**
118      * <p>The identifier of the previous chat, voice, or task contact. </p>
119      */
WithPreviousContactId(Aws::String && value)120     inline StartTaskContactRequest& WithPreviousContactId(Aws::String&& value) { SetPreviousContactId(std::move(value)); return *this;}
121 
122     /**
123      * <p>The identifier of the previous chat, voice, or task contact. </p>
124      */
WithPreviousContactId(const char * value)125     inline StartTaskContactRequest& WithPreviousContactId(const char* value) { SetPreviousContactId(value); return *this;}
126 
127 
128     /**
129      * <p>The identifier of the contact flow for initiating the tasks. To see the
130      * ContactFlowId in the Amazon Connect console user interface, on the navigation
131      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
132      * contact flow page, under the name of the contact flow, choose <b>Show additional
133      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
134      * in bold: </p>
135      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
136      * </p>
137      */
GetContactFlowId()138     inline const Aws::String& GetContactFlowId() const{ return m_contactFlowId; }
139 
140     /**
141      * <p>The identifier of the contact flow for initiating the tasks. To see the
142      * ContactFlowId in the Amazon Connect console user interface, on the navigation
143      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
144      * contact flow page, under the name of the contact flow, choose <b>Show additional
145      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
146      * in bold: </p>
147      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
148      * </p>
149      */
ContactFlowIdHasBeenSet()150     inline bool ContactFlowIdHasBeenSet() const { return m_contactFlowIdHasBeenSet; }
151 
152     /**
153      * <p>The identifier of the contact flow for initiating the tasks. To see the
154      * ContactFlowId in the Amazon Connect console user interface, on the navigation
155      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
156      * contact flow page, under the name of the contact flow, choose <b>Show additional
157      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
158      * in bold: </p>
159      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
160      * </p>
161      */
SetContactFlowId(const Aws::String & value)162     inline void SetContactFlowId(const Aws::String& value) { m_contactFlowIdHasBeenSet = true; m_contactFlowId = value; }
163 
164     /**
165      * <p>The identifier of the contact flow for initiating the tasks. To see the
166      * ContactFlowId in the Amazon Connect console user interface, on the navigation
167      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
168      * contact flow page, under the name of the contact flow, choose <b>Show additional
169      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
170      * in bold: </p>
171      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
172      * </p>
173      */
SetContactFlowId(Aws::String && value)174     inline void SetContactFlowId(Aws::String&& value) { m_contactFlowIdHasBeenSet = true; m_contactFlowId = std::move(value); }
175 
176     /**
177      * <p>The identifier of the contact flow for initiating the tasks. To see the
178      * ContactFlowId in the Amazon Connect console user interface, on the navigation
179      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
180      * contact flow page, under the name of the contact flow, choose <b>Show additional
181      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
182      * in bold: </p>
183      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
184      * </p>
185      */
SetContactFlowId(const char * value)186     inline void SetContactFlowId(const char* value) { m_contactFlowIdHasBeenSet = true; m_contactFlowId.assign(value); }
187 
188     /**
189      * <p>The identifier of the contact flow for initiating the tasks. To see the
190      * ContactFlowId in the Amazon Connect console user interface, on the navigation
191      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
192      * contact flow page, under the name of the contact flow, choose <b>Show additional
193      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
194      * in bold: </p>
195      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
196      * </p>
197      */
WithContactFlowId(const Aws::String & value)198     inline StartTaskContactRequest& WithContactFlowId(const Aws::String& value) { SetContactFlowId(value); return *this;}
199 
200     /**
201      * <p>The identifier of the contact flow for initiating the tasks. To see the
202      * ContactFlowId in the Amazon Connect console user interface, on the navigation
203      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
204      * contact flow page, under the name of the contact flow, choose <b>Show additional
205      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
206      * in bold: </p>
207      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
208      * </p>
209      */
WithContactFlowId(Aws::String && value)210     inline StartTaskContactRequest& WithContactFlowId(Aws::String&& value) { SetContactFlowId(std::move(value)); return *this;}
211 
212     /**
213      * <p>The identifier of the contact flow for initiating the tasks. To see the
214      * ContactFlowId in the Amazon Connect console user interface, on the navigation
215      * menu go to <b>Routing</b>, <b>Contact Flows</b>. Choose the contact flow. On the
216      * contact flow page, under the name of the contact flow, choose <b>Show additional
217      * flow information</b>. The ContactFlowId is the last part of the ARN, shown here
218      * in bold: </p>
219      * <p>arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/<b>846ec553-a005-41c0-8341-xxxxxxxxxxxx</b>
220      * </p>
221      */
WithContactFlowId(const char * value)222     inline StartTaskContactRequest& WithContactFlowId(const char* value) { SetContactFlowId(value); return *this;}
223 
224 
225     /**
226      * <p>A custom key-value pair using an attribute map. The attributes are standard
227      * Amazon Connect attributes, and can be accessed in contact flows just like any
228      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
229      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
230      * dash, and underscore characters.</p>
231      */
GetAttributes()232     inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const{ return m_attributes; }
233 
234     /**
235      * <p>A custom key-value pair using an attribute map. The attributes are standard
236      * Amazon Connect attributes, and can be accessed in contact flows just like any
237      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
238      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
239      * dash, and underscore characters.</p>
240      */
AttributesHasBeenSet()241     inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
242 
243     /**
244      * <p>A custom key-value pair using an attribute map. The attributes are standard
245      * Amazon Connect attributes, and can be accessed in contact flows just like any
246      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
247      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
248      * dash, and underscore characters.</p>
249      */
SetAttributes(const Aws::Map<Aws::String,Aws::String> & value)250     inline void SetAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_attributesHasBeenSet = true; m_attributes = value; }
251 
252     /**
253      * <p>A custom key-value pair using an attribute map. The attributes are standard
254      * Amazon Connect attributes, and can be accessed in contact flows just like any
255      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
256      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
257      * dash, and underscore characters.</p>
258      */
SetAttributes(Aws::Map<Aws::String,Aws::String> && value)259     inline void SetAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); }
260 
261     /**
262      * <p>A custom key-value pair using an attribute map. The attributes are standard
263      * Amazon Connect attributes, and can be accessed in contact flows just like any
264      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
265      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
266      * dash, and underscore characters.</p>
267      */
WithAttributes(const Aws::Map<Aws::String,Aws::String> & value)268     inline StartTaskContactRequest& WithAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetAttributes(value); return *this;}
269 
270     /**
271      * <p>A custom key-value pair using an attribute map. The attributes are standard
272      * Amazon Connect attributes, and can be accessed in contact flows just like any
273      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
274      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
275      * dash, and underscore characters.</p>
276      */
WithAttributes(Aws::Map<Aws::String,Aws::String> && value)277     inline StartTaskContactRequest& WithAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetAttributes(std::move(value)); return *this;}
278 
279     /**
280      * <p>A custom key-value pair using an attribute map. The attributes are standard
281      * Amazon Connect attributes, and can be accessed in contact flows just like any
282      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
283      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
284      * dash, and underscore characters.</p>
285      */
AddAttributes(const Aws::String & key,const Aws::String & value)286     inline StartTaskContactRequest& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; }
287 
288     /**
289      * <p>A custom key-value pair using an attribute map. The attributes are standard
290      * Amazon Connect attributes, and can be accessed in contact flows just like any
291      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
292      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
293      * dash, and underscore characters.</p>
294      */
AddAttributes(Aws::String && key,const Aws::String & value)295     inline StartTaskContactRequest& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; }
296 
297     /**
298      * <p>A custom key-value pair using an attribute map. The attributes are standard
299      * Amazon Connect attributes, and can be accessed in contact flows just like any
300      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
301      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
302      * dash, and underscore characters.</p>
303      */
AddAttributes(const Aws::String & key,Aws::String && value)304     inline StartTaskContactRequest& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; }
305 
306     /**
307      * <p>A custom key-value pair using an attribute map. The attributes are standard
308      * Amazon Connect attributes, and can be accessed in contact flows just like any
309      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
310      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
311      * dash, and underscore characters.</p>
312      */
AddAttributes(Aws::String && key,Aws::String && value)313     inline StartTaskContactRequest& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; }
314 
315     /**
316      * <p>A custom key-value pair using an attribute map. The attributes are standard
317      * Amazon Connect attributes, and can be accessed in contact flows just like any
318      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
319      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
320      * dash, and underscore characters.</p>
321      */
AddAttributes(const char * key,Aws::String && value)322     inline StartTaskContactRequest& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; }
323 
324     /**
325      * <p>A custom key-value pair using an attribute map. The attributes are standard
326      * Amazon Connect attributes, and can be accessed in contact flows just like any
327      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
328      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
329      * dash, and underscore characters.</p>
330      */
AddAttributes(Aws::String && key,const char * value)331     inline StartTaskContactRequest& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; }
332 
333     /**
334      * <p>A custom key-value pair using an attribute map. The attributes are standard
335      * Amazon Connect attributes, and can be accessed in contact flows just like any
336      * other contact attributes.</p> <p>There can be up to 32,768 UTF-8 bytes across
337      * all key-value pairs per contact. Attribute keys can include only alphanumeric,
338      * dash, and underscore characters.</p>
339      */
AddAttributes(const char * key,const char * value)340     inline StartTaskContactRequest& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; }
341 
342 
343     /**
344      * <p>The name of a task that is shown to an agent in the Contact Control Panel
345      * (CCP).</p>
346      */
GetName()347     inline const Aws::String& GetName() const{ return m_name; }
348 
349     /**
350      * <p>The name of a task that is shown to an agent in the Contact Control Panel
351      * (CCP).</p>
352      */
NameHasBeenSet()353     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
354 
355     /**
356      * <p>The name of a task that is shown to an agent in the Contact Control Panel
357      * (CCP).</p>
358      */
SetName(const Aws::String & value)359     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
360 
361     /**
362      * <p>The name of a task that is shown to an agent in the Contact Control Panel
363      * (CCP).</p>
364      */
SetName(Aws::String && value)365     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
366 
367     /**
368      * <p>The name of a task that is shown to an agent in the Contact Control Panel
369      * (CCP).</p>
370      */
SetName(const char * value)371     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
372 
373     /**
374      * <p>The name of a task that is shown to an agent in the Contact Control Panel
375      * (CCP).</p>
376      */
WithName(const Aws::String & value)377     inline StartTaskContactRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
378 
379     /**
380      * <p>The name of a task that is shown to an agent in the Contact Control Panel
381      * (CCP).</p>
382      */
WithName(Aws::String && value)383     inline StartTaskContactRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
384 
385     /**
386      * <p>The name of a task that is shown to an agent in the Contact Control Panel
387      * (CCP).</p>
388      */
WithName(const char * value)389     inline StartTaskContactRequest& WithName(const char* value) { SetName(value); return *this;}
390 
391 
392     /**
393      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
394      * (CCP).</p>
395      */
GetReferences()396     inline const Aws::Map<Aws::String, Reference>& GetReferences() const{ return m_references; }
397 
398     /**
399      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
400      * (CCP).</p>
401      */
ReferencesHasBeenSet()402     inline bool ReferencesHasBeenSet() const { return m_referencesHasBeenSet; }
403 
404     /**
405      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
406      * (CCP).</p>
407      */
SetReferences(const Aws::Map<Aws::String,Reference> & value)408     inline void SetReferences(const Aws::Map<Aws::String, Reference>& value) { m_referencesHasBeenSet = true; m_references = value; }
409 
410     /**
411      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
412      * (CCP).</p>
413      */
SetReferences(Aws::Map<Aws::String,Reference> && value)414     inline void SetReferences(Aws::Map<Aws::String, Reference>&& value) { m_referencesHasBeenSet = true; m_references = std::move(value); }
415 
416     /**
417      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
418      * (CCP).</p>
419      */
WithReferences(const Aws::Map<Aws::String,Reference> & value)420     inline StartTaskContactRequest& WithReferences(const Aws::Map<Aws::String, Reference>& value) { SetReferences(value); return *this;}
421 
422     /**
423      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
424      * (CCP).</p>
425      */
WithReferences(Aws::Map<Aws::String,Reference> && value)426     inline StartTaskContactRequest& WithReferences(Aws::Map<Aws::String, Reference>&& value) { SetReferences(std::move(value)); return *this;}
427 
428     /**
429      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
430      * (CCP).</p>
431      */
AddReferences(const Aws::String & key,const Reference & value)432     inline StartTaskContactRequest& AddReferences(const Aws::String& key, const Reference& value) { m_referencesHasBeenSet = true; m_references.emplace(key, value); return *this; }
433 
434     /**
435      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
436      * (CCP).</p>
437      */
AddReferences(Aws::String && key,const Reference & value)438     inline StartTaskContactRequest& AddReferences(Aws::String&& key, const Reference& value) { m_referencesHasBeenSet = true; m_references.emplace(std::move(key), value); return *this; }
439 
440     /**
441      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
442      * (CCP).</p>
443      */
AddReferences(const Aws::String & key,Reference && value)444     inline StartTaskContactRequest& AddReferences(const Aws::String& key, Reference&& value) { m_referencesHasBeenSet = true; m_references.emplace(key, std::move(value)); return *this; }
445 
446     /**
447      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
448      * (CCP).</p>
449      */
AddReferences(Aws::String && key,Reference && value)450     inline StartTaskContactRequest& AddReferences(Aws::String&& key, Reference&& value) { m_referencesHasBeenSet = true; m_references.emplace(std::move(key), std::move(value)); return *this; }
451 
452     /**
453      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
454      * (CCP).</p>
455      */
AddReferences(const char * key,Reference && value)456     inline StartTaskContactRequest& AddReferences(const char* key, Reference&& value) { m_referencesHasBeenSet = true; m_references.emplace(key, std::move(value)); return *this; }
457 
458     /**
459      * <p>A formatted URL that is shown to an agent in the Contact Control Panel
460      * (CCP).</p>
461      */
AddReferences(const char * key,const Reference & value)462     inline StartTaskContactRequest& AddReferences(const char* key, const Reference& value) { m_referencesHasBeenSet = true; m_references.emplace(key, value); return *this; }
463 
464 
465     /**
466      * <p>A description of the task that is shown to an agent in the Contact Control
467      * Panel (CCP).</p>
468      */
GetDescription()469     inline const Aws::String& GetDescription() const{ return m_description; }
470 
471     /**
472      * <p>A description of the task that is shown to an agent in the Contact Control
473      * Panel (CCP).</p>
474      */
DescriptionHasBeenSet()475     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
476 
477     /**
478      * <p>A description of the task that is shown to an agent in the Contact Control
479      * Panel (CCP).</p>
480      */
SetDescription(const Aws::String & value)481     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
482 
483     /**
484      * <p>A description of the task that is shown to an agent in the Contact Control
485      * Panel (CCP).</p>
486      */
SetDescription(Aws::String && value)487     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
488 
489     /**
490      * <p>A description of the task that is shown to an agent in the Contact Control
491      * Panel (CCP).</p>
492      */
SetDescription(const char * value)493     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
494 
495     /**
496      * <p>A description of the task that is shown to an agent in the Contact Control
497      * Panel (CCP).</p>
498      */
WithDescription(const Aws::String & value)499     inline StartTaskContactRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
500 
501     /**
502      * <p>A description of the task that is shown to an agent in the Contact Control
503      * Panel (CCP).</p>
504      */
WithDescription(Aws::String && value)505     inline StartTaskContactRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
506 
507     /**
508      * <p>A description of the task that is shown to an agent in the Contact Control
509      * Panel (CCP).</p>
510      */
WithDescription(const char * value)511     inline StartTaskContactRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
512 
513 
514     /**
515      * <p>A unique, case-sensitive identifier that you provide to ensure the
516      * idempotency of the request.</p>
517      */
GetClientToken()518     inline const Aws::String& GetClientToken() const{ return m_clientToken; }
519 
520     /**
521      * <p>A unique, case-sensitive identifier that you provide to ensure the
522      * idempotency of the request.</p>
523      */
ClientTokenHasBeenSet()524     inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
525 
526     /**
527      * <p>A unique, case-sensitive identifier that you provide to ensure the
528      * idempotency of the request.</p>
529      */
SetClientToken(const Aws::String & value)530     inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
531 
532     /**
533      * <p>A unique, case-sensitive identifier that you provide to ensure the
534      * idempotency of the request.</p>
535      */
SetClientToken(Aws::String && value)536     inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
537 
538     /**
539      * <p>A unique, case-sensitive identifier that you provide to ensure the
540      * idempotency of the request.</p>
541      */
SetClientToken(const char * value)542     inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
543 
544     /**
545      * <p>A unique, case-sensitive identifier that you provide to ensure the
546      * idempotency of the request.</p>
547      */
WithClientToken(const Aws::String & value)548     inline StartTaskContactRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
549 
550     /**
551      * <p>A unique, case-sensitive identifier that you provide to ensure the
552      * idempotency of the request.</p>
553      */
WithClientToken(Aws::String && value)554     inline StartTaskContactRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
555 
556     /**
557      * <p>A unique, case-sensitive identifier that you provide to ensure the
558      * idempotency of the request.</p>
559      */
WithClientToken(const char * value)560     inline StartTaskContactRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
561 
562   private:
563 
564     Aws::String m_instanceId;
565     bool m_instanceIdHasBeenSet;
566 
567     Aws::String m_previousContactId;
568     bool m_previousContactIdHasBeenSet;
569 
570     Aws::String m_contactFlowId;
571     bool m_contactFlowIdHasBeenSet;
572 
573     Aws::Map<Aws::String, Aws::String> m_attributes;
574     bool m_attributesHasBeenSet;
575 
576     Aws::String m_name;
577     bool m_nameHasBeenSet;
578 
579     Aws::Map<Aws::String, Reference> m_references;
580     bool m_referencesHasBeenSet;
581 
582     Aws::String m_description;
583     bool m_descriptionHasBeenSet;
584 
585     Aws::String m_clientToken;
586     bool m_clientTokenHasBeenSet;
587   };
588 
589 } // namespace Model
590 } // namespace Connect
591 } // namespace Aws
592