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/appsync/AppSync_EXPORTS.h>
8 #include <aws/appsync/AppSyncErrors.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/appsync/model/CreateApiCacheResult.h>
15 #include <aws/appsync/model/CreateApiKeyResult.h>
16 #include <aws/appsync/model/CreateDataSourceResult.h>
17 #include <aws/appsync/model/CreateFunctionResult.h>
18 #include <aws/appsync/model/CreateGraphqlApiResult.h>
19 #include <aws/appsync/model/CreateResolverResult.h>
20 #include <aws/appsync/model/CreateTypeResult.h>
21 #include <aws/appsync/model/DeleteApiCacheResult.h>
22 #include <aws/appsync/model/DeleteApiKeyResult.h>
23 #include <aws/appsync/model/DeleteDataSourceResult.h>
24 #include <aws/appsync/model/DeleteFunctionResult.h>
25 #include <aws/appsync/model/DeleteGraphqlApiResult.h>
26 #include <aws/appsync/model/DeleteResolverResult.h>
27 #include <aws/appsync/model/DeleteTypeResult.h>
28 #include <aws/appsync/model/FlushApiCacheResult.h>
29 #include <aws/appsync/model/GetApiCacheResult.h>
30 #include <aws/appsync/model/GetDataSourceResult.h>
31 #include <aws/appsync/model/GetFunctionResult.h>
32 #include <aws/appsync/model/GetGraphqlApiResult.h>
33 #include <aws/appsync/model/GetIntrospectionSchemaResult.h>
34 #include <aws/appsync/model/GetResolverResult.h>
35 #include <aws/appsync/model/GetSchemaCreationStatusResult.h>
36 #include <aws/appsync/model/GetTypeResult.h>
37 #include <aws/appsync/model/ListApiKeysResult.h>
38 #include <aws/appsync/model/ListDataSourcesResult.h>
39 #include <aws/appsync/model/ListFunctionsResult.h>
40 #include <aws/appsync/model/ListGraphqlApisResult.h>
41 #include <aws/appsync/model/ListResolversResult.h>
42 #include <aws/appsync/model/ListResolversByFunctionResult.h>
43 #include <aws/appsync/model/ListTagsForResourceResult.h>
44 #include <aws/appsync/model/ListTypesResult.h>
45 #include <aws/appsync/model/StartSchemaCreationResult.h>
46 #include <aws/appsync/model/TagResourceResult.h>
47 #include <aws/appsync/model/UntagResourceResult.h>
48 #include <aws/appsync/model/UpdateApiCacheResult.h>
49 #include <aws/appsync/model/UpdateApiKeyResult.h>
50 #include <aws/appsync/model/UpdateDataSourceResult.h>
51 #include <aws/appsync/model/UpdateFunctionResult.h>
52 #include <aws/appsync/model/UpdateGraphqlApiResult.h>
53 #include <aws/appsync/model/UpdateResolverResult.h>
54 #include <aws/appsync/model/UpdateTypeResult.h>
55 #include <aws/core/client/AsyncCallerContext.h>
56 #include <aws/core/http/HttpTypes.h>
57 #include <future>
58 #include <functional>
59 
60 namespace Aws
61 {
62 
63 namespace Http
64 {
65   class HttpClient;
66   class HttpClientFactory;
67 } // namespace Http
68 
69 namespace Utils
70 {
71   template< typename R, typename E> class Outcome;
72 namespace Threading
73 {
74   class Executor;
75 } // namespace Threading
76 } // namespace Utils
77 
78 namespace Auth
79 {
80   class AWSCredentials;
81   class AWSCredentialsProvider;
82 } // namespace Auth
83 
84 namespace Client
85 {
86   class RetryStrategy;
87 } // namespace Client
88 
89 namespace AppSync
90 {
91 
92 namespace Model
93 {
94         class CreateApiCacheRequest;
95         class CreateApiKeyRequest;
96         class CreateDataSourceRequest;
97         class CreateFunctionRequest;
98         class CreateGraphqlApiRequest;
99         class CreateResolverRequest;
100         class CreateTypeRequest;
101         class DeleteApiCacheRequest;
102         class DeleteApiKeyRequest;
103         class DeleteDataSourceRequest;
104         class DeleteFunctionRequest;
105         class DeleteGraphqlApiRequest;
106         class DeleteResolverRequest;
107         class DeleteTypeRequest;
108         class FlushApiCacheRequest;
109         class GetApiCacheRequest;
110         class GetDataSourceRequest;
111         class GetFunctionRequest;
112         class GetGraphqlApiRequest;
113         class GetIntrospectionSchemaRequest;
114         class GetResolverRequest;
115         class GetSchemaCreationStatusRequest;
116         class GetTypeRequest;
117         class ListApiKeysRequest;
118         class ListDataSourcesRequest;
119         class ListFunctionsRequest;
120         class ListGraphqlApisRequest;
121         class ListResolversRequest;
122         class ListResolversByFunctionRequest;
123         class ListTagsForResourceRequest;
124         class ListTypesRequest;
125         class StartSchemaCreationRequest;
126         class TagResourceRequest;
127         class UntagResourceRequest;
128         class UpdateApiCacheRequest;
129         class UpdateApiKeyRequest;
130         class UpdateDataSourceRequest;
131         class UpdateFunctionRequest;
132         class UpdateGraphqlApiRequest;
133         class UpdateResolverRequest;
134         class UpdateTypeRequest;
135 
136         typedef Aws::Utils::Outcome<CreateApiCacheResult, AppSyncError> CreateApiCacheOutcome;
137         typedef Aws::Utils::Outcome<CreateApiKeyResult, AppSyncError> CreateApiKeyOutcome;
138         typedef Aws::Utils::Outcome<CreateDataSourceResult, AppSyncError> CreateDataSourceOutcome;
139         typedef Aws::Utils::Outcome<CreateFunctionResult, AppSyncError> CreateFunctionOutcome;
140         typedef Aws::Utils::Outcome<CreateGraphqlApiResult, AppSyncError> CreateGraphqlApiOutcome;
141         typedef Aws::Utils::Outcome<CreateResolverResult, AppSyncError> CreateResolverOutcome;
142         typedef Aws::Utils::Outcome<CreateTypeResult, AppSyncError> CreateTypeOutcome;
143         typedef Aws::Utils::Outcome<DeleteApiCacheResult, AppSyncError> DeleteApiCacheOutcome;
144         typedef Aws::Utils::Outcome<DeleteApiKeyResult, AppSyncError> DeleteApiKeyOutcome;
145         typedef Aws::Utils::Outcome<DeleteDataSourceResult, AppSyncError> DeleteDataSourceOutcome;
146         typedef Aws::Utils::Outcome<DeleteFunctionResult, AppSyncError> DeleteFunctionOutcome;
147         typedef Aws::Utils::Outcome<DeleteGraphqlApiResult, AppSyncError> DeleteGraphqlApiOutcome;
148         typedef Aws::Utils::Outcome<DeleteResolverResult, AppSyncError> DeleteResolverOutcome;
149         typedef Aws::Utils::Outcome<DeleteTypeResult, AppSyncError> DeleteTypeOutcome;
150         typedef Aws::Utils::Outcome<FlushApiCacheResult, AppSyncError> FlushApiCacheOutcome;
151         typedef Aws::Utils::Outcome<GetApiCacheResult, AppSyncError> GetApiCacheOutcome;
152         typedef Aws::Utils::Outcome<GetDataSourceResult, AppSyncError> GetDataSourceOutcome;
153         typedef Aws::Utils::Outcome<GetFunctionResult, AppSyncError> GetFunctionOutcome;
154         typedef Aws::Utils::Outcome<GetGraphqlApiResult, AppSyncError> GetGraphqlApiOutcome;
155         typedef Aws::Utils::Outcome<GetIntrospectionSchemaResult, AppSyncError> GetIntrospectionSchemaOutcome;
156         typedef Aws::Utils::Outcome<GetResolverResult, AppSyncError> GetResolverOutcome;
157         typedef Aws::Utils::Outcome<GetSchemaCreationStatusResult, AppSyncError> GetSchemaCreationStatusOutcome;
158         typedef Aws::Utils::Outcome<GetTypeResult, AppSyncError> GetTypeOutcome;
159         typedef Aws::Utils::Outcome<ListApiKeysResult, AppSyncError> ListApiKeysOutcome;
160         typedef Aws::Utils::Outcome<ListDataSourcesResult, AppSyncError> ListDataSourcesOutcome;
161         typedef Aws::Utils::Outcome<ListFunctionsResult, AppSyncError> ListFunctionsOutcome;
162         typedef Aws::Utils::Outcome<ListGraphqlApisResult, AppSyncError> ListGraphqlApisOutcome;
163         typedef Aws::Utils::Outcome<ListResolversResult, AppSyncError> ListResolversOutcome;
164         typedef Aws::Utils::Outcome<ListResolversByFunctionResult, AppSyncError> ListResolversByFunctionOutcome;
165         typedef Aws::Utils::Outcome<ListTagsForResourceResult, AppSyncError> ListTagsForResourceOutcome;
166         typedef Aws::Utils::Outcome<ListTypesResult, AppSyncError> ListTypesOutcome;
167         typedef Aws::Utils::Outcome<StartSchemaCreationResult, AppSyncError> StartSchemaCreationOutcome;
168         typedef Aws::Utils::Outcome<TagResourceResult, AppSyncError> TagResourceOutcome;
169         typedef Aws::Utils::Outcome<UntagResourceResult, AppSyncError> UntagResourceOutcome;
170         typedef Aws::Utils::Outcome<UpdateApiCacheResult, AppSyncError> UpdateApiCacheOutcome;
171         typedef Aws::Utils::Outcome<UpdateApiKeyResult, AppSyncError> UpdateApiKeyOutcome;
172         typedef Aws::Utils::Outcome<UpdateDataSourceResult, AppSyncError> UpdateDataSourceOutcome;
173         typedef Aws::Utils::Outcome<UpdateFunctionResult, AppSyncError> UpdateFunctionOutcome;
174         typedef Aws::Utils::Outcome<UpdateGraphqlApiResult, AppSyncError> UpdateGraphqlApiOutcome;
175         typedef Aws::Utils::Outcome<UpdateResolverResult, AppSyncError> UpdateResolverOutcome;
176         typedef Aws::Utils::Outcome<UpdateTypeResult, AppSyncError> UpdateTypeOutcome;
177 
178         typedef std::future<CreateApiCacheOutcome> CreateApiCacheOutcomeCallable;
179         typedef std::future<CreateApiKeyOutcome> CreateApiKeyOutcomeCallable;
180         typedef std::future<CreateDataSourceOutcome> CreateDataSourceOutcomeCallable;
181         typedef std::future<CreateFunctionOutcome> CreateFunctionOutcomeCallable;
182         typedef std::future<CreateGraphqlApiOutcome> CreateGraphqlApiOutcomeCallable;
183         typedef std::future<CreateResolverOutcome> CreateResolverOutcomeCallable;
184         typedef std::future<CreateTypeOutcome> CreateTypeOutcomeCallable;
185         typedef std::future<DeleteApiCacheOutcome> DeleteApiCacheOutcomeCallable;
186         typedef std::future<DeleteApiKeyOutcome> DeleteApiKeyOutcomeCallable;
187         typedef std::future<DeleteDataSourceOutcome> DeleteDataSourceOutcomeCallable;
188         typedef std::future<DeleteFunctionOutcome> DeleteFunctionOutcomeCallable;
189         typedef std::future<DeleteGraphqlApiOutcome> DeleteGraphqlApiOutcomeCallable;
190         typedef std::future<DeleteResolverOutcome> DeleteResolverOutcomeCallable;
191         typedef std::future<DeleteTypeOutcome> DeleteTypeOutcomeCallable;
192         typedef std::future<FlushApiCacheOutcome> FlushApiCacheOutcomeCallable;
193         typedef std::future<GetApiCacheOutcome> GetApiCacheOutcomeCallable;
194         typedef std::future<GetDataSourceOutcome> GetDataSourceOutcomeCallable;
195         typedef std::future<GetFunctionOutcome> GetFunctionOutcomeCallable;
196         typedef std::future<GetGraphqlApiOutcome> GetGraphqlApiOutcomeCallable;
197         typedef std::future<GetIntrospectionSchemaOutcome> GetIntrospectionSchemaOutcomeCallable;
198         typedef std::future<GetResolverOutcome> GetResolverOutcomeCallable;
199         typedef std::future<GetSchemaCreationStatusOutcome> GetSchemaCreationStatusOutcomeCallable;
200         typedef std::future<GetTypeOutcome> GetTypeOutcomeCallable;
201         typedef std::future<ListApiKeysOutcome> ListApiKeysOutcomeCallable;
202         typedef std::future<ListDataSourcesOutcome> ListDataSourcesOutcomeCallable;
203         typedef std::future<ListFunctionsOutcome> ListFunctionsOutcomeCallable;
204         typedef std::future<ListGraphqlApisOutcome> ListGraphqlApisOutcomeCallable;
205         typedef std::future<ListResolversOutcome> ListResolversOutcomeCallable;
206         typedef std::future<ListResolversByFunctionOutcome> ListResolversByFunctionOutcomeCallable;
207         typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
208         typedef std::future<ListTypesOutcome> ListTypesOutcomeCallable;
209         typedef std::future<StartSchemaCreationOutcome> StartSchemaCreationOutcomeCallable;
210         typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
211         typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
212         typedef std::future<UpdateApiCacheOutcome> UpdateApiCacheOutcomeCallable;
213         typedef std::future<UpdateApiKeyOutcome> UpdateApiKeyOutcomeCallable;
214         typedef std::future<UpdateDataSourceOutcome> UpdateDataSourceOutcomeCallable;
215         typedef std::future<UpdateFunctionOutcome> UpdateFunctionOutcomeCallable;
216         typedef std::future<UpdateGraphqlApiOutcome> UpdateGraphqlApiOutcomeCallable;
217         typedef std::future<UpdateResolverOutcome> UpdateResolverOutcomeCallable;
218         typedef std::future<UpdateTypeOutcome> UpdateTypeOutcomeCallable;
219 } // namespace Model
220 
221   class AppSyncClient;
222 
223     typedef std::function<void(const AppSyncClient*, const Model::CreateApiCacheRequest&, const Model::CreateApiCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateApiCacheResponseReceivedHandler;
224     typedef std::function<void(const AppSyncClient*, const Model::CreateApiKeyRequest&, const Model::CreateApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateApiKeyResponseReceivedHandler;
225     typedef std::function<void(const AppSyncClient*, const Model::CreateDataSourceRequest&, const Model::CreateDataSourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDataSourceResponseReceivedHandler;
226     typedef std::function<void(const AppSyncClient*, const Model::CreateFunctionRequest&, const Model::CreateFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateFunctionResponseReceivedHandler;
227     typedef std::function<void(const AppSyncClient*, const Model::CreateGraphqlApiRequest&, const Model::CreateGraphqlApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateGraphqlApiResponseReceivedHandler;
228     typedef std::function<void(const AppSyncClient*, const Model::CreateResolverRequest&, const Model::CreateResolverOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateResolverResponseReceivedHandler;
229     typedef std::function<void(const AppSyncClient*, const Model::CreateTypeRequest&, const Model::CreateTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTypeResponseReceivedHandler;
230     typedef std::function<void(const AppSyncClient*, const Model::DeleteApiCacheRequest&, const Model::DeleteApiCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteApiCacheResponseReceivedHandler;
231     typedef std::function<void(const AppSyncClient*, const Model::DeleteApiKeyRequest&, const Model::DeleteApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteApiKeyResponseReceivedHandler;
232     typedef std::function<void(const AppSyncClient*, const Model::DeleteDataSourceRequest&, const Model::DeleteDataSourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDataSourceResponseReceivedHandler;
233     typedef std::function<void(const AppSyncClient*, const Model::DeleteFunctionRequest&, const Model::DeleteFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteFunctionResponseReceivedHandler;
234     typedef std::function<void(const AppSyncClient*, const Model::DeleteGraphqlApiRequest&, const Model::DeleteGraphqlApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteGraphqlApiResponseReceivedHandler;
235     typedef std::function<void(const AppSyncClient*, const Model::DeleteResolverRequest&, const Model::DeleteResolverOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteResolverResponseReceivedHandler;
236     typedef std::function<void(const AppSyncClient*, const Model::DeleteTypeRequest&, const Model::DeleteTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTypeResponseReceivedHandler;
237     typedef std::function<void(const AppSyncClient*, const Model::FlushApiCacheRequest&, const Model::FlushApiCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > FlushApiCacheResponseReceivedHandler;
238     typedef std::function<void(const AppSyncClient*, const Model::GetApiCacheRequest&, const Model::GetApiCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetApiCacheResponseReceivedHandler;
239     typedef std::function<void(const AppSyncClient*, const Model::GetDataSourceRequest&, const Model::GetDataSourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDataSourceResponseReceivedHandler;
240     typedef std::function<void(const AppSyncClient*, const Model::GetFunctionRequest&, const Model::GetFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetFunctionResponseReceivedHandler;
241     typedef std::function<void(const AppSyncClient*, const Model::GetGraphqlApiRequest&, const Model::GetGraphqlApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetGraphqlApiResponseReceivedHandler;
242     typedef std::function<void(const AppSyncClient*, const Model::GetIntrospectionSchemaRequest&, Model::GetIntrospectionSchemaOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIntrospectionSchemaResponseReceivedHandler;
243     typedef std::function<void(const AppSyncClient*, const Model::GetResolverRequest&, const Model::GetResolverOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetResolverResponseReceivedHandler;
244     typedef std::function<void(const AppSyncClient*, const Model::GetSchemaCreationStatusRequest&, const Model::GetSchemaCreationStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSchemaCreationStatusResponseReceivedHandler;
245     typedef std::function<void(const AppSyncClient*, const Model::GetTypeRequest&, const Model::GetTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTypeResponseReceivedHandler;
246     typedef std::function<void(const AppSyncClient*, const Model::ListApiKeysRequest&, const Model::ListApiKeysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListApiKeysResponseReceivedHandler;
247     typedef std::function<void(const AppSyncClient*, const Model::ListDataSourcesRequest&, const Model::ListDataSourcesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDataSourcesResponseReceivedHandler;
248     typedef std::function<void(const AppSyncClient*, const Model::ListFunctionsRequest&, const Model::ListFunctionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListFunctionsResponseReceivedHandler;
249     typedef std::function<void(const AppSyncClient*, const Model::ListGraphqlApisRequest&, const Model::ListGraphqlApisOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListGraphqlApisResponseReceivedHandler;
250     typedef std::function<void(const AppSyncClient*, const Model::ListResolversRequest&, const Model::ListResolversOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListResolversResponseReceivedHandler;
251     typedef std::function<void(const AppSyncClient*, const Model::ListResolversByFunctionRequest&, const Model::ListResolversByFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListResolversByFunctionResponseReceivedHandler;
252     typedef std::function<void(const AppSyncClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
253     typedef std::function<void(const AppSyncClient*, const Model::ListTypesRequest&, const Model::ListTypesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTypesResponseReceivedHandler;
254     typedef std::function<void(const AppSyncClient*, const Model::StartSchemaCreationRequest&, const Model::StartSchemaCreationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartSchemaCreationResponseReceivedHandler;
255     typedef std::function<void(const AppSyncClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
256     typedef std::function<void(const AppSyncClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
257     typedef std::function<void(const AppSyncClient*, const Model::UpdateApiCacheRequest&, const Model::UpdateApiCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateApiCacheResponseReceivedHandler;
258     typedef std::function<void(const AppSyncClient*, const Model::UpdateApiKeyRequest&, const Model::UpdateApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateApiKeyResponseReceivedHandler;
259     typedef std::function<void(const AppSyncClient*, const Model::UpdateDataSourceRequest&, const Model::UpdateDataSourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDataSourceResponseReceivedHandler;
260     typedef std::function<void(const AppSyncClient*, const Model::UpdateFunctionRequest&, const Model::UpdateFunctionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateFunctionResponseReceivedHandler;
261     typedef std::function<void(const AppSyncClient*, const Model::UpdateGraphqlApiRequest&, const Model::UpdateGraphqlApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateGraphqlApiResponseReceivedHandler;
262     typedef std::function<void(const AppSyncClient*, const Model::UpdateResolverRequest&, const Model::UpdateResolverOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateResolverResponseReceivedHandler;
263     typedef std::function<void(const AppSyncClient*, const Model::UpdateTypeRequest&, const Model::UpdateTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateTypeResponseReceivedHandler;
264 
265   /**
266    * <p>AppSync provides API actions for creating and interacting with data sources
267    * using GraphQL from your application.</p>
268    */
269   class AWS_APPSYNC_API AppSyncClient : public Aws::Client::AWSJsonClient
270   {
271     public:
272       typedef Aws::Client::AWSJsonClient BASECLASS;
273 
274        /**
275         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
276         * is not specified, it will be initialized to default values.
277         */
278         AppSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
279 
280        /**
281         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
282         * is not specified, it will be initialized to default values.
283         */
284         AppSyncClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
285 
286        /**
287         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
288         * the default http client factory will be used
289         */
290         AppSyncClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
291             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
292 
293         virtual ~AppSyncClient();
294 
295 
296         /**
297          * <p>Creates a cache for the GraphQL API.</p><p><h3>See Also:</h3>   <a
298          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache">AWS
299          * API Reference</a></p>
300          */
301         virtual Model::CreateApiCacheOutcome CreateApiCache(const Model::CreateApiCacheRequest& request) const;
302 
303         /**
304          * <p>Creates a cache for the GraphQL API.</p><p><h3>See Also:</h3>   <a
305          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache">AWS
306          * API Reference</a></p>
307          *
308          * returns a future to the operation so that it can be executed in parallel to other requests.
309          */
310         virtual Model::CreateApiCacheOutcomeCallable CreateApiCacheCallable(const Model::CreateApiCacheRequest& request) const;
311 
312         /**
313          * <p>Creates a cache for the GraphQL API.</p><p><h3>See Also:</h3>   <a
314          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache">AWS
315          * API Reference</a></p>
316          *
317          * Queues the request into a thread executor and triggers associated callback when operation has finished.
318          */
319         virtual void CreateApiCacheAsync(const Model::CreateApiCacheRequest& request, const CreateApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
320 
321         /**
322          * <p>Creates a unique key that you can distribute to clients who are executing
323          * your API.</p><p><h3>See Also:</h3>   <a
324          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey">AWS
325          * API Reference</a></p>
326          */
327         virtual Model::CreateApiKeyOutcome CreateApiKey(const Model::CreateApiKeyRequest& request) const;
328 
329         /**
330          * <p>Creates a unique key that you can distribute to clients who are executing
331          * your API.</p><p><h3>See Also:</h3>   <a
332          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey">AWS
333          * API Reference</a></p>
334          *
335          * returns a future to the operation so that it can be executed in parallel to other requests.
336          */
337         virtual Model::CreateApiKeyOutcomeCallable CreateApiKeyCallable(const Model::CreateApiKeyRequest& request) const;
338 
339         /**
340          * <p>Creates a unique key that you can distribute to clients who are executing
341          * your API.</p><p><h3>See Also:</h3>   <a
342          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiKey">AWS
343          * API Reference</a></p>
344          *
345          * Queues the request into a thread executor and triggers associated callback when operation has finished.
346          */
347         virtual void CreateApiKeyAsync(const Model::CreateApiKeyRequest& request, const CreateApiKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
348 
349         /**
350          * <p>Creates a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
351          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource">AWS
352          * API Reference</a></p>
353          */
354         virtual Model::CreateDataSourceOutcome CreateDataSource(const Model::CreateDataSourceRequest& request) const;
355 
356         /**
357          * <p>Creates a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
358          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource">AWS
359          * API Reference</a></p>
360          *
361          * returns a future to the operation so that it can be executed in parallel to other requests.
362          */
363         virtual Model::CreateDataSourceOutcomeCallable CreateDataSourceCallable(const Model::CreateDataSourceRequest& request) const;
364 
365         /**
366          * <p>Creates a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
367          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateDataSource">AWS
368          * API Reference</a></p>
369          *
370          * Queues the request into a thread executor and triggers associated callback when operation has finished.
371          */
372         virtual void CreateDataSourceAsync(const Model::CreateDataSourceRequest& request, const CreateDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
373 
374         /**
375          * <p>Creates a <code>Function</code> object.</p> <p>A function is a reusable
376          * entity. Multiple functions can be used to compose the resolver
377          * logic.</p><p><h3>See Also:</h3>   <a
378          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction">AWS
379          * API Reference</a></p>
380          */
381         virtual Model::CreateFunctionOutcome CreateFunction(const Model::CreateFunctionRequest& request) const;
382 
383         /**
384          * <p>Creates a <code>Function</code> object.</p> <p>A function is a reusable
385          * entity. Multiple functions can be used to compose the resolver
386          * logic.</p><p><h3>See Also:</h3>   <a
387          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction">AWS
388          * API Reference</a></p>
389          *
390          * returns a future to the operation so that it can be executed in parallel to other requests.
391          */
392         virtual Model::CreateFunctionOutcomeCallable CreateFunctionCallable(const Model::CreateFunctionRequest& request) const;
393 
394         /**
395          * <p>Creates a <code>Function</code> object.</p> <p>A function is a reusable
396          * entity. Multiple functions can be used to compose the resolver
397          * logic.</p><p><h3>See Also:</h3>   <a
398          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateFunction">AWS
399          * API Reference</a></p>
400          *
401          * Queues the request into a thread executor and triggers associated callback when operation has finished.
402          */
403         virtual void CreateFunctionAsync(const Model::CreateFunctionRequest& request, const CreateFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
404 
405         /**
406          * <p>Creates a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
407          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi">AWS
408          * API Reference</a></p>
409          */
410         virtual Model::CreateGraphqlApiOutcome CreateGraphqlApi(const Model::CreateGraphqlApiRequest& request) const;
411 
412         /**
413          * <p>Creates a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
414          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi">AWS
415          * API Reference</a></p>
416          *
417          * returns a future to the operation so that it can be executed in parallel to other requests.
418          */
419         virtual Model::CreateGraphqlApiOutcomeCallable CreateGraphqlApiCallable(const Model::CreateGraphqlApiRequest& request) const;
420 
421         /**
422          * <p>Creates a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
423          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi">AWS
424          * API Reference</a></p>
425          *
426          * Queues the request into a thread executor and triggers associated callback when operation has finished.
427          */
428         virtual void CreateGraphqlApiAsync(const Model::CreateGraphqlApiRequest& request, const CreateGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
429 
430         /**
431          * <p>Creates a <code>Resolver</code> object.</p> <p>A resolver converts incoming
432          * requests into a format that a data source can understand and converts the data
433          * source's responses into GraphQL.</p><p><h3>See Also:</h3>   <a
434          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver">AWS
435          * API Reference</a></p>
436          */
437         virtual Model::CreateResolverOutcome CreateResolver(const Model::CreateResolverRequest& request) const;
438 
439         /**
440          * <p>Creates a <code>Resolver</code> object.</p> <p>A resolver converts incoming
441          * requests into a format that a data source can understand and converts the data
442          * source's responses into GraphQL.</p><p><h3>See Also:</h3>   <a
443          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver">AWS
444          * API Reference</a></p>
445          *
446          * returns a future to the operation so that it can be executed in parallel to other requests.
447          */
448         virtual Model::CreateResolverOutcomeCallable CreateResolverCallable(const Model::CreateResolverRequest& request) const;
449 
450         /**
451          * <p>Creates a <code>Resolver</code> object.</p> <p>A resolver converts incoming
452          * requests into a format that a data source can understand and converts the data
453          * source's responses into GraphQL.</p><p><h3>See Also:</h3>   <a
454          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolver">AWS
455          * API Reference</a></p>
456          *
457          * Queues the request into a thread executor and triggers associated callback when operation has finished.
458          */
459         virtual void CreateResolverAsync(const Model::CreateResolverRequest& request, const CreateResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
460 
461         /**
462          * <p>Creates a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
463          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType">AWS
464          * API Reference</a></p>
465          */
466         virtual Model::CreateTypeOutcome CreateType(const Model::CreateTypeRequest& request) const;
467 
468         /**
469          * <p>Creates a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
470          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType">AWS
471          * API Reference</a></p>
472          *
473          * returns a future to the operation so that it can be executed in parallel to other requests.
474          */
475         virtual Model::CreateTypeOutcomeCallable CreateTypeCallable(const Model::CreateTypeRequest& request) const;
476 
477         /**
478          * <p>Creates a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
479          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateType">AWS
480          * API Reference</a></p>
481          *
482          * Queues the request into a thread executor and triggers associated callback when operation has finished.
483          */
484         virtual void CreateTypeAsync(const Model::CreateTypeRequest& request, const CreateTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
485 
486         /**
487          * <p>Deletes an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
488          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache">AWS
489          * API Reference</a></p>
490          */
491         virtual Model::DeleteApiCacheOutcome DeleteApiCache(const Model::DeleteApiCacheRequest& request) const;
492 
493         /**
494          * <p>Deletes an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
495          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache">AWS
496          * API Reference</a></p>
497          *
498          * returns a future to the operation so that it can be executed in parallel to other requests.
499          */
500         virtual Model::DeleteApiCacheOutcomeCallable DeleteApiCacheCallable(const Model::DeleteApiCacheRequest& request) const;
501 
502         /**
503          * <p>Deletes an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
504          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache">AWS
505          * API Reference</a></p>
506          *
507          * Queues the request into a thread executor and triggers associated callback when operation has finished.
508          */
509         virtual void DeleteApiCacheAsync(const Model::DeleteApiCacheRequest& request, const DeleteApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
510 
511         /**
512          * <p>Deletes an API key.</p><p><h3>See Also:</h3>   <a
513          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey">AWS
514          * API Reference</a></p>
515          */
516         virtual Model::DeleteApiKeyOutcome DeleteApiKey(const Model::DeleteApiKeyRequest& request) const;
517 
518         /**
519          * <p>Deletes an API key.</p><p><h3>See Also:</h3>   <a
520          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey">AWS
521          * API Reference</a></p>
522          *
523          * returns a future to the operation so that it can be executed in parallel to other requests.
524          */
525         virtual Model::DeleteApiKeyOutcomeCallable DeleteApiKeyCallable(const Model::DeleteApiKeyRequest& request) const;
526 
527         /**
528          * <p>Deletes an API key.</p><p><h3>See Also:</h3>   <a
529          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiKey">AWS
530          * API Reference</a></p>
531          *
532          * Queues the request into a thread executor and triggers associated callback when operation has finished.
533          */
534         virtual void DeleteApiKeyAsync(const Model::DeleteApiKeyRequest& request, const DeleteApiKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
535 
536         /**
537          * <p>Deletes a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
538          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource">AWS
539          * API Reference</a></p>
540          */
541         virtual Model::DeleteDataSourceOutcome DeleteDataSource(const Model::DeleteDataSourceRequest& request) const;
542 
543         /**
544          * <p>Deletes a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
545          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource">AWS
546          * API Reference</a></p>
547          *
548          * returns a future to the operation so that it can be executed in parallel to other requests.
549          */
550         virtual Model::DeleteDataSourceOutcomeCallable DeleteDataSourceCallable(const Model::DeleteDataSourceRequest& request) const;
551 
552         /**
553          * <p>Deletes a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
554          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteDataSource">AWS
555          * API Reference</a></p>
556          *
557          * Queues the request into a thread executor and triggers associated callback when operation has finished.
558          */
559         virtual void DeleteDataSourceAsync(const Model::DeleteDataSourceRequest& request, const DeleteDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
560 
561         /**
562          * <p>Deletes a <code>Function</code>.</p><p><h3>See Also:</h3>   <a
563          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction">AWS
564          * API Reference</a></p>
565          */
566         virtual Model::DeleteFunctionOutcome DeleteFunction(const Model::DeleteFunctionRequest& request) const;
567 
568         /**
569          * <p>Deletes a <code>Function</code>.</p><p><h3>See Also:</h3>   <a
570          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction">AWS
571          * API Reference</a></p>
572          *
573          * returns a future to the operation so that it can be executed in parallel to other requests.
574          */
575         virtual Model::DeleteFunctionOutcomeCallable DeleteFunctionCallable(const Model::DeleteFunctionRequest& request) const;
576 
577         /**
578          * <p>Deletes a <code>Function</code>.</p><p><h3>See Also:</h3>   <a
579          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteFunction">AWS
580          * API Reference</a></p>
581          *
582          * Queues the request into a thread executor and triggers associated callback when operation has finished.
583          */
584         virtual void DeleteFunctionAsync(const Model::DeleteFunctionRequest& request, const DeleteFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
585 
586         /**
587          * <p>Deletes a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
588          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi">AWS
589          * API Reference</a></p>
590          */
591         virtual Model::DeleteGraphqlApiOutcome DeleteGraphqlApi(const Model::DeleteGraphqlApiRequest& request) const;
592 
593         /**
594          * <p>Deletes a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
595          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi">AWS
596          * API Reference</a></p>
597          *
598          * returns a future to the operation so that it can be executed in parallel to other requests.
599          */
600         virtual Model::DeleteGraphqlApiOutcomeCallable DeleteGraphqlApiCallable(const Model::DeleteGraphqlApiRequest& request) const;
601 
602         /**
603          * <p>Deletes a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
604          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteGraphqlApi">AWS
605          * API Reference</a></p>
606          *
607          * Queues the request into a thread executor and triggers associated callback when operation has finished.
608          */
609         virtual void DeleteGraphqlApiAsync(const Model::DeleteGraphqlApiRequest& request, const DeleteGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
610 
611         /**
612          * <p>Deletes a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
613          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver">AWS
614          * API Reference</a></p>
615          */
616         virtual Model::DeleteResolverOutcome DeleteResolver(const Model::DeleteResolverRequest& request) const;
617 
618         /**
619          * <p>Deletes a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
620          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver">AWS
621          * API Reference</a></p>
622          *
623          * returns a future to the operation so that it can be executed in parallel to other requests.
624          */
625         virtual Model::DeleteResolverOutcomeCallable DeleteResolverCallable(const Model::DeleteResolverRequest& request) const;
626 
627         /**
628          * <p>Deletes a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
629          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteResolver">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 DeleteResolverAsync(const Model::DeleteResolverRequest& request, const DeleteResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
635 
636         /**
637          * <p>Deletes a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
638          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType">AWS
639          * API Reference</a></p>
640          */
641         virtual Model::DeleteTypeOutcome DeleteType(const Model::DeleteTypeRequest& request) const;
642 
643         /**
644          * <p>Deletes a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
645          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType">AWS
646          * API Reference</a></p>
647          *
648          * returns a future to the operation so that it can be executed in parallel to other requests.
649          */
650         virtual Model::DeleteTypeOutcomeCallable DeleteTypeCallable(const Model::DeleteTypeRequest& request) const;
651 
652         /**
653          * <p>Deletes a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
654          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteType">AWS
655          * API Reference</a></p>
656          *
657          * Queues the request into a thread executor and triggers associated callback when operation has finished.
658          */
659         virtual void DeleteTypeAsync(const Model::DeleteTypeRequest& request, const DeleteTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
660 
661         /**
662          * <p>Flushes an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
663          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache">AWS
664          * API Reference</a></p>
665          */
666         virtual Model::FlushApiCacheOutcome FlushApiCache(const Model::FlushApiCacheRequest& request) const;
667 
668         /**
669          * <p>Flushes an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
670          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache">AWS
671          * API Reference</a></p>
672          *
673          * returns a future to the operation so that it can be executed in parallel to other requests.
674          */
675         virtual Model::FlushApiCacheOutcomeCallable FlushApiCacheCallable(const Model::FlushApiCacheRequest& request) const;
676 
677         /**
678          * <p>Flushes an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
679          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache">AWS
680          * API Reference</a></p>
681          *
682          * Queues the request into a thread executor and triggers associated callback when operation has finished.
683          */
684         virtual void FlushApiCacheAsync(const Model::FlushApiCacheRequest& request, const FlushApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
685 
686         /**
687          * <p>Retrieves an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
688          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache">AWS
689          * API Reference</a></p>
690          */
691         virtual Model::GetApiCacheOutcome GetApiCache(const Model::GetApiCacheRequest& request) const;
692 
693         /**
694          * <p>Retrieves an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
695          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache">AWS
696          * API Reference</a></p>
697          *
698          * returns a future to the operation so that it can be executed in parallel to other requests.
699          */
700         virtual Model::GetApiCacheOutcomeCallable GetApiCacheCallable(const Model::GetApiCacheRequest& request) const;
701 
702         /**
703          * <p>Retrieves an <code>ApiCache</code> object.</p><p><h3>See Also:</h3>   <a
704          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache">AWS
705          * API Reference</a></p>
706          *
707          * Queues the request into a thread executor and triggers associated callback when operation has finished.
708          */
709         virtual void GetApiCacheAsync(const Model::GetApiCacheRequest& request, const GetApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
710 
711         /**
712          * <p>Retrieves a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
713          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource">AWS
714          * API Reference</a></p>
715          */
716         virtual Model::GetDataSourceOutcome GetDataSource(const Model::GetDataSourceRequest& request) const;
717 
718         /**
719          * <p>Retrieves a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
720          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource">AWS
721          * API Reference</a></p>
722          *
723          * returns a future to the operation so that it can be executed in parallel to other requests.
724          */
725         virtual Model::GetDataSourceOutcomeCallable GetDataSourceCallable(const Model::GetDataSourceRequest& request) const;
726 
727         /**
728          * <p>Retrieves a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
729          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetDataSource">AWS
730          * API Reference</a></p>
731          *
732          * Queues the request into a thread executor and triggers associated callback when operation has finished.
733          */
734         virtual void GetDataSourceAsync(const Model::GetDataSourceRequest& request, const GetDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
735 
736         /**
737          * <p>Get a <code>Function</code>.</p><p><h3>See Also:</h3>   <a
738          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction">AWS
739          * API Reference</a></p>
740          */
741         virtual Model::GetFunctionOutcome GetFunction(const Model::GetFunctionRequest& request) const;
742 
743         /**
744          * <p>Get a <code>Function</code>.</p><p><h3>See Also:</h3>   <a
745          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction">AWS
746          * API Reference</a></p>
747          *
748          * returns a future to the operation so that it can be executed in parallel to other requests.
749          */
750         virtual Model::GetFunctionOutcomeCallable GetFunctionCallable(const Model::GetFunctionRequest& request) const;
751 
752         /**
753          * <p>Get a <code>Function</code>.</p><p><h3>See Also:</h3>   <a
754          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetFunction">AWS
755          * API Reference</a></p>
756          *
757          * Queues the request into a thread executor and triggers associated callback when operation has finished.
758          */
759         virtual void GetFunctionAsync(const Model::GetFunctionRequest& request, const GetFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
760 
761         /**
762          * <p>Retrieves a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
763          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi">AWS
764          * API Reference</a></p>
765          */
766         virtual Model::GetGraphqlApiOutcome GetGraphqlApi(const Model::GetGraphqlApiRequest& request) const;
767 
768         /**
769          * <p>Retrieves a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
770          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi">AWS
771          * API Reference</a></p>
772          *
773          * returns a future to the operation so that it can be executed in parallel to other requests.
774          */
775         virtual Model::GetGraphqlApiOutcomeCallable GetGraphqlApiCallable(const Model::GetGraphqlApiRequest& request) const;
776 
777         /**
778          * <p>Retrieves a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
779          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi">AWS
780          * API Reference</a></p>
781          *
782          * Queues the request into a thread executor and triggers associated callback when operation has finished.
783          */
784         virtual void GetGraphqlApiAsync(const Model::GetGraphqlApiRequest& request, const GetGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
785 
786         /**
787          * <p>Retrieves the introspection schema for a GraphQL API.</p><p><h3>See
788          * Also:</h3>   <a
789          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema">AWS
790          * API Reference</a></p>
791          */
792         virtual Model::GetIntrospectionSchemaOutcome GetIntrospectionSchema(const Model::GetIntrospectionSchemaRequest& request) const;
793 
794         /**
795          * <p>Retrieves the introspection schema for a GraphQL API.</p><p><h3>See
796          * Also:</h3>   <a
797          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema">AWS
798          * API Reference</a></p>
799          *
800          * returns a future to the operation so that it can be executed in parallel to other requests.
801          */
802         virtual Model::GetIntrospectionSchemaOutcomeCallable GetIntrospectionSchemaCallable(const Model::GetIntrospectionSchemaRequest& request) const;
803 
804         /**
805          * <p>Retrieves the introspection schema for a GraphQL API.</p><p><h3>See
806          * Also:</h3>   <a
807          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetIntrospectionSchema">AWS
808          * API Reference</a></p>
809          *
810          * Queues the request into a thread executor and triggers associated callback when operation has finished.
811          */
812         virtual void GetIntrospectionSchemaAsync(const Model::GetIntrospectionSchemaRequest& request, const GetIntrospectionSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
813 
814         /**
815          * <p>Retrieves a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
816          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver">AWS
817          * API Reference</a></p>
818          */
819         virtual Model::GetResolverOutcome GetResolver(const Model::GetResolverRequest& request) const;
820 
821         /**
822          * <p>Retrieves a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
823          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver">AWS
824          * API Reference</a></p>
825          *
826          * returns a future to the operation so that it can be executed in parallel to other requests.
827          */
828         virtual Model::GetResolverOutcomeCallable GetResolverCallable(const Model::GetResolverRequest& request) const;
829 
830         /**
831          * <p>Retrieves a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
832          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetResolver">AWS
833          * API Reference</a></p>
834          *
835          * Queues the request into a thread executor and triggers associated callback when operation has finished.
836          */
837         virtual void GetResolverAsync(const Model::GetResolverRequest& request, const GetResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
838 
839         /**
840          * <p>Retrieves the current status of a schema creation operation.</p><p><h3>See
841          * Also:</h3>   <a
842          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus">AWS
843          * API Reference</a></p>
844          */
845         virtual Model::GetSchemaCreationStatusOutcome GetSchemaCreationStatus(const Model::GetSchemaCreationStatusRequest& request) const;
846 
847         /**
848          * <p>Retrieves the current status of a schema creation operation.</p><p><h3>See
849          * Also:</h3>   <a
850          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus">AWS
851          * API Reference</a></p>
852          *
853          * returns a future to the operation so that it can be executed in parallel to other requests.
854          */
855         virtual Model::GetSchemaCreationStatusOutcomeCallable GetSchemaCreationStatusCallable(const Model::GetSchemaCreationStatusRequest& request) const;
856 
857         /**
858          * <p>Retrieves the current status of a schema creation operation.</p><p><h3>See
859          * Also:</h3>   <a
860          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSchemaCreationStatus">AWS
861          * API Reference</a></p>
862          *
863          * Queues the request into a thread executor and triggers associated callback when operation has finished.
864          */
865         virtual void GetSchemaCreationStatusAsync(const Model::GetSchemaCreationStatusRequest& request, const GetSchemaCreationStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
866 
867         /**
868          * <p>Retrieves a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
869          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType">AWS API
870          * Reference</a></p>
871          */
872         virtual Model::GetTypeOutcome GetType(const Model::GetTypeRequest& request) const;
873 
874         /**
875          * <p>Retrieves a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
876          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType">AWS API
877          * Reference</a></p>
878          *
879          * returns a future to the operation so that it can be executed in parallel to other requests.
880          */
881         virtual Model::GetTypeOutcomeCallable GetTypeCallable(const Model::GetTypeRequest& request) const;
882 
883         /**
884          * <p>Retrieves a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
885          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetType">AWS API
886          * Reference</a></p>
887          *
888          * Queues the request into a thread executor and triggers associated callback when operation has finished.
889          */
890         virtual void GetTypeAsync(const Model::GetTypeRequest& request, const GetTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
891 
892         /**
893          * <p>Lists the API keys for a given API.</p>  <p>API keys are deleted
894          * automatically 60 days after they expire. However, they may still be included in
895          * the response until they have actually been deleted. You can safely call
896          * <code>DeleteApiKey</code> to manually delete a key before it's automatically
897          * deleted.</p> <p><h3>See Also:</h3>   <a
898          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys">AWS
899          * API Reference</a></p>
900          */
901         virtual Model::ListApiKeysOutcome ListApiKeys(const Model::ListApiKeysRequest& request) const;
902 
903         /**
904          * <p>Lists the API keys for a given API.</p>  <p>API keys are deleted
905          * automatically 60 days after they expire. However, they may still be included in
906          * the response until they have actually been deleted. You can safely call
907          * <code>DeleteApiKey</code> to manually delete a key before it's automatically
908          * deleted.</p> <p><h3>See Also:</h3>   <a
909          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys">AWS
910          * API Reference</a></p>
911          *
912          * returns a future to the operation so that it can be executed in parallel to other requests.
913          */
914         virtual Model::ListApiKeysOutcomeCallable ListApiKeysCallable(const Model::ListApiKeysRequest& request) const;
915 
916         /**
917          * <p>Lists the API keys for a given API.</p>  <p>API keys are deleted
918          * automatically 60 days after they expire. However, they may still be included in
919          * the response until they have actually been deleted. You can safely call
920          * <code>DeleteApiKey</code> to manually delete a key before it's automatically
921          * deleted.</p> <p><h3>See Also:</h3>   <a
922          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApiKeys">AWS
923          * API Reference</a></p>
924          *
925          * Queues the request into a thread executor and triggers associated callback when operation has finished.
926          */
927         virtual void ListApiKeysAsync(const Model::ListApiKeysRequest& request, const ListApiKeysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
928 
929         /**
930          * <p>Lists the data sources for a given API.</p><p><h3>See Also:</h3>   <a
931          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources">AWS
932          * API Reference</a></p>
933          */
934         virtual Model::ListDataSourcesOutcome ListDataSources(const Model::ListDataSourcesRequest& request) const;
935 
936         /**
937          * <p>Lists the data sources for a given API.</p><p><h3>See Also:</h3>   <a
938          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources">AWS
939          * API Reference</a></p>
940          *
941          * returns a future to the operation so that it can be executed in parallel to other requests.
942          */
943         virtual Model::ListDataSourcesOutcomeCallable ListDataSourcesCallable(const Model::ListDataSourcesRequest& request) const;
944 
945         /**
946          * <p>Lists the data sources for a given API.</p><p><h3>See Also:</h3>   <a
947          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListDataSources">AWS
948          * API Reference</a></p>
949          *
950          * Queues the request into a thread executor and triggers associated callback when operation has finished.
951          */
952         virtual void ListDataSourcesAsync(const Model::ListDataSourcesRequest& request, const ListDataSourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
953 
954         /**
955          * <p>List multiple functions.</p><p><h3>See Also:</h3>   <a
956          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions">AWS
957          * API Reference</a></p>
958          */
959         virtual Model::ListFunctionsOutcome ListFunctions(const Model::ListFunctionsRequest& request) const;
960 
961         /**
962          * <p>List multiple functions.</p><p><h3>See Also:</h3>   <a
963          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions">AWS
964          * API Reference</a></p>
965          *
966          * returns a future to the operation so that it can be executed in parallel to other requests.
967          */
968         virtual Model::ListFunctionsOutcomeCallable ListFunctionsCallable(const Model::ListFunctionsRequest& request) const;
969 
970         /**
971          * <p>List multiple functions.</p><p><h3>See Also:</h3>   <a
972          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListFunctions">AWS
973          * API Reference</a></p>
974          *
975          * Queues the request into a thread executor and triggers associated callback when operation has finished.
976          */
977         virtual void ListFunctionsAsync(const Model::ListFunctionsRequest& request, const ListFunctionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
978 
979         /**
980          * <p>Lists your GraphQL APIs.</p><p><h3>See Also:</h3>   <a
981          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis">AWS
982          * API Reference</a></p>
983          */
984         virtual Model::ListGraphqlApisOutcome ListGraphqlApis(const Model::ListGraphqlApisRequest& request) const;
985 
986         /**
987          * <p>Lists your GraphQL APIs.</p><p><h3>See Also:</h3>   <a
988          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis">AWS
989          * API Reference</a></p>
990          *
991          * returns a future to the operation so that it can be executed in parallel to other requests.
992          */
993         virtual Model::ListGraphqlApisOutcomeCallable ListGraphqlApisCallable(const Model::ListGraphqlApisRequest& request) const;
994 
995         /**
996          * <p>Lists your GraphQL APIs.</p><p><h3>See Also:</h3>   <a
997          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis">AWS
998          * API Reference</a></p>
999          *
1000          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1001          */
1002         virtual void ListGraphqlApisAsync(const Model::ListGraphqlApisRequest& request, const ListGraphqlApisResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1003 
1004         /**
1005          * <p>Lists the resolvers for a given API and type.</p><p><h3>See Also:</h3>   <a
1006          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers">AWS
1007          * API Reference</a></p>
1008          */
1009         virtual Model::ListResolversOutcome ListResolvers(const Model::ListResolversRequest& request) const;
1010 
1011         /**
1012          * <p>Lists the resolvers for a given API and type.</p><p><h3>See Also:</h3>   <a
1013          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers">AWS
1014          * API Reference</a></p>
1015          *
1016          * returns a future to the operation so that it can be executed in parallel to other requests.
1017          */
1018         virtual Model::ListResolversOutcomeCallable ListResolversCallable(const Model::ListResolversRequest& request) const;
1019 
1020         /**
1021          * <p>Lists the resolvers for a given API and type.</p><p><h3>See Also:</h3>   <a
1022          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolvers">AWS
1023          * API Reference</a></p>
1024          *
1025          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1026          */
1027         virtual void ListResolversAsync(const Model::ListResolversRequest& request, const ListResolversResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1028 
1029         /**
1030          * <p>List the resolvers that are associated with a specific
1031          * function.</p><p><h3>See Also:</h3>   <a
1032          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction">AWS
1033          * API Reference</a></p>
1034          */
1035         virtual Model::ListResolversByFunctionOutcome ListResolversByFunction(const Model::ListResolversByFunctionRequest& request) const;
1036 
1037         /**
1038          * <p>List the resolvers that are associated with a specific
1039          * function.</p><p><h3>See Also:</h3>   <a
1040          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction">AWS
1041          * API Reference</a></p>
1042          *
1043          * returns a future to the operation so that it can be executed in parallel to other requests.
1044          */
1045         virtual Model::ListResolversByFunctionOutcomeCallable ListResolversByFunctionCallable(const Model::ListResolversByFunctionRequest& request) const;
1046 
1047         /**
1048          * <p>List the resolvers that are associated with a specific
1049          * function.</p><p><h3>See Also:</h3>   <a
1050          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListResolversByFunction">AWS
1051          * API Reference</a></p>
1052          *
1053          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1054          */
1055         virtual void ListResolversByFunctionAsync(const Model::ListResolversByFunctionRequest& request, const ListResolversByFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1056 
1057         /**
1058          * <p>Lists the tags for a resource.</p><p><h3>See Also:</h3>   <a
1059          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource">AWS
1060          * API Reference</a></p>
1061          */
1062         virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
1063 
1064         /**
1065          * <p>Lists the tags for a resource.</p><p><h3>See Also:</h3>   <a
1066          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource">AWS
1067          * API Reference</a></p>
1068          *
1069          * returns a future to the operation so that it can be executed in parallel to other requests.
1070          */
1071         virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
1072 
1073         /**
1074          * <p>Lists the tags for a resource.</p><p><h3>See Also:</h3>   <a
1075          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTagsForResource">AWS
1076          * API Reference</a></p>
1077          *
1078          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1079          */
1080         virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1081 
1082         /**
1083          * <p>Lists the types for a given API.</p><p><h3>See Also:</h3>   <a
1084          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes">AWS
1085          * API Reference</a></p>
1086          */
1087         virtual Model::ListTypesOutcome ListTypes(const Model::ListTypesRequest& request) const;
1088 
1089         /**
1090          * <p>Lists the types for a given API.</p><p><h3>See Also:</h3>   <a
1091          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes">AWS
1092          * API Reference</a></p>
1093          *
1094          * returns a future to the operation so that it can be executed in parallel to other requests.
1095          */
1096         virtual Model::ListTypesOutcomeCallable ListTypesCallable(const Model::ListTypesRequest& request) const;
1097 
1098         /**
1099          * <p>Lists the types for a given API.</p><p><h3>See Also:</h3>   <a
1100          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypes">AWS
1101          * API Reference</a></p>
1102          *
1103          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1104          */
1105         virtual void ListTypesAsync(const Model::ListTypesRequest& request, const ListTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1106 
1107         /**
1108          * <p>Adds a new schema to your GraphQL API.</p> <p>This operation is asynchronous.
1109          * Use to determine when it has completed.</p><p><h3>See Also:</h3>   <a
1110          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation">AWS
1111          * API Reference</a></p>
1112          */
1113         virtual Model::StartSchemaCreationOutcome StartSchemaCreation(const Model::StartSchemaCreationRequest& request) const;
1114 
1115         /**
1116          * <p>Adds a new schema to your GraphQL API.</p> <p>This operation is asynchronous.
1117          * Use to determine when it has completed.</p><p><h3>See Also:</h3>   <a
1118          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation">AWS
1119          * API Reference</a></p>
1120          *
1121          * returns a future to the operation so that it can be executed in parallel to other requests.
1122          */
1123         virtual Model::StartSchemaCreationOutcomeCallable StartSchemaCreationCallable(const Model::StartSchemaCreationRequest& request) const;
1124 
1125         /**
1126          * <p>Adds a new schema to your GraphQL API.</p> <p>This operation is asynchronous.
1127          * Use to determine when it has completed.</p><p><h3>See Also:</h3>   <a
1128          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaCreation">AWS
1129          * API Reference</a></p>
1130          *
1131          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1132          */
1133         virtual void StartSchemaCreationAsync(const Model::StartSchemaCreationRequest& request, const StartSchemaCreationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1134 
1135         /**
1136          * <p>Tags a resource with user-supplied tags.</p><p><h3>See Also:</h3>   <a
1137          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource">AWS
1138          * API Reference</a></p>
1139          */
1140         virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
1141 
1142         /**
1143          * <p>Tags a resource with user-supplied tags.</p><p><h3>See Also:</h3>   <a
1144          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource">AWS
1145          * API Reference</a></p>
1146          *
1147          * returns a future to the operation so that it can be executed in parallel to other requests.
1148          */
1149         virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
1150 
1151         /**
1152          * <p>Tags a resource with user-supplied tags.</p><p><h3>See Also:</h3>   <a
1153          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/TagResource">AWS
1154          * API Reference</a></p>
1155          *
1156          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1157          */
1158         virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1159 
1160         /**
1161          * <p>Untags a resource.</p><p><h3>See Also:</h3>   <a
1162          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource">AWS
1163          * API Reference</a></p>
1164          */
1165         virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
1166 
1167         /**
1168          * <p>Untags a resource.</p><p><h3>See Also:</h3>   <a
1169          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource">AWS
1170          * API Reference</a></p>
1171          *
1172          * returns a future to the operation so that it can be executed in parallel to other requests.
1173          */
1174         virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
1175 
1176         /**
1177          * <p>Untags a resource.</p><p><h3>See Also:</h3>   <a
1178          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UntagResource">AWS
1179          * API Reference</a></p>
1180          *
1181          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1182          */
1183         virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1184 
1185         /**
1186          * <p>Updates the cache for the GraphQL API.</p><p><h3>See Also:</h3>   <a
1187          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache">AWS
1188          * API Reference</a></p>
1189          */
1190         virtual Model::UpdateApiCacheOutcome UpdateApiCache(const Model::UpdateApiCacheRequest& request) const;
1191 
1192         /**
1193          * <p>Updates the cache for the GraphQL API.</p><p><h3>See Also:</h3>   <a
1194          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache">AWS
1195          * API Reference</a></p>
1196          *
1197          * returns a future to the operation so that it can be executed in parallel to other requests.
1198          */
1199         virtual Model::UpdateApiCacheOutcomeCallable UpdateApiCacheCallable(const Model::UpdateApiCacheRequest& request) const;
1200 
1201         /**
1202          * <p>Updates the cache for the GraphQL API.</p><p><h3>See Also:</h3>   <a
1203          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache">AWS
1204          * API Reference</a></p>
1205          *
1206          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1207          */
1208         virtual void UpdateApiCacheAsync(const Model::UpdateApiCacheRequest& request, const UpdateApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1209 
1210         /**
1211          * <p>Updates an API key. The key can be updated while it is not
1212          * deleted.</p><p><h3>See Also:</h3>   <a
1213          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey">AWS
1214          * API Reference</a></p>
1215          */
1216         virtual Model::UpdateApiKeyOutcome UpdateApiKey(const Model::UpdateApiKeyRequest& request) const;
1217 
1218         /**
1219          * <p>Updates an API key. The key can be updated while it is not
1220          * deleted.</p><p><h3>See Also:</h3>   <a
1221          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey">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::UpdateApiKeyOutcomeCallable UpdateApiKeyCallable(const Model::UpdateApiKeyRequest& request) const;
1227 
1228         /**
1229          * <p>Updates an API key. The key can be updated while it is not
1230          * deleted.</p><p><h3>See Also:</h3>   <a
1231          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiKey">AWS
1232          * API Reference</a></p>
1233          *
1234          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1235          */
1236         virtual void UpdateApiKeyAsync(const Model::UpdateApiKeyRequest& request, const UpdateApiKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1237 
1238         /**
1239          * <p>Updates a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
1240          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource">AWS
1241          * API Reference</a></p>
1242          */
1243         virtual Model::UpdateDataSourceOutcome UpdateDataSource(const Model::UpdateDataSourceRequest& request) const;
1244 
1245         /**
1246          * <p>Updates a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
1247          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource">AWS
1248          * API Reference</a></p>
1249          *
1250          * returns a future to the operation so that it can be executed in parallel to other requests.
1251          */
1252         virtual Model::UpdateDataSourceOutcomeCallable UpdateDataSourceCallable(const Model::UpdateDataSourceRequest& request) const;
1253 
1254         /**
1255          * <p>Updates a <code>DataSource</code> object.</p><p><h3>See Also:</h3>   <a
1256          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateDataSource">AWS
1257          * API Reference</a></p>
1258          *
1259          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1260          */
1261         virtual void UpdateDataSourceAsync(const Model::UpdateDataSourceRequest& request, const UpdateDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1262 
1263         /**
1264          * <p>Updates a <code>Function</code> object.</p><p><h3>See Also:</h3>   <a
1265          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction">AWS
1266          * API Reference</a></p>
1267          */
1268         virtual Model::UpdateFunctionOutcome UpdateFunction(const Model::UpdateFunctionRequest& request) const;
1269 
1270         /**
1271          * <p>Updates a <code>Function</code> object.</p><p><h3>See Also:</h3>   <a
1272          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction">AWS
1273          * API Reference</a></p>
1274          *
1275          * returns a future to the operation so that it can be executed in parallel to other requests.
1276          */
1277         virtual Model::UpdateFunctionOutcomeCallable UpdateFunctionCallable(const Model::UpdateFunctionRequest& request) const;
1278 
1279         /**
1280          * <p>Updates a <code>Function</code> object.</p><p><h3>See Also:</h3>   <a
1281          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateFunction">AWS
1282          * API Reference</a></p>
1283          *
1284          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1285          */
1286         virtual void UpdateFunctionAsync(const Model::UpdateFunctionRequest& request, const UpdateFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1287 
1288         /**
1289          * <p>Updates a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
1290          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi">AWS
1291          * API Reference</a></p>
1292          */
1293         virtual Model::UpdateGraphqlApiOutcome UpdateGraphqlApi(const Model::UpdateGraphqlApiRequest& request) const;
1294 
1295         /**
1296          * <p>Updates a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
1297          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi">AWS
1298          * API Reference</a></p>
1299          *
1300          * returns a future to the operation so that it can be executed in parallel to other requests.
1301          */
1302         virtual Model::UpdateGraphqlApiOutcomeCallable UpdateGraphqlApiCallable(const Model::UpdateGraphqlApiRequest& request) const;
1303 
1304         /**
1305          * <p>Updates a <code>GraphqlApi</code> object.</p><p><h3>See Also:</h3>   <a
1306          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi">AWS
1307          * API Reference</a></p>
1308          *
1309          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1310          */
1311         virtual void UpdateGraphqlApiAsync(const Model::UpdateGraphqlApiRequest& request, const UpdateGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1312 
1313         /**
1314          * <p>Updates a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
1315          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver">AWS
1316          * API Reference</a></p>
1317          */
1318         virtual Model::UpdateResolverOutcome UpdateResolver(const Model::UpdateResolverRequest& request) const;
1319 
1320         /**
1321          * <p>Updates a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
1322          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver">AWS
1323          * API Reference</a></p>
1324          *
1325          * returns a future to the operation so that it can be executed in parallel to other requests.
1326          */
1327         virtual Model::UpdateResolverOutcomeCallable UpdateResolverCallable(const Model::UpdateResolverRequest& request) const;
1328 
1329         /**
1330          * <p>Updates a <code>Resolver</code> object.</p><p><h3>See Also:</h3>   <a
1331          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolver">AWS
1332          * API Reference</a></p>
1333          *
1334          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1335          */
1336         virtual void UpdateResolverAsync(const Model::UpdateResolverRequest& request, const UpdateResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1337 
1338         /**
1339          * <p>Updates a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
1340          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType">AWS
1341          * API Reference</a></p>
1342          */
1343         virtual Model::UpdateTypeOutcome UpdateType(const Model::UpdateTypeRequest& request) const;
1344 
1345         /**
1346          * <p>Updates a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
1347          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType">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::UpdateTypeOutcomeCallable UpdateTypeCallable(const Model::UpdateTypeRequest& request) const;
1353 
1354         /**
1355          * <p>Updates a <code>Type</code> object.</p><p><h3>See Also:</h3>   <a
1356          * href="http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateType">AWS
1357          * API Reference</a></p>
1358          *
1359          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1360          */
1361         virtual void UpdateTypeAsync(const Model::UpdateTypeRequest& request, const UpdateTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1362 
1363 
1364       void OverrideEndpoint(const Aws::String& endpoint);
1365     private:
1366       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
1367         void CreateApiCacheAsyncHelper(const Model::CreateApiCacheRequest& request, const CreateApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1368         void CreateApiKeyAsyncHelper(const Model::CreateApiKeyRequest& request, const CreateApiKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1369         void CreateDataSourceAsyncHelper(const Model::CreateDataSourceRequest& request, const CreateDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1370         void CreateFunctionAsyncHelper(const Model::CreateFunctionRequest& request, const CreateFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1371         void CreateGraphqlApiAsyncHelper(const Model::CreateGraphqlApiRequest& request, const CreateGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1372         void CreateResolverAsyncHelper(const Model::CreateResolverRequest& request, const CreateResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1373         void CreateTypeAsyncHelper(const Model::CreateTypeRequest& request, const CreateTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1374         void DeleteApiCacheAsyncHelper(const Model::DeleteApiCacheRequest& request, const DeleteApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1375         void DeleteApiKeyAsyncHelper(const Model::DeleteApiKeyRequest& request, const DeleteApiKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1376         void DeleteDataSourceAsyncHelper(const Model::DeleteDataSourceRequest& request, const DeleteDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1377         void DeleteFunctionAsyncHelper(const Model::DeleteFunctionRequest& request, const DeleteFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1378         void DeleteGraphqlApiAsyncHelper(const Model::DeleteGraphqlApiRequest& request, const DeleteGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1379         void DeleteResolverAsyncHelper(const Model::DeleteResolverRequest& request, const DeleteResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1380         void DeleteTypeAsyncHelper(const Model::DeleteTypeRequest& request, const DeleteTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1381         void FlushApiCacheAsyncHelper(const Model::FlushApiCacheRequest& request, const FlushApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1382         void GetApiCacheAsyncHelper(const Model::GetApiCacheRequest& request, const GetApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1383         void GetDataSourceAsyncHelper(const Model::GetDataSourceRequest& request, const GetDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1384         void GetFunctionAsyncHelper(const Model::GetFunctionRequest& request, const GetFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1385         void GetGraphqlApiAsyncHelper(const Model::GetGraphqlApiRequest& request, const GetGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1386         void GetIntrospectionSchemaAsyncHelper(const Model::GetIntrospectionSchemaRequest& request, const GetIntrospectionSchemaResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1387         void GetResolverAsyncHelper(const Model::GetResolverRequest& request, const GetResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1388         void GetSchemaCreationStatusAsyncHelper(const Model::GetSchemaCreationStatusRequest& request, const GetSchemaCreationStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1389         void GetTypeAsyncHelper(const Model::GetTypeRequest& request, const GetTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1390         void ListApiKeysAsyncHelper(const Model::ListApiKeysRequest& request, const ListApiKeysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1391         void ListDataSourcesAsyncHelper(const Model::ListDataSourcesRequest& request, const ListDataSourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1392         void ListFunctionsAsyncHelper(const Model::ListFunctionsRequest& request, const ListFunctionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1393         void ListGraphqlApisAsyncHelper(const Model::ListGraphqlApisRequest& request, const ListGraphqlApisResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1394         void ListResolversAsyncHelper(const Model::ListResolversRequest& request, const ListResolversResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1395         void ListResolversByFunctionAsyncHelper(const Model::ListResolversByFunctionRequest& request, const ListResolversByFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1396         void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1397         void ListTypesAsyncHelper(const Model::ListTypesRequest& request, const ListTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1398         void StartSchemaCreationAsyncHelper(const Model::StartSchemaCreationRequest& request, const StartSchemaCreationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1399         void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1400         void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1401         void UpdateApiCacheAsyncHelper(const Model::UpdateApiCacheRequest& request, const UpdateApiCacheResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1402         void UpdateApiKeyAsyncHelper(const Model::UpdateApiKeyRequest& request, const UpdateApiKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1403         void UpdateDataSourceAsyncHelper(const Model::UpdateDataSourceRequest& request, const UpdateDataSourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1404         void UpdateFunctionAsyncHelper(const Model::UpdateFunctionRequest& request, const UpdateFunctionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1405         void UpdateGraphqlApiAsyncHelper(const Model::UpdateGraphqlApiRequest& request, const UpdateGraphqlApiResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1406         void UpdateResolverAsyncHelper(const Model::UpdateResolverRequest& request, const UpdateResolverResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1407         void UpdateTypeAsyncHelper(const Model::UpdateTypeRequest& request, const UpdateTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1408 
1409       Aws::String m_uri;
1410       Aws::String m_configScheme;
1411       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
1412   };
1413 
1414 } // namespace AppSync
1415 } // namespace Aws
1416