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/ConnectErrors.h>
9 #include <aws/core/client/AWSError.h>
10 #include <aws/core/client/ClientConfiguration.h>
11 #include <aws/core/client/AWSClient.h>
12 #include <aws/core/utils/memory/stl/AWSString.h>
13 #include <aws/core/utils/json/JsonSerializer.h>
14 #include <aws/connect/model/AssociateInstanceStorageConfigResult.h>
15 #include <aws/connect/model/AssociateSecurityKeyResult.h>
16 #include <aws/connect/model/CreateAgentStatusResult.h>
17 #include <aws/connect/model/CreateContactFlowResult.h>
18 #include <aws/connect/model/CreateHoursOfOperationResult.h>
19 #include <aws/connect/model/CreateInstanceResult.h>
20 #include <aws/connect/model/CreateIntegrationAssociationResult.h>
21 #include <aws/connect/model/CreateQueueResult.h>
22 #include <aws/connect/model/CreateQuickConnectResult.h>
23 #include <aws/connect/model/CreateRoutingProfileResult.h>
24 #include <aws/connect/model/CreateUseCaseResult.h>
25 #include <aws/connect/model/CreateUserResult.h>
26 #include <aws/connect/model/CreateUserHierarchyGroupResult.h>
27 #include <aws/connect/model/DescribeAgentStatusResult.h>
28 #include <aws/connect/model/DescribeContactFlowResult.h>
29 #include <aws/connect/model/DescribeHoursOfOperationResult.h>
30 #include <aws/connect/model/DescribeInstanceResult.h>
31 #include <aws/connect/model/DescribeInstanceAttributeResult.h>
32 #include <aws/connect/model/DescribeInstanceStorageConfigResult.h>
33 #include <aws/connect/model/DescribeQueueResult.h>
34 #include <aws/connect/model/DescribeQuickConnectResult.h>
35 #include <aws/connect/model/DescribeRoutingProfileResult.h>
36 #include <aws/connect/model/DescribeUserResult.h>
37 #include <aws/connect/model/DescribeUserHierarchyGroupResult.h>
38 #include <aws/connect/model/DescribeUserHierarchyStructureResult.h>
39 #include <aws/connect/model/GetContactAttributesResult.h>
40 #include <aws/connect/model/GetCurrentMetricDataResult.h>
41 #include <aws/connect/model/GetFederationTokenResult.h>
42 #include <aws/connect/model/GetMetricDataResult.h>
43 #include <aws/connect/model/ListAgentStatusesResult.h>
44 #include <aws/connect/model/ListApprovedOriginsResult.h>
45 #include <aws/connect/model/ListBotsResult.h>
46 #include <aws/connect/model/ListContactFlowsResult.h>
47 #include <aws/connect/model/ListHoursOfOperationsResult.h>
48 #include <aws/connect/model/ListInstanceAttributesResult.h>
49 #include <aws/connect/model/ListInstanceStorageConfigsResult.h>
50 #include <aws/connect/model/ListInstancesResult.h>
51 #include <aws/connect/model/ListIntegrationAssociationsResult.h>
52 #include <aws/connect/model/ListLambdaFunctionsResult.h>
53 #include <aws/connect/model/ListLexBotsResult.h>
54 #include <aws/connect/model/ListPhoneNumbersResult.h>
55 #include <aws/connect/model/ListPromptsResult.h>
56 #include <aws/connect/model/ListQueueQuickConnectsResult.h>
57 #include <aws/connect/model/ListQueuesResult.h>
58 #include <aws/connect/model/ListQuickConnectsResult.h>
59 #include <aws/connect/model/ListRoutingProfileQueuesResult.h>
60 #include <aws/connect/model/ListRoutingProfilesResult.h>
61 #include <aws/connect/model/ListSecurityKeysResult.h>
62 #include <aws/connect/model/ListSecurityProfilesResult.h>
63 #include <aws/connect/model/ListTagsForResourceResult.h>
64 #include <aws/connect/model/ListUseCasesResult.h>
65 #include <aws/connect/model/ListUserHierarchyGroupsResult.h>
66 #include <aws/connect/model/ListUsersResult.h>
67 #include <aws/connect/model/ResumeContactRecordingResult.h>
68 #include <aws/connect/model/StartChatContactResult.h>
69 #include <aws/connect/model/StartContactRecordingResult.h>
70 #include <aws/connect/model/StartOutboundVoiceContactResult.h>
71 #include <aws/connect/model/StartTaskContactResult.h>
72 #include <aws/connect/model/StopContactResult.h>
73 #include <aws/connect/model/StopContactRecordingResult.h>
74 #include <aws/connect/model/SuspendContactRecordingResult.h>
75 #include <aws/connect/model/UpdateContactAttributesResult.h>
76 #include <aws/core/NoResult.h>
77 #include <aws/core/client/AsyncCallerContext.h>
78 #include <aws/core/http/HttpTypes.h>
79 #include <future>
80 #include <functional>
81 
82 namespace Aws
83 {
84 
85 namespace Http
86 {
87   class HttpClient;
88   class HttpClientFactory;
89 } // namespace Http
90 
91 namespace Utils
92 {
93   template< typename R, typename E> class Outcome;
94 namespace Threading
95 {
96   class Executor;
97 } // namespace Threading
98 } // namespace Utils
99 
100 namespace Auth
101 {
102   class AWSCredentials;
103   class AWSCredentialsProvider;
104 } // namespace Auth
105 
106 namespace Client
107 {
108   class RetryStrategy;
109 } // namespace Client
110 
111 namespace Connect
112 {
113 
114 namespace Model
115 {
116         class AssociateApprovedOriginRequest;
117         class AssociateBotRequest;
118         class AssociateInstanceStorageConfigRequest;
119         class AssociateLambdaFunctionRequest;
120         class AssociateLexBotRequest;
121         class AssociateQueueQuickConnectsRequest;
122         class AssociateRoutingProfileQueuesRequest;
123         class AssociateSecurityKeyRequest;
124         class CreateAgentStatusRequest;
125         class CreateContactFlowRequest;
126         class CreateHoursOfOperationRequest;
127         class CreateInstanceRequest;
128         class CreateIntegrationAssociationRequest;
129         class CreateQueueRequest;
130         class CreateQuickConnectRequest;
131         class CreateRoutingProfileRequest;
132         class CreateUseCaseRequest;
133         class CreateUserRequest;
134         class CreateUserHierarchyGroupRequest;
135         class DeleteHoursOfOperationRequest;
136         class DeleteInstanceRequest;
137         class DeleteIntegrationAssociationRequest;
138         class DeleteQuickConnectRequest;
139         class DeleteUseCaseRequest;
140         class DeleteUserRequest;
141         class DeleteUserHierarchyGroupRequest;
142         class DescribeAgentStatusRequest;
143         class DescribeContactFlowRequest;
144         class DescribeHoursOfOperationRequest;
145         class DescribeInstanceRequest;
146         class DescribeInstanceAttributeRequest;
147         class DescribeInstanceStorageConfigRequest;
148         class DescribeQueueRequest;
149         class DescribeQuickConnectRequest;
150         class DescribeRoutingProfileRequest;
151         class DescribeUserRequest;
152         class DescribeUserHierarchyGroupRequest;
153         class DescribeUserHierarchyStructureRequest;
154         class DisassociateApprovedOriginRequest;
155         class DisassociateBotRequest;
156         class DisassociateInstanceStorageConfigRequest;
157         class DisassociateLambdaFunctionRequest;
158         class DisassociateLexBotRequest;
159         class DisassociateQueueQuickConnectsRequest;
160         class DisassociateRoutingProfileQueuesRequest;
161         class DisassociateSecurityKeyRequest;
162         class GetContactAttributesRequest;
163         class GetCurrentMetricDataRequest;
164         class GetFederationTokenRequest;
165         class GetMetricDataRequest;
166         class ListAgentStatusesRequest;
167         class ListApprovedOriginsRequest;
168         class ListBotsRequest;
169         class ListContactFlowsRequest;
170         class ListHoursOfOperationsRequest;
171         class ListInstanceAttributesRequest;
172         class ListInstanceStorageConfigsRequest;
173         class ListInstancesRequest;
174         class ListIntegrationAssociationsRequest;
175         class ListLambdaFunctionsRequest;
176         class ListLexBotsRequest;
177         class ListPhoneNumbersRequest;
178         class ListPromptsRequest;
179         class ListQueueQuickConnectsRequest;
180         class ListQueuesRequest;
181         class ListQuickConnectsRequest;
182         class ListRoutingProfileQueuesRequest;
183         class ListRoutingProfilesRequest;
184         class ListSecurityKeysRequest;
185         class ListSecurityProfilesRequest;
186         class ListTagsForResourceRequest;
187         class ListUseCasesRequest;
188         class ListUserHierarchyGroupsRequest;
189         class ListUsersRequest;
190         class ResumeContactRecordingRequest;
191         class StartChatContactRequest;
192         class StartContactRecordingRequest;
193         class StartOutboundVoiceContactRequest;
194         class StartTaskContactRequest;
195         class StopContactRequest;
196         class StopContactRecordingRequest;
197         class SuspendContactRecordingRequest;
198         class TagResourceRequest;
199         class UntagResourceRequest;
200         class UpdateAgentStatusRequest;
201         class UpdateContactAttributesRequest;
202         class UpdateContactFlowContentRequest;
203         class UpdateContactFlowNameRequest;
204         class UpdateHoursOfOperationRequest;
205         class UpdateInstanceAttributeRequest;
206         class UpdateInstanceStorageConfigRequest;
207         class UpdateQueueHoursOfOperationRequest;
208         class UpdateQueueMaxContactsRequest;
209         class UpdateQueueNameRequest;
210         class UpdateQueueOutboundCallerConfigRequest;
211         class UpdateQueueStatusRequest;
212         class UpdateQuickConnectConfigRequest;
213         class UpdateQuickConnectNameRequest;
214         class UpdateRoutingProfileConcurrencyRequest;
215         class UpdateRoutingProfileDefaultOutboundQueueRequest;
216         class UpdateRoutingProfileNameRequest;
217         class UpdateRoutingProfileQueuesRequest;
218         class UpdateUserHierarchyRequest;
219         class UpdateUserHierarchyGroupNameRequest;
220         class UpdateUserHierarchyStructureRequest;
221         class UpdateUserIdentityInfoRequest;
222         class UpdateUserPhoneConfigRequest;
223         class UpdateUserRoutingProfileRequest;
224         class UpdateUserSecurityProfilesRequest;
225 
226         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> AssociateApprovedOriginOutcome;
227         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> AssociateBotOutcome;
228         typedef Aws::Utils::Outcome<AssociateInstanceStorageConfigResult, ConnectError> AssociateInstanceStorageConfigOutcome;
229         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> AssociateLambdaFunctionOutcome;
230         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> AssociateLexBotOutcome;
231         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> AssociateQueueQuickConnectsOutcome;
232         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> AssociateRoutingProfileQueuesOutcome;
233         typedef Aws::Utils::Outcome<AssociateSecurityKeyResult, ConnectError> AssociateSecurityKeyOutcome;
234         typedef Aws::Utils::Outcome<CreateAgentStatusResult, ConnectError> CreateAgentStatusOutcome;
235         typedef Aws::Utils::Outcome<CreateContactFlowResult, ConnectError> CreateContactFlowOutcome;
236         typedef Aws::Utils::Outcome<CreateHoursOfOperationResult, ConnectError> CreateHoursOfOperationOutcome;
237         typedef Aws::Utils::Outcome<CreateInstanceResult, ConnectError> CreateInstanceOutcome;
238         typedef Aws::Utils::Outcome<CreateIntegrationAssociationResult, ConnectError> CreateIntegrationAssociationOutcome;
239         typedef Aws::Utils::Outcome<CreateQueueResult, ConnectError> CreateQueueOutcome;
240         typedef Aws::Utils::Outcome<CreateQuickConnectResult, ConnectError> CreateQuickConnectOutcome;
241         typedef Aws::Utils::Outcome<CreateRoutingProfileResult, ConnectError> CreateRoutingProfileOutcome;
242         typedef Aws::Utils::Outcome<CreateUseCaseResult, ConnectError> CreateUseCaseOutcome;
243         typedef Aws::Utils::Outcome<CreateUserResult, ConnectError> CreateUserOutcome;
244         typedef Aws::Utils::Outcome<CreateUserHierarchyGroupResult, ConnectError> CreateUserHierarchyGroupOutcome;
245         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteHoursOfOperationOutcome;
246         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteInstanceOutcome;
247         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteIntegrationAssociationOutcome;
248         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteQuickConnectOutcome;
249         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteUseCaseOutcome;
250         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteUserOutcome;
251         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DeleteUserHierarchyGroupOutcome;
252         typedef Aws::Utils::Outcome<DescribeAgentStatusResult, ConnectError> DescribeAgentStatusOutcome;
253         typedef Aws::Utils::Outcome<DescribeContactFlowResult, ConnectError> DescribeContactFlowOutcome;
254         typedef Aws::Utils::Outcome<DescribeHoursOfOperationResult, ConnectError> DescribeHoursOfOperationOutcome;
255         typedef Aws::Utils::Outcome<DescribeInstanceResult, ConnectError> DescribeInstanceOutcome;
256         typedef Aws::Utils::Outcome<DescribeInstanceAttributeResult, ConnectError> DescribeInstanceAttributeOutcome;
257         typedef Aws::Utils::Outcome<DescribeInstanceStorageConfigResult, ConnectError> DescribeInstanceStorageConfigOutcome;
258         typedef Aws::Utils::Outcome<DescribeQueueResult, ConnectError> DescribeQueueOutcome;
259         typedef Aws::Utils::Outcome<DescribeQuickConnectResult, ConnectError> DescribeQuickConnectOutcome;
260         typedef Aws::Utils::Outcome<DescribeRoutingProfileResult, ConnectError> DescribeRoutingProfileOutcome;
261         typedef Aws::Utils::Outcome<DescribeUserResult, ConnectError> DescribeUserOutcome;
262         typedef Aws::Utils::Outcome<DescribeUserHierarchyGroupResult, ConnectError> DescribeUserHierarchyGroupOutcome;
263         typedef Aws::Utils::Outcome<DescribeUserHierarchyStructureResult, ConnectError> DescribeUserHierarchyStructureOutcome;
264         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateApprovedOriginOutcome;
265         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateBotOutcome;
266         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateInstanceStorageConfigOutcome;
267         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateLambdaFunctionOutcome;
268         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateLexBotOutcome;
269         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateQueueQuickConnectsOutcome;
270         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateRoutingProfileQueuesOutcome;
271         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> DisassociateSecurityKeyOutcome;
272         typedef Aws::Utils::Outcome<GetContactAttributesResult, ConnectError> GetContactAttributesOutcome;
273         typedef Aws::Utils::Outcome<GetCurrentMetricDataResult, ConnectError> GetCurrentMetricDataOutcome;
274         typedef Aws::Utils::Outcome<GetFederationTokenResult, ConnectError> GetFederationTokenOutcome;
275         typedef Aws::Utils::Outcome<GetMetricDataResult, ConnectError> GetMetricDataOutcome;
276         typedef Aws::Utils::Outcome<ListAgentStatusesResult, ConnectError> ListAgentStatusesOutcome;
277         typedef Aws::Utils::Outcome<ListApprovedOriginsResult, ConnectError> ListApprovedOriginsOutcome;
278         typedef Aws::Utils::Outcome<ListBotsResult, ConnectError> ListBotsOutcome;
279         typedef Aws::Utils::Outcome<ListContactFlowsResult, ConnectError> ListContactFlowsOutcome;
280         typedef Aws::Utils::Outcome<ListHoursOfOperationsResult, ConnectError> ListHoursOfOperationsOutcome;
281         typedef Aws::Utils::Outcome<ListInstanceAttributesResult, ConnectError> ListInstanceAttributesOutcome;
282         typedef Aws::Utils::Outcome<ListInstanceStorageConfigsResult, ConnectError> ListInstanceStorageConfigsOutcome;
283         typedef Aws::Utils::Outcome<ListInstancesResult, ConnectError> ListInstancesOutcome;
284         typedef Aws::Utils::Outcome<ListIntegrationAssociationsResult, ConnectError> ListIntegrationAssociationsOutcome;
285         typedef Aws::Utils::Outcome<ListLambdaFunctionsResult, ConnectError> ListLambdaFunctionsOutcome;
286         typedef Aws::Utils::Outcome<ListLexBotsResult, ConnectError> ListLexBotsOutcome;
287         typedef Aws::Utils::Outcome<ListPhoneNumbersResult, ConnectError> ListPhoneNumbersOutcome;
288         typedef Aws::Utils::Outcome<ListPromptsResult, ConnectError> ListPromptsOutcome;
289         typedef Aws::Utils::Outcome<ListQueueQuickConnectsResult, ConnectError> ListQueueQuickConnectsOutcome;
290         typedef Aws::Utils::Outcome<ListQueuesResult, ConnectError> ListQueuesOutcome;
291         typedef Aws::Utils::Outcome<ListQuickConnectsResult, ConnectError> ListQuickConnectsOutcome;
292         typedef Aws::Utils::Outcome<ListRoutingProfileQueuesResult, ConnectError> ListRoutingProfileQueuesOutcome;
293         typedef Aws::Utils::Outcome<ListRoutingProfilesResult, ConnectError> ListRoutingProfilesOutcome;
294         typedef Aws::Utils::Outcome<ListSecurityKeysResult, ConnectError> ListSecurityKeysOutcome;
295         typedef Aws::Utils::Outcome<ListSecurityProfilesResult, ConnectError> ListSecurityProfilesOutcome;
296         typedef Aws::Utils::Outcome<ListTagsForResourceResult, ConnectError> ListTagsForResourceOutcome;
297         typedef Aws::Utils::Outcome<ListUseCasesResult, ConnectError> ListUseCasesOutcome;
298         typedef Aws::Utils::Outcome<ListUserHierarchyGroupsResult, ConnectError> ListUserHierarchyGroupsOutcome;
299         typedef Aws::Utils::Outcome<ListUsersResult, ConnectError> ListUsersOutcome;
300         typedef Aws::Utils::Outcome<ResumeContactRecordingResult, ConnectError> ResumeContactRecordingOutcome;
301         typedef Aws::Utils::Outcome<StartChatContactResult, ConnectError> StartChatContactOutcome;
302         typedef Aws::Utils::Outcome<StartContactRecordingResult, ConnectError> StartContactRecordingOutcome;
303         typedef Aws::Utils::Outcome<StartOutboundVoiceContactResult, ConnectError> StartOutboundVoiceContactOutcome;
304         typedef Aws::Utils::Outcome<StartTaskContactResult, ConnectError> StartTaskContactOutcome;
305         typedef Aws::Utils::Outcome<StopContactResult, ConnectError> StopContactOutcome;
306         typedef Aws::Utils::Outcome<StopContactRecordingResult, ConnectError> StopContactRecordingOutcome;
307         typedef Aws::Utils::Outcome<SuspendContactRecordingResult, ConnectError> SuspendContactRecordingOutcome;
308         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> TagResourceOutcome;
309         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UntagResourceOutcome;
310         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateAgentStatusOutcome;
311         typedef Aws::Utils::Outcome<UpdateContactAttributesResult, ConnectError> UpdateContactAttributesOutcome;
312         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateContactFlowContentOutcome;
313         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateContactFlowNameOutcome;
314         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateHoursOfOperationOutcome;
315         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateInstanceAttributeOutcome;
316         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateInstanceStorageConfigOutcome;
317         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQueueHoursOfOperationOutcome;
318         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQueueMaxContactsOutcome;
319         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQueueNameOutcome;
320         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQueueOutboundCallerConfigOutcome;
321         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQueueStatusOutcome;
322         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQuickConnectConfigOutcome;
323         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateQuickConnectNameOutcome;
324         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateRoutingProfileConcurrencyOutcome;
325         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateRoutingProfileDefaultOutboundQueueOutcome;
326         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateRoutingProfileNameOutcome;
327         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateRoutingProfileQueuesOutcome;
328         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserHierarchyOutcome;
329         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserHierarchyGroupNameOutcome;
330         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserHierarchyStructureOutcome;
331         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserIdentityInfoOutcome;
332         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserPhoneConfigOutcome;
333         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserRoutingProfileOutcome;
334         typedef Aws::Utils::Outcome<Aws::NoResult, ConnectError> UpdateUserSecurityProfilesOutcome;
335 
336         typedef std::future<AssociateApprovedOriginOutcome> AssociateApprovedOriginOutcomeCallable;
337         typedef std::future<AssociateBotOutcome> AssociateBotOutcomeCallable;
338         typedef std::future<AssociateInstanceStorageConfigOutcome> AssociateInstanceStorageConfigOutcomeCallable;
339         typedef std::future<AssociateLambdaFunctionOutcome> AssociateLambdaFunctionOutcomeCallable;
340         typedef std::future<AssociateLexBotOutcome> AssociateLexBotOutcomeCallable;
341         typedef std::future<AssociateQueueQuickConnectsOutcome> AssociateQueueQuickConnectsOutcomeCallable;
342         typedef std::future<AssociateRoutingProfileQueuesOutcome> AssociateRoutingProfileQueuesOutcomeCallable;
343         typedef std::future<AssociateSecurityKeyOutcome> AssociateSecurityKeyOutcomeCallable;
344         typedef std::future<CreateAgentStatusOutcome> CreateAgentStatusOutcomeCallable;
345         typedef std::future<CreateContactFlowOutcome> CreateContactFlowOutcomeCallable;
346         typedef std::future<CreateHoursOfOperationOutcome> CreateHoursOfOperationOutcomeCallable;
347         typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
348         typedef std::future<CreateIntegrationAssociationOutcome> CreateIntegrationAssociationOutcomeCallable;
349         typedef std::future<CreateQueueOutcome> CreateQueueOutcomeCallable;
350         typedef std::future<CreateQuickConnectOutcome> CreateQuickConnectOutcomeCallable;
351         typedef std::future<CreateRoutingProfileOutcome> CreateRoutingProfileOutcomeCallable;
352         typedef std::future<CreateUseCaseOutcome> CreateUseCaseOutcomeCallable;
353         typedef std::future<CreateUserOutcome> CreateUserOutcomeCallable;
354         typedef std::future<CreateUserHierarchyGroupOutcome> CreateUserHierarchyGroupOutcomeCallable;
355         typedef std::future<DeleteHoursOfOperationOutcome> DeleteHoursOfOperationOutcomeCallable;
356         typedef std::future<DeleteInstanceOutcome> DeleteInstanceOutcomeCallable;
357         typedef std::future<DeleteIntegrationAssociationOutcome> DeleteIntegrationAssociationOutcomeCallable;
358         typedef std::future<DeleteQuickConnectOutcome> DeleteQuickConnectOutcomeCallable;
359         typedef std::future<DeleteUseCaseOutcome> DeleteUseCaseOutcomeCallable;
360         typedef std::future<DeleteUserOutcome> DeleteUserOutcomeCallable;
361         typedef std::future<DeleteUserHierarchyGroupOutcome> DeleteUserHierarchyGroupOutcomeCallable;
362         typedef std::future<DescribeAgentStatusOutcome> DescribeAgentStatusOutcomeCallable;
363         typedef std::future<DescribeContactFlowOutcome> DescribeContactFlowOutcomeCallable;
364         typedef std::future<DescribeHoursOfOperationOutcome> DescribeHoursOfOperationOutcomeCallable;
365         typedef std::future<DescribeInstanceOutcome> DescribeInstanceOutcomeCallable;
366         typedef std::future<DescribeInstanceAttributeOutcome> DescribeInstanceAttributeOutcomeCallable;
367         typedef std::future<DescribeInstanceStorageConfigOutcome> DescribeInstanceStorageConfigOutcomeCallable;
368         typedef std::future<DescribeQueueOutcome> DescribeQueueOutcomeCallable;
369         typedef std::future<DescribeQuickConnectOutcome> DescribeQuickConnectOutcomeCallable;
370         typedef std::future<DescribeRoutingProfileOutcome> DescribeRoutingProfileOutcomeCallable;
371         typedef std::future<DescribeUserOutcome> DescribeUserOutcomeCallable;
372         typedef std::future<DescribeUserHierarchyGroupOutcome> DescribeUserHierarchyGroupOutcomeCallable;
373         typedef std::future<DescribeUserHierarchyStructureOutcome> DescribeUserHierarchyStructureOutcomeCallable;
374         typedef std::future<DisassociateApprovedOriginOutcome> DisassociateApprovedOriginOutcomeCallable;
375         typedef std::future<DisassociateBotOutcome> DisassociateBotOutcomeCallable;
376         typedef std::future<DisassociateInstanceStorageConfigOutcome> DisassociateInstanceStorageConfigOutcomeCallable;
377         typedef std::future<DisassociateLambdaFunctionOutcome> DisassociateLambdaFunctionOutcomeCallable;
378         typedef std::future<DisassociateLexBotOutcome> DisassociateLexBotOutcomeCallable;
379         typedef std::future<DisassociateQueueQuickConnectsOutcome> DisassociateQueueQuickConnectsOutcomeCallable;
380         typedef std::future<DisassociateRoutingProfileQueuesOutcome> DisassociateRoutingProfileQueuesOutcomeCallable;
381         typedef std::future<DisassociateSecurityKeyOutcome> DisassociateSecurityKeyOutcomeCallable;
382         typedef std::future<GetContactAttributesOutcome> GetContactAttributesOutcomeCallable;
383         typedef std::future<GetCurrentMetricDataOutcome> GetCurrentMetricDataOutcomeCallable;
384         typedef std::future<GetFederationTokenOutcome> GetFederationTokenOutcomeCallable;
385         typedef std::future<GetMetricDataOutcome> GetMetricDataOutcomeCallable;
386         typedef std::future<ListAgentStatusesOutcome> ListAgentStatusesOutcomeCallable;
387         typedef std::future<ListApprovedOriginsOutcome> ListApprovedOriginsOutcomeCallable;
388         typedef std::future<ListBotsOutcome> ListBotsOutcomeCallable;
389         typedef std::future<ListContactFlowsOutcome> ListContactFlowsOutcomeCallable;
390         typedef std::future<ListHoursOfOperationsOutcome> ListHoursOfOperationsOutcomeCallable;
391         typedef std::future<ListInstanceAttributesOutcome> ListInstanceAttributesOutcomeCallable;
392         typedef std::future<ListInstanceStorageConfigsOutcome> ListInstanceStorageConfigsOutcomeCallable;
393         typedef std::future<ListInstancesOutcome> ListInstancesOutcomeCallable;
394         typedef std::future<ListIntegrationAssociationsOutcome> ListIntegrationAssociationsOutcomeCallable;
395         typedef std::future<ListLambdaFunctionsOutcome> ListLambdaFunctionsOutcomeCallable;
396         typedef std::future<ListLexBotsOutcome> ListLexBotsOutcomeCallable;
397         typedef std::future<ListPhoneNumbersOutcome> ListPhoneNumbersOutcomeCallable;
398         typedef std::future<ListPromptsOutcome> ListPromptsOutcomeCallable;
399         typedef std::future<ListQueueQuickConnectsOutcome> ListQueueQuickConnectsOutcomeCallable;
400         typedef std::future<ListQueuesOutcome> ListQueuesOutcomeCallable;
401         typedef std::future<ListQuickConnectsOutcome> ListQuickConnectsOutcomeCallable;
402         typedef std::future<ListRoutingProfileQueuesOutcome> ListRoutingProfileQueuesOutcomeCallable;
403         typedef std::future<ListRoutingProfilesOutcome> ListRoutingProfilesOutcomeCallable;
404         typedef std::future<ListSecurityKeysOutcome> ListSecurityKeysOutcomeCallable;
405         typedef std::future<ListSecurityProfilesOutcome> ListSecurityProfilesOutcomeCallable;
406         typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
407         typedef std::future<ListUseCasesOutcome> ListUseCasesOutcomeCallable;
408         typedef std::future<ListUserHierarchyGroupsOutcome> ListUserHierarchyGroupsOutcomeCallable;
409         typedef std::future<ListUsersOutcome> ListUsersOutcomeCallable;
410         typedef std::future<ResumeContactRecordingOutcome> ResumeContactRecordingOutcomeCallable;
411         typedef std::future<StartChatContactOutcome> StartChatContactOutcomeCallable;
412         typedef std::future<StartContactRecordingOutcome> StartContactRecordingOutcomeCallable;
413         typedef std::future<StartOutboundVoiceContactOutcome> StartOutboundVoiceContactOutcomeCallable;
414         typedef std::future<StartTaskContactOutcome> StartTaskContactOutcomeCallable;
415         typedef std::future<StopContactOutcome> StopContactOutcomeCallable;
416         typedef std::future<StopContactRecordingOutcome> StopContactRecordingOutcomeCallable;
417         typedef std::future<SuspendContactRecordingOutcome> SuspendContactRecordingOutcomeCallable;
418         typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
419         typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
420         typedef std::future<UpdateAgentStatusOutcome> UpdateAgentStatusOutcomeCallable;
421         typedef std::future<UpdateContactAttributesOutcome> UpdateContactAttributesOutcomeCallable;
422         typedef std::future<UpdateContactFlowContentOutcome> UpdateContactFlowContentOutcomeCallable;
423         typedef std::future<UpdateContactFlowNameOutcome> UpdateContactFlowNameOutcomeCallable;
424         typedef std::future<UpdateHoursOfOperationOutcome> UpdateHoursOfOperationOutcomeCallable;
425         typedef std::future<UpdateInstanceAttributeOutcome> UpdateInstanceAttributeOutcomeCallable;
426         typedef std::future<UpdateInstanceStorageConfigOutcome> UpdateInstanceStorageConfigOutcomeCallable;
427         typedef std::future<UpdateQueueHoursOfOperationOutcome> UpdateQueueHoursOfOperationOutcomeCallable;
428         typedef std::future<UpdateQueueMaxContactsOutcome> UpdateQueueMaxContactsOutcomeCallable;
429         typedef std::future<UpdateQueueNameOutcome> UpdateQueueNameOutcomeCallable;
430         typedef std::future<UpdateQueueOutboundCallerConfigOutcome> UpdateQueueOutboundCallerConfigOutcomeCallable;
431         typedef std::future<UpdateQueueStatusOutcome> UpdateQueueStatusOutcomeCallable;
432         typedef std::future<UpdateQuickConnectConfigOutcome> UpdateQuickConnectConfigOutcomeCallable;
433         typedef std::future<UpdateQuickConnectNameOutcome> UpdateQuickConnectNameOutcomeCallable;
434         typedef std::future<UpdateRoutingProfileConcurrencyOutcome> UpdateRoutingProfileConcurrencyOutcomeCallable;
435         typedef std::future<UpdateRoutingProfileDefaultOutboundQueueOutcome> UpdateRoutingProfileDefaultOutboundQueueOutcomeCallable;
436         typedef std::future<UpdateRoutingProfileNameOutcome> UpdateRoutingProfileNameOutcomeCallable;
437         typedef std::future<UpdateRoutingProfileQueuesOutcome> UpdateRoutingProfileQueuesOutcomeCallable;
438         typedef std::future<UpdateUserHierarchyOutcome> UpdateUserHierarchyOutcomeCallable;
439         typedef std::future<UpdateUserHierarchyGroupNameOutcome> UpdateUserHierarchyGroupNameOutcomeCallable;
440         typedef std::future<UpdateUserHierarchyStructureOutcome> UpdateUserHierarchyStructureOutcomeCallable;
441         typedef std::future<UpdateUserIdentityInfoOutcome> UpdateUserIdentityInfoOutcomeCallable;
442         typedef std::future<UpdateUserPhoneConfigOutcome> UpdateUserPhoneConfigOutcomeCallable;
443         typedef std::future<UpdateUserRoutingProfileOutcome> UpdateUserRoutingProfileOutcomeCallable;
444         typedef std::future<UpdateUserSecurityProfilesOutcome> UpdateUserSecurityProfilesOutcomeCallable;
445 } // namespace Model
446 
447   class ConnectClient;
448 
449     typedef std::function<void(const ConnectClient*, const Model::AssociateApprovedOriginRequest&, const Model::AssociateApprovedOriginOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateApprovedOriginResponseReceivedHandler;
450     typedef std::function<void(const ConnectClient*, const Model::AssociateBotRequest&, const Model::AssociateBotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateBotResponseReceivedHandler;
451     typedef std::function<void(const ConnectClient*, const Model::AssociateInstanceStorageConfigRequest&, const Model::AssociateInstanceStorageConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateInstanceStorageConfigResponseReceivedHandler;
452     typedef std::function<void(const ConnectClient*, const Model::AssociateLambdaFunctionRequest&, const Model::AssociateLambdaFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateLambdaFunctionResponseReceivedHandler;
453     typedef std::function<void(const ConnectClient*, const Model::AssociateLexBotRequest&, const Model::AssociateLexBotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateLexBotResponseReceivedHandler;
454     typedef std::function<void(const ConnectClient*, const Model::AssociateQueueQuickConnectsRequest&, const Model::AssociateQueueQuickConnectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateQueueQuickConnectsResponseReceivedHandler;
455     typedef std::function<void(const ConnectClient*, const Model::AssociateRoutingProfileQueuesRequest&, const Model::AssociateRoutingProfileQueuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateRoutingProfileQueuesResponseReceivedHandler;
456     typedef std::function<void(const ConnectClient*, const Model::AssociateSecurityKeyRequest&, const Model::AssociateSecurityKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateSecurityKeyResponseReceivedHandler;
457     typedef std::function<void(const ConnectClient*, const Model::CreateAgentStatusRequest&, const Model::CreateAgentStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateAgentStatusResponseReceivedHandler;
458     typedef std::function<void(const ConnectClient*, const Model::CreateContactFlowRequest&, const Model::CreateContactFlowOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateContactFlowResponseReceivedHandler;
459     typedef std::function<void(const ConnectClient*, const Model::CreateHoursOfOperationRequest&, const Model::CreateHoursOfOperationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateHoursOfOperationResponseReceivedHandler;
460     typedef std::function<void(const ConnectClient*, const Model::CreateInstanceRequest&, const Model::CreateInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateInstanceResponseReceivedHandler;
461     typedef std::function<void(const ConnectClient*, const Model::CreateIntegrationAssociationRequest&, const Model::CreateIntegrationAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateIntegrationAssociationResponseReceivedHandler;
462     typedef std::function<void(const ConnectClient*, const Model::CreateQueueRequest&, const Model::CreateQueueOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateQueueResponseReceivedHandler;
463     typedef std::function<void(const ConnectClient*, const Model::CreateQuickConnectRequest&, const Model::CreateQuickConnectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateQuickConnectResponseReceivedHandler;
464     typedef std::function<void(const ConnectClient*, const Model::CreateRoutingProfileRequest&, const Model::CreateRoutingProfileOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRoutingProfileResponseReceivedHandler;
465     typedef std::function<void(const ConnectClient*, const Model::CreateUseCaseRequest&, const Model::CreateUseCaseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateUseCaseResponseReceivedHandler;
466     typedef std::function<void(const ConnectClient*, const Model::CreateUserRequest&, const Model::CreateUserOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateUserResponseReceivedHandler;
467     typedef std::function<void(const ConnectClient*, const Model::CreateUserHierarchyGroupRequest&, const Model::CreateUserHierarchyGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateUserHierarchyGroupResponseReceivedHandler;
468     typedef std::function<void(const ConnectClient*, const Model::DeleteHoursOfOperationRequest&, const Model::DeleteHoursOfOperationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteHoursOfOperationResponseReceivedHandler;
469     typedef std::function<void(const ConnectClient*, const Model::DeleteInstanceRequest&, const Model::DeleteInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteInstanceResponseReceivedHandler;
470     typedef std::function<void(const ConnectClient*, const Model::DeleteIntegrationAssociationRequest&, const Model::DeleteIntegrationAssociationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteIntegrationAssociationResponseReceivedHandler;
471     typedef std::function<void(const ConnectClient*, const Model::DeleteQuickConnectRequest&, const Model::DeleteQuickConnectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteQuickConnectResponseReceivedHandler;
472     typedef std::function<void(const ConnectClient*, const Model::DeleteUseCaseRequest&, const Model::DeleteUseCaseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteUseCaseResponseReceivedHandler;
473     typedef std::function<void(const ConnectClient*, const Model::DeleteUserRequest&, const Model::DeleteUserOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteUserResponseReceivedHandler;
474     typedef std::function<void(const ConnectClient*, const Model::DeleteUserHierarchyGroupRequest&, const Model::DeleteUserHierarchyGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteUserHierarchyGroupResponseReceivedHandler;
475     typedef std::function<void(const ConnectClient*, const Model::DescribeAgentStatusRequest&, const Model::DescribeAgentStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAgentStatusResponseReceivedHandler;
476     typedef std::function<void(const ConnectClient*, const Model::DescribeContactFlowRequest&, const Model::DescribeContactFlowOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeContactFlowResponseReceivedHandler;
477     typedef std::function<void(const ConnectClient*, const Model::DescribeHoursOfOperationRequest&, const Model::DescribeHoursOfOperationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeHoursOfOperationResponseReceivedHandler;
478     typedef std::function<void(const ConnectClient*, const Model::DescribeInstanceRequest&, const Model::DescribeInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceResponseReceivedHandler;
479     typedef std::function<void(const ConnectClient*, const Model::DescribeInstanceAttributeRequest&, const Model::DescribeInstanceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceAttributeResponseReceivedHandler;
480     typedef std::function<void(const ConnectClient*, const Model::DescribeInstanceStorageConfigRequest&, const Model::DescribeInstanceStorageConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInstanceStorageConfigResponseReceivedHandler;
481     typedef std::function<void(const ConnectClient*, const Model::DescribeQueueRequest&, const Model::DescribeQueueOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeQueueResponseReceivedHandler;
482     typedef std::function<void(const ConnectClient*, const Model::DescribeQuickConnectRequest&, const Model::DescribeQuickConnectOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeQuickConnectResponseReceivedHandler;
483     typedef std::function<void(const ConnectClient*, const Model::DescribeRoutingProfileRequest&, const Model::DescribeRoutingProfileOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRoutingProfileResponseReceivedHandler;
484     typedef std::function<void(const ConnectClient*, const Model::DescribeUserRequest&, const Model::DescribeUserOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeUserResponseReceivedHandler;
485     typedef std::function<void(const ConnectClient*, const Model::DescribeUserHierarchyGroupRequest&, const Model::DescribeUserHierarchyGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeUserHierarchyGroupResponseReceivedHandler;
486     typedef std::function<void(const ConnectClient*, const Model::DescribeUserHierarchyStructureRequest&, const Model::DescribeUserHierarchyStructureOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeUserHierarchyStructureResponseReceivedHandler;
487     typedef std::function<void(const ConnectClient*, const Model::DisassociateApprovedOriginRequest&, const Model::DisassociateApprovedOriginOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateApprovedOriginResponseReceivedHandler;
488     typedef std::function<void(const ConnectClient*, const Model::DisassociateBotRequest&, const Model::DisassociateBotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateBotResponseReceivedHandler;
489     typedef std::function<void(const ConnectClient*, const Model::DisassociateInstanceStorageConfigRequest&, const Model::DisassociateInstanceStorageConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateInstanceStorageConfigResponseReceivedHandler;
490     typedef std::function<void(const ConnectClient*, const Model::DisassociateLambdaFunctionRequest&, const Model::DisassociateLambdaFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateLambdaFunctionResponseReceivedHandler;
491     typedef std::function<void(const ConnectClient*, const Model::DisassociateLexBotRequest&, const Model::DisassociateLexBotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateLexBotResponseReceivedHandler;
492     typedef std::function<void(const ConnectClient*, const Model::DisassociateQueueQuickConnectsRequest&, const Model::DisassociateQueueQuickConnectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateQueueQuickConnectsResponseReceivedHandler;
493     typedef std::function<void(const ConnectClient*, const Model::DisassociateRoutingProfileQueuesRequest&, const Model::DisassociateRoutingProfileQueuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateRoutingProfileQueuesResponseReceivedHandler;
494     typedef std::function<void(const ConnectClient*, const Model::DisassociateSecurityKeyRequest&, const Model::DisassociateSecurityKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateSecurityKeyResponseReceivedHandler;
495     typedef std::function<void(const ConnectClient*, const Model::GetContactAttributesRequest&, const Model::GetContactAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetContactAttributesResponseReceivedHandler;
496     typedef std::function<void(const ConnectClient*, const Model::GetCurrentMetricDataRequest&, const Model::GetCurrentMetricDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCurrentMetricDataResponseReceivedHandler;
497     typedef std::function<void(const ConnectClient*, const Model::GetFederationTokenRequest&, const Model::GetFederationTokenOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetFederationTokenResponseReceivedHandler;
498     typedef std::function<void(const ConnectClient*, const Model::GetMetricDataRequest&, const Model::GetMetricDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetMetricDataResponseReceivedHandler;
499     typedef std::function<void(const ConnectClient*, const Model::ListAgentStatusesRequest&, const Model::ListAgentStatusesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListAgentStatusesResponseReceivedHandler;
500     typedef std::function<void(const ConnectClient*, const Model::ListApprovedOriginsRequest&, const Model::ListApprovedOriginsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListApprovedOriginsResponseReceivedHandler;
501     typedef std::function<void(const ConnectClient*, const Model::ListBotsRequest&, const Model::ListBotsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBotsResponseReceivedHandler;
502     typedef std::function<void(const ConnectClient*, const Model::ListContactFlowsRequest&, const Model::ListContactFlowsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListContactFlowsResponseReceivedHandler;
503     typedef std::function<void(const ConnectClient*, const Model::ListHoursOfOperationsRequest&, const Model::ListHoursOfOperationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListHoursOfOperationsResponseReceivedHandler;
504     typedef std::function<void(const ConnectClient*, const Model::ListInstanceAttributesRequest&, const Model::ListInstanceAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInstanceAttributesResponseReceivedHandler;
505     typedef std::function<void(const ConnectClient*, const Model::ListInstanceStorageConfigsRequest&, const Model::ListInstanceStorageConfigsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInstanceStorageConfigsResponseReceivedHandler;
506     typedef std::function<void(const ConnectClient*, const Model::ListInstancesRequest&, const Model::ListInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInstancesResponseReceivedHandler;
507     typedef std::function<void(const ConnectClient*, const Model::ListIntegrationAssociationsRequest&, const Model::ListIntegrationAssociationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListIntegrationAssociationsResponseReceivedHandler;
508     typedef std::function<void(const ConnectClient*, const Model::ListLambdaFunctionsRequest&, const Model::ListLambdaFunctionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListLambdaFunctionsResponseReceivedHandler;
509     typedef std::function<void(const ConnectClient*, const Model::ListLexBotsRequest&, const Model::ListLexBotsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListLexBotsResponseReceivedHandler;
510     typedef std::function<void(const ConnectClient*, const Model::ListPhoneNumbersRequest&, const Model::ListPhoneNumbersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPhoneNumbersResponseReceivedHandler;
511     typedef std::function<void(const ConnectClient*, const Model::ListPromptsRequest&, const Model::ListPromptsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListPromptsResponseReceivedHandler;
512     typedef std::function<void(const ConnectClient*, const Model::ListQueueQuickConnectsRequest&, const Model::ListQueueQuickConnectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListQueueQuickConnectsResponseReceivedHandler;
513     typedef std::function<void(const ConnectClient*, const Model::ListQueuesRequest&, const Model::ListQueuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListQueuesResponseReceivedHandler;
514     typedef std::function<void(const ConnectClient*, const Model::ListQuickConnectsRequest&, const Model::ListQuickConnectsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListQuickConnectsResponseReceivedHandler;
515     typedef std::function<void(const ConnectClient*, const Model::ListRoutingProfileQueuesRequest&, const Model::ListRoutingProfileQueuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListRoutingProfileQueuesResponseReceivedHandler;
516     typedef std::function<void(const ConnectClient*, const Model::ListRoutingProfilesRequest&, const Model::ListRoutingProfilesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListRoutingProfilesResponseReceivedHandler;
517     typedef std::function<void(const ConnectClient*, const Model::ListSecurityKeysRequest&, const Model::ListSecurityKeysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListSecurityKeysResponseReceivedHandler;
518     typedef std::function<void(const ConnectClient*, const Model::ListSecurityProfilesRequest&, const Model::ListSecurityProfilesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListSecurityProfilesResponseReceivedHandler;
519     typedef std::function<void(const ConnectClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
520     typedef std::function<void(const ConnectClient*, const Model::ListUseCasesRequest&, const Model::ListUseCasesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListUseCasesResponseReceivedHandler;
521     typedef std::function<void(const ConnectClient*, const Model::ListUserHierarchyGroupsRequest&, const Model::ListUserHierarchyGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListUserHierarchyGroupsResponseReceivedHandler;
522     typedef std::function<void(const ConnectClient*, const Model::ListUsersRequest&, const Model::ListUsersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListUsersResponseReceivedHandler;
523     typedef std::function<void(const ConnectClient*, const Model::ResumeContactRecordingRequest&, const Model::ResumeContactRecordingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ResumeContactRecordingResponseReceivedHandler;
524     typedef std::function<void(const ConnectClient*, const Model::StartChatContactRequest&, const Model::StartChatContactOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartChatContactResponseReceivedHandler;
525     typedef std::function<void(const ConnectClient*, const Model::StartContactRecordingRequest&, const Model::StartContactRecordingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartContactRecordingResponseReceivedHandler;
526     typedef std::function<void(const ConnectClient*, const Model::StartOutboundVoiceContactRequest&, const Model::StartOutboundVoiceContactOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartOutboundVoiceContactResponseReceivedHandler;
527     typedef std::function<void(const ConnectClient*, const Model::StartTaskContactRequest&, const Model::StartTaskContactOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartTaskContactResponseReceivedHandler;
528     typedef std::function<void(const ConnectClient*, const Model::StopContactRequest&, const Model::StopContactOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopContactResponseReceivedHandler;
529     typedef std::function<void(const ConnectClient*, const Model::StopContactRecordingRequest&, const Model::StopContactRecordingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopContactRecordingResponseReceivedHandler;
530     typedef std::function<void(const ConnectClient*, const Model::SuspendContactRecordingRequest&, const Model::SuspendContactRecordingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SuspendContactRecordingResponseReceivedHandler;
531     typedef std::function<void(const ConnectClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
532     typedef std::function<void(const ConnectClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
533     typedef std::function<void(const ConnectClient*, const Model::UpdateAgentStatusRequest&, const Model::UpdateAgentStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateAgentStatusResponseReceivedHandler;
534     typedef std::function<void(const ConnectClient*, const Model::UpdateContactAttributesRequest&, const Model::UpdateContactAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateContactAttributesResponseReceivedHandler;
535     typedef std::function<void(const ConnectClient*, const Model::UpdateContactFlowContentRequest&, const Model::UpdateContactFlowContentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateContactFlowContentResponseReceivedHandler;
536     typedef std::function<void(const ConnectClient*, const Model::UpdateContactFlowNameRequest&, const Model::UpdateContactFlowNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateContactFlowNameResponseReceivedHandler;
537     typedef std::function<void(const ConnectClient*, const Model::UpdateHoursOfOperationRequest&, const Model::UpdateHoursOfOperationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateHoursOfOperationResponseReceivedHandler;
538     typedef std::function<void(const ConnectClient*, const Model::UpdateInstanceAttributeRequest&, const Model::UpdateInstanceAttributeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateInstanceAttributeResponseReceivedHandler;
539     typedef std::function<void(const ConnectClient*, const Model::UpdateInstanceStorageConfigRequest&, const Model::UpdateInstanceStorageConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateInstanceStorageConfigResponseReceivedHandler;
540     typedef std::function<void(const ConnectClient*, const Model::UpdateQueueHoursOfOperationRequest&, const Model::UpdateQueueHoursOfOperationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQueueHoursOfOperationResponseReceivedHandler;
541     typedef std::function<void(const ConnectClient*, const Model::UpdateQueueMaxContactsRequest&, const Model::UpdateQueueMaxContactsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQueueMaxContactsResponseReceivedHandler;
542     typedef std::function<void(const ConnectClient*, const Model::UpdateQueueNameRequest&, const Model::UpdateQueueNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQueueNameResponseReceivedHandler;
543     typedef std::function<void(const ConnectClient*, const Model::UpdateQueueOutboundCallerConfigRequest&, const Model::UpdateQueueOutboundCallerConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQueueOutboundCallerConfigResponseReceivedHandler;
544     typedef std::function<void(const ConnectClient*, const Model::UpdateQueueStatusRequest&, const Model::UpdateQueueStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQueueStatusResponseReceivedHandler;
545     typedef std::function<void(const ConnectClient*, const Model::UpdateQuickConnectConfigRequest&, const Model::UpdateQuickConnectConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQuickConnectConfigResponseReceivedHandler;
546     typedef std::function<void(const ConnectClient*, const Model::UpdateQuickConnectNameRequest&, const Model::UpdateQuickConnectNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateQuickConnectNameResponseReceivedHandler;
547     typedef std::function<void(const ConnectClient*, const Model::UpdateRoutingProfileConcurrencyRequest&, const Model::UpdateRoutingProfileConcurrencyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRoutingProfileConcurrencyResponseReceivedHandler;
548     typedef std::function<void(const ConnectClient*, const Model::UpdateRoutingProfileDefaultOutboundQueueRequest&, const Model::UpdateRoutingProfileDefaultOutboundQueueOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRoutingProfileDefaultOutboundQueueResponseReceivedHandler;
549     typedef std::function<void(const ConnectClient*, const Model::UpdateRoutingProfileNameRequest&, const Model::UpdateRoutingProfileNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRoutingProfileNameResponseReceivedHandler;
550     typedef std::function<void(const ConnectClient*, const Model::UpdateRoutingProfileQueuesRequest&, const Model::UpdateRoutingProfileQueuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRoutingProfileQueuesResponseReceivedHandler;
551     typedef std::function<void(const ConnectClient*, const Model::UpdateUserHierarchyRequest&, const Model::UpdateUserHierarchyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserHierarchyResponseReceivedHandler;
552     typedef std::function<void(const ConnectClient*, const Model::UpdateUserHierarchyGroupNameRequest&, const Model::UpdateUserHierarchyGroupNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserHierarchyGroupNameResponseReceivedHandler;
553     typedef std::function<void(const ConnectClient*, const Model::UpdateUserHierarchyStructureRequest&, const Model::UpdateUserHierarchyStructureOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserHierarchyStructureResponseReceivedHandler;
554     typedef std::function<void(const ConnectClient*, const Model::UpdateUserIdentityInfoRequest&, const Model::UpdateUserIdentityInfoOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserIdentityInfoResponseReceivedHandler;
555     typedef std::function<void(const ConnectClient*, const Model::UpdateUserPhoneConfigRequest&, const Model::UpdateUserPhoneConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserPhoneConfigResponseReceivedHandler;
556     typedef std::function<void(const ConnectClient*, const Model::UpdateUserRoutingProfileRequest&, const Model::UpdateUserRoutingProfileOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserRoutingProfileResponseReceivedHandler;
557     typedef std::function<void(const ConnectClient*, const Model::UpdateUserSecurityProfilesRequest&, const Model::UpdateUserSecurityProfilesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUserSecurityProfilesResponseReceivedHandler;
558 
559   /**
560    * <p>Amazon Connect is a cloud-based contact center solution that you use to set
561    * up and manage a customer contact center and provide reliable customer engagement
562    * at any scale.</p> <p>Amazon Connect provides metrics and real-time reporting
563    * that enable you to optimize contact routing. You can also resolve customer
564    * issues more efficiently by getting customers in touch with the appropriate
565    * agents.</p> <p>There are limits to the number of Amazon Connect resources that
566    * you can create. There are also limits to the number of requests that you can
567    * make per second. For more information, see <a
568    * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
569    * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.</p>
570    * <p>You can connect programmatically to an AWS service by using an endpoint. For
571    * a list of Amazon Connect endpoints, see <a
572    * href="https://docs.aws.amazon.com/general/latest/gr/connect_region.html">Amazon
573    * Connect Endpoints</a>.</p>  <p>Working with contact flows? Check out the
574    * <a
575    * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
576    * Connect Flow language</a>.</p>
577    */
578   class AWS_CONNECT_API ConnectClient : public Aws::Client::AWSJsonClient
579   {
580     public:
581       typedef Aws::Client::AWSJsonClient BASECLASS;
582 
583        /**
584         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
585         * is not specified, it will be initialized to default values.
586         */
587         ConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
588 
589        /**
590         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
591         * is not specified, it will be initialized to default values.
592         */
593         ConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
594 
595        /**
596         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
597         * the default http client factory will be used
598         */
599         ConnectClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
600             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
601 
602         virtual ~ConnectClient();
603 
604 
605         /**
606          * <p>This API is in preview release for Amazon Connect and is subject to
607          * change.</p> <p>Associates an approved origin to an Amazon Connect
608          * instance.</p><p><h3>See Also:</h3>   <a
609          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateApprovedOrigin">AWS
610          * API Reference</a></p>
611          */
612         virtual Model::AssociateApprovedOriginOutcome AssociateApprovedOrigin(const Model::AssociateApprovedOriginRequest& request) const;
613 
614         /**
615          * <p>This API is in preview release for Amazon Connect and is subject to
616          * change.</p> <p>Associates an approved origin to an Amazon Connect
617          * instance.</p><p><h3>See Also:</h3>   <a
618          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateApprovedOrigin">AWS
619          * API Reference</a></p>
620          *
621          * returns a future to the operation so that it can be executed in parallel to other requests.
622          */
623         virtual Model::AssociateApprovedOriginOutcomeCallable AssociateApprovedOriginCallable(const Model::AssociateApprovedOriginRequest& request) const;
624 
625         /**
626          * <p>This API is in preview release for Amazon Connect and is subject to
627          * change.</p> <p>Associates an approved origin to an Amazon Connect
628          * instance.</p><p><h3>See Also:</h3>   <a
629          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateApprovedOrigin">AWS
630          * API Reference</a></p>
631          *
632          * Queues the request into a thread executor and triggers associated callback when operation has finished.
633          */
634         virtual void AssociateApprovedOriginAsync(const Model::AssociateApprovedOriginRequest& request, const AssociateApprovedOriginResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
635 
636         /**
637          * <p>This API is in preview release for Amazon Connect and is subject to
638          * change.</p> <p>Allows the specified Amazon Connect instance to access the
639          * specified Amazon Lex or Amazon Lex V2 bot.</p><p><h3>See Also:</h3>   <a
640          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot">AWS
641          * API Reference</a></p>
642          */
643         virtual Model::AssociateBotOutcome AssociateBot(const Model::AssociateBotRequest& request) const;
644 
645         /**
646          * <p>This API is in preview release for Amazon Connect and is subject to
647          * change.</p> <p>Allows the specified Amazon Connect instance to access the
648          * specified Amazon Lex or Amazon Lex V2 bot.</p><p><h3>See Also:</h3>   <a
649          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot">AWS
650          * API Reference</a></p>
651          *
652          * returns a future to the operation so that it can be executed in parallel to other requests.
653          */
654         virtual Model::AssociateBotOutcomeCallable AssociateBotCallable(const Model::AssociateBotRequest& request) const;
655 
656         /**
657          * <p>This API is in preview release for Amazon Connect and is subject to
658          * change.</p> <p>Allows the specified Amazon Connect instance to access the
659          * specified Amazon Lex or Amazon Lex V2 bot.</p><p><h3>See Also:</h3>   <a
660          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot">AWS
661          * API Reference</a></p>
662          *
663          * Queues the request into a thread executor and triggers associated callback when operation has finished.
664          */
665         virtual void AssociateBotAsync(const Model::AssociateBotRequest& request, const AssociateBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
666 
667         /**
668          * <p>This API is in preview release for Amazon Connect and is subject to
669          * change.</p> <p>Associates a storage resource type for the first time. You can
670          * only associate one type of storage configuration in a single call. This means,
671          * for example, that you can't define an instance with multiple S3 buckets for
672          * storing chat transcripts.</p> <p>This API does not create a resource that
673          * doesn't exist. It only associates it to the instance. Ensure that the resource
674          * being specified in the storage configuration, like an S3 bucket, exists when
675          * being used for association.</p><p><h3>See Also:</h3>   <a
676          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig">AWS
677          * API Reference</a></p>
678          */
679         virtual Model::AssociateInstanceStorageConfigOutcome AssociateInstanceStorageConfig(const Model::AssociateInstanceStorageConfigRequest& request) const;
680 
681         /**
682          * <p>This API is in preview release for Amazon Connect and is subject to
683          * change.</p> <p>Associates a storage resource type for the first time. You can
684          * only associate one type of storage configuration in a single call. This means,
685          * for example, that you can't define an instance with multiple S3 buckets for
686          * storing chat transcripts.</p> <p>This API does not create a resource that
687          * doesn't exist. It only associates it to the instance. Ensure that the resource
688          * being specified in the storage configuration, like an S3 bucket, exists when
689          * being used for association.</p><p><h3>See Also:</h3>   <a
690          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig">AWS
691          * API Reference</a></p>
692          *
693          * returns a future to the operation so that it can be executed in parallel to other requests.
694          */
695         virtual Model::AssociateInstanceStorageConfigOutcomeCallable AssociateInstanceStorageConfigCallable(const Model::AssociateInstanceStorageConfigRequest& request) const;
696 
697         /**
698          * <p>This API is in preview release for Amazon Connect and is subject to
699          * change.</p> <p>Associates a storage resource type for the first time. You can
700          * only associate one type of storage configuration in a single call. This means,
701          * for example, that you can't define an instance with multiple S3 buckets for
702          * storing chat transcripts.</p> <p>This API does not create a resource that
703          * doesn't exist. It only associates it to the instance. Ensure that the resource
704          * being specified in the storage configuration, like an S3 bucket, exists when
705          * being used for association.</p><p><h3>See Also:</h3>   <a
706          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig">AWS
707          * API Reference</a></p>
708          *
709          * Queues the request into a thread executor and triggers associated callback when operation has finished.
710          */
711         virtual void AssociateInstanceStorageConfigAsync(const Model::AssociateInstanceStorageConfigRequest& request, const AssociateInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
712 
713         /**
714          * <p>This API is in preview release for Amazon Connect and is subject to
715          * change.</p> <p>Allows the specified Amazon Connect instance to access the
716          * specified Lambda function.</p><p><h3>See Also:</h3>   <a
717          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction">AWS
718          * API Reference</a></p>
719          */
720         virtual Model::AssociateLambdaFunctionOutcome AssociateLambdaFunction(const Model::AssociateLambdaFunctionRequest& request) const;
721 
722         /**
723          * <p>This API is in preview release for Amazon Connect and is subject to
724          * change.</p> <p>Allows the specified Amazon Connect instance to access the
725          * specified Lambda function.</p><p><h3>See Also:</h3>   <a
726          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction">AWS
727          * API Reference</a></p>
728          *
729          * returns a future to the operation so that it can be executed in parallel to other requests.
730          */
731         virtual Model::AssociateLambdaFunctionOutcomeCallable AssociateLambdaFunctionCallable(const Model::AssociateLambdaFunctionRequest& request) const;
732 
733         /**
734          * <p>This API is in preview release for Amazon Connect and is subject to
735          * change.</p> <p>Allows the specified Amazon Connect instance to access the
736          * specified Lambda function.</p><p><h3>See Also:</h3>   <a
737          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction">AWS
738          * API Reference</a></p>
739          *
740          * Queues the request into a thread executor and triggers associated callback when operation has finished.
741          */
742         virtual void AssociateLambdaFunctionAsync(const Model::AssociateLambdaFunctionRequest& request, const AssociateLambdaFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
743 
744         /**
745          * <p>This API is in preview release for Amazon Connect and is subject to
746          * change.</p> <p>Allows the specified Amazon Connect instance to access the
747          * specified Amazon Lex bot.</p><p><h3>See Also:</h3>   <a
748          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot">AWS
749          * API Reference</a></p>
750          */
751         virtual Model::AssociateLexBotOutcome AssociateLexBot(const Model::AssociateLexBotRequest& request) const;
752 
753         /**
754          * <p>This API is in preview release for Amazon Connect and is subject to
755          * change.</p> <p>Allows the specified Amazon Connect instance to access the
756          * specified Amazon Lex bot.</p><p><h3>See Also:</h3>   <a
757          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot">AWS
758          * API Reference</a></p>
759          *
760          * returns a future to the operation so that it can be executed in parallel to other requests.
761          */
762         virtual Model::AssociateLexBotOutcomeCallable AssociateLexBotCallable(const Model::AssociateLexBotRequest& request) const;
763 
764         /**
765          * <p>This API is in preview release for Amazon Connect and is subject to
766          * change.</p> <p>Allows the specified Amazon Connect instance to access the
767          * specified Amazon Lex bot.</p><p><h3>See Also:</h3>   <a
768          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot">AWS
769          * API Reference</a></p>
770          *
771          * Queues the request into a thread executor and triggers associated callback when operation has finished.
772          */
773         virtual void AssociateLexBotAsync(const Model::AssociateLexBotRequest& request, const AssociateLexBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
774 
775         /**
776          * <p>This API is in preview release for Amazon Connect and is subject to
777          * change.</p> <p>Associates a set of quick connects with a queue.</p><p><h3>See
778          * Also:</h3>   <a
779          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects">AWS
780          * API Reference</a></p>
781          */
782         virtual Model::AssociateQueueQuickConnectsOutcome AssociateQueueQuickConnects(const Model::AssociateQueueQuickConnectsRequest& request) const;
783 
784         /**
785          * <p>This API is in preview release for Amazon Connect and is subject to
786          * change.</p> <p>Associates a set of quick connects with a queue.</p><p><h3>See
787          * Also:</h3>   <a
788          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects">AWS
789          * API Reference</a></p>
790          *
791          * returns a future to the operation so that it can be executed in parallel to other requests.
792          */
793         virtual Model::AssociateQueueQuickConnectsOutcomeCallable AssociateQueueQuickConnectsCallable(const Model::AssociateQueueQuickConnectsRequest& request) const;
794 
795         /**
796          * <p>This API is in preview release for Amazon Connect and is subject to
797          * change.</p> <p>Associates a set of quick connects with a queue.</p><p><h3>See
798          * Also:</h3>   <a
799          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects">AWS
800          * API Reference</a></p>
801          *
802          * Queues the request into a thread executor and triggers associated callback when operation has finished.
803          */
804         virtual void AssociateQueueQuickConnectsAsync(const Model::AssociateQueueQuickConnectsRequest& request, const AssociateQueueQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
805 
806         /**
807          * <p>Associates a set of queues with a routing profile.</p><p><h3>See Also:</h3>
808          * <a
809          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues">AWS
810          * API Reference</a></p>
811          */
812         virtual Model::AssociateRoutingProfileQueuesOutcome AssociateRoutingProfileQueues(const Model::AssociateRoutingProfileQueuesRequest& request) const;
813 
814         /**
815          * <p>Associates a set of queues with a routing profile.</p><p><h3>See Also:</h3>
816          * <a
817          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues">AWS
818          * API Reference</a></p>
819          *
820          * returns a future to the operation so that it can be executed in parallel to other requests.
821          */
822         virtual Model::AssociateRoutingProfileQueuesOutcomeCallable AssociateRoutingProfileQueuesCallable(const Model::AssociateRoutingProfileQueuesRequest& request) const;
823 
824         /**
825          * <p>Associates a set of queues with a routing profile.</p><p><h3>See Also:</h3>
826          * <a
827          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues">AWS
828          * API Reference</a></p>
829          *
830          * Queues the request into a thread executor and triggers associated callback when operation has finished.
831          */
832         virtual void AssociateRoutingProfileQueuesAsync(const Model::AssociateRoutingProfileQueuesRequest& request, const AssociateRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
833 
834         /**
835          * <p>This API is in preview release for Amazon Connect and is subject to
836          * change.</p> <p>Associates a security key to the instance.</p><p><h3>See
837          * Also:</h3>   <a
838          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey">AWS
839          * API Reference</a></p>
840          */
841         virtual Model::AssociateSecurityKeyOutcome AssociateSecurityKey(const Model::AssociateSecurityKeyRequest& request) const;
842 
843         /**
844          * <p>This API is in preview release for Amazon Connect and is subject to
845          * change.</p> <p>Associates a security key to the instance.</p><p><h3>See
846          * Also:</h3>   <a
847          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey">AWS
848          * API Reference</a></p>
849          *
850          * returns a future to the operation so that it can be executed in parallel to other requests.
851          */
852         virtual Model::AssociateSecurityKeyOutcomeCallable AssociateSecurityKeyCallable(const Model::AssociateSecurityKeyRequest& request) const;
853 
854         /**
855          * <p>This API is in preview release for Amazon Connect and is subject to
856          * change.</p> <p>Associates a security key to the instance.</p><p><h3>See
857          * Also:</h3>   <a
858          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey">AWS
859          * API Reference</a></p>
860          *
861          * Queues the request into a thread executor and triggers associated callback when operation has finished.
862          */
863         virtual void AssociateSecurityKeyAsync(const Model::AssociateSecurityKeyRequest& request, const AssociateSecurityKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
864 
865         /**
866          * <p>This API is in preview release for Amazon Connect and is subject to
867          * change.</p> <p>Creates an agent status for the specified Amazon Connect
868          * instance.</p><p><h3>See Also:</h3>   <a
869          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus">AWS
870          * API Reference</a></p>
871          */
872         virtual Model::CreateAgentStatusOutcome CreateAgentStatus(const Model::CreateAgentStatusRequest& request) const;
873 
874         /**
875          * <p>This API is in preview release for Amazon Connect and is subject to
876          * change.</p> <p>Creates an agent status for the specified Amazon Connect
877          * instance.</p><p><h3>See Also:</h3>   <a
878          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus">AWS
879          * API Reference</a></p>
880          *
881          * returns a future to the operation so that it can be executed in parallel to other requests.
882          */
883         virtual Model::CreateAgentStatusOutcomeCallable CreateAgentStatusCallable(const Model::CreateAgentStatusRequest& request) const;
884 
885         /**
886          * <p>This API is in preview release for Amazon Connect and is subject to
887          * change.</p> <p>Creates an agent status for the specified Amazon Connect
888          * instance.</p><p><h3>See Also:</h3>   <a
889          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus">AWS
890          * API Reference</a></p>
891          *
892          * Queues the request into a thread executor and triggers associated callback when operation has finished.
893          */
894         virtual void CreateAgentStatusAsync(const Model::CreateAgentStatusRequest& request, const CreateAgentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
895 
896         /**
897          * <p>Creates a contact flow for the specified Amazon Connect instance.</p> <p>You
898          * can also create and update contact flows using the <a
899          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
900          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
901          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow">AWS
902          * API Reference</a></p>
903          */
904         virtual Model::CreateContactFlowOutcome CreateContactFlow(const Model::CreateContactFlowRequest& request) const;
905 
906         /**
907          * <p>Creates a contact flow for the specified Amazon Connect instance.</p> <p>You
908          * can also create and update contact flows using the <a
909          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
910          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
911          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow">AWS
912          * API Reference</a></p>
913          *
914          * returns a future to the operation so that it can be executed in parallel to other requests.
915          */
916         virtual Model::CreateContactFlowOutcomeCallable CreateContactFlowCallable(const Model::CreateContactFlowRequest& request) const;
917 
918         /**
919          * <p>Creates a contact flow for the specified Amazon Connect instance.</p> <p>You
920          * can also create and update contact flows using the <a
921          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
922          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
923          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow">AWS
924          * API Reference</a></p>
925          *
926          * Queues the request into a thread executor and triggers associated callback when operation has finished.
927          */
928         virtual void CreateContactFlowAsync(const Model::CreateContactFlowRequest& request, const CreateContactFlowResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
929 
930         /**
931          * <p>Creates hours of operation. </p><p><h3>See Also:</h3>   <a
932          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation">AWS
933          * API Reference</a></p>
934          */
935         virtual Model::CreateHoursOfOperationOutcome CreateHoursOfOperation(const Model::CreateHoursOfOperationRequest& request) const;
936 
937         /**
938          * <p>Creates hours of operation. </p><p><h3>See Also:</h3>   <a
939          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation">AWS
940          * API Reference</a></p>
941          *
942          * returns a future to the operation so that it can be executed in parallel to other requests.
943          */
944         virtual Model::CreateHoursOfOperationOutcomeCallable CreateHoursOfOperationCallable(const Model::CreateHoursOfOperationRequest& request) const;
945 
946         /**
947          * <p>Creates hours of operation. </p><p><h3>See Also:</h3>   <a
948          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation">AWS
949          * API Reference</a></p>
950          *
951          * Queues the request into a thread executor and triggers associated callback when operation has finished.
952          */
953         virtual void CreateHoursOfOperationAsync(const Model::CreateHoursOfOperationRequest& request, const CreateHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
954 
955         /**
956          * <p>This API is in preview release for Amazon Connect and is subject to
957          * change.</p> <p>Initiates an Amazon Connect instance with all the supported
958          * channels enabled. It does not attach any storage, such as Amazon Simple Storage
959          * Service (Amazon S3) or Amazon Kinesis. It also does not allow for any
960          * configurations on features, such as Contact Lens for Amazon Connect. </p>
961          * <p>Amazon Connect enforces a limit on the total number of instances that you can
962          * create or delete in 30 days. If you exceed this limit, you will get an error
963          * message indicating there has been an excessive number of attempts at creating or
964          * deleting instances. You must wait 30 days before you can restart creating and
965          * deleting instances in your account.</p><p><h3>See Also:</h3>   <a
966          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance">AWS
967          * API Reference</a></p>
968          */
969         virtual Model::CreateInstanceOutcome CreateInstance(const Model::CreateInstanceRequest& request) const;
970 
971         /**
972          * <p>This API is in preview release for Amazon Connect and is subject to
973          * change.</p> <p>Initiates an Amazon Connect instance with all the supported
974          * channels enabled. It does not attach any storage, such as Amazon Simple Storage
975          * Service (Amazon S3) or Amazon Kinesis. It also does not allow for any
976          * configurations on features, such as Contact Lens for Amazon Connect. </p>
977          * <p>Amazon Connect enforces a limit on the total number of instances that you can
978          * create or delete in 30 days. If you exceed this limit, you will get an error
979          * message indicating there has been an excessive number of attempts at creating or
980          * deleting instances. You must wait 30 days before you can restart creating and
981          * deleting instances in your account.</p><p><h3>See Also:</h3>   <a
982          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance">AWS
983          * API Reference</a></p>
984          *
985          * returns a future to the operation so that it can be executed in parallel to other requests.
986          */
987         virtual Model::CreateInstanceOutcomeCallable CreateInstanceCallable(const Model::CreateInstanceRequest& request) const;
988 
989         /**
990          * <p>This API is in preview release for Amazon Connect and is subject to
991          * change.</p> <p>Initiates an Amazon Connect instance with all the supported
992          * channels enabled. It does not attach any storage, such as Amazon Simple Storage
993          * Service (Amazon S3) or Amazon Kinesis. It also does not allow for any
994          * configurations on features, such as Contact Lens for Amazon Connect. </p>
995          * <p>Amazon Connect enforces a limit on the total number of instances that you can
996          * create or delete in 30 days. If you exceed this limit, you will get an error
997          * message indicating there has been an excessive number of attempts at creating or
998          * deleting instances. You must wait 30 days before you can restart creating and
999          * deleting instances in your account.</p><p><h3>See Also:</h3>   <a
1000          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance">AWS
1001          * API Reference</a></p>
1002          *
1003          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1004          */
1005         virtual void CreateInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1006 
1007         /**
1008          * <p>Creates an AWS resource association with an Amazon Connect
1009          * instance.</p><p><h3>See Also:</h3>   <a
1010          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation">AWS
1011          * API Reference</a></p>
1012          */
1013         virtual Model::CreateIntegrationAssociationOutcome CreateIntegrationAssociation(const Model::CreateIntegrationAssociationRequest& request) const;
1014 
1015         /**
1016          * <p>Creates an AWS resource association with an Amazon Connect
1017          * instance.</p><p><h3>See Also:</h3>   <a
1018          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation">AWS
1019          * API Reference</a></p>
1020          *
1021          * returns a future to the operation so that it can be executed in parallel to other requests.
1022          */
1023         virtual Model::CreateIntegrationAssociationOutcomeCallable CreateIntegrationAssociationCallable(const Model::CreateIntegrationAssociationRequest& request) const;
1024 
1025         /**
1026          * <p>Creates an AWS resource association with an Amazon Connect
1027          * instance.</p><p><h3>See Also:</h3>   <a
1028          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation">AWS
1029          * API Reference</a></p>
1030          *
1031          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1032          */
1033         virtual void CreateIntegrationAssociationAsync(const Model::CreateIntegrationAssociationRequest& request, const CreateIntegrationAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1034 
1035         /**
1036          * <p>This API is in preview release for Amazon Connect and is subject to
1037          * change.</p> <p>Creates a new queue for the specified Amazon Connect
1038          * instance.</p><p><h3>See Also:</h3>   <a
1039          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue">AWS
1040          * API Reference</a></p>
1041          */
1042         virtual Model::CreateQueueOutcome CreateQueue(const Model::CreateQueueRequest& request) const;
1043 
1044         /**
1045          * <p>This API is in preview release for Amazon Connect and is subject to
1046          * change.</p> <p>Creates a new queue for the specified Amazon Connect
1047          * instance.</p><p><h3>See Also:</h3>   <a
1048          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue">AWS
1049          * API Reference</a></p>
1050          *
1051          * returns a future to the operation so that it can be executed in parallel to other requests.
1052          */
1053         virtual Model::CreateQueueOutcomeCallable CreateQueueCallable(const Model::CreateQueueRequest& request) const;
1054 
1055         /**
1056          * <p>This API is in preview release for Amazon Connect and is subject to
1057          * change.</p> <p>Creates a new queue for the specified Amazon Connect
1058          * instance.</p><p><h3>See Also:</h3>   <a
1059          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue">AWS
1060          * API Reference</a></p>
1061          *
1062          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1063          */
1064         virtual void CreateQueueAsync(const Model::CreateQueueRequest& request, const CreateQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1065 
1066         /**
1067          * <p>Creates a quick connect for the specified Amazon Connect
1068          * instance.</p><p><h3>See Also:</h3>   <a
1069          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect">AWS
1070          * API Reference</a></p>
1071          */
1072         virtual Model::CreateQuickConnectOutcome CreateQuickConnect(const Model::CreateQuickConnectRequest& request) const;
1073 
1074         /**
1075          * <p>Creates a quick connect for the specified Amazon Connect
1076          * instance.</p><p><h3>See Also:</h3>   <a
1077          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect">AWS
1078          * API Reference</a></p>
1079          *
1080          * returns a future to the operation so that it can be executed in parallel to other requests.
1081          */
1082         virtual Model::CreateQuickConnectOutcomeCallable CreateQuickConnectCallable(const Model::CreateQuickConnectRequest& request) const;
1083 
1084         /**
1085          * <p>Creates a quick connect for the specified Amazon Connect
1086          * instance.</p><p><h3>See Also:</h3>   <a
1087          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect">AWS
1088          * API Reference</a></p>
1089          *
1090          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1091          */
1092         virtual void CreateQuickConnectAsync(const Model::CreateQuickConnectRequest& request, const CreateQuickConnectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1093 
1094         /**
1095          * <p>Creates a new routing profile.</p><p><h3>See Also:</h3>   <a
1096          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile">AWS
1097          * API Reference</a></p>
1098          */
1099         virtual Model::CreateRoutingProfileOutcome CreateRoutingProfile(const Model::CreateRoutingProfileRequest& request) const;
1100 
1101         /**
1102          * <p>Creates a new routing profile.</p><p><h3>See Also:</h3>   <a
1103          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile">AWS
1104          * API Reference</a></p>
1105          *
1106          * returns a future to the operation so that it can be executed in parallel to other requests.
1107          */
1108         virtual Model::CreateRoutingProfileOutcomeCallable CreateRoutingProfileCallable(const Model::CreateRoutingProfileRequest& request) const;
1109 
1110         /**
1111          * <p>Creates a new routing profile.</p><p><h3>See Also:</h3>   <a
1112          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile">AWS
1113          * API Reference</a></p>
1114          *
1115          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1116          */
1117         virtual void CreateRoutingProfileAsync(const Model::CreateRoutingProfileRequest& request, const CreateRoutingProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1118 
1119         /**
1120          * <p>Creates a use case for an integration association.</p><p><h3>See Also:</h3>
1121          * <a
1122          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase">AWS
1123          * API Reference</a></p>
1124          */
1125         virtual Model::CreateUseCaseOutcome CreateUseCase(const Model::CreateUseCaseRequest& request) const;
1126 
1127         /**
1128          * <p>Creates a use case for an integration association.</p><p><h3>See Also:</h3>
1129          * <a
1130          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase">AWS
1131          * API Reference</a></p>
1132          *
1133          * returns a future to the operation so that it can be executed in parallel to other requests.
1134          */
1135         virtual Model::CreateUseCaseOutcomeCallable CreateUseCaseCallable(const Model::CreateUseCaseRequest& request) const;
1136 
1137         /**
1138          * <p>Creates a use case for an integration association.</p><p><h3>See Also:</h3>
1139          * <a
1140          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase">AWS
1141          * API Reference</a></p>
1142          *
1143          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1144          */
1145         virtual void CreateUseCaseAsync(const Model::CreateUseCaseRequest& request, const CreateUseCaseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1146 
1147         /**
1148          * <p>Creates a user account for the specified Amazon Connect instance.</p> <p>For
1149          * information about how to create user accounts using the Amazon Connect console,
1150          * see <a
1151          * href="https://docs.aws.amazon.com/connect/latest/adminguide/user-management.html">Add
1152          * Users</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
1153          * Also:</h3>   <a
1154          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser">AWS
1155          * API Reference</a></p>
1156          */
1157         virtual Model::CreateUserOutcome CreateUser(const Model::CreateUserRequest& request) const;
1158 
1159         /**
1160          * <p>Creates a user account for the specified Amazon Connect instance.</p> <p>For
1161          * information about how to create user accounts using the Amazon Connect console,
1162          * see <a
1163          * href="https://docs.aws.amazon.com/connect/latest/adminguide/user-management.html">Add
1164          * Users</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
1165          * Also:</h3>   <a
1166          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser">AWS
1167          * API Reference</a></p>
1168          *
1169          * returns a future to the operation so that it can be executed in parallel to other requests.
1170          */
1171         virtual Model::CreateUserOutcomeCallable CreateUserCallable(const Model::CreateUserRequest& request) const;
1172 
1173         /**
1174          * <p>Creates a user account for the specified Amazon Connect instance.</p> <p>For
1175          * information about how to create user accounts using the Amazon Connect console,
1176          * see <a
1177          * href="https://docs.aws.amazon.com/connect/latest/adminguide/user-management.html">Add
1178          * Users</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
1179          * Also:</h3>   <a
1180          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser">AWS
1181          * API Reference</a></p>
1182          *
1183          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1184          */
1185         virtual void CreateUserAsync(const Model::CreateUserRequest& request, const CreateUserResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1186 
1187         /**
1188          * <p>Creates a new user hierarchy group.</p><p><h3>See Also:</h3>   <a
1189          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup">AWS
1190          * API Reference</a></p>
1191          */
1192         virtual Model::CreateUserHierarchyGroupOutcome CreateUserHierarchyGroup(const Model::CreateUserHierarchyGroupRequest& request) const;
1193 
1194         /**
1195          * <p>Creates a new user hierarchy group.</p><p><h3>See Also:</h3>   <a
1196          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup">AWS
1197          * API Reference</a></p>
1198          *
1199          * returns a future to the operation so that it can be executed in parallel to other requests.
1200          */
1201         virtual Model::CreateUserHierarchyGroupOutcomeCallable CreateUserHierarchyGroupCallable(const Model::CreateUserHierarchyGroupRequest& request) const;
1202 
1203         /**
1204          * <p>Creates a new user hierarchy group.</p><p><h3>See Also:</h3>   <a
1205          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup">AWS
1206          * API Reference</a></p>
1207          *
1208          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1209          */
1210         virtual void CreateUserHierarchyGroupAsync(const Model::CreateUserHierarchyGroupRequest& request, const CreateUserHierarchyGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1211 
1212         /**
1213          * <p>Deletes an hours of operation.</p><p><h3>See Also:</h3>   <a
1214          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation">AWS
1215          * API Reference</a></p>
1216          */
1217         virtual Model::DeleteHoursOfOperationOutcome DeleteHoursOfOperation(const Model::DeleteHoursOfOperationRequest& request) const;
1218 
1219         /**
1220          * <p>Deletes an hours of operation.</p><p><h3>See Also:</h3>   <a
1221          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation">AWS
1222          * API Reference</a></p>
1223          *
1224          * returns a future to the operation so that it can be executed in parallel to other requests.
1225          */
1226         virtual Model::DeleteHoursOfOperationOutcomeCallable DeleteHoursOfOperationCallable(const Model::DeleteHoursOfOperationRequest& request) const;
1227 
1228         /**
1229          * <p>Deletes an hours of operation.</p><p><h3>See Also:</h3>   <a
1230          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation">AWS
1231          * API Reference</a></p>
1232          *
1233          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1234          */
1235         virtual void DeleteHoursOfOperationAsync(const Model::DeleteHoursOfOperationRequest& request, const DeleteHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1236 
1237         /**
1238          * <p>This API is in preview release for Amazon Connect and is subject to
1239          * change.</p> <p>Deletes the Amazon Connect instance.</p> <p>Amazon Connect
1240          * enforces a limit on the total number of instances that you can create or delete
1241          * in 30 days. If you exceed this limit, you will get an error message indicating
1242          * there has been an excessive number of attempts at creating or deleting
1243          * instances. You must wait 30 days before you can restart creating and deleting
1244          * instances in your account.</p><p><h3>See Also:</h3>   <a
1245          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance">AWS
1246          * API Reference</a></p>
1247          */
1248         virtual Model::DeleteInstanceOutcome DeleteInstance(const Model::DeleteInstanceRequest& request) const;
1249 
1250         /**
1251          * <p>This API is in preview release for Amazon Connect and is subject to
1252          * change.</p> <p>Deletes the Amazon Connect instance.</p> <p>Amazon Connect
1253          * enforces a limit on the total number of instances that you can create or delete
1254          * in 30 days. If you exceed this limit, you will get an error message indicating
1255          * there has been an excessive number of attempts at creating or deleting
1256          * instances. You must wait 30 days before you can restart creating and deleting
1257          * instances in your account.</p><p><h3>See Also:</h3>   <a
1258          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance">AWS
1259          * API Reference</a></p>
1260          *
1261          * returns a future to the operation so that it can be executed in parallel to other requests.
1262          */
1263         virtual Model::DeleteInstanceOutcomeCallable DeleteInstanceCallable(const Model::DeleteInstanceRequest& request) const;
1264 
1265         /**
1266          * <p>This API is in preview release for Amazon Connect and is subject to
1267          * change.</p> <p>Deletes the Amazon Connect instance.</p> <p>Amazon Connect
1268          * enforces a limit on the total number of instances that you can create or delete
1269          * in 30 days. If you exceed this limit, you will get an error message indicating
1270          * there has been an excessive number of attempts at creating or deleting
1271          * instances. You must wait 30 days before you can restart creating and deleting
1272          * instances in your account.</p><p><h3>See Also:</h3>   <a
1273          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance">AWS
1274          * API Reference</a></p>
1275          *
1276          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1277          */
1278         virtual void DeleteInstanceAsync(const Model::DeleteInstanceRequest& request, const DeleteInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1279 
1280         /**
1281          * <p>Deletes an AWS resource association from an Amazon Connect instance. The
1282          * association must not have any use cases associated with it.</p><p><h3>See
1283          * Also:</h3>   <a
1284          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation">AWS
1285          * API Reference</a></p>
1286          */
1287         virtual Model::DeleteIntegrationAssociationOutcome DeleteIntegrationAssociation(const Model::DeleteIntegrationAssociationRequest& request) const;
1288 
1289         /**
1290          * <p>Deletes an AWS resource association from an Amazon Connect instance. The
1291          * association must not have any use cases associated with it.</p><p><h3>See
1292          * Also:</h3>   <a
1293          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation">AWS
1294          * API Reference</a></p>
1295          *
1296          * returns a future to the operation so that it can be executed in parallel to other requests.
1297          */
1298         virtual Model::DeleteIntegrationAssociationOutcomeCallable DeleteIntegrationAssociationCallable(const Model::DeleteIntegrationAssociationRequest& request) const;
1299 
1300         /**
1301          * <p>Deletes an AWS resource association from an Amazon Connect instance. The
1302          * association must not have any use cases associated with it.</p><p><h3>See
1303          * Also:</h3>   <a
1304          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation">AWS
1305          * API Reference</a></p>
1306          *
1307          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1308          */
1309         virtual void DeleteIntegrationAssociationAsync(const Model::DeleteIntegrationAssociationRequest& request, const DeleteIntegrationAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1310 
1311         /**
1312          * <p>Deletes a quick connect.</p><p><h3>See Also:</h3>   <a
1313          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect">AWS
1314          * API Reference</a></p>
1315          */
1316         virtual Model::DeleteQuickConnectOutcome DeleteQuickConnect(const Model::DeleteQuickConnectRequest& request) const;
1317 
1318         /**
1319          * <p>Deletes a quick connect.</p><p><h3>See Also:</h3>   <a
1320          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect">AWS
1321          * API Reference</a></p>
1322          *
1323          * returns a future to the operation so that it can be executed in parallel to other requests.
1324          */
1325         virtual Model::DeleteQuickConnectOutcomeCallable DeleteQuickConnectCallable(const Model::DeleteQuickConnectRequest& request) const;
1326 
1327         /**
1328          * <p>Deletes a quick connect.</p><p><h3>See Also:</h3>   <a
1329          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect">AWS
1330          * API Reference</a></p>
1331          *
1332          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1333          */
1334         virtual void DeleteQuickConnectAsync(const Model::DeleteQuickConnectRequest& request, const DeleteQuickConnectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1335 
1336         /**
1337          * <p>Deletes a use case from an integration association.</p><p><h3>See Also:</h3>
1338          * <a
1339          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase">AWS
1340          * API Reference</a></p>
1341          */
1342         virtual Model::DeleteUseCaseOutcome DeleteUseCase(const Model::DeleteUseCaseRequest& request) const;
1343 
1344         /**
1345          * <p>Deletes a use case from an integration association.</p><p><h3>See Also:</h3>
1346          * <a
1347          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase">AWS
1348          * API Reference</a></p>
1349          *
1350          * returns a future to the operation so that it can be executed in parallel to other requests.
1351          */
1352         virtual Model::DeleteUseCaseOutcomeCallable DeleteUseCaseCallable(const Model::DeleteUseCaseRequest& request) const;
1353 
1354         /**
1355          * <p>Deletes a use case from an integration association.</p><p><h3>See Also:</h3>
1356          * <a
1357          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase">AWS
1358          * API Reference</a></p>
1359          *
1360          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1361          */
1362         virtual void DeleteUseCaseAsync(const Model::DeleteUseCaseRequest& request, const DeleteUseCaseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1363 
1364         /**
1365          * <p>Deletes a user account from the specified Amazon Connect instance.</p> <p>For
1366          * information about what happens to a user's data when their account is deleted,
1367          * see <a
1368          * href="https://docs.aws.amazon.com/connect/latest/adminguide/delete-users.html">Delete
1369          * Users from Your Amazon Connect Instance</a> in the <i>Amazon Connect
1370          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
1371          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser">AWS
1372          * API Reference</a></p>
1373          */
1374         virtual Model::DeleteUserOutcome DeleteUser(const Model::DeleteUserRequest& request) const;
1375 
1376         /**
1377          * <p>Deletes a user account from the specified Amazon Connect instance.</p> <p>For
1378          * information about what happens to a user's data when their account is deleted,
1379          * see <a
1380          * href="https://docs.aws.amazon.com/connect/latest/adminguide/delete-users.html">Delete
1381          * Users from Your Amazon Connect Instance</a> in the <i>Amazon Connect
1382          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
1383          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser">AWS
1384          * API Reference</a></p>
1385          *
1386          * returns a future to the operation so that it can be executed in parallel to other requests.
1387          */
1388         virtual Model::DeleteUserOutcomeCallable DeleteUserCallable(const Model::DeleteUserRequest& request) const;
1389 
1390         /**
1391          * <p>Deletes a user account from the specified Amazon Connect instance.</p> <p>For
1392          * information about what happens to a user's data when their account is deleted,
1393          * see <a
1394          * href="https://docs.aws.amazon.com/connect/latest/adminguide/delete-users.html">Delete
1395          * Users from Your Amazon Connect Instance</a> in the <i>Amazon Connect
1396          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
1397          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser">AWS
1398          * API Reference</a></p>
1399          *
1400          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1401          */
1402         virtual void DeleteUserAsync(const Model::DeleteUserRequest& request, const DeleteUserResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1403 
1404         /**
1405          * <p>Deletes an existing user hierarchy group. It must not be associated with any
1406          * agents or have any active child groups.</p><p><h3>See Also:</h3>   <a
1407          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup">AWS
1408          * API Reference</a></p>
1409          */
1410         virtual Model::DeleteUserHierarchyGroupOutcome DeleteUserHierarchyGroup(const Model::DeleteUserHierarchyGroupRequest& request) const;
1411 
1412         /**
1413          * <p>Deletes an existing user hierarchy group. It must not be associated with any
1414          * agents or have any active child groups.</p><p><h3>See Also:</h3>   <a
1415          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup">AWS
1416          * API Reference</a></p>
1417          *
1418          * returns a future to the operation so that it can be executed in parallel to other requests.
1419          */
1420         virtual Model::DeleteUserHierarchyGroupOutcomeCallable DeleteUserHierarchyGroupCallable(const Model::DeleteUserHierarchyGroupRequest& request) const;
1421 
1422         /**
1423          * <p>Deletes an existing user hierarchy group. It must not be associated with any
1424          * agents or have any active child groups.</p><p><h3>See Also:</h3>   <a
1425          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup">AWS
1426          * API Reference</a></p>
1427          *
1428          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1429          */
1430         virtual void DeleteUserHierarchyGroupAsync(const Model::DeleteUserHierarchyGroupRequest& request, const DeleteUserHierarchyGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1431 
1432         /**
1433          * <p>This API is in preview release for Amazon Connect and is subject to
1434          * change.</p> <p>Describes an agent status.</p><p><h3>See Also:</h3>   <a
1435          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus">AWS
1436          * API Reference</a></p>
1437          */
1438         virtual Model::DescribeAgentStatusOutcome DescribeAgentStatus(const Model::DescribeAgentStatusRequest& request) const;
1439 
1440         /**
1441          * <p>This API is in preview release for Amazon Connect and is subject to
1442          * change.</p> <p>Describes an agent status.</p><p><h3>See Also:</h3>   <a
1443          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus">AWS
1444          * API Reference</a></p>
1445          *
1446          * returns a future to the operation so that it can be executed in parallel to other requests.
1447          */
1448         virtual Model::DescribeAgentStatusOutcomeCallable DescribeAgentStatusCallable(const Model::DescribeAgentStatusRequest& request) const;
1449 
1450         /**
1451          * <p>This API is in preview release for Amazon Connect and is subject to
1452          * change.</p> <p>Describes an agent status.</p><p><h3>See Also:</h3>   <a
1453          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus">AWS
1454          * API Reference</a></p>
1455          *
1456          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1457          */
1458         virtual void DescribeAgentStatusAsync(const Model::DescribeAgentStatusRequest& request, const DescribeAgentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1459 
1460         /**
1461          * <p>Describes the specified contact flow.</p> <p>You can also create and update
1462          * contact flows using the <a
1463          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
1464          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
1465          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow">AWS
1466          * API Reference</a></p>
1467          */
1468         virtual Model::DescribeContactFlowOutcome DescribeContactFlow(const Model::DescribeContactFlowRequest& request) const;
1469 
1470         /**
1471          * <p>Describes the specified contact flow.</p> <p>You can also create and update
1472          * contact flows using the <a
1473          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
1474          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
1475          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow">AWS
1476          * API Reference</a></p>
1477          *
1478          * returns a future to the operation so that it can be executed in parallel to other requests.
1479          */
1480         virtual Model::DescribeContactFlowOutcomeCallable DescribeContactFlowCallable(const Model::DescribeContactFlowRequest& request) const;
1481 
1482         /**
1483          * <p>Describes the specified contact flow.</p> <p>You can also create and update
1484          * contact flows using the <a
1485          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
1486          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
1487          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow">AWS
1488          * API Reference</a></p>
1489          *
1490          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1491          */
1492         virtual void DescribeContactFlowAsync(const Model::DescribeContactFlowRequest& request, const DescribeContactFlowResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1493 
1494         /**
1495          * <p>Describes the hours of operation.</p><p><h3>See Also:</h3>   <a
1496          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation">AWS
1497          * API Reference</a></p>
1498          */
1499         virtual Model::DescribeHoursOfOperationOutcome DescribeHoursOfOperation(const Model::DescribeHoursOfOperationRequest& request) const;
1500 
1501         /**
1502          * <p>Describes the hours of operation.</p><p><h3>See Also:</h3>   <a
1503          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation">AWS
1504          * API Reference</a></p>
1505          *
1506          * returns a future to the operation so that it can be executed in parallel to other requests.
1507          */
1508         virtual Model::DescribeHoursOfOperationOutcomeCallable DescribeHoursOfOperationCallable(const Model::DescribeHoursOfOperationRequest& request) const;
1509 
1510         /**
1511          * <p>Describes the hours of operation.</p><p><h3>See Also:</h3>   <a
1512          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation">AWS
1513          * API Reference</a></p>
1514          *
1515          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1516          */
1517         virtual void DescribeHoursOfOperationAsync(const Model::DescribeHoursOfOperationRequest& request, const DescribeHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1518 
1519         /**
1520          * <p>This API is in preview release for Amazon Connect and is subject to
1521          * change.</p> <p>Returns the current state of the specified instance identifier.
1522          * It tracks the instance while it is being created and returns an error status, if
1523          * applicable. </p> <p>If an instance is not created successfully, the instance
1524          * status reason field returns details relevant to the reason. The instance in a
1525          * failed state is returned only for 24 hours after the CreateInstance API was
1526          * invoked.</p><p><h3>See Also:</h3>   <a
1527          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance">AWS
1528          * API Reference</a></p>
1529          */
1530         virtual Model::DescribeInstanceOutcome DescribeInstance(const Model::DescribeInstanceRequest& request) const;
1531 
1532         /**
1533          * <p>This API is in preview release for Amazon Connect and is subject to
1534          * change.</p> <p>Returns the current state of the specified instance identifier.
1535          * It tracks the instance while it is being created and returns an error status, if
1536          * applicable. </p> <p>If an instance is not created successfully, the instance
1537          * status reason field returns details relevant to the reason. The instance in a
1538          * failed state is returned only for 24 hours after the CreateInstance API was
1539          * invoked.</p><p><h3>See Also:</h3>   <a
1540          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance">AWS
1541          * API Reference</a></p>
1542          *
1543          * returns a future to the operation so that it can be executed in parallel to other requests.
1544          */
1545         virtual Model::DescribeInstanceOutcomeCallable DescribeInstanceCallable(const Model::DescribeInstanceRequest& request) const;
1546 
1547         /**
1548          * <p>This API is in preview release for Amazon Connect and is subject to
1549          * change.</p> <p>Returns the current state of the specified instance identifier.
1550          * It tracks the instance while it is being created and returns an error status, if
1551          * applicable. </p> <p>If an instance is not created successfully, the instance
1552          * status reason field returns details relevant to the reason. The instance in a
1553          * failed state is returned only for 24 hours after the CreateInstance API was
1554          * invoked.</p><p><h3>See Also:</h3>   <a
1555          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance">AWS
1556          * API Reference</a></p>
1557          *
1558          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1559          */
1560         virtual void DescribeInstanceAsync(const Model::DescribeInstanceRequest& request, const DescribeInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1561 
1562         /**
1563          * <p>This API is in preview release for Amazon Connect and is subject to
1564          * change.</p> <p>Describes the specified instance attribute.</p><p><h3>See
1565          * Also:</h3>   <a
1566          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute">AWS
1567          * API Reference</a></p>
1568          */
1569         virtual Model::DescribeInstanceAttributeOutcome DescribeInstanceAttribute(const Model::DescribeInstanceAttributeRequest& request) const;
1570 
1571         /**
1572          * <p>This API is in preview release for Amazon Connect and is subject to
1573          * change.</p> <p>Describes the specified instance attribute.</p><p><h3>See
1574          * Also:</h3>   <a
1575          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute">AWS
1576          * API Reference</a></p>
1577          *
1578          * returns a future to the operation so that it can be executed in parallel to other requests.
1579          */
1580         virtual Model::DescribeInstanceAttributeOutcomeCallable DescribeInstanceAttributeCallable(const Model::DescribeInstanceAttributeRequest& request) const;
1581 
1582         /**
1583          * <p>This API is in preview release for Amazon Connect and is subject to
1584          * change.</p> <p>Describes the specified instance attribute.</p><p><h3>See
1585          * Also:</h3>   <a
1586          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute">AWS
1587          * API Reference</a></p>
1588          *
1589          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1590          */
1591         virtual void DescribeInstanceAttributeAsync(const Model::DescribeInstanceAttributeRequest& request, const DescribeInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1592 
1593         /**
1594          * <p>This API is in preview release for Amazon Connect and is subject to
1595          * change.</p> <p>Retrieves the current storage configurations for the specified
1596          * resource type, association ID, and instance ID.</p><p><h3>See Also:</h3>   <a
1597          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig">AWS
1598          * API Reference</a></p>
1599          */
1600         virtual Model::DescribeInstanceStorageConfigOutcome DescribeInstanceStorageConfig(const Model::DescribeInstanceStorageConfigRequest& request) const;
1601 
1602         /**
1603          * <p>This API is in preview release for Amazon Connect and is subject to
1604          * change.</p> <p>Retrieves the current storage configurations for the specified
1605          * resource type, association ID, and instance ID.</p><p><h3>See Also:</h3>   <a
1606          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig">AWS
1607          * API Reference</a></p>
1608          *
1609          * returns a future to the operation so that it can be executed in parallel to other requests.
1610          */
1611         virtual Model::DescribeInstanceStorageConfigOutcomeCallable DescribeInstanceStorageConfigCallable(const Model::DescribeInstanceStorageConfigRequest& request) const;
1612 
1613         /**
1614          * <p>This API is in preview release for Amazon Connect and is subject to
1615          * change.</p> <p>Retrieves the current storage configurations for the specified
1616          * resource type, association ID, and instance ID.</p><p><h3>See Also:</h3>   <a
1617          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig">AWS
1618          * API Reference</a></p>
1619          *
1620          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1621          */
1622         virtual void DescribeInstanceStorageConfigAsync(const Model::DescribeInstanceStorageConfigRequest& request, const DescribeInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1623 
1624         /**
1625          * <p>This API is in preview release for Amazon Connect and is subject to
1626          * change.</p> <p>Describes the specified queue.</p><p><h3>See Also:</h3>   <a
1627          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue">AWS
1628          * API Reference</a></p>
1629          */
1630         virtual Model::DescribeQueueOutcome DescribeQueue(const Model::DescribeQueueRequest& request) const;
1631 
1632         /**
1633          * <p>This API is in preview release for Amazon Connect and is subject to
1634          * change.</p> <p>Describes the specified queue.</p><p><h3>See Also:</h3>   <a
1635          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue">AWS
1636          * API Reference</a></p>
1637          *
1638          * returns a future to the operation so that it can be executed in parallel to other requests.
1639          */
1640         virtual Model::DescribeQueueOutcomeCallable DescribeQueueCallable(const Model::DescribeQueueRequest& request) const;
1641 
1642         /**
1643          * <p>This API is in preview release for Amazon Connect and is subject to
1644          * change.</p> <p>Describes the specified queue.</p><p><h3>See Also:</h3>   <a
1645          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue">AWS
1646          * API Reference</a></p>
1647          *
1648          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1649          */
1650         virtual void DescribeQueueAsync(const Model::DescribeQueueRequest& request, const DescribeQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1651 
1652         /**
1653          * <p>Describes the quick connect.</p><p><h3>See Also:</h3>   <a
1654          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect">AWS
1655          * API Reference</a></p>
1656          */
1657         virtual Model::DescribeQuickConnectOutcome DescribeQuickConnect(const Model::DescribeQuickConnectRequest& request) const;
1658 
1659         /**
1660          * <p>Describes the quick connect.</p><p><h3>See Also:</h3>   <a
1661          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect">AWS
1662          * API Reference</a></p>
1663          *
1664          * returns a future to the operation so that it can be executed in parallel to other requests.
1665          */
1666         virtual Model::DescribeQuickConnectOutcomeCallable DescribeQuickConnectCallable(const Model::DescribeQuickConnectRequest& request) const;
1667 
1668         /**
1669          * <p>Describes the quick connect.</p><p><h3>See Also:</h3>   <a
1670          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect">AWS
1671          * API Reference</a></p>
1672          *
1673          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1674          */
1675         virtual void DescribeQuickConnectAsync(const Model::DescribeQuickConnectRequest& request, const DescribeQuickConnectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1676 
1677         /**
1678          * <p>Describes the specified routing profile.</p><p><h3>See Also:</h3>   <a
1679          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile">AWS
1680          * API Reference</a></p>
1681          */
1682         virtual Model::DescribeRoutingProfileOutcome DescribeRoutingProfile(const Model::DescribeRoutingProfileRequest& request) const;
1683 
1684         /**
1685          * <p>Describes the specified routing profile.</p><p><h3>See Also:</h3>   <a
1686          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile">AWS
1687          * API Reference</a></p>
1688          *
1689          * returns a future to the operation so that it can be executed in parallel to other requests.
1690          */
1691         virtual Model::DescribeRoutingProfileOutcomeCallable DescribeRoutingProfileCallable(const Model::DescribeRoutingProfileRequest& request) const;
1692 
1693         /**
1694          * <p>Describes the specified routing profile.</p><p><h3>See Also:</h3>   <a
1695          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile">AWS
1696          * API Reference</a></p>
1697          *
1698          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1699          */
1700         virtual void DescribeRoutingProfileAsync(const Model::DescribeRoutingProfileRequest& request, const DescribeRoutingProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1701 
1702         /**
1703          * <p>Describes the specified user account. You can find the instance ID in the
1704          * console (it’s the final part of the ARN). The console does not display the user
1705          * IDs. Instead, list the users and note the IDs provided in the
1706          * output.</p><p><h3>See Also:</h3>   <a
1707          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser">AWS
1708          * API Reference</a></p>
1709          */
1710         virtual Model::DescribeUserOutcome DescribeUser(const Model::DescribeUserRequest& request) const;
1711 
1712         /**
1713          * <p>Describes the specified user account. You can find the instance ID in the
1714          * console (it’s the final part of the ARN). The console does not display the user
1715          * IDs. Instead, list the users and note the IDs provided in the
1716          * output.</p><p><h3>See Also:</h3>   <a
1717          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser">AWS
1718          * API Reference</a></p>
1719          *
1720          * returns a future to the operation so that it can be executed in parallel to other requests.
1721          */
1722         virtual Model::DescribeUserOutcomeCallable DescribeUserCallable(const Model::DescribeUserRequest& request) const;
1723 
1724         /**
1725          * <p>Describes the specified user account. You can find the instance ID in the
1726          * console (it’s the final part of the ARN). The console does not display the user
1727          * IDs. Instead, list the users and note the IDs provided in the
1728          * output.</p><p><h3>See Also:</h3>   <a
1729          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser">AWS
1730          * API Reference</a></p>
1731          *
1732          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1733          */
1734         virtual void DescribeUserAsync(const Model::DescribeUserRequest& request, const DescribeUserResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1735 
1736         /**
1737          * <p>Describes the specified hierarchy group.</p><p><h3>See Also:</h3>   <a
1738          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup">AWS
1739          * API Reference</a></p>
1740          */
1741         virtual Model::DescribeUserHierarchyGroupOutcome DescribeUserHierarchyGroup(const Model::DescribeUserHierarchyGroupRequest& request) const;
1742 
1743         /**
1744          * <p>Describes the specified hierarchy group.</p><p><h3>See Also:</h3>   <a
1745          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup">AWS
1746          * API Reference</a></p>
1747          *
1748          * returns a future to the operation so that it can be executed in parallel to other requests.
1749          */
1750         virtual Model::DescribeUserHierarchyGroupOutcomeCallable DescribeUserHierarchyGroupCallable(const Model::DescribeUserHierarchyGroupRequest& request) const;
1751 
1752         /**
1753          * <p>Describes the specified hierarchy group.</p><p><h3>See Also:</h3>   <a
1754          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup">AWS
1755          * API Reference</a></p>
1756          *
1757          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1758          */
1759         virtual void DescribeUserHierarchyGroupAsync(const Model::DescribeUserHierarchyGroupRequest& request, const DescribeUserHierarchyGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1760 
1761         /**
1762          * <p>Describes the hierarchy structure of the specified Amazon Connect
1763          * instance.</p><p><h3>See Also:</h3>   <a
1764          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure">AWS
1765          * API Reference</a></p>
1766          */
1767         virtual Model::DescribeUserHierarchyStructureOutcome DescribeUserHierarchyStructure(const Model::DescribeUserHierarchyStructureRequest& request) const;
1768 
1769         /**
1770          * <p>Describes the hierarchy structure of the specified Amazon Connect
1771          * instance.</p><p><h3>See Also:</h3>   <a
1772          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure">AWS
1773          * API Reference</a></p>
1774          *
1775          * returns a future to the operation so that it can be executed in parallel to other requests.
1776          */
1777         virtual Model::DescribeUserHierarchyStructureOutcomeCallable DescribeUserHierarchyStructureCallable(const Model::DescribeUserHierarchyStructureRequest& request) const;
1778 
1779         /**
1780          * <p>Describes the hierarchy structure of the specified Amazon Connect
1781          * instance.</p><p><h3>See Also:</h3>   <a
1782          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure">AWS
1783          * API Reference</a></p>
1784          *
1785          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1786          */
1787         virtual void DescribeUserHierarchyStructureAsync(const Model::DescribeUserHierarchyStructureRequest& request, const DescribeUserHierarchyStructureResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1788 
1789         /**
1790          * <p>This API is in preview release for Amazon Connect and is subject to
1791          * change.</p> <p>Revokes access to integrated applications from Amazon
1792          * Connect.</p><p><h3>See Also:</h3>   <a
1793          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin">AWS
1794          * API Reference</a></p>
1795          */
1796         virtual Model::DisassociateApprovedOriginOutcome DisassociateApprovedOrigin(const Model::DisassociateApprovedOriginRequest& request) const;
1797 
1798         /**
1799          * <p>This API is in preview release for Amazon Connect and is subject to
1800          * change.</p> <p>Revokes access to integrated applications from Amazon
1801          * Connect.</p><p><h3>See Also:</h3>   <a
1802          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin">AWS
1803          * API Reference</a></p>
1804          *
1805          * returns a future to the operation so that it can be executed in parallel to other requests.
1806          */
1807         virtual Model::DisassociateApprovedOriginOutcomeCallable DisassociateApprovedOriginCallable(const Model::DisassociateApprovedOriginRequest& request) const;
1808 
1809         /**
1810          * <p>This API is in preview release for Amazon Connect and is subject to
1811          * change.</p> <p>Revokes access to integrated applications from Amazon
1812          * Connect.</p><p><h3>See Also:</h3>   <a
1813          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin">AWS
1814          * API Reference</a></p>
1815          *
1816          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1817          */
1818         virtual void DisassociateApprovedOriginAsync(const Model::DisassociateApprovedOriginRequest& request, const DisassociateApprovedOriginResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1819 
1820         /**
1821          * <p>This API is in preview release for Amazon Connect and is subject to
1822          * change.</p> <p>Revokes authorization from the specified instance to access the
1823          * specified Amazon Lex or Amazon Lex V2 bot. </p><p><h3>See Also:</h3>   <a
1824          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot">AWS
1825          * API Reference</a></p>
1826          */
1827         virtual Model::DisassociateBotOutcome DisassociateBot(const Model::DisassociateBotRequest& request) const;
1828 
1829         /**
1830          * <p>This API is in preview release for Amazon Connect and is subject to
1831          * change.</p> <p>Revokes authorization from the specified instance to access the
1832          * specified Amazon Lex or Amazon Lex V2 bot. </p><p><h3>See Also:</h3>   <a
1833          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot">AWS
1834          * API Reference</a></p>
1835          *
1836          * returns a future to the operation so that it can be executed in parallel to other requests.
1837          */
1838         virtual Model::DisassociateBotOutcomeCallable DisassociateBotCallable(const Model::DisassociateBotRequest& request) const;
1839 
1840         /**
1841          * <p>This API is in preview release for Amazon Connect and is subject to
1842          * change.</p> <p>Revokes authorization from the specified instance to access the
1843          * specified Amazon Lex or Amazon Lex V2 bot. </p><p><h3>See Also:</h3>   <a
1844          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot">AWS
1845          * API Reference</a></p>
1846          *
1847          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1848          */
1849         virtual void DisassociateBotAsync(const Model::DisassociateBotRequest& request, const DisassociateBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1850 
1851         /**
1852          * <p>This API is in preview release for Amazon Connect and is subject to
1853          * change.</p> <p>Removes the storage type configurations for the specified
1854          * resource type and association ID.</p><p><h3>See Also:</h3>   <a
1855          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig">AWS
1856          * API Reference</a></p>
1857          */
1858         virtual Model::DisassociateInstanceStorageConfigOutcome DisassociateInstanceStorageConfig(const Model::DisassociateInstanceStorageConfigRequest& request) const;
1859 
1860         /**
1861          * <p>This API is in preview release for Amazon Connect and is subject to
1862          * change.</p> <p>Removes the storage type configurations for the specified
1863          * resource type and association ID.</p><p><h3>See Also:</h3>   <a
1864          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig">AWS
1865          * API Reference</a></p>
1866          *
1867          * returns a future to the operation so that it can be executed in parallel to other requests.
1868          */
1869         virtual Model::DisassociateInstanceStorageConfigOutcomeCallable DisassociateInstanceStorageConfigCallable(const Model::DisassociateInstanceStorageConfigRequest& request) const;
1870 
1871         /**
1872          * <p>This API is in preview release for Amazon Connect and is subject to
1873          * change.</p> <p>Removes the storage type configurations for the specified
1874          * resource type and association ID.</p><p><h3>See Also:</h3>   <a
1875          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig">AWS
1876          * API Reference</a></p>
1877          *
1878          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1879          */
1880         virtual void DisassociateInstanceStorageConfigAsync(const Model::DisassociateInstanceStorageConfigRequest& request, const DisassociateInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1881 
1882         /**
1883          * <p>This API is in preview release for Amazon Connect and is subject to
1884          * change.</p> <p>Remove the Lambda function from the dropdown options available in
1885          * the relevant contact flow blocks.</p><p><h3>See Also:</h3>   <a
1886          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction">AWS
1887          * API Reference</a></p>
1888          */
1889         virtual Model::DisassociateLambdaFunctionOutcome DisassociateLambdaFunction(const Model::DisassociateLambdaFunctionRequest& request) const;
1890 
1891         /**
1892          * <p>This API is in preview release for Amazon Connect and is subject to
1893          * change.</p> <p>Remove the Lambda function from the dropdown options available in
1894          * the relevant contact flow blocks.</p><p><h3>See Also:</h3>   <a
1895          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction">AWS
1896          * API Reference</a></p>
1897          *
1898          * returns a future to the operation so that it can be executed in parallel to other requests.
1899          */
1900         virtual Model::DisassociateLambdaFunctionOutcomeCallable DisassociateLambdaFunctionCallable(const Model::DisassociateLambdaFunctionRequest& request) const;
1901 
1902         /**
1903          * <p>This API is in preview release for Amazon Connect and is subject to
1904          * change.</p> <p>Remove the Lambda function from the dropdown options available in
1905          * the relevant contact flow blocks.</p><p><h3>See Also:</h3>   <a
1906          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction">AWS
1907          * API Reference</a></p>
1908          *
1909          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1910          */
1911         virtual void DisassociateLambdaFunctionAsync(const Model::DisassociateLambdaFunctionRequest& request, const DisassociateLambdaFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1912 
1913         /**
1914          * <p>This API is in preview release for Amazon Connect and is subject to
1915          * change.</p> <p>Revokes authorization from the specified instance to access the
1916          * specified Amazon Lex bot.</p><p><h3>See Also:</h3>   <a
1917          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot">AWS
1918          * API Reference</a></p>
1919          */
1920         virtual Model::DisassociateLexBotOutcome DisassociateLexBot(const Model::DisassociateLexBotRequest& request) const;
1921 
1922         /**
1923          * <p>This API is in preview release for Amazon Connect and is subject to
1924          * change.</p> <p>Revokes authorization from the specified instance to access the
1925          * specified Amazon Lex bot.</p><p><h3>See Also:</h3>   <a
1926          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot">AWS
1927          * API Reference</a></p>
1928          *
1929          * returns a future to the operation so that it can be executed in parallel to other requests.
1930          */
1931         virtual Model::DisassociateLexBotOutcomeCallable DisassociateLexBotCallable(const Model::DisassociateLexBotRequest& request) const;
1932 
1933         /**
1934          * <p>This API is in preview release for Amazon Connect and is subject to
1935          * change.</p> <p>Revokes authorization from the specified instance to access the
1936          * specified Amazon Lex bot.</p><p><h3>See Also:</h3>   <a
1937          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot">AWS
1938          * API Reference</a></p>
1939          *
1940          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1941          */
1942         virtual void DisassociateLexBotAsync(const Model::DisassociateLexBotRequest& request, const DisassociateLexBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1943 
1944         /**
1945          * <p>This API is in preview release for Amazon Connect and is subject to
1946          * change.</p> <p>Disassociates a set of quick connects from a queue.</p><p><h3>See
1947          * Also:</h3>   <a
1948          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects">AWS
1949          * API Reference</a></p>
1950          */
1951         virtual Model::DisassociateQueueQuickConnectsOutcome DisassociateQueueQuickConnects(const Model::DisassociateQueueQuickConnectsRequest& request) const;
1952 
1953         /**
1954          * <p>This API is in preview release for Amazon Connect and is subject to
1955          * change.</p> <p>Disassociates a set of quick connects from a queue.</p><p><h3>See
1956          * Also:</h3>   <a
1957          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects">AWS
1958          * API Reference</a></p>
1959          *
1960          * returns a future to the operation so that it can be executed in parallel to other requests.
1961          */
1962         virtual Model::DisassociateQueueQuickConnectsOutcomeCallable DisassociateQueueQuickConnectsCallable(const Model::DisassociateQueueQuickConnectsRequest& request) const;
1963 
1964         /**
1965          * <p>This API is in preview release for Amazon Connect and is subject to
1966          * change.</p> <p>Disassociates a set of quick connects from a queue.</p><p><h3>See
1967          * Also:</h3>   <a
1968          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects">AWS
1969          * API Reference</a></p>
1970          *
1971          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1972          */
1973         virtual void DisassociateQueueQuickConnectsAsync(const Model::DisassociateQueueQuickConnectsRequest& request, const DisassociateQueueQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1974 
1975         /**
1976          * <p>Disassociates a set of queues from a routing profile.</p><p><h3>See
1977          * Also:</h3>   <a
1978          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues">AWS
1979          * API Reference</a></p>
1980          */
1981         virtual Model::DisassociateRoutingProfileQueuesOutcome DisassociateRoutingProfileQueues(const Model::DisassociateRoutingProfileQueuesRequest& request) const;
1982 
1983         /**
1984          * <p>Disassociates a set of queues from a routing profile.</p><p><h3>See
1985          * Also:</h3>   <a
1986          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues">AWS
1987          * API Reference</a></p>
1988          *
1989          * returns a future to the operation so that it can be executed in parallel to other requests.
1990          */
1991         virtual Model::DisassociateRoutingProfileQueuesOutcomeCallable DisassociateRoutingProfileQueuesCallable(const Model::DisassociateRoutingProfileQueuesRequest& request) const;
1992 
1993         /**
1994          * <p>Disassociates a set of queues from a routing profile.</p><p><h3>See
1995          * Also:</h3>   <a
1996          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues">AWS
1997          * API Reference</a></p>
1998          *
1999          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2000          */
2001         virtual void DisassociateRoutingProfileQueuesAsync(const Model::DisassociateRoutingProfileQueuesRequest& request, const DisassociateRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2002 
2003         /**
2004          * <p>This API is in preview release for Amazon Connect and is subject to
2005          * change.</p> <p>Deletes the specified security key.</p><p><h3>See Also:</h3>   <a
2006          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey">AWS
2007          * API Reference</a></p>
2008          */
2009         virtual Model::DisassociateSecurityKeyOutcome DisassociateSecurityKey(const Model::DisassociateSecurityKeyRequest& request) const;
2010 
2011         /**
2012          * <p>This API is in preview release for Amazon Connect and is subject to
2013          * change.</p> <p>Deletes the specified security key.</p><p><h3>See Also:</h3>   <a
2014          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey">AWS
2015          * API Reference</a></p>
2016          *
2017          * returns a future to the operation so that it can be executed in parallel to other requests.
2018          */
2019         virtual Model::DisassociateSecurityKeyOutcomeCallable DisassociateSecurityKeyCallable(const Model::DisassociateSecurityKeyRequest& request) const;
2020 
2021         /**
2022          * <p>This API is in preview release for Amazon Connect and is subject to
2023          * change.</p> <p>Deletes the specified security key.</p><p><h3>See Also:</h3>   <a
2024          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey">AWS
2025          * API Reference</a></p>
2026          *
2027          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2028          */
2029         virtual void DisassociateSecurityKeyAsync(const Model::DisassociateSecurityKeyRequest& request, const DisassociateSecurityKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2030 
2031         /**
2032          * <p>Retrieves the contact attributes for the specified contact.</p><p><h3>See
2033          * Also:</h3>   <a
2034          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes">AWS
2035          * API Reference</a></p>
2036          */
2037         virtual Model::GetContactAttributesOutcome GetContactAttributes(const Model::GetContactAttributesRequest& request) const;
2038 
2039         /**
2040          * <p>Retrieves the contact attributes for the specified contact.</p><p><h3>See
2041          * Also:</h3>   <a
2042          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes">AWS
2043          * API Reference</a></p>
2044          *
2045          * returns a future to the operation so that it can be executed in parallel to other requests.
2046          */
2047         virtual Model::GetContactAttributesOutcomeCallable GetContactAttributesCallable(const Model::GetContactAttributesRequest& request) const;
2048 
2049         /**
2050          * <p>Retrieves the contact attributes for the specified contact.</p><p><h3>See
2051          * Also:</h3>   <a
2052          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes">AWS
2053          * API Reference</a></p>
2054          *
2055          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2056          */
2057         virtual void GetContactAttributesAsync(const Model::GetContactAttributesRequest& request, const GetContactAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2058 
2059         /**
2060          * <p>Gets the real-time metric data from the specified Amazon Connect
2061          * instance.</p> <p>For a description of each metric, see <a
2062          * href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html">Real-time
2063          * Metrics Definitions</a> in the <i>Amazon Connect Administrator
2064          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2065          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData">AWS
2066          * API Reference</a></p>
2067          */
2068         virtual Model::GetCurrentMetricDataOutcome GetCurrentMetricData(const Model::GetCurrentMetricDataRequest& request) const;
2069 
2070         /**
2071          * <p>Gets the real-time metric data from the specified Amazon Connect
2072          * instance.</p> <p>For a description of each metric, see <a
2073          * href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html">Real-time
2074          * Metrics Definitions</a> in the <i>Amazon Connect Administrator
2075          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2076          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData">AWS
2077          * API Reference</a></p>
2078          *
2079          * returns a future to the operation so that it can be executed in parallel to other requests.
2080          */
2081         virtual Model::GetCurrentMetricDataOutcomeCallable GetCurrentMetricDataCallable(const Model::GetCurrentMetricDataRequest& request) const;
2082 
2083         /**
2084          * <p>Gets the real-time metric data from the specified Amazon Connect
2085          * instance.</p> <p>For a description of each metric, see <a
2086          * href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html">Real-time
2087          * Metrics Definitions</a> in the <i>Amazon Connect Administrator
2088          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2089          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData">AWS
2090          * API Reference</a></p>
2091          *
2092          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2093          */
2094         virtual void GetCurrentMetricDataAsync(const Model::GetCurrentMetricDataRequest& request, const GetCurrentMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2095 
2096         /**
2097          * <p>Retrieves a token for federation.</p>  <p>This API doesn't support root
2098          * users. If you try to invoke GetFederationToken with root credentials, an error
2099          * message similar to the following one appears: </p> <p> <code>Provided identity:
2100          * Principal: .... User: .... cannot be used for federation with Amazon
2101          * Connect</code> </p> <p><h3>See Also:</h3>   <a
2102          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken">AWS
2103          * API Reference</a></p>
2104          */
2105         virtual Model::GetFederationTokenOutcome GetFederationToken(const Model::GetFederationTokenRequest& request) const;
2106 
2107         /**
2108          * <p>Retrieves a token for federation.</p>  <p>This API doesn't support root
2109          * users. If you try to invoke GetFederationToken with root credentials, an error
2110          * message similar to the following one appears: </p> <p> <code>Provided identity:
2111          * Principal: .... User: .... cannot be used for federation with Amazon
2112          * Connect</code> </p> <p><h3>See Also:</h3>   <a
2113          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken">AWS
2114          * API Reference</a></p>
2115          *
2116          * returns a future to the operation so that it can be executed in parallel to other requests.
2117          */
2118         virtual Model::GetFederationTokenOutcomeCallable GetFederationTokenCallable(const Model::GetFederationTokenRequest& request) const;
2119 
2120         /**
2121          * <p>Retrieves a token for federation.</p>  <p>This API doesn't support root
2122          * users. If you try to invoke GetFederationToken with root credentials, an error
2123          * message similar to the following one appears: </p> <p> <code>Provided identity:
2124          * Principal: .... User: .... cannot be used for federation with Amazon
2125          * Connect</code> </p> <p><h3>See Also:</h3>   <a
2126          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken">AWS
2127          * API Reference</a></p>
2128          *
2129          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2130          */
2131         virtual void GetFederationTokenAsync(const Model::GetFederationTokenRequest& request, const GetFederationTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2132 
2133         /**
2134          * <p>Gets historical metric data from the specified Amazon Connect instance.</p>
2135          * <p>For a description of each historical metric, see <a
2136          * href="https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html">Historical
2137          * Metrics Definitions</a> in the <i>Amazon Connect Administrator
2138          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2139          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData">AWS
2140          * API Reference</a></p>
2141          */
2142         virtual Model::GetMetricDataOutcome GetMetricData(const Model::GetMetricDataRequest& request) const;
2143 
2144         /**
2145          * <p>Gets historical metric data from the specified Amazon Connect instance.</p>
2146          * <p>For a description of each historical metric, see <a
2147          * href="https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html">Historical
2148          * Metrics Definitions</a> in the <i>Amazon Connect Administrator
2149          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2150          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData">AWS
2151          * API Reference</a></p>
2152          *
2153          * returns a future to the operation so that it can be executed in parallel to other requests.
2154          */
2155         virtual Model::GetMetricDataOutcomeCallable GetMetricDataCallable(const Model::GetMetricDataRequest& request) const;
2156 
2157         /**
2158          * <p>Gets historical metric data from the specified Amazon Connect instance.</p>
2159          * <p>For a description of each historical metric, see <a
2160          * href="https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html">Historical
2161          * Metrics Definitions</a> in the <i>Amazon Connect Administrator
2162          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2163          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData">AWS
2164          * API Reference</a></p>
2165          *
2166          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2167          */
2168         virtual void GetMetricDataAsync(const Model::GetMetricDataRequest& request, const GetMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2169 
2170         /**
2171          * <p>This API is in preview release for Amazon Connect and is subject to
2172          * change.</p> <p>Lists agent statuses.</p><p><h3>See Also:</h3>   <a
2173          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses">AWS
2174          * API Reference</a></p>
2175          */
2176         virtual Model::ListAgentStatusesOutcome ListAgentStatuses(const Model::ListAgentStatusesRequest& request) const;
2177 
2178         /**
2179          * <p>This API is in preview release for Amazon Connect and is subject to
2180          * change.</p> <p>Lists agent statuses.</p><p><h3>See Also:</h3>   <a
2181          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses">AWS
2182          * API Reference</a></p>
2183          *
2184          * returns a future to the operation so that it can be executed in parallel to other requests.
2185          */
2186         virtual Model::ListAgentStatusesOutcomeCallable ListAgentStatusesCallable(const Model::ListAgentStatusesRequest& request) const;
2187 
2188         /**
2189          * <p>This API is in preview release for Amazon Connect and is subject to
2190          * change.</p> <p>Lists agent statuses.</p><p><h3>See Also:</h3>   <a
2191          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses">AWS
2192          * API Reference</a></p>
2193          *
2194          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2195          */
2196         virtual void ListAgentStatusesAsync(const Model::ListAgentStatusesRequest& request, const ListAgentStatusesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2197 
2198         /**
2199          * <p>This API is in preview release for Amazon Connect and is subject to
2200          * change.</p> <p>Returns a paginated list of all approved origins associated with
2201          * the instance.</p><p><h3>See Also:</h3>   <a
2202          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins">AWS
2203          * API Reference</a></p>
2204          */
2205         virtual Model::ListApprovedOriginsOutcome ListApprovedOrigins(const Model::ListApprovedOriginsRequest& request) const;
2206 
2207         /**
2208          * <p>This API is in preview release for Amazon Connect and is subject to
2209          * change.</p> <p>Returns a paginated list of all approved origins associated with
2210          * the instance.</p><p><h3>See Also:</h3>   <a
2211          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins">AWS
2212          * API Reference</a></p>
2213          *
2214          * returns a future to the operation so that it can be executed in parallel to other requests.
2215          */
2216         virtual Model::ListApprovedOriginsOutcomeCallable ListApprovedOriginsCallable(const Model::ListApprovedOriginsRequest& request) const;
2217 
2218         /**
2219          * <p>This API is in preview release for Amazon Connect and is subject to
2220          * change.</p> <p>Returns a paginated list of all approved origins associated with
2221          * the instance.</p><p><h3>See Also:</h3>   <a
2222          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins">AWS
2223          * API Reference</a></p>
2224          *
2225          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2226          */
2227         virtual void ListApprovedOriginsAsync(const Model::ListApprovedOriginsRequest& request, const ListApprovedOriginsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2228 
2229         /**
2230          * <p>This API is in preview release for Amazon Connect and is subject to
2231          * change.</p> <p>For the specified version of Amazon Lex, returns a paginated list
2232          * of all the Amazon Lex bots currently associated with the instance.
2233          * </p><p><h3>See Also:</h3>   <a
2234          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots">AWS
2235          * API Reference</a></p>
2236          */
2237         virtual Model::ListBotsOutcome ListBots(const Model::ListBotsRequest& request) const;
2238 
2239         /**
2240          * <p>This API is in preview release for Amazon Connect and is subject to
2241          * change.</p> <p>For the specified version of Amazon Lex, returns a paginated list
2242          * of all the Amazon Lex bots currently associated with the instance.
2243          * </p><p><h3>See Also:</h3>   <a
2244          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots">AWS
2245          * API Reference</a></p>
2246          *
2247          * returns a future to the operation so that it can be executed in parallel to other requests.
2248          */
2249         virtual Model::ListBotsOutcomeCallable ListBotsCallable(const Model::ListBotsRequest& request) const;
2250 
2251         /**
2252          * <p>This API is in preview release for Amazon Connect and is subject to
2253          * change.</p> <p>For the specified version of Amazon Lex, returns a paginated list
2254          * of all the Amazon Lex bots currently associated with the instance.
2255          * </p><p><h3>See Also:</h3>   <a
2256          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots">AWS
2257          * API Reference</a></p>
2258          *
2259          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2260          */
2261         virtual void ListBotsAsync(const Model::ListBotsRequest& request, const ListBotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2262 
2263         /**
2264          * <p>Provides information about the contact flows for the specified Amazon Connect
2265          * instance.</p> <p>You can also create and update contact flows using the <a
2266          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
2267          * Connect Flow language</a>.</p> <p>For more information about contact flows, see
2268          * <a
2269          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-contact-flows.html">Contact
2270          * Flows</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
2271          * Also:</h3>   <a
2272          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows">AWS
2273          * API Reference</a></p>
2274          */
2275         virtual Model::ListContactFlowsOutcome ListContactFlows(const Model::ListContactFlowsRequest& request) const;
2276 
2277         /**
2278          * <p>Provides information about the contact flows for the specified Amazon Connect
2279          * instance.</p> <p>You can also create and update contact flows using the <a
2280          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
2281          * Connect Flow language</a>.</p> <p>For more information about contact flows, see
2282          * <a
2283          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-contact-flows.html">Contact
2284          * Flows</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
2285          * Also:</h3>   <a
2286          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows">AWS
2287          * API Reference</a></p>
2288          *
2289          * returns a future to the operation so that it can be executed in parallel to other requests.
2290          */
2291         virtual Model::ListContactFlowsOutcomeCallable ListContactFlowsCallable(const Model::ListContactFlowsRequest& request) const;
2292 
2293         /**
2294          * <p>Provides information about the contact flows for the specified Amazon Connect
2295          * instance.</p> <p>You can also create and update contact flows using the <a
2296          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
2297          * Connect Flow language</a>.</p> <p>For more information about contact flows, see
2298          * <a
2299          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-contact-flows.html">Contact
2300          * Flows</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
2301          * Also:</h3>   <a
2302          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows">AWS
2303          * API Reference</a></p>
2304          *
2305          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2306          */
2307         virtual void ListContactFlowsAsync(const Model::ListContactFlowsRequest& request, const ListContactFlowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2308 
2309         /**
2310          * <p>Provides information about the hours of operation for the specified Amazon
2311          * Connect instance.</p> <p>For more information about hours of operation, see <a
2312          * href="https://docs.aws.amazon.com/connect/latest/adminguide/set-hours-operation.html">Set
2313          * the Hours of Operation for a Queue</a> in the <i>Amazon Connect Administrator
2314          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2315          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations">AWS
2316          * API Reference</a></p>
2317          */
2318         virtual Model::ListHoursOfOperationsOutcome ListHoursOfOperations(const Model::ListHoursOfOperationsRequest& request) const;
2319 
2320         /**
2321          * <p>Provides information about the hours of operation for the specified Amazon
2322          * Connect instance.</p> <p>For more information about hours of operation, see <a
2323          * href="https://docs.aws.amazon.com/connect/latest/adminguide/set-hours-operation.html">Set
2324          * the Hours of Operation for a Queue</a> in the <i>Amazon Connect Administrator
2325          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2326          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations">AWS
2327          * API Reference</a></p>
2328          *
2329          * returns a future to the operation so that it can be executed in parallel to other requests.
2330          */
2331         virtual Model::ListHoursOfOperationsOutcomeCallable ListHoursOfOperationsCallable(const Model::ListHoursOfOperationsRequest& request) const;
2332 
2333         /**
2334          * <p>Provides information about the hours of operation for the specified Amazon
2335          * Connect instance.</p> <p>For more information about hours of operation, see <a
2336          * href="https://docs.aws.amazon.com/connect/latest/adminguide/set-hours-operation.html">Set
2337          * the Hours of Operation for a Queue</a> in the <i>Amazon Connect Administrator
2338          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2339          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations">AWS
2340          * API Reference</a></p>
2341          *
2342          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2343          */
2344         virtual void ListHoursOfOperationsAsync(const Model::ListHoursOfOperationsRequest& request, const ListHoursOfOperationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2345 
2346         /**
2347          * <p>This API is in preview release for Amazon Connect and is subject to
2348          * change.</p> <p>Returns a paginated list of all attribute types for the given
2349          * instance.</p><p><h3>See Also:</h3>   <a
2350          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes">AWS
2351          * API Reference</a></p>
2352          */
2353         virtual Model::ListInstanceAttributesOutcome ListInstanceAttributes(const Model::ListInstanceAttributesRequest& request) const;
2354 
2355         /**
2356          * <p>This API is in preview release for Amazon Connect and is subject to
2357          * change.</p> <p>Returns a paginated list of all attribute types for the given
2358          * instance.</p><p><h3>See Also:</h3>   <a
2359          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes">AWS
2360          * API Reference</a></p>
2361          *
2362          * returns a future to the operation so that it can be executed in parallel to other requests.
2363          */
2364         virtual Model::ListInstanceAttributesOutcomeCallable ListInstanceAttributesCallable(const Model::ListInstanceAttributesRequest& request) const;
2365 
2366         /**
2367          * <p>This API is in preview release for Amazon Connect and is subject to
2368          * change.</p> <p>Returns a paginated list of all attribute types for the given
2369          * instance.</p><p><h3>See Also:</h3>   <a
2370          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes">AWS
2371          * API Reference</a></p>
2372          *
2373          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2374          */
2375         virtual void ListInstanceAttributesAsync(const Model::ListInstanceAttributesRequest& request, const ListInstanceAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2376 
2377         /**
2378          * <p>This API is in preview release for Amazon Connect and is subject to
2379          * change.</p> <p>Returns a paginated list of storage configs for the identified
2380          * instance and resource type.</p><p><h3>See Also:</h3>   <a
2381          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs">AWS
2382          * API Reference</a></p>
2383          */
2384         virtual Model::ListInstanceStorageConfigsOutcome ListInstanceStorageConfigs(const Model::ListInstanceStorageConfigsRequest& request) const;
2385 
2386         /**
2387          * <p>This API is in preview release for Amazon Connect and is subject to
2388          * change.</p> <p>Returns a paginated list of storage configs for the identified
2389          * instance and resource type.</p><p><h3>See Also:</h3>   <a
2390          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs">AWS
2391          * API Reference</a></p>
2392          *
2393          * returns a future to the operation so that it can be executed in parallel to other requests.
2394          */
2395         virtual Model::ListInstanceStorageConfigsOutcomeCallable ListInstanceStorageConfigsCallable(const Model::ListInstanceStorageConfigsRequest& request) const;
2396 
2397         /**
2398          * <p>This API is in preview release for Amazon Connect and is subject to
2399          * change.</p> <p>Returns a paginated list of storage configs for the identified
2400          * instance and resource type.</p><p><h3>See Also:</h3>   <a
2401          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs">AWS
2402          * API Reference</a></p>
2403          *
2404          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2405          */
2406         virtual void ListInstanceStorageConfigsAsync(const Model::ListInstanceStorageConfigsRequest& request, const ListInstanceStorageConfigsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2407 
2408         /**
2409          * <p>This API is in preview release for Amazon Connect and is subject to
2410          * change.</p> <p>Return a list of instances which are in active state,
2411          * creation-in-progress state, and failed state. Instances that aren't successfully
2412          * created (they are in a failed state) are returned only for 24 hours after the
2413          * CreateInstance API was invoked.</p><p><h3>See Also:</h3>   <a
2414          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances">AWS
2415          * API Reference</a></p>
2416          */
2417         virtual Model::ListInstancesOutcome ListInstances(const Model::ListInstancesRequest& request) const;
2418 
2419         /**
2420          * <p>This API is in preview release for Amazon Connect and is subject to
2421          * change.</p> <p>Return a list of instances which are in active state,
2422          * creation-in-progress state, and failed state. Instances that aren't successfully
2423          * created (they are in a failed state) are returned only for 24 hours after the
2424          * CreateInstance API was invoked.</p><p><h3>See Also:</h3>   <a
2425          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances">AWS
2426          * API Reference</a></p>
2427          *
2428          * returns a future to the operation so that it can be executed in parallel to other requests.
2429          */
2430         virtual Model::ListInstancesOutcomeCallable ListInstancesCallable(const Model::ListInstancesRequest& request) const;
2431 
2432         /**
2433          * <p>This API is in preview release for Amazon Connect and is subject to
2434          * change.</p> <p>Return a list of instances which are in active state,
2435          * creation-in-progress state, and failed state. Instances that aren't successfully
2436          * created (they are in a failed state) are returned only for 24 hours after the
2437          * CreateInstance API was invoked.</p><p><h3>See Also:</h3>   <a
2438          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances">AWS
2439          * API Reference</a></p>
2440          *
2441          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2442          */
2443         virtual void ListInstancesAsync(const Model::ListInstancesRequest& request, const ListInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2444 
2445         /**
2446          * <p>Provides summary information about the AWS resource associations for the
2447          * specified Amazon Connect instance.</p><p><h3>See Also:</h3>   <a
2448          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations">AWS
2449          * API Reference</a></p>
2450          */
2451         virtual Model::ListIntegrationAssociationsOutcome ListIntegrationAssociations(const Model::ListIntegrationAssociationsRequest& request) const;
2452 
2453         /**
2454          * <p>Provides summary information about the AWS resource associations for the
2455          * specified Amazon Connect instance.</p><p><h3>See Also:</h3>   <a
2456          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations">AWS
2457          * API Reference</a></p>
2458          *
2459          * returns a future to the operation so that it can be executed in parallel to other requests.
2460          */
2461         virtual Model::ListIntegrationAssociationsOutcomeCallable ListIntegrationAssociationsCallable(const Model::ListIntegrationAssociationsRequest& request) const;
2462 
2463         /**
2464          * <p>Provides summary information about the AWS resource associations for the
2465          * specified Amazon Connect instance.</p><p><h3>See Also:</h3>   <a
2466          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations">AWS
2467          * API Reference</a></p>
2468          *
2469          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2470          */
2471         virtual void ListIntegrationAssociationsAsync(const Model::ListIntegrationAssociationsRequest& request, const ListIntegrationAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2472 
2473         /**
2474          * <p>This API is in preview release for Amazon Connect and is subject to
2475          * change.</p> <p>Returns a paginated list of all Lambda functions that display in
2476          * the dropdown options in the relevant contact flow blocks.</p><p><h3>See
2477          * Also:</h3>   <a
2478          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions">AWS
2479          * API Reference</a></p>
2480          */
2481         virtual Model::ListLambdaFunctionsOutcome ListLambdaFunctions(const Model::ListLambdaFunctionsRequest& request) const;
2482 
2483         /**
2484          * <p>This API is in preview release for Amazon Connect and is subject to
2485          * change.</p> <p>Returns a paginated list of all Lambda functions that display in
2486          * the dropdown options in the relevant contact flow blocks.</p><p><h3>See
2487          * Also:</h3>   <a
2488          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions">AWS
2489          * API Reference</a></p>
2490          *
2491          * returns a future to the operation so that it can be executed in parallel to other requests.
2492          */
2493         virtual Model::ListLambdaFunctionsOutcomeCallable ListLambdaFunctionsCallable(const Model::ListLambdaFunctionsRequest& request) const;
2494 
2495         /**
2496          * <p>This API is in preview release for Amazon Connect and is subject to
2497          * change.</p> <p>Returns a paginated list of all Lambda functions that display in
2498          * the dropdown options in the relevant contact flow blocks.</p><p><h3>See
2499          * Also:</h3>   <a
2500          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions">AWS
2501          * API Reference</a></p>
2502          *
2503          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2504          */
2505         virtual void ListLambdaFunctionsAsync(const Model::ListLambdaFunctionsRequest& request, const ListLambdaFunctionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2506 
2507         /**
2508          * <p>This API is in preview release for Amazon Connect and is subject to
2509          * change.</p> <p>Returns a paginated list of all the Amazon Lex bots currently
2510          * associated with the instance.</p><p><h3>See Also:</h3>   <a
2511          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots">AWS
2512          * API Reference</a></p>
2513          */
2514         virtual Model::ListLexBotsOutcome ListLexBots(const Model::ListLexBotsRequest& request) const;
2515 
2516         /**
2517          * <p>This API is in preview release for Amazon Connect and is subject to
2518          * change.</p> <p>Returns a paginated list of all the Amazon Lex bots currently
2519          * associated with the instance.</p><p><h3>See Also:</h3>   <a
2520          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots">AWS
2521          * API Reference</a></p>
2522          *
2523          * returns a future to the operation so that it can be executed in parallel to other requests.
2524          */
2525         virtual Model::ListLexBotsOutcomeCallable ListLexBotsCallable(const Model::ListLexBotsRequest& request) const;
2526 
2527         /**
2528          * <p>This API is in preview release for Amazon Connect and is subject to
2529          * change.</p> <p>Returns a paginated list of all the Amazon Lex bots currently
2530          * associated with the instance.</p><p><h3>See Also:</h3>   <a
2531          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots">AWS
2532          * API Reference</a></p>
2533          *
2534          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2535          */
2536         virtual void ListLexBotsAsync(const Model::ListLexBotsRequest& request, const ListLexBotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2537 
2538         /**
2539          * <p>Provides information about the phone numbers for the specified Amazon Connect
2540          * instance. </p> <p>For more information about phone numbers, see <a
2541          * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-center-phone-number.html">Set
2542          * Up Phone Numbers for Your Contact Center</a> in the <i>Amazon Connect
2543          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
2544          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers">AWS
2545          * API Reference</a></p>
2546          */
2547         virtual Model::ListPhoneNumbersOutcome ListPhoneNumbers(const Model::ListPhoneNumbersRequest& request) const;
2548 
2549         /**
2550          * <p>Provides information about the phone numbers for the specified Amazon Connect
2551          * instance. </p> <p>For more information about phone numbers, see <a
2552          * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-center-phone-number.html">Set
2553          * Up Phone Numbers for Your Contact Center</a> in the <i>Amazon Connect
2554          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
2555          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers">AWS
2556          * API Reference</a></p>
2557          *
2558          * returns a future to the operation so that it can be executed in parallel to other requests.
2559          */
2560         virtual Model::ListPhoneNumbersOutcomeCallable ListPhoneNumbersCallable(const Model::ListPhoneNumbersRequest& request) const;
2561 
2562         /**
2563          * <p>Provides information about the phone numbers for the specified Amazon Connect
2564          * instance. </p> <p>For more information about phone numbers, see <a
2565          * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-center-phone-number.html">Set
2566          * Up Phone Numbers for Your Contact Center</a> in the <i>Amazon Connect
2567          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
2568          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers">AWS
2569          * API Reference</a></p>
2570          *
2571          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2572          */
2573         virtual void ListPhoneNumbersAsync(const Model::ListPhoneNumbersRequest& request, const ListPhoneNumbersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2574 
2575         /**
2576          * <p>Provides information about the prompts for the specified Amazon Connect
2577          * instance.</p><p><h3>See Also:</h3>   <a
2578          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts">AWS
2579          * API Reference</a></p>
2580          */
2581         virtual Model::ListPromptsOutcome ListPrompts(const Model::ListPromptsRequest& request) const;
2582 
2583         /**
2584          * <p>Provides information about the prompts for the specified Amazon Connect
2585          * instance.</p><p><h3>See Also:</h3>   <a
2586          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts">AWS
2587          * API Reference</a></p>
2588          *
2589          * returns a future to the operation so that it can be executed in parallel to other requests.
2590          */
2591         virtual Model::ListPromptsOutcomeCallable ListPromptsCallable(const Model::ListPromptsRequest& request) const;
2592 
2593         /**
2594          * <p>Provides information about the prompts for the specified Amazon Connect
2595          * instance.</p><p><h3>See Also:</h3>   <a
2596          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts">AWS
2597          * API Reference</a></p>
2598          *
2599          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2600          */
2601         virtual void ListPromptsAsync(const Model::ListPromptsRequest& request, const ListPromptsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2602 
2603         /**
2604          * <p>This API is in preview release for Amazon Connect and is subject to
2605          * change.</p> <p>Lists the quick connects associated with a queue.</p><p><h3>See
2606          * Also:</h3>   <a
2607          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects">AWS
2608          * API Reference</a></p>
2609          */
2610         virtual Model::ListQueueQuickConnectsOutcome ListQueueQuickConnects(const Model::ListQueueQuickConnectsRequest& request) const;
2611 
2612         /**
2613          * <p>This API is in preview release for Amazon Connect and is subject to
2614          * change.</p> <p>Lists the quick connects associated with a queue.</p><p><h3>See
2615          * Also:</h3>   <a
2616          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects">AWS
2617          * API Reference</a></p>
2618          *
2619          * returns a future to the operation so that it can be executed in parallel to other requests.
2620          */
2621         virtual Model::ListQueueQuickConnectsOutcomeCallable ListQueueQuickConnectsCallable(const Model::ListQueueQuickConnectsRequest& request) const;
2622 
2623         /**
2624          * <p>This API is in preview release for Amazon Connect and is subject to
2625          * change.</p> <p>Lists the quick connects associated with a queue.</p><p><h3>See
2626          * Also:</h3>   <a
2627          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects">AWS
2628          * API Reference</a></p>
2629          *
2630          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2631          */
2632         virtual void ListQueueQuickConnectsAsync(const Model::ListQueueQuickConnectsRequest& request, const ListQueueQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2633 
2634         /**
2635          * <p>Provides information about the queues for the specified Amazon Connect
2636          * instance.</p> <p>If you do not specify a <code>QueueTypes</code> parameter, both
2637          * standard and agent queues are returned. This might cause an unexpected
2638          * truncation of results if you have more than 1000 agents and you limit the number
2639          * of results of the API call in code.</p> <p>For more information about queues,
2640          * see <a
2641          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-queues-standard-and-agent.html">Queues:
2642          * Standard and Agent</a> in the <i>Amazon Connect Administrator
2643          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2644          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues">AWS
2645          * API Reference</a></p>
2646          */
2647         virtual Model::ListQueuesOutcome ListQueues(const Model::ListQueuesRequest& request) const;
2648 
2649         /**
2650          * <p>Provides information about the queues for the specified Amazon Connect
2651          * instance.</p> <p>If you do not specify a <code>QueueTypes</code> parameter, both
2652          * standard and agent queues are returned. This might cause an unexpected
2653          * truncation of results if you have more than 1000 agents and you limit the number
2654          * of results of the API call in code.</p> <p>For more information about queues,
2655          * see <a
2656          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-queues-standard-and-agent.html">Queues:
2657          * Standard and Agent</a> in the <i>Amazon Connect Administrator
2658          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2659          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues">AWS
2660          * API Reference</a></p>
2661          *
2662          * returns a future to the operation so that it can be executed in parallel to other requests.
2663          */
2664         virtual Model::ListQueuesOutcomeCallable ListQueuesCallable(const Model::ListQueuesRequest& request) const;
2665 
2666         /**
2667          * <p>Provides information about the queues for the specified Amazon Connect
2668          * instance.</p> <p>If you do not specify a <code>QueueTypes</code> parameter, both
2669          * standard and agent queues are returned. This might cause an unexpected
2670          * truncation of results if you have more than 1000 agents and you limit the number
2671          * of results of the API call in code.</p> <p>For more information about queues,
2672          * see <a
2673          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-queues-standard-and-agent.html">Queues:
2674          * Standard and Agent</a> in the <i>Amazon Connect Administrator
2675          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2676          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues">AWS
2677          * API Reference</a></p>
2678          *
2679          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2680          */
2681         virtual void ListQueuesAsync(const Model::ListQueuesRequest& request, const ListQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2682 
2683         /**
2684          * <p>Provides information about the quick connects for the specified Amazon
2685          * Connect instance. </p><p><h3>See Also:</h3>   <a
2686          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects">AWS
2687          * API Reference</a></p>
2688          */
2689         virtual Model::ListQuickConnectsOutcome ListQuickConnects(const Model::ListQuickConnectsRequest& request) const;
2690 
2691         /**
2692          * <p>Provides information about the quick connects for the specified Amazon
2693          * Connect instance. </p><p><h3>See Also:</h3>   <a
2694          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects">AWS
2695          * API Reference</a></p>
2696          *
2697          * returns a future to the operation so that it can be executed in parallel to other requests.
2698          */
2699         virtual Model::ListQuickConnectsOutcomeCallable ListQuickConnectsCallable(const Model::ListQuickConnectsRequest& request) const;
2700 
2701         /**
2702          * <p>Provides information about the quick connects for the specified Amazon
2703          * Connect instance. </p><p><h3>See Also:</h3>   <a
2704          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects">AWS
2705          * API Reference</a></p>
2706          *
2707          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2708          */
2709         virtual void ListQuickConnectsAsync(const Model::ListQuickConnectsRequest& request, const ListQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2710 
2711         /**
2712          * <p>Lists the queues associated with a routing profile.</p><p><h3>See Also:</h3>
2713          * <a
2714          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues">AWS
2715          * API Reference</a></p>
2716          */
2717         virtual Model::ListRoutingProfileQueuesOutcome ListRoutingProfileQueues(const Model::ListRoutingProfileQueuesRequest& request) const;
2718 
2719         /**
2720          * <p>Lists the queues associated with a routing profile.</p><p><h3>See Also:</h3>
2721          * <a
2722          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues">AWS
2723          * API Reference</a></p>
2724          *
2725          * returns a future to the operation so that it can be executed in parallel to other requests.
2726          */
2727         virtual Model::ListRoutingProfileQueuesOutcomeCallable ListRoutingProfileQueuesCallable(const Model::ListRoutingProfileQueuesRequest& request) const;
2728 
2729         /**
2730          * <p>Lists the queues associated with a routing profile.</p><p><h3>See Also:</h3>
2731          * <a
2732          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues">AWS
2733          * API Reference</a></p>
2734          *
2735          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2736          */
2737         virtual void ListRoutingProfileQueuesAsync(const Model::ListRoutingProfileQueuesRequest& request, const ListRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2738 
2739         /**
2740          * <p>Provides summary information about the routing profiles for the specified
2741          * Amazon Connect instance.</p> <p>For more information about routing profiles, see
2742          * <a
2743          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing.html">Routing
2744          * Profiles</a> and <a
2745          * href="https://docs.aws.amazon.com/connect/latest/adminguide/routing-profiles.html">Create
2746          * a Routing Profile</a> in the <i>Amazon Connect Administrator
2747          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2748          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles">AWS
2749          * API Reference</a></p>
2750          */
2751         virtual Model::ListRoutingProfilesOutcome ListRoutingProfiles(const Model::ListRoutingProfilesRequest& request) const;
2752 
2753         /**
2754          * <p>Provides summary information about the routing profiles for the specified
2755          * Amazon Connect instance.</p> <p>For more information about routing profiles, see
2756          * <a
2757          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing.html">Routing
2758          * Profiles</a> and <a
2759          * href="https://docs.aws.amazon.com/connect/latest/adminguide/routing-profiles.html">Create
2760          * a Routing Profile</a> in the <i>Amazon Connect Administrator
2761          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2762          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles">AWS
2763          * API Reference</a></p>
2764          *
2765          * returns a future to the operation so that it can be executed in parallel to other requests.
2766          */
2767         virtual Model::ListRoutingProfilesOutcomeCallable ListRoutingProfilesCallable(const Model::ListRoutingProfilesRequest& request) const;
2768 
2769         /**
2770          * <p>Provides summary information about the routing profiles for the specified
2771          * Amazon Connect instance.</p> <p>For more information about routing profiles, see
2772          * <a
2773          * href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing.html">Routing
2774          * Profiles</a> and <a
2775          * href="https://docs.aws.amazon.com/connect/latest/adminguide/routing-profiles.html">Create
2776          * a Routing Profile</a> in the <i>Amazon Connect Administrator
2777          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2778          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles">AWS
2779          * API Reference</a></p>
2780          *
2781          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2782          */
2783         virtual void ListRoutingProfilesAsync(const Model::ListRoutingProfilesRequest& request, const ListRoutingProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2784 
2785         /**
2786          * <p>This API is in preview release for Amazon Connect and is subject to
2787          * change.</p> <p>Returns a paginated list of all security keys associated with the
2788          * instance.</p><p><h3>See Also:</h3>   <a
2789          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys">AWS
2790          * API Reference</a></p>
2791          */
2792         virtual Model::ListSecurityKeysOutcome ListSecurityKeys(const Model::ListSecurityKeysRequest& request) const;
2793 
2794         /**
2795          * <p>This API is in preview release for Amazon Connect and is subject to
2796          * change.</p> <p>Returns a paginated list of all security keys associated with the
2797          * instance.</p><p><h3>See Also:</h3>   <a
2798          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys">AWS
2799          * API Reference</a></p>
2800          *
2801          * returns a future to the operation so that it can be executed in parallel to other requests.
2802          */
2803         virtual Model::ListSecurityKeysOutcomeCallable ListSecurityKeysCallable(const Model::ListSecurityKeysRequest& request) const;
2804 
2805         /**
2806          * <p>This API is in preview release for Amazon Connect and is subject to
2807          * change.</p> <p>Returns a paginated list of all security keys associated with the
2808          * instance.</p><p><h3>See Also:</h3>   <a
2809          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys">AWS
2810          * API Reference</a></p>
2811          *
2812          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2813          */
2814         virtual void ListSecurityKeysAsync(const Model::ListSecurityKeysRequest& request, const ListSecurityKeysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2815 
2816         /**
2817          * <p>Provides summary information about the security profiles for the specified
2818          * Amazon Connect instance.</p> <p>For more information about security profiles,
2819          * see <a
2820          * href="https://docs.aws.amazon.com/connect/latest/adminguide/connect-security-profiles.html">Security
2821          * Profiles</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
2822          * Also:</h3>   <a
2823          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles">AWS
2824          * API Reference</a></p>
2825          */
2826         virtual Model::ListSecurityProfilesOutcome ListSecurityProfiles(const Model::ListSecurityProfilesRequest& request) const;
2827 
2828         /**
2829          * <p>Provides summary information about the security profiles for the specified
2830          * Amazon Connect instance.</p> <p>For more information about security profiles,
2831          * see <a
2832          * href="https://docs.aws.amazon.com/connect/latest/adminguide/connect-security-profiles.html">Security
2833          * Profiles</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
2834          * Also:</h3>   <a
2835          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles">AWS
2836          * API Reference</a></p>
2837          *
2838          * returns a future to the operation so that it can be executed in parallel to other requests.
2839          */
2840         virtual Model::ListSecurityProfilesOutcomeCallable ListSecurityProfilesCallable(const Model::ListSecurityProfilesRequest& request) const;
2841 
2842         /**
2843          * <p>Provides summary information about the security profiles for the specified
2844          * Amazon Connect instance.</p> <p>For more information about security profiles,
2845          * see <a
2846          * href="https://docs.aws.amazon.com/connect/latest/adminguide/connect-security-profiles.html">Security
2847          * Profiles</a> in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See
2848          * Also:</h3>   <a
2849          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles">AWS
2850          * API Reference</a></p>
2851          *
2852          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2853          */
2854         virtual void ListSecurityProfilesAsync(const Model::ListSecurityProfilesRequest& request, const ListSecurityProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2855 
2856         /**
2857          * <p>Lists the tags for the specified resource.</p> <p>For sample policies that
2858          * use tags, see <a
2859          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html">Amazon
2860          * Connect Identity-Based Policy Examples</a> in the <i>Amazon Connect
2861          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
2862          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource">AWS
2863          * API Reference</a></p>
2864          */
2865         virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
2866 
2867         /**
2868          * <p>Lists the tags for the specified resource.</p> <p>For sample policies that
2869          * use tags, see <a
2870          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html">Amazon
2871          * Connect Identity-Based Policy Examples</a> in the <i>Amazon Connect
2872          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
2873          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource">AWS
2874          * API Reference</a></p>
2875          *
2876          * returns a future to the operation so that it can be executed in parallel to other requests.
2877          */
2878         virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
2879 
2880         /**
2881          * <p>Lists the tags for the specified resource.</p> <p>For sample policies that
2882          * use tags, see <a
2883          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html">Amazon
2884          * Connect Identity-Based Policy Examples</a> in the <i>Amazon Connect
2885          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
2886          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource">AWS
2887          * API Reference</a></p>
2888          *
2889          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2890          */
2891         virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2892 
2893         /**
2894          * <p>Lists the use cases for the integration association. </p><p><h3>See
2895          * Also:</h3>   <a
2896          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases">AWS
2897          * API Reference</a></p>
2898          */
2899         virtual Model::ListUseCasesOutcome ListUseCases(const Model::ListUseCasesRequest& request) const;
2900 
2901         /**
2902          * <p>Lists the use cases for the integration association. </p><p><h3>See
2903          * Also:</h3>   <a
2904          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases">AWS
2905          * API Reference</a></p>
2906          *
2907          * returns a future to the operation so that it can be executed in parallel to other requests.
2908          */
2909         virtual Model::ListUseCasesOutcomeCallable ListUseCasesCallable(const Model::ListUseCasesRequest& request) const;
2910 
2911         /**
2912          * <p>Lists the use cases for the integration association. </p><p><h3>See
2913          * Also:</h3>   <a
2914          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases">AWS
2915          * API Reference</a></p>
2916          *
2917          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2918          */
2919         virtual void ListUseCasesAsync(const Model::ListUseCasesRequest& request, const ListUseCasesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2920 
2921         /**
2922          * <p>Provides summary information about the hierarchy groups for the specified
2923          * Amazon Connect instance.</p> <p>For more information about agent hierarchies,
2924          * see <a
2925          * href="https://docs.aws.amazon.com/connect/latest/adminguide/agent-hierarchy.html">Set
2926          * Up Agent Hierarchies</a> in the <i>Amazon Connect Administrator
2927          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2928          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups">AWS
2929          * API Reference</a></p>
2930          */
2931         virtual Model::ListUserHierarchyGroupsOutcome ListUserHierarchyGroups(const Model::ListUserHierarchyGroupsRequest& request) const;
2932 
2933         /**
2934          * <p>Provides summary information about the hierarchy groups for the specified
2935          * Amazon Connect instance.</p> <p>For more information about agent hierarchies,
2936          * see <a
2937          * href="https://docs.aws.amazon.com/connect/latest/adminguide/agent-hierarchy.html">Set
2938          * Up Agent Hierarchies</a> in the <i>Amazon Connect Administrator
2939          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2940          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups">AWS
2941          * API Reference</a></p>
2942          *
2943          * returns a future to the operation so that it can be executed in parallel to other requests.
2944          */
2945         virtual Model::ListUserHierarchyGroupsOutcomeCallable ListUserHierarchyGroupsCallable(const Model::ListUserHierarchyGroupsRequest& request) const;
2946 
2947         /**
2948          * <p>Provides summary information about the hierarchy groups for the specified
2949          * Amazon Connect instance.</p> <p>For more information about agent hierarchies,
2950          * see <a
2951          * href="https://docs.aws.amazon.com/connect/latest/adminguide/agent-hierarchy.html">Set
2952          * Up Agent Hierarchies</a> in the <i>Amazon Connect Administrator
2953          * Guide</i>.</p><p><h3>See Also:</h3>   <a
2954          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups">AWS
2955          * API Reference</a></p>
2956          *
2957          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2958          */
2959         virtual void ListUserHierarchyGroupsAsync(const Model::ListUserHierarchyGroupsRequest& request, const ListUserHierarchyGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2960 
2961         /**
2962          * <p>Provides summary information about the users for the specified Amazon Connect
2963          * instance.</p><p><h3>See Also:</h3>   <a
2964          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers">AWS
2965          * API Reference</a></p>
2966          */
2967         virtual Model::ListUsersOutcome ListUsers(const Model::ListUsersRequest& request) const;
2968 
2969         /**
2970          * <p>Provides summary information about the users for the specified Amazon Connect
2971          * instance.</p><p><h3>See Also:</h3>   <a
2972          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers">AWS
2973          * API Reference</a></p>
2974          *
2975          * returns a future to the operation so that it can be executed in parallel to other requests.
2976          */
2977         virtual Model::ListUsersOutcomeCallable ListUsersCallable(const Model::ListUsersRequest& request) const;
2978 
2979         /**
2980          * <p>Provides summary information about the users for the specified Amazon Connect
2981          * instance.</p><p><h3>See Also:</h3>   <a
2982          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers">AWS
2983          * API Reference</a></p>
2984          *
2985          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2986          */
2987         virtual void ListUsersAsync(const Model::ListUsersRequest& request, const ListUsersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2988 
2989         /**
2990          * <p>When a contact is being recorded, and the recording has been suspended using
2991          * SuspendContactRecording, this API resumes recording the call.</p> <p>Only voice
2992          * recordings are supported at this time.</p><p><h3>See Also:</h3>   <a
2993          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording">AWS
2994          * API Reference</a></p>
2995          */
2996         virtual Model::ResumeContactRecordingOutcome ResumeContactRecording(const Model::ResumeContactRecordingRequest& request) const;
2997 
2998         /**
2999          * <p>When a contact is being recorded, and the recording has been suspended using
3000          * SuspendContactRecording, this API resumes recording the call.</p> <p>Only voice
3001          * recordings are supported at this time.</p><p><h3>See Also:</h3>   <a
3002          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording">AWS
3003          * API Reference</a></p>
3004          *
3005          * returns a future to the operation so that it can be executed in parallel to other requests.
3006          */
3007         virtual Model::ResumeContactRecordingOutcomeCallable ResumeContactRecordingCallable(const Model::ResumeContactRecordingRequest& request) const;
3008 
3009         /**
3010          * <p>When a contact is being recorded, and the recording has been suspended using
3011          * SuspendContactRecording, this API resumes recording the call.</p> <p>Only voice
3012          * recordings are supported at this time.</p><p><h3>See Also:</h3>   <a
3013          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording">AWS
3014          * API Reference</a></p>
3015          *
3016          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3017          */
3018         virtual void ResumeContactRecordingAsync(const Model::ResumeContactRecordingRequest& request, const ResumeContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3019 
3020         /**
3021          * <p>Initiates a contact flow to start a new chat for the customer. Response of
3022          * this API provides a token required to obtain credentials from the <a
3023          * href="https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html">CreateParticipantConnection</a>
3024          * API in the Amazon Connect Participant Service.</p> <p>When a new chat contact is
3025          * successfully created, clients must subscribe to the participant’s connection for
3026          * the created chat within 5 minutes. This is achieved by invoking <a
3027          * href="https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html">CreateParticipantConnection</a>
3028          * with WEBSOCKET and CONNECTION_CREDENTIALS. </p> <p>A 429 error occurs in two
3029          * situations:</p> <ul> <li> <p>API rate limit is exceeded. API TPS throttling
3030          * returns a <code>TooManyRequests</code> exception.</p> </li> <li> <p>The <a
3031          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">quota
3032          * for concurrent active chats</a> is exceeded. Active chat throttling returns a
3033          * <code>LimitExceededException</code>.</p> </li> </ul> <p>For more information
3034          * about chat, see <a
3035          * href="https://docs.aws.amazon.com/connect/latest/adminguide/chat.html">Chat</a>
3036          * in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
3037          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact">AWS
3038          * API Reference</a></p>
3039          */
3040         virtual Model::StartChatContactOutcome StartChatContact(const Model::StartChatContactRequest& request) const;
3041 
3042         /**
3043          * <p>Initiates a contact flow to start a new chat for the customer. Response of
3044          * this API provides a token required to obtain credentials from the <a
3045          * href="https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html">CreateParticipantConnection</a>
3046          * API in the Amazon Connect Participant Service.</p> <p>When a new chat contact is
3047          * successfully created, clients must subscribe to the participant’s connection for
3048          * the created chat within 5 minutes. This is achieved by invoking <a
3049          * href="https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html">CreateParticipantConnection</a>
3050          * with WEBSOCKET and CONNECTION_CREDENTIALS. </p> <p>A 429 error occurs in two
3051          * situations:</p> <ul> <li> <p>API rate limit is exceeded. API TPS throttling
3052          * returns a <code>TooManyRequests</code> exception.</p> </li> <li> <p>The <a
3053          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">quota
3054          * for concurrent active chats</a> is exceeded. Active chat throttling returns a
3055          * <code>LimitExceededException</code>.</p> </li> </ul> <p>For more information
3056          * about chat, see <a
3057          * href="https://docs.aws.amazon.com/connect/latest/adminguide/chat.html">Chat</a>
3058          * in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
3059          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact">AWS
3060          * API Reference</a></p>
3061          *
3062          * returns a future to the operation so that it can be executed in parallel to other requests.
3063          */
3064         virtual Model::StartChatContactOutcomeCallable StartChatContactCallable(const Model::StartChatContactRequest& request) const;
3065 
3066         /**
3067          * <p>Initiates a contact flow to start a new chat for the customer. Response of
3068          * this API provides a token required to obtain credentials from the <a
3069          * href="https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html">CreateParticipantConnection</a>
3070          * API in the Amazon Connect Participant Service.</p> <p>When a new chat contact is
3071          * successfully created, clients must subscribe to the participant’s connection for
3072          * the created chat within 5 minutes. This is achieved by invoking <a
3073          * href="https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html">CreateParticipantConnection</a>
3074          * with WEBSOCKET and CONNECTION_CREDENTIALS. </p> <p>A 429 error occurs in two
3075          * situations:</p> <ul> <li> <p>API rate limit is exceeded. API TPS throttling
3076          * returns a <code>TooManyRequests</code> exception.</p> </li> <li> <p>The <a
3077          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">quota
3078          * for concurrent active chats</a> is exceeded. Active chat throttling returns a
3079          * <code>LimitExceededException</code>.</p> </li> </ul> <p>For more information
3080          * about chat, see <a
3081          * href="https://docs.aws.amazon.com/connect/latest/adminguide/chat.html">Chat</a>
3082          * in the <i>Amazon Connect Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
3083          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact">AWS
3084          * API Reference</a></p>
3085          *
3086          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3087          */
3088         virtual void StartChatContactAsync(const Model::StartChatContactRequest& request, const StartChatContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3089 
3090         /**
3091          * <p>Starts recording the contact when the agent joins the call.
3092          * StartContactRecording is a one-time action. For example, if you use
3093          * StopContactRecording to stop recording an ongoing call, you can't use
3094          * StartContactRecording to restart it. For scenarios where the recording has
3095          * started and you want to suspend and resume it, such as when collecting sensitive
3096          * information (for example, a credit card number), use SuspendContactRecording and
3097          * ResumeContactRecording.</p> <p>You can use this API to override the recording
3098          * behavior configured in the <a
3099          * href="https://docs.aws.amazon.com/connect/latest/adminguide/set-recording-behavior.html">Set
3100          * recording behavior</a> block.</p> <p>Only voice recordings are supported at this
3101          * time.</p><p><h3>See Also:</h3>   <a
3102          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording">AWS
3103          * API Reference</a></p>
3104          */
3105         virtual Model::StartContactRecordingOutcome StartContactRecording(const Model::StartContactRecordingRequest& request) const;
3106 
3107         /**
3108          * <p>Starts recording the contact when the agent joins the call.
3109          * StartContactRecording is a one-time action. For example, if you use
3110          * StopContactRecording to stop recording an ongoing call, you can't use
3111          * StartContactRecording to restart it. For scenarios where the recording has
3112          * started and you want to suspend and resume it, such as when collecting sensitive
3113          * information (for example, a credit card number), use SuspendContactRecording and
3114          * ResumeContactRecording.</p> <p>You can use this API to override the recording
3115          * behavior configured in the <a
3116          * href="https://docs.aws.amazon.com/connect/latest/adminguide/set-recording-behavior.html">Set
3117          * recording behavior</a> block.</p> <p>Only voice recordings are supported at this
3118          * time.</p><p><h3>See Also:</h3>   <a
3119          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording">AWS
3120          * API Reference</a></p>
3121          *
3122          * returns a future to the operation so that it can be executed in parallel to other requests.
3123          */
3124         virtual Model::StartContactRecordingOutcomeCallable StartContactRecordingCallable(const Model::StartContactRecordingRequest& request) const;
3125 
3126         /**
3127          * <p>Starts recording the contact when the agent joins the call.
3128          * StartContactRecording is a one-time action. For example, if you use
3129          * StopContactRecording to stop recording an ongoing call, you can't use
3130          * StartContactRecording to restart it. For scenarios where the recording has
3131          * started and you want to suspend and resume it, such as when collecting sensitive
3132          * information (for example, a credit card number), use SuspendContactRecording and
3133          * ResumeContactRecording.</p> <p>You can use this API to override the recording
3134          * behavior configured in the <a
3135          * href="https://docs.aws.amazon.com/connect/latest/adminguide/set-recording-behavior.html">Set
3136          * recording behavior</a> block.</p> <p>Only voice recordings are supported at this
3137          * time.</p><p><h3>See Also:</h3>   <a
3138          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording">AWS
3139          * API Reference</a></p>
3140          *
3141          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3142          */
3143         virtual void StartContactRecordingAsync(const Model::StartContactRecordingRequest& request, const StartContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3144 
3145         /**
3146          * <p>Places an outbound call to a contact, and then initiates the contact flow. It
3147          * performs the actions in the contact flow that's specified (in
3148          * <code>ContactFlowId</code>).</p> <p>Agents do not initiate the outbound API,
3149          * which means that they do not dial the contact. If the contact flow places an
3150          * outbound call to a contact, and then puts the contact in queue, the call is then
3151          * routed to the agent, like any other inbound case.</p> <p>There is a 60-second
3152          * dialing timeout for this operation. If the call is not connected after 60
3153          * seconds, it fails.</p>  <p>UK numbers with a 447 prefix are not allowed by
3154          * default. Before you can dial these UK mobile numbers, you must submit a service
3155          * quota increase request. For more information, see <a
3156          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
3157          * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.
3158          * </p>   <p>Campaign calls are not allowed by default. Before you can
3159          * make a call with <code>TrafficType</code> = <code>CAMPAIGN</code>, you must
3160          * submit a service quota increase request. For more information, see <a
3161          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
3162          * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.
3163          * </p> <p><h3>See Also:</h3>   <a
3164          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact">AWS
3165          * API Reference</a></p>
3166          */
3167         virtual Model::StartOutboundVoiceContactOutcome StartOutboundVoiceContact(const Model::StartOutboundVoiceContactRequest& request) const;
3168 
3169         /**
3170          * <p>Places an outbound call to a contact, and then initiates the contact flow. It
3171          * performs the actions in the contact flow that's specified (in
3172          * <code>ContactFlowId</code>).</p> <p>Agents do not initiate the outbound API,
3173          * which means that they do not dial the contact. If the contact flow places an
3174          * outbound call to a contact, and then puts the contact in queue, the call is then
3175          * routed to the agent, like any other inbound case.</p> <p>There is a 60-second
3176          * dialing timeout for this operation. If the call is not connected after 60
3177          * seconds, it fails.</p>  <p>UK numbers with a 447 prefix are not allowed by
3178          * default. Before you can dial these UK mobile numbers, you must submit a service
3179          * quota increase request. For more information, see <a
3180          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
3181          * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.
3182          * </p>   <p>Campaign calls are not allowed by default. Before you can
3183          * make a call with <code>TrafficType</code> = <code>CAMPAIGN</code>, you must
3184          * submit a service quota increase request. For more information, see <a
3185          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
3186          * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.
3187          * </p> <p><h3>See Also:</h3>   <a
3188          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact">AWS
3189          * API Reference</a></p>
3190          *
3191          * returns a future to the operation so that it can be executed in parallel to other requests.
3192          */
3193         virtual Model::StartOutboundVoiceContactOutcomeCallable StartOutboundVoiceContactCallable(const Model::StartOutboundVoiceContactRequest& request) const;
3194 
3195         /**
3196          * <p>Places an outbound call to a contact, and then initiates the contact flow. It
3197          * performs the actions in the contact flow that's specified (in
3198          * <code>ContactFlowId</code>).</p> <p>Agents do not initiate the outbound API,
3199          * which means that they do not dial the contact. If the contact flow places an
3200          * outbound call to a contact, and then puts the contact in queue, the call is then
3201          * routed to the agent, like any other inbound case.</p> <p>There is a 60-second
3202          * dialing timeout for this operation. If the call is not connected after 60
3203          * seconds, it fails.</p>  <p>UK numbers with a 447 prefix are not allowed by
3204          * default. Before you can dial these UK mobile numbers, you must submit a service
3205          * quota increase request. For more information, see <a
3206          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
3207          * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.
3208          * </p>   <p>Campaign calls are not allowed by default. Before you can
3209          * make a call with <code>TrafficType</code> = <code>CAMPAIGN</code>, you must
3210          * submit a service quota increase request. For more information, see <a
3211          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html">Amazon
3212          * Connect Service Quotas</a> in the <i>Amazon Connect Administrator Guide</i>.
3213          * </p> <p><h3>See Also:</h3>   <a
3214          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact">AWS
3215          * API Reference</a></p>
3216          *
3217          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3218          */
3219         virtual void StartOutboundVoiceContactAsync(const Model::StartOutboundVoiceContactRequest& request, const StartOutboundVoiceContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3220 
3221         /**
3222          * <p>Initiates a contact flow to start a new task.</p><p><h3>See Also:</h3>   <a
3223          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact">AWS
3224          * API Reference</a></p>
3225          */
3226         virtual Model::StartTaskContactOutcome StartTaskContact(const Model::StartTaskContactRequest& request) const;
3227 
3228         /**
3229          * <p>Initiates a contact flow to start a new task.</p><p><h3>See Also:</h3>   <a
3230          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact">AWS
3231          * API Reference</a></p>
3232          *
3233          * returns a future to the operation so that it can be executed in parallel to other requests.
3234          */
3235         virtual Model::StartTaskContactOutcomeCallable StartTaskContactCallable(const Model::StartTaskContactRequest& request) const;
3236 
3237         /**
3238          * <p>Initiates a contact flow to start a new task.</p><p><h3>See Also:</h3>   <a
3239          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact">AWS
3240          * API Reference</a></p>
3241          *
3242          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3243          */
3244         virtual void StartTaskContactAsync(const Model::StartTaskContactRequest& request, const StartTaskContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3245 
3246         /**
3247          * <p>Ends the specified contact.</p><p><h3>See Also:</h3>   <a
3248          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact">AWS
3249          * API Reference</a></p>
3250          */
3251         virtual Model::StopContactOutcome StopContact(const Model::StopContactRequest& request) const;
3252 
3253         /**
3254          * <p>Ends the specified contact.</p><p><h3>See Also:</h3>   <a
3255          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact">AWS
3256          * API Reference</a></p>
3257          *
3258          * returns a future to the operation so that it can be executed in parallel to other requests.
3259          */
3260         virtual Model::StopContactOutcomeCallable StopContactCallable(const Model::StopContactRequest& request) const;
3261 
3262         /**
3263          * <p>Ends the specified contact.</p><p><h3>See Also:</h3>   <a
3264          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact">AWS
3265          * API Reference</a></p>
3266          *
3267          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3268          */
3269         virtual void StopContactAsync(const Model::StopContactRequest& request, const StopContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3270 
3271         /**
3272          * <p>Stops recording a call when a contact is being recorded. StopContactRecording
3273          * is a one-time action. If you use StopContactRecording to stop recording an
3274          * ongoing call, you can't use StartContactRecording to restart it. For scenarios
3275          * where the recording has started and you want to suspend it for sensitive
3276          * information (for example, to collect a credit card number), and then restart it,
3277          * use SuspendContactRecording and ResumeContactRecording.</p> <p>Only voice
3278          * recordings are supported at this time.</p><p><h3>See Also:</h3>   <a
3279          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording">AWS
3280          * API Reference</a></p>
3281          */
3282         virtual Model::StopContactRecordingOutcome StopContactRecording(const Model::StopContactRecordingRequest& request) const;
3283 
3284         /**
3285          * <p>Stops recording a call when a contact is being recorded. StopContactRecording
3286          * is a one-time action. If you use StopContactRecording to stop recording an
3287          * ongoing call, you can't use StartContactRecording to restart it. For scenarios
3288          * where the recording has started and you want to suspend it for sensitive
3289          * information (for example, to collect a credit card number), and then restart it,
3290          * use SuspendContactRecording and ResumeContactRecording.</p> <p>Only voice
3291          * recordings are supported at this time.</p><p><h3>See Also:</h3>   <a
3292          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording">AWS
3293          * API Reference</a></p>
3294          *
3295          * returns a future to the operation so that it can be executed in parallel to other requests.
3296          */
3297         virtual Model::StopContactRecordingOutcomeCallable StopContactRecordingCallable(const Model::StopContactRecordingRequest& request) const;
3298 
3299         /**
3300          * <p>Stops recording a call when a contact is being recorded. StopContactRecording
3301          * is a one-time action. If you use StopContactRecording to stop recording an
3302          * ongoing call, you can't use StartContactRecording to restart it. For scenarios
3303          * where the recording has started and you want to suspend it for sensitive
3304          * information (for example, to collect a credit card number), and then restart it,
3305          * use SuspendContactRecording and ResumeContactRecording.</p> <p>Only voice
3306          * recordings are supported at this time.</p><p><h3>See Also:</h3>   <a
3307          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording">AWS
3308          * API Reference</a></p>
3309          *
3310          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3311          */
3312         virtual void StopContactRecordingAsync(const Model::StopContactRecordingRequest& request, const StopContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3313 
3314         /**
3315          * <p>When a contact is being recorded, this API suspends recording the call. For
3316          * example, you might suspend the call recording while collecting sensitive
3317          * information, such as a credit card number. Then use ResumeContactRecording to
3318          * restart recording. </p> <p>The period of time that the recording is suspended is
3319          * filled with silence in the final recording. </p> <p>Only voice recordings are
3320          * supported at this time.</p><p><h3>See Also:</h3>   <a
3321          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording">AWS
3322          * API Reference</a></p>
3323          */
3324         virtual Model::SuspendContactRecordingOutcome SuspendContactRecording(const Model::SuspendContactRecordingRequest& request) const;
3325 
3326         /**
3327          * <p>When a contact is being recorded, this API suspends recording the call. For
3328          * example, you might suspend the call recording while collecting sensitive
3329          * information, such as a credit card number. Then use ResumeContactRecording to
3330          * restart recording. </p> <p>The period of time that the recording is suspended is
3331          * filled with silence in the final recording. </p> <p>Only voice recordings are
3332          * supported at this time.</p><p><h3>See Also:</h3>   <a
3333          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording">AWS
3334          * API Reference</a></p>
3335          *
3336          * returns a future to the operation so that it can be executed in parallel to other requests.
3337          */
3338         virtual Model::SuspendContactRecordingOutcomeCallable SuspendContactRecordingCallable(const Model::SuspendContactRecordingRequest& request) const;
3339 
3340         /**
3341          * <p>When a contact is being recorded, this API suspends recording the call. For
3342          * example, you might suspend the call recording while collecting sensitive
3343          * information, such as a credit card number. Then use ResumeContactRecording to
3344          * restart recording. </p> <p>The period of time that the recording is suspended is
3345          * filled with silence in the final recording. </p> <p>Only voice recordings are
3346          * supported at this time.</p><p><h3>See Also:</h3>   <a
3347          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording">AWS
3348          * API Reference</a></p>
3349          *
3350          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3351          */
3352         virtual void SuspendContactRecordingAsync(const Model::SuspendContactRecordingRequest& request, const SuspendContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3353 
3354         /**
3355          * <p>Adds the specified tags to the specified resource.</p> <p>The supported
3356          * resource types are users, routing profiles, queues, quick connects, contact
3357          * flows, agent status, and hours of operation.</p> <p>For sample policies that use
3358          * tags, see <a
3359          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html">Amazon
3360          * Connect Identity-Based Policy Examples</a> in the <i>Amazon Connect
3361          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
3362          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource">AWS
3363          * API Reference</a></p>
3364          */
3365         virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
3366 
3367         /**
3368          * <p>Adds the specified tags to the specified resource.</p> <p>The supported
3369          * resource types are users, routing profiles, queues, quick connects, contact
3370          * flows, agent status, and hours of operation.</p> <p>For sample policies that use
3371          * tags, see <a
3372          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html">Amazon
3373          * Connect Identity-Based Policy Examples</a> in the <i>Amazon Connect
3374          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
3375          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource">AWS
3376          * API Reference</a></p>
3377          *
3378          * returns a future to the operation so that it can be executed in parallel to other requests.
3379          */
3380         virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
3381 
3382         /**
3383          * <p>Adds the specified tags to the specified resource.</p> <p>The supported
3384          * resource types are users, routing profiles, queues, quick connects, contact
3385          * flows, agent status, and hours of operation.</p> <p>For sample policies that use
3386          * tags, see <a
3387          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html">Amazon
3388          * Connect Identity-Based Policy Examples</a> in the <i>Amazon Connect
3389          * Administrator Guide</i>.</p><p><h3>See Also:</h3>   <a
3390          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource">AWS
3391          * API Reference</a></p>
3392          *
3393          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3394          */
3395         virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3396 
3397         /**
3398          * <p>Removes the specified tags from the specified resource.</p><p><h3>See
3399          * Also:</h3>   <a
3400          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource">AWS
3401          * API Reference</a></p>
3402          */
3403         virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
3404 
3405         /**
3406          * <p>Removes the specified tags from the specified resource.</p><p><h3>See
3407          * Also:</h3>   <a
3408          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource">AWS
3409          * API Reference</a></p>
3410          *
3411          * returns a future to the operation so that it can be executed in parallel to other requests.
3412          */
3413         virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
3414 
3415         /**
3416          * <p>Removes the specified tags from the specified resource.</p><p><h3>See
3417          * Also:</h3>   <a
3418          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource">AWS
3419          * API Reference</a></p>
3420          *
3421          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3422          */
3423         virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3424 
3425         /**
3426          * <p>This API is in preview release for Amazon Connect and is subject to
3427          * change.</p> <p>Updates agent status.</p><p><h3>See Also:</h3>   <a
3428          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus">AWS
3429          * API Reference</a></p>
3430          */
3431         virtual Model::UpdateAgentStatusOutcome UpdateAgentStatus(const Model::UpdateAgentStatusRequest& request) const;
3432 
3433         /**
3434          * <p>This API is in preview release for Amazon Connect and is subject to
3435          * change.</p> <p>Updates agent status.</p><p><h3>See Also:</h3>   <a
3436          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus">AWS
3437          * API Reference</a></p>
3438          *
3439          * returns a future to the operation so that it can be executed in parallel to other requests.
3440          */
3441         virtual Model::UpdateAgentStatusOutcomeCallable UpdateAgentStatusCallable(const Model::UpdateAgentStatusRequest& request) const;
3442 
3443         /**
3444          * <p>This API is in preview release for Amazon Connect and is subject to
3445          * change.</p> <p>Updates agent status.</p><p><h3>See Also:</h3>   <a
3446          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus">AWS
3447          * API Reference</a></p>
3448          *
3449          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3450          */
3451         virtual void UpdateAgentStatusAsync(const Model::UpdateAgentStatusRequest& request, const UpdateAgentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3452 
3453         /**
3454          * <p>Creates or updates user-defined contact attributes associated with the
3455          * specified contact.</p> <p>You can create or update user-defined attributes for
3456          * both ongoing and completed contacts. For example, while the call is active, you
3457          * can update the customer's name or the reason the customer called. You can add
3458          * notes about steps that the agent took during the call that display to the next
3459          * agent that takes the call. You can also update attributes for a contact using
3460          * data from your CRM application and save the data with the contact in Amazon
3461          * Connect. You could also flag calls for additional analysis, such as legal review
3462          * or to identify abusive callers.</p> <p>Contact attributes are available in
3463          * Amazon Connect for 24 months, and are then deleted. For information about CTR
3464          * retention and the maximum size of the CTR attributes section, see <a
3465          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits">Feature
3466          * specifications</a> in the <i>Amazon Connect Administrator Guide</i>. </p> <p>
3467          * <b>Important:</b> You cannot use the operation to update attributes for contacts
3468          * that occurred prior to the release of the API, which was September 12, 2018. You
3469          * can update attributes only for contacts that started after the release of the
3470          * API. If you attempt to update attributes for a contact that occurred prior to
3471          * the release of the API, a 400 error is returned. This applies also to queued
3472          * callbacks that were initiated prior to the release of the API but are still
3473          * active in your instance.</p><p><h3>See Also:</h3>   <a
3474          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes">AWS
3475          * API Reference</a></p>
3476          */
3477         virtual Model::UpdateContactAttributesOutcome UpdateContactAttributes(const Model::UpdateContactAttributesRequest& request) const;
3478 
3479         /**
3480          * <p>Creates or updates user-defined contact attributes associated with the
3481          * specified contact.</p> <p>You can create or update user-defined attributes for
3482          * both ongoing and completed contacts. For example, while the call is active, you
3483          * can update the customer's name or the reason the customer called. You can add
3484          * notes about steps that the agent took during the call that display to the next
3485          * agent that takes the call. You can also update attributes for a contact using
3486          * data from your CRM application and save the data with the contact in Amazon
3487          * Connect. You could also flag calls for additional analysis, such as legal review
3488          * or to identify abusive callers.</p> <p>Contact attributes are available in
3489          * Amazon Connect for 24 months, and are then deleted. For information about CTR
3490          * retention and the maximum size of the CTR attributes section, see <a
3491          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits">Feature
3492          * specifications</a> in the <i>Amazon Connect Administrator Guide</i>. </p> <p>
3493          * <b>Important:</b> You cannot use the operation to update attributes for contacts
3494          * that occurred prior to the release of the API, which was September 12, 2018. You
3495          * can update attributes only for contacts that started after the release of the
3496          * API. If you attempt to update attributes for a contact that occurred prior to
3497          * the release of the API, a 400 error is returned. This applies also to queued
3498          * callbacks that were initiated prior to the release of the API but are still
3499          * active in your instance.</p><p><h3>See Also:</h3>   <a
3500          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes">AWS
3501          * API Reference</a></p>
3502          *
3503          * returns a future to the operation so that it can be executed in parallel to other requests.
3504          */
3505         virtual Model::UpdateContactAttributesOutcomeCallable UpdateContactAttributesCallable(const Model::UpdateContactAttributesRequest& request) const;
3506 
3507         /**
3508          * <p>Creates or updates user-defined contact attributes associated with the
3509          * specified contact.</p> <p>You can create or update user-defined attributes for
3510          * both ongoing and completed contacts. For example, while the call is active, you
3511          * can update the customer's name or the reason the customer called. You can add
3512          * notes about steps that the agent took during the call that display to the next
3513          * agent that takes the call. You can also update attributes for a contact using
3514          * data from your CRM application and save the data with the contact in Amazon
3515          * Connect. You could also flag calls for additional analysis, such as legal review
3516          * or to identify abusive callers.</p> <p>Contact attributes are available in
3517          * Amazon Connect for 24 months, and are then deleted. For information about CTR
3518          * retention and the maximum size of the CTR attributes section, see <a
3519          * href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits">Feature
3520          * specifications</a> in the <i>Amazon Connect Administrator Guide</i>. </p> <p>
3521          * <b>Important:</b> You cannot use the operation to update attributes for contacts
3522          * that occurred prior to the release of the API, which was September 12, 2018. You
3523          * can update attributes only for contacts that started after the release of the
3524          * API. If you attempt to update attributes for a contact that occurred prior to
3525          * the release of the API, a 400 error is returned. This applies also to queued
3526          * callbacks that were initiated prior to the release of the API but are still
3527          * active in your instance.</p><p><h3>See Also:</h3>   <a
3528          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes">AWS
3529          * API Reference</a></p>
3530          *
3531          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3532          */
3533         virtual void UpdateContactAttributesAsync(const Model::UpdateContactAttributesRequest& request, const UpdateContactAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3534 
3535         /**
3536          * <p>Updates the specified contact flow.</p> <p>You can also create and update
3537          * contact flows using the <a
3538          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
3539          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
3540          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent">AWS
3541          * API Reference</a></p>
3542          */
3543         virtual Model::UpdateContactFlowContentOutcome UpdateContactFlowContent(const Model::UpdateContactFlowContentRequest& request) const;
3544 
3545         /**
3546          * <p>Updates the specified contact flow.</p> <p>You can also create and update
3547          * contact flows using the <a
3548          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
3549          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
3550          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent">AWS
3551          * API Reference</a></p>
3552          *
3553          * returns a future to the operation so that it can be executed in parallel to other requests.
3554          */
3555         virtual Model::UpdateContactFlowContentOutcomeCallable UpdateContactFlowContentCallable(const Model::UpdateContactFlowContentRequest& request) const;
3556 
3557         /**
3558          * <p>Updates the specified contact flow.</p> <p>You can also create and update
3559          * contact flows using the <a
3560          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
3561          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
3562          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent">AWS
3563          * API Reference</a></p>
3564          *
3565          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3566          */
3567         virtual void UpdateContactFlowContentAsync(const Model::UpdateContactFlowContentRequest& request, const UpdateContactFlowContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3568 
3569         /**
3570          * <p>The name of the contact flow.</p> <p>You can also create and update contact
3571          * flows using the <a
3572          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
3573          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
3574          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName">AWS
3575          * API Reference</a></p>
3576          */
3577         virtual Model::UpdateContactFlowNameOutcome UpdateContactFlowName(const Model::UpdateContactFlowNameRequest& request) const;
3578 
3579         /**
3580          * <p>The name of the contact flow.</p> <p>You can also create and update contact
3581          * flows using the <a
3582          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
3583          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
3584          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName">AWS
3585          * API Reference</a></p>
3586          *
3587          * returns a future to the operation so that it can be executed in parallel to other requests.
3588          */
3589         virtual Model::UpdateContactFlowNameOutcomeCallable UpdateContactFlowNameCallable(const Model::UpdateContactFlowNameRequest& request) const;
3590 
3591         /**
3592          * <p>The name of the contact flow.</p> <p>You can also create and update contact
3593          * flows using the <a
3594          * href="https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html">Amazon
3595          * Connect Flow language</a>.</p><p><h3>See Also:</h3>   <a
3596          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName">AWS
3597          * API Reference</a></p>
3598          *
3599          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3600          */
3601         virtual void UpdateContactFlowNameAsync(const Model::UpdateContactFlowNameRequest& request, const UpdateContactFlowNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3602 
3603         /**
3604          * <p>Updates the hours of operation.</p><p><h3>See Also:</h3>   <a
3605          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation">AWS
3606          * API Reference</a></p>
3607          */
3608         virtual Model::UpdateHoursOfOperationOutcome UpdateHoursOfOperation(const Model::UpdateHoursOfOperationRequest& request) const;
3609 
3610         /**
3611          * <p>Updates the hours of operation.</p><p><h3>See Also:</h3>   <a
3612          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation">AWS
3613          * API Reference</a></p>
3614          *
3615          * returns a future to the operation so that it can be executed in parallel to other requests.
3616          */
3617         virtual Model::UpdateHoursOfOperationOutcomeCallable UpdateHoursOfOperationCallable(const Model::UpdateHoursOfOperationRequest& request) const;
3618 
3619         /**
3620          * <p>Updates the hours of operation.</p><p><h3>See Also:</h3>   <a
3621          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation">AWS
3622          * API Reference</a></p>
3623          *
3624          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3625          */
3626         virtual void UpdateHoursOfOperationAsync(const Model::UpdateHoursOfOperationRequest& request, const UpdateHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3627 
3628         /**
3629          * <p>This API is in preview release for Amazon Connect and is subject to
3630          * change.</p> <p>Updates the value for the specified attribute type.</p><p><h3>See
3631          * Also:</h3>   <a
3632          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute">AWS
3633          * API Reference</a></p>
3634          */
3635         virtual Model::UpdateInstanceAttributeOutcome UpdateInstanceAttribute(const Model::UpdateInstanceAttributeRequest& request) const;
3636 
3637         /**
3638          * <p>This API is in preview release for Amazon Connect and is subject to
3639          * change.</p> <p>Updates the value for the specified attribute type.</p><p><h3>See
3640          * Also:</h3>   <a
3641          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute">AWS
3642          * API Reference</a></p>
3643          *
3644          * returns a future to the operation so that it can be executed in parallel to other requests.
3645          */
3646         virtual Model::UpdateInstanceAttributeOutcomeCallable UpdateInstanceAttributeCallable(const Model::UpdateInstanceAttributeRequest& request) const;
3647 
3648         /**
3649          * <p>This API is in preview release for Amazon Connect and is subject to
3650          * change.</p> <p>Updates the value for the specified attribute type.</p><p><h3>See
3651          * Also:</h3>   <a
3652          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute">AWS
3653          * API Reference</a></p>
3654          *
3655          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3656          */
3657         virtual void UpdateInstanceAttributeAsync(const Model::UpdateInstanceAttributeRequest& request, const UpdateInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3658 
3659         /**
3660          * <p>This API is in preview release for Amazon Connect and is subject to
3661          * change.</p> <p>Updates an existing configuration for a resource type. This API
3662          * is idempotent.</p><p><h3>See Also:</h3>   <a
3663          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig">AWS
3664          * API Reference</a></p>
3665          */
3666         virtual Model::UpdateInstanceStorageConfigOutcome UpdateInstanceStorageConfig(const Model::UpdateInstanceStorageConfigRequest& request) const;
3667 
3668         /**
3669          * <p>This API is in preview release for Amazon Connect and is subject to
3670          * change.</p> <p>Updates an existing configuration for a resource type. This API
3671          * is idempotent.</p><p><h3>See Also:</h3>   <a
3672          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig">AWS
3673          * API Reference</a></p>
3674          *
3675          * returns a future to the operation so that it can be executed in parallel to other requests.
3676          */
3677         virtual Model::UpdateInstanceStorageConfigOutcomeCallable UpdateInstanceStorageConfigCallable(const Model::UpdateInstanceStorageConfigRequest& request) const;
3678 
3679         /**
3680          * <p>This API is in preview release for Amazon Connect and is subject to
3681          * change.</p> <p>Updates an existing configuration for a resource type. This API
3682          * is idempotent.</p><p><h3>See Also:</h3>   <a
3683          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig">AWS
3684          * API Reference</a></p>
3685          *
3686          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3687          */
3688         virtual void UpdateInstanceStorageConfigAsync(const Model::UpdateInstanceStorageConfigRequest& request, const UpdateInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3689 
3690         /**
3691          * <p>This API is in preview release for Amazon Connect and is subject to
3692          * change.</p> <p>Updates the hours of operation for the specified
3693          * queue.</p><p><h3>See Also:</h3>   <a
3694          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation">AWS
3695          * API Reference</a></p>
3696          */
3697         virtual Model::UpdateQueueHoursOfOperationOutcome UpdateQueueHoursOfOperation(const Model::UpdateQueueHoursOfOperationRequest& request) const;
3698 
3699         /**
3700          * <p>This API is in preview release for Amazon Connect and is subject to
3701          * change.</p> <p>Updates the hours of operation for the specified
3702          * queue.</p><p><h3>See Also:</h3>   <a
3703          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation">AWS
3704          * API Reference</a></p>
3705          *
3706          * returns a future to the operation so that it can be executed in parallel to other requests.
3707          */
3708         virtual Model::UpdateQueueHoursOfOperationOutcomeCallable UpdateQueueHoursOfOperationCallable(const Model::UpdateQueueHoursOfOperationRequest& request) const;
3709 
3710         /**
3711          * <p>This API is in preview release for Amazon Connect and is subject to
3712          * change.</p> <p>Updates the hours of operation for the specified
3713          * queue.</p><p><h3>See Also:</h3>   <a
3714          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation">AWS
3715          * API Reference</a></p>
3716          *
3717          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3718          */
3719         virtual void UpdateQueueHoursOfOperationAsync(const Model::UpdateQueueHoursOfOperationRequest& request, const UpdateQueueHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3720 
3721         /**
3722          * <p>This API is in preview release for Amazon Connect and is subject to
3723          * change.</p> <p>Updates the maximum number of contacts allowed in a queue before
3724          * it is considered full.</p><p><h3>See Also:</h3>   <a
3725          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts">AWS
3726          * API Reference</a></p>
3727          */
3728         virtual Model::UpdateQueueMaxContactsOutcome UpdateQueueMaxContacts(const Model::UpdateQueueMaxContactsRequest& request) const;
3729 
3730         /**
3731          * <p>This API is in preview release for Amazon Connect and is subject to
3732          * change.</p> <p>Updates the maximum number of contacts allowed in a queue before
3733          * it is considered full.</p><p><h3>See Also:</h3>   <a
3734          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts">AWS
3735          * API Reference</a></p>
3736          *
3737          * returns a future to the operation so that it can be executed in parallel to other requests.
3738          */
3739         virtual Model::UpdateQueueMaxContactsOutcomeCallable UpdateQueueMaxContactsCallable(const Model::UpdateQueueMaxContactsRequest& request) const;
3740 
3741         /**
3742          * <p>This API is in preview release for Amazon Connect and is subject to
3743          * change.</p> <p>Updates the maximum number of contacts allowed in a queue before
3744          * it is considered full.</p><p><h3>See Also:</h3>   <a
3745          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts">AWS
3746          * API Reference</a></p>
3747          *
3748          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3749          */
3750         virtual void UpdateQueueMaxContactsAsync(const Model::UpdateQueueMaxContactsRequest& request, const UpdateQueueMaxContactsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3751 
3752         /**
3753          * <p>This API is in preview release for Amazon Connect and is subject to
3754          * change.</p> <p>Updates the name and description of a queue. At least
3755          * <code>Name</code> or <code>Description</code> must be provided.</p><p><h3>See
3756          * Also:</h3>   <a
3757          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName">AWS
3758          * API Reference</a></p>
3759          */
3760         virtual Model::UpdateQueueNameOutcome UpdateQueueName(const Model::UpdateQueueNameRequest& request) const;
3761 
3762         /**
3763          * <p>This API is in preview release for Amazon Connect and is subject to
3764          * change.</p> <p>Updates the name and description of a queue. At least
3765          * <code>Name</code> or <code>Description</code> must be provided.</p><p><h3>See
3766          * Also:</h3>   <a
3767          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName">AWS
3768          * API Reference</a></p>
3769          *
3770          * returns a future to the operation so that it can be executed in parallel to other requests.
3771          */
3772         virtual Model::UpdateQueueNameOutcomeCallable UpdateQueueNameCallable(const Model::UpdateQueueNameRequest& request) const;
3773 
3774         /**
3775          * <p>This API is in preview release for Amazon Connect and is subject to
3776          * change.</p> <p>Updates the name and description of a queue. At least
3777          * <code>Name</code> or <code>Description</code> must be provided.</p><p><h3>See
3778          * Also:</h3>   <a
3779          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName">AWS
3780          * API Reference</a></p>
3781          *
3782          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3783          */
3784         virtual void UpdateQueueNameAsync(const Model::UpdateQueueNameRequest& request, const UpdateQueueNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3785 
3786         /**
3787          * <p>This API is in preview release for Amazon Connect and is subject to
3788          * change.</p> <p>Updates the outbound caller ID name, number, and outbound whisper
3789          * flow for a specified queue.</p><p><h3>See Also:</h3>   <a
3790          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig">AWS
3791          * API Reference</a></p>
3792          */
3793         virtual Model::UpdateQueueOutboundCallerConfigOutcome UpdateQueueOutboundCallerConfig(const Model::UpdateQueueOutboundCallerConfigRequest& request) const;
3794 
3795         /**
3796          * <p>This API is in preview release for Amazon Connect and is subject to
3797          * change.</p> <p>Updates the outbound caller ID name, number, and outbound whisper
3798          * flow for a specified queue.</p><p><h3>See Also:</h3>   <a
3799          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig">AWS
3800          * API Reference</a></p>
3801          *
3802          * returns a future to the operation so that it can be executed in parallel to other requests.
3803          */
3804         virtual Model::UpdateQueueOutboundCallerConfigOutcomeCallable UpdateQueueOutboundCallerConfigCallable(const Model::UpdateQueueOutboundCallerConfigRequest& request) const;
3805 
3806         /**
3807          * <p>This API is in preview release for Amazon Connect and is subject to
3808          * change.</p> <p>Updates the outbound caller ID name, number, and outbound whisper
3809          * flow for a specified queue.</p><p><h3>See Also:</h3>   <a
3810          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig">AWS
3811          * API Reference</a></p>
3812          *
3813          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3814          */
3815         virtual void UpdateQueueOutboundCallerConfigAsync(const Model::UpdateQueueOutboundCallerConfigRequest& request, const UpdateQueueOutboundCallerConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3816 
3817         /**
3818          * <p>This API is in preview release for Amazon Connect and is subject to
3819          * change.</p> <p>Updates the status of the queue.</p><p><h3>See Also:</h3>   <a
3820          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus">AWS
3821          * API Reference</a></p>
3822          */
3823         virtual Model::UpdateQueueStatusOutcome UpdateQueueStatus(const Model::UpdateQueueStatusRequest& request) const;
3824 
3825         /**
3826          * <p>This API is in preview release for Amazon Connect and is subject to
3827          * change.</p> <p>Updates the status of the queue.</p><p><h3>See Also:</h3>   <a
3828          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus">AWS
3829          * API Reference</a></p>
3830          *
3831          * returns a future to the operation so that it can be executed in parallel to other requests.
3832          */
3833         virtual Model::UpdateQueueStatusOutcomeCallable UpdateQueueStatusCallable(const Model::UpdateQueueStatusRequest& request) const;
3834 
3835         /**
3836          * <p>This API is in preview release for Amazon Connect and is subject to
3837          * change.</p> <p>Updates the status of the queue.</p><p><h3>See Also:</h3>   <a
3838          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus">AWS
3839          * API Reference</a></p>
3840          *
3841          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3842          */
3843         virtual void UpdateQueueStatusAsync(const Model::UpdateQueueStatusRequest& request, const UpdateQueueStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3844 
3845         /**
3846          * <p>Updates the configuration settings for the specified quick
3847          * connect.</p><p><h3>See Also:</h3>   <a
3848          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig">AWS
3849          * API Reference</a></p>
3850          */
3851         virtual Model::UpdateQuickConnectConfigOutcome UpdateQuickConnectConfig(const Model::UpdateQuickConnectConfigRequest& request) const;
3852 
3853         /**
3854          * <p>Updates the configuration settings for the specified quick
3855          * connect.</p><p><h3>See Also:</h3>   <a
3856          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig">AWS
3857          * API Reference</a></p>
3858          *
3859          * returns a future to the operation so that it can be executed in parallel to other requests.
3860          */
3861         virtual Model::UpdateQuickConnectConfigOutcomeCallable UpdateQuickConnectConfigCallable(const Model::UpdateQuickConnectConfigRequest& request) const;
3862 
3863         /**
3864          * <p>Updates the configuration settings for the specified quick
3865          * connect.</p><p><h3>See Also:</h3>   <a
3866          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig">AWS
3867          * API Reference</a></p>
3868          *
3869          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3870          */
3871         virtual void UpdateQuickConnectConfigAsync(const Model::UpdateQuickConnectConfigRequest& request, const UpdateQuickConnectConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3872 
3873         /**
3874          * <p>Updates the name and description of a quick connect. The request accepts the
3875          * following data in JSON format. At least <code>Name</code> or
3876          * <code>Description</code> must be provided.</p><p><h3>See Also:</h3>   <a
3877          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName">AWS
3878          * API Reference</a></p>
3879          */
3880         virtual Model::UpdateQuickConnectNameOutcome UpdateQuickConnectName(const Model::UpdateQuickConnectNameRequest& request) const;
3881 
3882         /**
3883          * <p>Updates the name and description of a quick connect. The request accepts the
3884          * following data in JSON format. At least <code>Name</code> or
3885          * <code>Description</code> must be provided.</p><p><h3>See Also:</h3>   <a
3886          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName">AWS
3887          * API Reference</a></p>
3888          *
3889          * returns a future to the operation so that it can be executed in parallel to other requests.
3890          */
3891         virtual Model::UpdateQuickConnectNameOutcomeCallable UpdateQuickConnectNameCallable(const Model::UpdateQuickConnectNameRequest& request) const;
3892 
3893         /**
3894          * <p>Updates the name and description of a quick connect. The request accepts the
3895          * following data in JSON format. At least <code>Name</code> or
3896          * <code>Description</code> must be provided.</p><p><h3>See Also:</h3>   <a
3897          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName">AWS
3898          * API Reference</a></p>
3899          *
3900          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3901          */
3902         virtual void UpdateQuickConnectNameAsync(const Model::UpdateQuickConnectNameRequest& request, const UpdateQuickConnectNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3903 
3904         /**
3905          * <p>Updates the channels that agents can handle in the Contact Control Panel
3906          * (CCP) for a routing profile.</p><p><h3>See Also:</h3>   <a
3907          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency">AWS
3908          * API Reference</a></p>
3909          */
3910         virtual Model::UpdateRoutingProfileConcurrencyOutcome UpdateRoutingProfileConcurrency(const Model::UpdateRoutingProfileConcurrencyRequest& request) const;
3911 
3912         /**
3913          * <p>Updates the channels that agents can handle in the Contact Control Panel
3914          * (CCP) for a routing profile.</p><p><h3>See Also:</h3>   <a
3915          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency">AWS
3916          * API Reference</a></p>
3917          *
3918          * returns a future to the operation so that it can be executed in parallel to other requests.
3919          */
3920         virtual Model::UpdateRoutingProfileConcurrencyOutcomeCallable UpdateRoutingProfileConcurrencyCallable(const Model::UpdateRoutingProfileConcurrencyRequest& request) const;
3921 
3922         /**
3923          * <p>Updates the channels that agents can handle in the Contact Control Panel
3924          * (CCP) for a routing profile.</p><p><h3>See Also:</h3>   <a
3925          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency">AWS
3926          * API Reference</a></p>
3927          *
3928          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3929          */
3930         virtual void UpdateRoutingProfileConcurrencyAsync(const Model::UpdateRoutingProfileConcurrencyRequest& request, const UpdateRoutingProfileConcurrencyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3931 
3932         /**
3933          * <p>Updates the default outbound queue of a routing profile.</p><p><h3>See
3934          * Also:</h3>   <a
3935          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue">AWS
3936          * API Reference</a></p>
3937          */
3938         virtual Model::UpdateRoutingProfileDefaultOutboundQueueOutcome UpdateRoutingProfileDefaultOutboundQueue(const Model::UpdateRoutingProfileDefaultOutboundQueueRequest& request) const;
3939 
3940         /**
3941          * <p>Updates the default outbound queue of a routing profile.</p><p><h3>See
3942          * Also:</h3>   <a
3943          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue">AWS
3944          * API Reference</a></p>
3945          *
3946          * returns a future to the operation so that it can be executed in parallel to other requests.
3947          */
3948         virtual Model::UpdateRoutingProfileDefaultOutboundQueueOutcomeCallable UpdateRoutingProfileDefaultOutboundQueueCallable(const Model::UpdateRoutingProfileDefaultOutboundQueueRequest& request) const;
3949 
3950         /**
3951          * <p>Updates the default outbound queue of a routing profile.</p><p><h3>See
3952          * Also:</h3>   <a
3953          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue">AWS
3954          * API Reference</a></p>
3955          *
3956          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3957          */
3958         virtual void UpdateRoutingProfileDefaultOutboundQueueAsync(const Model::UpdateRoutingProfileDefaultOutboundQueueRequest& request, const UpdateRoutingProfileDefaultOutboundQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3959 
3960         /**
3961          * <p>Updates the name and description of a routing profile. The request accepts
3962          * the following data in JSON format. At least <code>Name</code> or
3963          * <code>Description</code> must be provided.</p><p><h3>See Also:</h3>   <a
3964          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName">AWS
3965          * API Reference</a></p>
3966          */
3967         virtual Model::UpdateRoutingProfileNameOutcome UpdateRoutingProfileName(const Model::UpdateRoutingProfileNameRequest& request) const;
3968 
3969         /**
3970          * <p>Updates the name and description of a routing profile. The request accepts
3971          * the following data in JSON format. At least <code>Name</code> or
3972          * <code>Description</code> must be provided.</p><p><h3>See Also:</h3>   <a
3973          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName">AWS
3974          * API Reference</a></p>
3975          *
3976          * returns a future to the operation so that it can be executed in parallel to other requests.
3977          */
3978         virtual Model::UpdateRoutingProfileNameOutcomeCallable UpdateRoutingProfileNameCallable(const Model::UpdateRoutingProfileNameRequest& request) const;
3979 
3980         /**
3981          * <p>Updates the name and description of a routing profile. The request accepts
3982          * the following data in JSON format. At least <code>Name</code> or
3983          * <code>Description</code> must be provided.</p><p><h3>See Also:</h3>   <a
3984          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName">AWS
3985          * API Reference</a></p>
3986          *
3987          * Queues the request into a thread executor and triggers associated callback when operation has finished.
3988          */
3989         virtual void UpdateRoutingProfileNameAsync(const Model::UpdateRoutingProfileNameRequest& request, const UpdateRoutingProfileNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
3990 
3991         /**
3992          * <p>Updates the properties associated with a set of queues for a routing
3993          * profile.</p><p><h3>See Also:</h3>   <a
3994          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues">AWS
3995          * API Reference</a></p>
3996          */
3997         virtual Model::UpdateRoutingProfileQueuesOutcome UpdateRoutingProfileQueues(const Model::UpdateRoutingProfileQueuesRequest& request) const;
3998 
3999         /**
4000          * <p>Updates the properties associated with a set of queues for a routing
4001          * profile.</p><p><h3>See Also:</h3>   <a
4002          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues">AWS
4003          * API Reference</a></p>
4004          *
4005          * returns a future to the operation so that it can be executed in parallel to other requests.
4006          */
4007         virtual Model::UpdateRoutingProfileQueuesOutcomeCallable UpdateRoutingProfileQueuesCallable(const Model::UpdateRoutingProfileQueuesRequest& request) const;
4008 
4009         /**
4010          * <p>Updates the properties associated with a set of queues for a routing
4011          * profile.</p><p><h3>See Also:</h3>   <a
4012          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues">AWS
4013          * API Reference</a></p>
4014          *
4015          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4016          */
4017         virtual void UpdateRoutingProfileQueuesAsync(const Model::UpdateRoutingProfileQueuesRequest& request, const UpdateRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4018 
4019         /**
4020          * <p>Assigns the specified hierarchy group to the specified user.</p><p><h3>See
4021          * Also:</h3>   <a
4022          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy">AWS
4023          * API Reference</a></p>
4024          */
4025         virtual Model::UpdateUserHierarchyOutcome UpdateUserHierarchy(const Model::UpdateUserHierarchyRequest& request) const;
4026 
4027         /**
4028          * <p>Assigns the specified hierarchy group to the specified user.</p><p><h3>See
4029          * Also:</h3>   <a
4030          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy">AWS
4031          * API Reference</a></p>
4032          *
4033          * returns a future to the operation so that it can be executed in parallel to other requests.
4034          */
4035         virtual Model::UpdateUserHierarchyOutcomeCallable UpdateUserHierarchyCallable(const Model::UpdateUserHierarchyRequest& request) const;
4036 
4037         /**
4038          * <p>Assigns the specified hierarchy group to the specified user.</p><p><h3>See
4039          * Also:</h3>   <a
4040          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy">AWS
4041          * API Reference</a></p>
4042          *
4043          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4044          */
4045         virtual void UpdateUserHierarchyAsync(const Model::UpdateUserHierarchyRequest& request, const UpdateUserHierarchyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4046 
4047         /**
4048          * <p>Updates the name of the user hierarchy group. </p><p><h3>See Also:</h3>   <a
4049          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName">AWS
4050          * API Reference</a></p>
4051          */
4052         virtual Model::UpdateUserHierarchyGroupNameOutcome UpdateUserHierarchyGroupName(const Model::UpdateUserHierarchyGroupNameRequest& request) const;
4053 
4054         /**
4055          * <p>Updates the name of the user hierarchy group. </p><p><h3>See Also:</h3>   <a
4056          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName">AWS
4057          * API Reference</a></p>
4058          *
4059          * returns a future to the operation so that it can be executed in parallel to other requests.
4060          */
4061         virtual Model::UpdateUserHierarchyGroupNameOutcomeCallable UpdateUserHierarchyGroupNameCallable(const Model::UpdateUserHierarchyGroupNameRequest& request) const;
4062 
4063         /**
4064          * <p>Updates the name of the user hierarchy group. </p><p><h3>See Also:</h3>   <a
4065          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName">AWS
4066          * API Reference</a></p>
4067          *
4068          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4069          */
4070         virtual void UpdateUserHierarchyGroupNameAsync(const Model::UpdateUserHierarchyGroupNameRequest& request, const UpdateUserHierarchyGroupNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4071 
4072         /**
4073          * <p>Updates the user hierarchy structure: add, remove, and rename user hierarchy
4074          * levels.</p><p><h3>See Also:</h3>   <a
4075          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure">AWS
4076          * API Reference</a></p>
4077          */
4078         virtual Model::UpdateUserHierarchyStructureOutcome UpdateUserHierarchyStructure(const Model::UpdateUserHierarchyStructureRequest& request) const;
4079 
4080         /**
4081          * <p>Updates the user hierarchy structure: add, remove, and rename user hierarchy
4082          * levels.</p><p><h3>See Also:</h3>   <a
4083          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure">AWS
4084          * API Reference</a></p>
4085          *
4086          * returns a future to the operation so that it can be executed in parallel to other requests.
4087          */
4088         virtual Model::UpdateUserHierarchyStructureOutcomeCallable UpdateUserHierarchyStructureCallable(const Model::UpdateUserHierarchyStructureRequest& request) const;
4089 
4090         /**
4091          * <p>Updates the user hierarchy structure: add, remove, and rename user hierarchy
4092          * levels.</p><p><h3>See Also:</h3>   <a
4093          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure">AWS
4094          * API Reference</a></p>
4095          *
4096          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4097          */
4098         virtual void UpdateUserHierarchyStructureAsync(const Model::UpdateUserHierarchyStructureRequest& request, const UpdateUserHierarchyStructureResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4099 
4100         /**
4101          * <p>Updates the identity information for the specified user.</p>
4102          * <p>We strongly recommend limiting who has the ability to invoke
4103          * <code>UpdateUserIdentityInfo</code>. Someone with that ability can change the
4104          * login credentials of other users by changing their email address. This poses a
4105          * security risk to your organization. They can change the email address of a user
4106          * to the attacker's email address, and then reset the password through email. For
4107          * more information, see <a
4108          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html">Best
4109          * Practices for Security Profiles</a> in the <i>Amazon Connect Administrator
4110          * Guide</i>.</p> <p><h3>See Also:</h3>   <a
4111          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo">AWS
4112          * API Reference</a></p>
4113          */
4114         virtual Model::UpdateUserIdentityInfoOutcome UpdateUserIdentityInfo(const Model::UpdateUserIdentityInfoRequest& request) const;
4115 
4116         /**
4117          * <p>Updates the identity information for the specified user.</p>
4118          * <p>We strongly recommend limiting who has the ability to invoke
4119          * <code>UpdateUserIdentityInfo</code>. Someone with that ability can change the
4120          * login credentials of other users by changing their email address. This poses a
4121          * security risk to your organization. They can change the email address of a user
4122          * to the attacker's email address, and then reset the password through email. For
4123          * more information, see <a
4124          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html">Best
4125          * Practices for Security Profiles</a> in the <i>Amazon Connect Administrator
4126          * Guide</i>.</p> <p><h3>See Also:</h3>   <a
4127          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo">AWS
4128          * API Reference</a></p>
4129          *
4130          * returns a future to the operation so that it can be executed in parallel to other requests.
4131          */
4132         virtual Model::UpdateUserIdentityInfoOutcomeCallable UpdateUserIdentityInfoCallable(const Model::UpdateUserIdentityInfoRequest& request) const;
4133 
4134         /**
4135          * <p>Updates the identity information for the specified user.</p>
4136          * <p>We strongly recommend limiting who has the ability to invoke
4137          * <code>UpdateUserIdentityInfo</code>. Someone with that ability can change the
4138          * login credentials of other users by changing their email address. This poses a
4139          * security risk to your organization. They can change the email address of a user
4140          * to the attacker's email address, and then reset the password through email. For
4141          * more information, see <a
4142          * href="https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html">Best
4143          * Practices for Security Profiles</a> in the <i>Amazon Connect Administrator
4144          * Guide</i>.</p> <p><h3>See Also:</h3>   <a
4145          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo">AWS
4146          * API Reference</a></p>
4147          *
4148          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4149          */
4150         virtual void UpdateUserIdentityInfoAsync(const Model::UpdateUserIdentityInfoRequest& request, const UpdateUserIdentityInfoResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4151 
4152         /**
4153          * <p>Updates the phone configuration settings for the specified
4154          * user.</p><p><h3>See Also:</h3>   <a
4155          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig">AWS
4156          * API Reference</a></p>
4157          */
4158         virtual Model::UpdateUserPhoneConfigOutcome UpdateUserPhoneConfig(const Model::UpdateUserPhoneConfigRequest& request) const;
4159 
4160         /**
4161          * <p>Updates the phone configuration settings for the specified
4162          * user.</p><p><h3>See Also:</h3>   <a
4163          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig">AWS
4164          * API Reference</a></p>
4165          *
4166          * returns a future to the operation so that it can be executed in parallel to other requests.
4167          */
4168         virtual Model::UpdateUserPhoneConfigOutcomeCallable UpdateUserPhoneConfigCallable(const Model::UpdateUserPhoneConfigRequest& request) const;
4169 
4170         /**
4171          * <p>Updates the phone configuration settings for the specified
4172          * user.</p><p><h3>See Also:</h3>   <a
4173          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig">AWS
4174          * API Reference</a></p>
4175          *
4176          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4177          */
4178         virtual void UpdateUserPhoneConfigAsync(const Model::UpdateUserPhoneConfigRequest& request, const UpdateUserPhoneConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4179 
4180         /**
4181          * <p>Assigns the specified routing profile to the specified user.</p><p><h3>See
4182          * Also:</h3>   <a
4183          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile">AWS
4184          * API Reference</a></p>
4185          */
4186         virtual Model::UpdateUserRoutingProfileOutcome UpdateUserRoutingProfile(const Model::UpdateUserRoutingProfileRequest& request) const;
4187 
4188         /**
4189          * <p>Assigns the specified routing profile to the specified user.</p><p><h3>See
4190          * Also:</h3>   <a
4191          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile">AWS
4192          * API Reference</a></p>
4193          *
4194          * returns a future to the operation so that it can be executed in parallel to other requests.
4195          */
4196         virtual Model::UpdateUserRoutingProfileOutcomeCallable UpdateUserRoutingProfileCallable(const Model::UpdateUserRoutingProfileRequest& request) const;
4197 
4198         /**
4199          * <p>Assigns the specified routing profile to the specified user.</p><p><h3>See
4200          * Also:</h3>   <a
4201          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile">AWS
4202          * API Reference</a></p>
4203          *
4204          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4205          */
4206         virtual void UpdateUserRoutingProfileAsync(const Model::UpdateUserRoutingProfileRequest& request, const UpdateUserRoutingProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4207 
4208         /**
4209          * <p>Assigns the specified security profiles to the specified user.</p><p><h3>See
4210          * Also:</h3>   <a
4211          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles">AWS
4212          * API Reference</a></p>
4213          */
4214         virtual Model::UpdateUserSecurityProfilesOutcome UpdateUserSecurityProfiles(const Model::UpdateUserSecurityProfilesRequest& request) const;
4215 
4216         /**
4217          * <p>Assigns the specified security profiles to the specified user.</p><p><h3>See
4218          * Also:</h3>   <a
4219          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles">AWS
4220          * API Reference</a></p>
4221          *
4222          * returns a future to the operation so that it can be executed in parallel to other requests.
4223          */
4224         virtual Model::UpdateUserSecurityProfilesOutcomeCallable UpdateUserSecurityProfilesCallable(const Model::UpdateUserSecurityProfilesRequest& request) const;
4225 
4226         /**
4227          * <p>Assigns the specified security profiles to the specified user.</p><p><h3>See
4228          * Also:</h3>   <a
4229          * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles">AWS
4230          * API Reference</a></p>
4231          *
4232          * Queues the request into a thread executor and triggers associated callback when operation has finished.
4233          */
4234         virtual void UpdateUserSecurityProfilesAsync(const Model::UpdateUserSecurityProfilesRequest& request, const UpdateUserSecurityProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
4235 
4236 
4237       void OverrideEndpoint(const Aws::String& endpoint);
4238     private:
4239       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
4240         void AssociateApprovedOriginAsyncHelper(const Model::AssociateApprovedOriginRequest& request, const AssociateApprovedOriginResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4241         void AssociateBotAsyncHelper(const Model::AssociateBotRequest& request, const AssociateBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4242         void AssociateInstanceStorageConfigAsyncHelper(const Model::AssociateInstanceStorageConfigRequest& request, const AssociateInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4243         void AssociateLambdaFunctionAsyncHelper(const Model::AssociateLambdaFunctionRequest& request, const AssociateLambdaFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4244         void AssociateLexBotAsyncHelper(const Model::AssociateLexBotRequest& request, const AssociateLexBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4245         void AssociateQueueQuickConnectsAsyncHelper(const Model::AssociateQueueQuickConnectsRequest& request, const AssociateQueueQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4246         void AssociateRoutingProfileQueuesAsyncHelper(const Model::AssociateRoutingProfileQueuesRequest& request, const AssociateRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4247         void AssociateSecurityKeyAsyncHelper(const Model::AssociateSecurityKeyRequest& request, const AssociateSecurityKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4248         void CreateAgentStatusAsyncHelper(const Model::CreateAgentStatusRequest& request, const CreateAgentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4249         void CreateContactFlowAsyncHelper(const Model::CreateContactFlowRequest& request, const CreateContactFlowResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4250         void CreateHoursOfOperationAsyncHelper(const Model::CreateHoursOfOperationRequest& request, const CreateHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4251         void CreateInstanceAsyncHelper(const Model::CreateInstanceRequest& request, const CreateInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4252         void CreateIntegrationAssociationAsyncHelper(const Model::CreateIntegrationAssociationRequest& request, const CreateIntegrationAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4253         void CreateQueueAsyncHelper(const Model::CreateQueueRequest& request, const CreateQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4254         void CreateQuickConnectAsyncHelper(const Model::CreateQuickConnectRequest& request, const CreateQuickConnectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4255         void CreateRoutingProfileAsyncHelper(const Model::CreateRoutingProfileRequest& request, const CreateRoutingProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4256         void CreateUseCaseAsyncHelper(const Model::CreateUseCaseRequest& request, const CreateUseCaseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4257         void CreateUserAsyncHelper(const Model::CreateUserRequest& request, const CreateUserResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4258         void CreateUserHierarchyGroupAsyncHelper(const Model::CreateUserHierarchyGroupRequest& request, const CreateUserHierarchyGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4259         void DeleteHoursOfOperationAsyncHelper(const Model::DeleteHoursOfOperationRequest& request, const DeleteHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4260         void DeleteInstanceAsyncHelper(const Model::DeleteInstanceRequest& request, const DeleteInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4261         void DeleteIntegrationAssociationAsyncHelper(const Model::DeleteIntegrationAssociationRequest& request, const DeleteIntegrationAssociationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4262         void DeleteQuickConnectAsyncHelper(const Model::DeleteQuickConnectRequest& request, const DeleteQuickConnectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4263         void DeleteUseCaseAsyncHelper(const Model::DeleteUseCaseRequest& request, const DeleteUseCaseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4264         void DeleteUserAsyncHelper(const Model::DeleteUserRequest& request, const DeleteUserResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4265         void DeleteUserHierarchyGroupAsyncHelper(const Model::DeleteUserHierarchyGroupRequest& request, const DeleteUserHierarchyGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4266         void DescribeAgentStatusAsyncHelper(const Model::DescribeAgentStatusRequest& request, const DescribeAgentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4267         void DescribeContactFlowAsyncHelper(const Model::DescribeContactFlowRequest& request, const DescribeContactFlowResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4268         void DescribeHoursOfOperationAsyncHelper(const Model::DescribeHoursOfOperationRequest& request, const DescribeHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4269         void DescribeInstanceAsyncHelper(const Model::DescribeInstanceRequest& request, const DescribeInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4270         void DescribeInstanceAttributeAsyncHelper(const Model::DescribeInstanceAttributeRequest& request, const DescribeInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4271         void DescribeInstanceStorageConfigAsyncHelper(const Model::DescribeInstanceStorageConfigRequest& request, const DescribeInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4272         void DescribeQueueAsyncHelper(const Model::DescribeQueueRequest& request, const DescribeQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4273         void DescribeQuickConnectAsyncHelper(const Model::DescribeQuickConnectRequest& request, const DescribeQuickConnectResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4274         void DescribeRoutingProfileAsyncHelper(const Model::DescribeRoutingProfileRequest& request, const DescribeRoutingProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4275         void DescribeUserAsyncHelper(const Model::DescribeUserRequest& request, const DescribeUserResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4276         void DescribeUserHierarchyGroupAsyncHelper(const Model::DescribeUserHierarchyGroupRequest& request, const DescribeUserHierarchyGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4277         void DescribeUserHierarchyStructureAsyncHelper(const Model::DescribeUserHierarchyStructureRequest& request, const DescribeUserHierarchyStructureResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4278         void DisassociateApprovedOriginAsyncHelper(const Model::DisassociateApprovedOriginRequest& request, const DisassociateApprovedOriginResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4279         void DisassociateBotAsyncHelper(const Model::DisassociateBotRequest& request, const DisassociateBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4280         void DisassociateInstanceStorageConfigAsyncHelper(const Model::DisassociateInstanceStorageConfigRequest& request, const DisassociateInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4281         void DisassociateLambdaFunctionAsyncHelper(const Model::DisassociateLambdaFunctionRequest& request, const DisassociateLambdaFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4282         void DisassociateLexBotAsyncHelper(const Model::DisassociateLexBotRequest& request, const DisassociateLexBotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4283         void DisassociateQueueQuickConnectsAsyncHelper(const Model::DisassociateQueueQuickConnectsRequest& request, const DisassociateQueueQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4284         void DisassociateRoutingProfileQueuesAsyncHelper(const Model::DisassociateRoutingProfileQueuesRequest& request, const DisassociateRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4285         void DisassociateSecurityKeyAsyncHelper(const Model::DisassociateSecurityKeyRequest& request, const DisassociateSecurityKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4286         void GetContactAttributesAsyncHelper(const Model::GetContactAttributesRequest& request, const GetContactAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4287         void GetCurrentMetricDataAsyncHelper(const Model::GetCurrentMetricDataRequest& request, const GetCurrentMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4288         void GetFederationTokenAsyncHelper(const Model::GetFederationTokenRequest& request, const GetFederationTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4289         void GetMetricDataAsyncHelper(const Model::GetMetricDataRequest& request, const GetMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4290         void ListAgentStatusesAsyncHelper(const Model::ListAgentStatusesRequest& request, const ListAgentStatusesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4291         void ListApprovedOriginsAsyncHelper(const Model::ListApprovedOriginsRequest& request, const ListApprovedOriginsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4292         void ListBotsAsyncHelper(const Model::ListBotsRequest& request, const ListBotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4293         void ListContactFlowsAsyncHelper(const Model::ListContactFlowsRequest& request, const ListContactFlowsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4294         void ListHoursOfOperationsAsyncHelper(const Model::ListHoursOfOperationsRequest& request, const ListHoursOfOperationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4295         void ListInstanceAttributesAsyncHelper(const Model::ListInstanceAttributesRequest& request, const ListInstanceAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4296         void ListInstanceStorageConfigsAsyncHelper(const Model::ListInstanceStorageConfigsRequest& request, const ListInstanceStorageConfigsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4297         void ListInstancesAsyncHelper(const Model::ListInstancesRequest& request, const ListInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4298         void ListIntegrationAssociationsAsyncHelper(const Model::ListIntegrationAssociationsRequest& request, const ListIntegrationAssociationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4299         void ListLambdaFunctionsAsyncHelper(const Model::ListLambdaFunctionsRequest& request, const ListLambdaFunctionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4300         void ListLexBotsAsyncHelper(const Model::ListLexBotsRequest& request, const ListLexBotsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4301         void ListPhoneNumbersAsyncHelper(const Model::ListPhoneNumbersRequest& request, const ListPhoneNumbersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4302         void ListPromptsAsyncHelper(const Model::ListPromptsRequest& request, const ListPromptsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4303         void ListQueueQuickConnectsAsyncHelper(const Model::ListQueueQuickConnectsRequest& request, const ListQueueQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4304         void ListQueuesAsyncHelper(const Model::ListQueuesRequest& request, const ListQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4305         void ListQuickConnectsAsyncHelper(const Model::ListQuickConnectsRequest& request, const ListQuickConnectsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4306         void ListRoutingProfileQueuesAsyncHelper(const Model::ListRoutingProfileQueuesRequest& request, const ListRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4307         void ListRoutingProfilesAsyncHelper(const Model::ListRoutingProfilesRequest& request, const ListRoutingProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4308         void ListSecurityKeysAsyncHelper(const Model::ListSecurityKeysRequest& request, const ListSecurityKeysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4309         void ListSecurityProfilesAsyncHelper(const Model::ListSecurityProfilesRequest& request, const ListSecurityProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4310         void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4311         void ListUseCasesAsyncHelper(const Model::ListUseCasesRequest& request, const ListUseCasesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4312         void ListUserHierarchyGroupsAsyncHelper(const Model::ListUserHierarchyGroupsRequest& request, const ListUserHierarchyGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4313         void ListUsersAsyncHelper(const Model::ListUsersRequest& request, const ListUsersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4314         void ResumeContactRecordingAsyncHelper(const Model::ResumeContactRecordingRequest& request, const ResumeContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4315         void StartChatContactAsyncHelper(const Model::StartChatContactRequest& request, const StartChatContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4316         void StartContactRecordingAsyncHelper(const Model::StartContactRecordingRequest& request, const StartContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4317         void StartOutboundVoiceContactAsyncHelper(const Model::StartOutboundVoiceContactRequest& request, const StartOutboundVoiceContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4318         void StartTaskContactAsyncHelper(const Model::StartTaskContactRequest& request, const StartTaskContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4319         void StopContactAsyncHelper(const Model::StopContactRequest& request, const StopContactResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4320         void StopContactRecordingAsyncHelper(const Model::StopContactRecordingRequest& request, const StopContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4321         void SuspendContactRecordingAsyncHelper(const Model::SuspendContactRecordingRequest& request, const SuspendContactRecordingResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4322         void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4323         void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4324         void UpdateAgentStatusAsyncHelper(const Model::UpdateAgentStatusRequest& request, const UpdateAgentStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4325         void UpdateContactAttributesAsyncHelper(const Model::UpdateContactAttributesRequest& request, const UpdateContactAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4326         void UpdateContactFlowContentAsyncHelper(const Model::UpdateContactFlowContentRequest& request, const UpdateContactFlowContentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4327         void UpdateContactFlowNameAsyncHelper(const Model::UpdateContactFlowNameRequest& request, const UpdateContactFlowNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4328         void UpdateHoursOfOperationAsyncHelper(const Model::UpdateHoursOfOperationRequest& request, const UpdateHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4329         void UpdateInstanceAttributeAsyncHelper(const Model::UpdateInstanceAttributeRequest& request, const UpdateInstanceAttributeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4330         void UpdateInstanceStorageConfigAsyncHelper(const Model::UpdateInstanceStorageConfigRequest& request, const UpdateInstanceStorageConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4331         void UpdateQueueHoursOfOperationAsyncHelper(const Model::UpdateQueueHoursOfOperationRequest& request, const UpdateQueueHoursOfOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4332         void UpdateQueueMaxContactsAsyncHelper(const Model::UpdateQueueMaxContactsRequest& request, const UpdateQueueMaxContactsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4333         void UpdateQueueNameAsyncHelper(const Model::UpdateQueueNameRequest& request, const UpdateQueueNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4334         void UpdateQueueOutboundCallerConfigAsyncHelper(const Model::UpdateQueueOutboundCallerConfigRequest& request, const UpdateQueueOutboundCallerConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4335         void UpdateQueueStatusAsyncHelper(const Model::UpdateQueueStatusRequest& request, const UpdateQueueStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4336         void UpdateQuickConnectConfigAsyncHelper(const Model::UpdateQuickConnectConfigRequest& request, const UpdateQuickConnectConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4337         void UpdateQuickConnectNameAsyncHelper(const Model::UpdateQuickConnectNameRequest& request, const UpdateQuickConnectNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4338         void UpdateRoutingProfileConcurrencyAsyncHelper(const Model::UpdateRoutingProfileConcurrencyRequest& request, const UpdateRoutingProfileConcurrencyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4339         void UpdateRoutingProfileDefaultOutboundQueueAsyncHelper(const Model::UpdateRoutingProfileDefaultOutboundQueueRequest& request, const UpdateRoutingProfileDefaultOutboundQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4340         void UpdateRoutingProfileNameAsyncHelper(const Model::UpdateRoutingProfileNameRequest& request, const UpdateRoutingProfileNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4341         void UpdateRoutingProfileQueuesAsyncHelper(const Model::UpdateRoutingProfileQueuesRequest& request, const UpdateRoutingProfileQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4342         void UpdateUserHierarchyAsyncHelper(const Model::UpdateUserHierarchyRequest& request, const UpdateUserHierarchyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4343         void UpdateUserHierarchyGroupNameAsyncHelper(const Model::UpdateUserHierarchyGroupNameRequest& request, const UpdateUserHierarchyGroupNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4344         void UpdateUserHierarchyStructureAsyncHelper(const Model::UpdateUserHierarchyStructureRequest& request, const UpdateUserHierarchyStructureResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4345         void UpdateUserIdentityInfoAsyncHelper(const Model::UpdateUserIdentityInfoRequest& request, const UpdateUserIdentityInfoResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4346         void UpdateUserPhoneConfigAsyncHelper(const Model::UpdateUserPhoneConfigRequest& request, const UpdateUserPhoneConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4347         void UpdateUserRoutingProfileAsyncHelper(const Model::UpdateUserRoutingProfileRequest& request, const UpdateUserRoutingProfileResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4348         void UpdateUserSecurityProfilesAsyncHelper(const Model::UpdateUserSecurityProfilesRequest& request, const UpdateUserSecurityProfilesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
4349 
4350       Aws::String m_uri;
4351       Aws::String m_configScheme;
4352       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
4353   };
4354 
4355 } // namespace Connect
4356 } // namespace Aws
4357