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/amplifybackend/AmplifyBackend_EXPORTS.h>
8 #include <aws/amplifybackend/AmplifyBackendErrors.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/amplifybackend/model/CloneBackendResult.h>
15 #include <aws/amplifybackend/model/CreateBackendResult.h>
16 #include <aws/amplifybackend/model/CreateBackendAPIResult.h>
17 #include <aws/amplifybackend/model/CreateBackendAuthResult.h>
18 #include <aws/amplifybackend/model/CreateBackendConfigResult.h>
19 #include <aws/amplifybackend/model/CreateTokenResult.h>
20 #include <aws/amplifybackend/model/DeleteBackendResult.h>
21 #include <aws/amplifybackend/model/DeleteBackendAPIResult.h>
22 #include <aws/amplifybackend/model/DeleteBackendAuthResult.h>
23 #include <aws/amplifybackend/model/DeleteTokenResult.h>
24 #include <aws/amplifybackend/model/GenerateBackendAPIModelsResult.h>
25 #include <aws/amplifybackend/model/GetBackendResult.h>
26 #include <aws/amplifybackend/model/GetBackendAPIResult.h>
27 #include <aws/amplifybackend/model/GetBackendAPIModelsResult.h>
28 #include <aws/amplifybackend/model/GetBackendAuthResult.h>
29 #include <aws/amplifybackend/model/GetBackendJobResult.h>
30 #include <aws/amplifybackend/model/GetTokenResult.h>
31 #include <aws/amplifybackend/model/ImportBackendAuthResult.h>
32 #include <aws/amplifybackend/model/ListBackendJobsResult.h>
33 #include <aws/amplifybackend/model/RemoveAllBackendsResult.h>
34 #include <aws/amplifybackend/model/RemoveBackendConfigResult.h>
35 #include <aws/amplifybackend/model/UpdateBackendAPIResult.h>
36 #include <aws/amplifybackend/model/UpdateBackendAuthResult.h>
37 #include <aws/amplifybackend/model/UpdateBackendConfigResult.h>
38 #include <aws/amplifybackend/model/UpdateBackendJobResult.h>
39 #include <aws/core/client/AsyncCallerContext.h>
40 #include <aws/core/http/HttpTypes.h>
41 #include <future>
42 #include <functional>
43 
44 namespace Aws
45 {
46 
47 namespace Http
48 {
49   class HttpClient;
50   class HttpClientFactory;
51 } // namespace Http
52 
53 namespace Utils
54 {
55   template< typename R, typename E> class Outcome;
56 namespace Threading
57 {
58   class Executor;
59 } // namespace Threading
60 } // namespace Utils
61 
62 namespace Auth
63 {
64   class AWSCredentials;
65   class AWSCredentialsProvider;
66 } // namespace Auth
67 
68 namespace Client
69 {
70   class RetryStrategy;
71 } // namespace Client
72 
73 namespace AmplifyBackend
74 {
75 
76 namespace Model
77 {
78         class CloneBackendRequest;
79         class CreateBackendRequest;
80         class CreateBackendAPIRequest;
81         class CreateBackendAuthRequest;
82         class CreateBackendConfigRequest;
83         class CreateTokenRequest;
84         class DeleteBackendRequest;
85         class DeleteBackendAPIRequest;
86         class DeleteBackendAuthRequest;
87         class DeleteTokenRequest;
88         class GenerateBackendAPIModelsRequest;
89         class GetBackendRequest;
90         class GetBackendAPIRequest;
91         class GetBackendAPIModelsRequest;
92         class GetBackendAuthRequest;
93         class GetBackendJobRequest;
94         class GetTokenRequest;
95         class ImportBackendAuthRequest;
96         class ListBackendJobsRequest;
97         class RemoveAllBackendsRequest;
98         class RemoveBackendConfigRequest;
99         class UpdateBackendAPIRequest;
100         class UpdateBackendAuthRequest;
101         class UpdateBackendConfigRequest;
102         class UpdateBackendJobRequest;
103 
104         typedef Aws::Utils::Outcome<CloneBackendResult, AmplifyBackendError> CloneBackendOutcome;
105         typedef Aws::Utils::Outcome<CreateBackendResult, AmplifyBackendError> CreateBackendOutcome;
106         typedef Aws::Utils::Outcome<CreateBackendAPIResult, AmplifyBackendError> CreateBackendAPIOutcome;
107         typedef Aws::Utils::Outcome<CreateBackendAuthResult, AmplifyBackendError> CreateBackendAuthOutcome;
108         typedef Aws::Utils::Outcome<CreateBackendConfigResult, AmplifyBackendError> CreateBackendConfigOutcome;
109         typedef Aws::Utils::Outcome<CreateTokenResult, AmplifyBackendError> CreateTokenOutcome;
110         typedef Aws::Utils::Outcome<DeleteBackendResult, AmplifyBackendError> DeleteBackendOutcome;
111         typedef Aws::Utils::Outcome<DeleteBackendAPIResult, AmplifyBackendError> DeleteBackendAPIOutcome;
112         typedef Aws::Utils::Outcome<DeleteBackendAuthResult, AmplifyBackendError> DeleteBackendAuthOutcome;
113         typedef Aws::Utils::Outcome<DeleteTokenResult, AmplifyBackendError> DeleteTokenOutcome;
114         typedef Aws::Utils::Outcome<GenerateBackendAPIModelsResult, AmplifyBackendError> GenerateBackendAPIModelsOutcome;
115         typedef Aws::Utils::Outcome<GetBackendResult, AmplifyBackendError> GetBackendOutcome;
116         typedef Aws::Utils::Outcome<GetBackendAPIResult, AmplifyBackendError> GetBackendAPIOutcome;
117         typedef Aws::Utils::Outcome<GetBackendAPIModelsResult, AmplifyBackendError> GetBackendAPIModelsOutcome;
118         typedef Aws::Utils::Outcome<GetBackendAuthResult, AmplifyBackendError> GetBackendAuthOutcome;
119         typedef Aws::Utils::Outcome<GetBackendJobResult, AmplifyBackendError> GetBackendJobOutcome;
120         typedef Aws::Utils::Outcome<GetTokenResult, AmplifyBackendError> GetTokenOutcome;
121         typedef Aws::Utils::Outcome<ImportBackendAuthResult, AmplifyBackendError> ImportBackendAuthOutcome;
122         typedef Aws::Utils::Outcome<ListBackendJobsResult, AmplifyBackendError> ListBackendJobsOutcome;
123         typedef Aws::Utils::Outcome<RemoveAllBackendsResult, AmplifyBackendError> RemoveAllBackendsOutcome;
124         typedef Aws::Utils::Outcome<RemoveBackendConfigResult, AmplifyBackendError> RemoveBackendConfigOutcome;
125         typedef Aws::Utils::Outcome<UpdateBackendAPIResult, AmplifyBackendError> UpdateBackendAPIOutcome;
126         typedef Aws::Utils::Outcome<UpdateBackendAuthResult, AmplifyBackendError> UpdateBackendAuthOutcome;
127         typedef Aws::Utils::Outcome<UpdateBackendConfigResult, AmplifyBackendError> UpdateBackendConfigOutcome;
128         typedef Aws::Utils::Outcome<UpdateBackendJobResult, AmplifyBackendError> UpdateBackendJobOutcome;
129 
130         typedef std::future<CloneBackendOutcome> CloneBackendOutcomeCallable;
131         typedef std::future<CreateBackendOutcome> CreateBackendOutcomeCallable;
132         typedef std::future<CreateBackendAPIOutcome> CreateBackendAPIOutcomeCallable;
133         typedef std::future<CreateBackendAuthOutcome> CreateBackendAuthOutcomeCallable;
134         typedef std::future<CreateBackendConfigOutcome> CreateBackendConfigOutcomeCallable;
135         typedef std::future<CreateTokenOutcome> CreateTokenOutcomeCallable;
136         typedef std::future<DeleteBackendOutcome> DeleteBackendOutcomeCallable;
137         typedef std::future<DeleteBackendAPIOutcome> DeleteBackendAPIOutcomeCallable;
138         typedef std::future<DeleteBackendAuthOutcome> DeleteBackendAuthOutcomeCallable;
139         typedef std::future<DeleteTokenOutcome> DeleteTokenOutcomeCallable;
140         typedef std::future<GenerateBackendAPIModelsOutcome> GenerateBackendAPIModelsOutcomeCallable;
141         typedef std::future<GetBackendOutcome> GetBackendOutcomeCallable;
142         typedef std::future<GetBackendAPIOutcome> GetBackendAPIOutcomeCallable;
143         typedef std::future<GetBackendAPIModelsOutcome> GetBackendAPIModelsOutcomeCallable;
144         typedef std::future<GetBackendAuthOutcome> GetBackendAuthOutcomeCallable;
145         typedef std::future<GetBackendJobOutcome> GetBackendJobOutcomeCallable;
146         typedef std::future<GetTokenOutcome> GetTokenOutcomeCallable;
147         typedef std::future<ImportBackendAuthOutcome> ImportBackendAuthOutcomeCallable;
148         typedef std::future<ListBackendJobsOutcome> ListBackendJobsOutcomeCallable;
149         typedef std::future<RemoveAllBackendsOutcome> RemoveAllBackendsOutcomeCallable;
150         typedef std::future<RemoveBackendConfigOutcome> RemoveBackendConfigOutcomeCallable;
151         typedef std::future<UpdateBackendAPIOutcome> UpdateBackendAPIOutcomeCallable;
152         typedef std::future<UpdateBackendAuthOutcome> UpdateBackendAuthOutcomeCallable;
153         typedef std::future<UpdateBackendConfigOutcome> UpdateBackendConfigOutcomeCallable;
154         typedef std::future<UpdateBackendJobOutcome> UpdateBackendJobOutcomeCallable;
155 } // namespace Model
156 
157   class AmplifyBackendClient;
158 
159     typedef std::function<void(const AmplifyBackendClient*, const Model::CloneBackendRequest&, const Model::CloneBackendOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CloneBackendResponseReceivedHandler;
160     typedef std::function<void(const AmplifyBackendClient*, const Model::CreateBackendRequest&, const Model::CreateBackendOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBackendResponseReceivedHandler;
161     typedef std::function<void(const AmplifyBackendClient*, const Model::CreateBackendAPIRequest&, const Model::CreateBackendAPIOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBackendAPIResponseReceivedHandler;
162     typedef std::function<void(const AmplifyBackendClient*, const Model::CreateBackendAuthRequest&, const Model::CreateBackendAuthOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBackendAuthResponseReceivedHandler;
163     typedef std::function<void(const AmplifyBackendClient*, const Model::CreateBackendConfigRequest&, const Model::CreateBackendConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBackendConfigResponseReceivedHandler;
164     typedef std::function<void(const AmplifyBackendClient*, const Model::CreateTokenRequest&, const Model::CreateTokenOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTokenResponseReceivedHandler;
165     typedef std::function<void(const AmplifyBackendClient*, const Model::DeleteBackendRequest&, const Model::DeleteBackendOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBackendResponseReceivedHandler;
166     typedef std::function<void(const AmplifyBackendClient*, const Model::DeleteBackendAPIRequest&, const Model::DeleteBackendAPIOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBackendAPIResponseReceivedHandler;
167     typedef std::function<void(const AmplifyBackendClient*, const Model::DeleteBackendAuthRequest&, const Model::DeleteBackendAuthOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBackendAuthResponseReceivedHandler;
168     typedef std::function<void(const AmplifyBackendClient*, const Model::DeleteTokenRequest&, const Model::DeleteTokenOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTokenResponseReceivedHandler;
169     typedef std::function<void(const AmplifyBackendClient*, const Model::GenerateBackendAPIModelsRequest&, const Model::GenerateBackendAPIModelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GenerateBackendAPIModelsResponseReceivedHandler;
170     typedef std::function<void(const AmplifyBackendClient*, const Model::GetBackendRequest&, const Model::GetBackendOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBackendResponseReceivedHandler;
171     typedef std::function<void(const AmplifyBackendClient*, const Model::GetBackendAPIRequest&, const Model::GetBackendAPIOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBackendAPIResponseReceivedHandler;
172     typedef std::function<void(const AmplifyBackendClient*, const Model::GetBackendAPIModelsRequest&, const Model::GetBackendAPIModelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBackendAPIModelsResponseReceivedHandler;
173     typedef std::function<void(const AmplifyBackendClient*, const Model::GetBackendAuthRequest&, const Model::GetBackendAuthOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBackendAuthResponseReceivedHandler;
174     typedef std::function<void(const AmplifyBackendClient*, const Model::GetBackendJobRequest&, const Model::GetBackendJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBackendJobResponseReceivedHandler;
175     typedef std::function<void(const AmplifyBackendClient*, const Model::GetTokenRequest&, const Model::GetTokenOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTokenResponseReceivedHandler;
176     typedef std::function<void(const AmplifyBackendClient*, const Model::ImportBackendAuthRequest&, const Model::ImportBackendAuthOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportBackendAuthResponseReceivedHandler;
177     typedef std::function<void(const AmplifyBackendClient*, const Model::ListBackendJobsRequest&, const Model::ListBackendJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListBackendJobsResponseReceivedHandler;
178     typedef std::function<void(const AmplifyBackendClient*, const Model::RemoveAllBackendsRequest&, const Model::RemoveAllBackendsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RemoveAllBackendsResponseReceivedHandler;
179     typedef std::function<void(const AmplifyBackendClient*, const Model::RemoveBackendConfigRequest&, const Model::RemoveBackendConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RemoveBackendConfigResponseReceivedHandler;
180     typedef std::function<void(const AmplifyBackendClient*, const Model::UpdateBackendAPIRequest&, const Model::UpdateBackendAPIOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateBackendAPIResponseReceivedHandler;
181     typedef std::function<void(const AmplifyBackendClient*, const Model::UpdateBackendAuthRequest&, const Model::UpdateBackendAuthOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateBackendAuthResponseReceivedHandler;
182     typedef std::function<void(const AmplifyBackendClient*, const Model::UpdateBackendConfigRequest&, const Model::UpdateBackendConfigOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateBackendConfigResponseReceivedHandler;
183     typedef std::function<void(const AmplifyBackendClient*, const Model::UpdateBackendJobRequest&, const Model::UpdateBackendJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateBackendJobResponseReceivedHandler;
184 
185   /**
186    * <p>AWS Amplify Admin API</p>
187    */
188   class AWS_AMPLIFYBACKEND_API AmplifyBackendClient : public Aws::Client::AWSJsonClient
189   {
190     public:
191       typedef Aws::Client::AWSJsonClient BASECLASS;
192 
193        /**
194         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
195         * is not specified, it will be initialized to default values.
196         */
197         AmplifyBackendClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
198 
199        /**
200         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
201         * is not specified, it will be initialized to default values.
202         */
203         AmplifyBackendClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
204 
205        /**
206         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
207         * the default http client factory will be used
208         */
209         AmplifyBackendClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
210             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
211 
212         virtual ~AmplifyBackendClient();
213 
214 
215         /**
216          * <p>This operation clones an existing backend.</p><p><h3>See Also:</h3>   <a
217          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CloneBackend">AWS
218          * API Reference</a></p>
219          */
220         virtual Model::CloneBackendOutcome CloneBackend(const Model::CloneBackendRequest& request) const;
221 
222         /**
223          * <p>This operation clones an existing backend.</p><p><h3>See Also:</h3>   <a
224          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CloneBackend">AWS
225          * API Reference</a></p>
226          *
227          * returns a future to the operation so that it can be executed in parallel to other requests.
228          */
229         virtual Model::CloneBackendOutcomeCallable CloneBackendCallable(const Model::CloneBackendRequest& request) const;
230 
231         /**
232          * <p>This operation clones an existing backend.</p><p><h3>See Also:</h3>   <a
233          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CloneBackend">AWS
234          * API Reference</a></p>
235          *
236          * Queues the request into a thread executor and triggers associated callback when operation has finished.
237          */
238         virtual void CloneBackendAsync(const Model::CloneBackendRequest& request, const CloneBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
239 
240         /**
241          * <p>This operation creates a backend for an Amplify app. Backends are
242          * automatically created at the time of app creation.</p><p><h3>See Also:</h3>   <a
243          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackend">AWS
244          * API Reference</a></p>
245          */
246         virtual Model::CreateBackendOutcome CreateBackend(const Model::CreateBackendRequest& request) const;
247 
248         /**
249          * <p>This operation creates a backend for an Amplify app. Backends are
250          * automatically created at the time of app creation.</p><p><h3>See Also:</h3>   <a
251          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackend">AWS
252          * API Reference</a></p>
253          *
254          * returns a future to the operation so that it can be executed in parallel to other requests.
255          */
256         virtual Model::CreateBackendOutcomeCallable CreateBackendCallable(const Model::CreateBackendRequest& request) const;
257 
258         /**
259          * <p>This operation creates a backend for an Amplify app. Backends are
260          * automatically created at the time of app creation.</p><p><h3>See Also:</h3>   <a
261          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackend">AWS
262          * API Reference</a></p>
263          *
264          * Queues the request into a thread executor and triggers associated callback when operation has finished.
265          */
266         virtual void CreateBackendAsync(const Model::CreateBackendRequest& request, const CreateBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
267 
268         /**
269          * <p>Creates a new backend API resource.</p><p><h3>See Also:</h3>   <a
270          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendAPI">AWS
271          * API Reference</a></p>
272          */
273         virtual Model::CreateBackendAPIOutcome CreateBackendAPI(const Model::CreateBackendAPIRequest& request) const;
274 
275         /**
276          * <p>Creates a new backend API resource.</p><p><h3>See Also:</h3>   <a
277          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendAPI">AWS
278          * API Reference</a></p>
279          *
280          * returns a future to the operation so that it can be executed in parallel to other requests.
281          */
282         virtual Model::CreateBackendAPIOutcomeCallable CreateBackendAPICallable(const Model::CreateBackendAPIRequest& request) const;
283 
284         /**
285          * <p>Creates a new backend API resource.</p><p><h3>See Also:</h3>   <a
286          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendAPI">AWS
287          * API Reference</a></p>
288          *
289          * Queues the request into a thread executor and triggers associated callback when operation has finished.
290          */
291         virtual void CreateBackendAPIAsync(const Model::CreateBackendAPIRequest& request, const CreateBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
292 
293         /**
294          * <p>Creates a new backend authentication resource.</p><p><h3>See Also:</h3>   <a
295          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendAuth">AWS
296          * API Reference</a></p>
297          */
298         virtual Model::CreateBackendAuthOutcome CreateBackendAuth(const Model::CreateBackendAuthRequest& request) const;
299 
300         /**
301          * <p>Creates a new backend authentication resource.</p><p><h3>See Also:</h3>   <a
302          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendAuth">AWS
303          * API Reference</a></p>
304          *
305          * returns a future to the operation so that it can be executed in parallel to other requests.
306          */
307         virtual Model::CreateBackendAuthOutcomeCallable CreateBackendAuthCallable(const Model::CreateBackendAuthRequest& request) const;
308 
309         /**
310          * <p>Creates a new backend authentication resource.</p><p><h3>See Also:</h3>   <a
311          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendAuth">AWS
312          * API Reference</a></p>
313          *
314          * Queues the request into a thread executor and triggers associated callback when operation has finished.
315          */
316         virtual void CreateBackendAuthAsync(const Model::CreateBackendAuthRequest& request, const CreateBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
317 
318         /**
319          * <p>Creates a config object for a backend.</p><p><h3>See Also:</h3>   <a
320          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendConfig">AWS
321          * API Reference</a></p>
322          */
323         virtual Model::CreateBackendConfigOutcome CreateBackendConfig(const Model::CreateBackendConfigRequest& request) const;
324 
325         /**
326          * <p>Creates a config object for a backend.</p><p><h3>See Also:</h3>   <a
327          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendConfig">AWS
328          * API Reference</a></p>
329          *
330          * returns a future to the operation so that it can be executed in parallel to other requests.
331          */
332         virtual Model::CreateBackendConfigOutcomeCallable CreateBackendConfigCallable(const Model::CreateBackendConfigRequest& request) const;
333 
334         /**
335          * <p>Creates a config object for a backend.</p><p><h3>See Also:</h3>   <a
336          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendConfig">AWS
337          * API Reference</a></p>
338          *
339          * Queues the request into a thread executor and triggers associated callback when operation has finished.
340          */
341         virtual void CreateBackendConfigAsync(const Model::CreateBackendConfigRequest& request, const CreateBackendConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
342 
343         /**
344          * <p>Generates a one-time challenge code to authenticate a user into your Amplify
345          * Admin UI.</p><p><h3>See Also:</h3>   <a
346          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateToken">AWS
347          * API Reference</a></p>
348          */
349         virtual Model::CreateTokenOutcome CreateToken(const Model::CreateTokenRequest& request) const;
350 
351         /**
352          * <p>Generates a one-time challenge code to authenticate a user into your Amplify
353          * Admin UI.</p><p><h3>See Also:</h3>   <a
354          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateToken">AWS
355          * API Reference</a></p>
356          *
357          * returns a future to the operation so that it can be executed in parallel to other requests.
358          */
359         virtual Model::CreateTokenOutcomeCallable CreateTokenCallable(const Model::CreateTokenRequest& request) const;
360 
361         /**
362          * <p>Generates a one-time challenge code to authenticate a user into your Amplify
363          * Admin UI.</p><p><h3>See Also:</h3>   <a
364          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateToken">AWS
365          * API Reference</a></p>
366          *
367          * Queues the request into a thread executor and triggers associated callback when operation has finished.
368          */
369         virtual void CreateTokenAsync(const Model::CreateTokenRequest& request, const CreateTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
370 
371         /**
372          * <p>Removes an existing environment from your Amplify project.</p><p><h3>See
373          * Also:</h3>   <a
374          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackend">AWS
375          * API Reference</a></p>
376          */
377         virtual Model::DeleteBackendOutcome DeleteBackend(const Model::DeleteBackendRequest& request) const;
378 
379         /**
380          * <p>Removes an existing environment from your Amplify project.</p><p><h3>See
381          * Also:</h3>   <a
382          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackend">AWS
383          * API Reference</a></p>
384          *
385          * returns a future to the operation so that it can be executed in parallel to other requests.
386          */
387         virtual Model::DeleteBackendOutcomeCallable DeleteBackendCallable(const Model::DeleteBackendRequest& request) const;
388 
389         /**
390          * <p>Removes an existing environment from your Amplify project.</p><p><h3>See
391          * Also:</h3>   <a
392          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackend">AWS
393          * API Reference</a></p>
394          *
395          * Queues the request into a thread executor and triggers associated callback when operation has finished.
396          */
397         virtual void DeleteBackendAsync(const Model::DeleteBackendRequest& request, const DeleteBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
398 
399         /**
400          * <p>Deletes an existing backend API resource.</p><p><h3>See Also:</h3>   <a
401          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendAPI">AWS
402          * API Reference</a></p>
403          */
404         virtual Model::DeleteBackendAPIOutcome DeleteBackendAPI(const Model::DeleteBackendAPIRequest& request) const;
405 
406         /**
407          * <p>Deletes an existing backend API resource.</p><p><h3>See Also:</h3>   <a
408          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendAPI">AWS
409          * API Reference</a></p>
410          *
411          * returns a future to the operation so that it can be executed in parallel to other requests.
412          */
413         virtual Model::DeleteBackendAPIOutcomeCallable DeleteBackendAPICallable(const Model::DeleteBackendAPIRequest& request) const;
414 
415         /**
416          * <p>Deletes an existing backend API resource.</p><p><h3>See Also:</h3>   <a
417          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendAPI">AWS
418          * API Reference</a></p>
419          *
420          * Queues the request into a thread executor and triggers associated callback when operation has finished.
421          */
422         virtual void DeleteBackendAPIAsync(const Model::DeleteBackendAPIRequest& request, const DeleteBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
423 
424         /**
425          * <p>Deletes an existing backend authentication resource.</p><p><h3>See Also:</h3>
426          * <a
427          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendAuth">AWS
428          * API Reference</a></p>
429          */
430         virtual Model::DeleteBackendAuthOutcome DeleteBackendAuth(const Model::DeleteBackendAuthRequest& request) const;
431 
432         /**
433          * <p>Deletes an existing backend authentication resource.</p><p><h3>See Also:</h3>
434          * <a
435          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendAuth">AWS
436          * API Reference</a></p>
437          *
438          * returns a future to the operation so that it can be executed in parallel to other requests.
439          */
440         virtual Model::DeleteBackendAuthOutcomeCallable DeleteBackendAuthCallable(const Model::DeleteBackendAuthRequest& request) const;
441 
442         /**
443          * <p>Deletes an existing backend authentication resource.</p><p><h3>See Also:</h3>
444          * <a
445          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendAuth">AWS
446          * API Reference</a></p>
447          *
448          * Queues the request into a thread executor and triggers associated callback when operation has finished.
449          */
450         virtual void DeleteBackendAuthAsync(const Model::DeleteBackendAuthRequest& request, const DeleteBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
451 
452         /**
453          * <p>Deletes the challenge token based on the given appId and
454          * sessionId.</p><p><h3>See Also:</h3>   <a
455          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteToken">AWS
456          * API Reference</a></p>
457          */
458         virtual Model::DeleteTokenOutcome DeleteToken(const Model::DeleteTokenRequest& request) const;
459 
460         /**
461          * <p>Deletes the challenge token based on the given appId and
462          * sessionId.</p><p><h3>See Also:</h3>   <a
463          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteToken">AWS
464          * API Reference</a></p>
465          *
466          * returns a future to the operation so that it can be executed in parallel to other requests.
467          */
468         virtual Model::DeleteTokenOutcomeCallable DeleteTokenCallable(const Model::DeleteTokenRequest& request) const;
469 
470         /**
471          * <p>Deletes the challenge token based on the given appId and
472          * sessionId.</p><p><h3>See Also:</h3>   <a
473          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteToken">AWS
474          * API Reference</a></p>
475          *
476          * Queues the request into a thread executor and triggers associated callback when operation has finished.
477          */
478         virtual void DeleteTokenAsync(const Model::DeleteTokenRequest& request, const DeleteTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
479 
480         /**
481          * <p>Generates a model schema for an existing backend API resource.</p><p><h3>See
482          * Also:</h3>   <a
483          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GenerateBackendAPIModels">AWS
484          * API Reference</a></p>
485          */
486         virtual Model::GenerateBackendAPIModelsOutcome GenerateBackendAPIModels(const Model::GenerateBackendAPIModelsRequest& request) const;
487 
488         /**
489          * <p>Generates a model schema for an existing backend API resource.</p><p><h3>See
490          * Also:</h3>   <a
491          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GenerateBackendAPIModels">AWS
492          * API Reference</a></p>
493          *
494          * returns a future to the operation so that it can be executed in parallel to other requests.
495          */
496         virtual Model::GenerateBackendAPIModelsOutcomeCallable GenerateBackendAPIModelsCallable(const Model::GenerateBackendAPIModelsRequest& request) const;
497 
498         /**
499          * <p>Generates a model schema for an existing backend API resource.</p><p><h3>See
500          * Also:</h3>   <a
501          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GenerateBackendAPIModels">AWS
502          * API Reference</a></p>
503          *
504          * Queues the request into a thread executor and triggers associated callback when operation has finished.
505          */
506         virtual void GenerateBackendAPIModelsAsync(const Model::GenerateBackendAPIModelsRequest& request, const GenerateBackendAPIModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
507 
508         /**
509          * <p>Provides project-level details for your Amplify UI project.</p><p><h3>See
510          * Also:</h3>   <a
511          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackend">AWS
512          * API Reference</a></p>
513          */
514         virtual Model::GetBackendOutcome GetBackend(const Model::GetBackendRequest& request) const;
515 
516         /**
517          * <p>Provides project-level details for your Amplify UI project.</p><p><h3>See
518          * Also:</h3>   <a
519          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackend">AWS
520          * API Reference</a></p>
521          *
522          * returns a future to the operation so that it can be executed in parallel to other requests.
523          */
524         virtual Model::GetBackendOutcomeCallable GetBackendCallable(const Model::GetBackendRequest& request) const;
525 
526         /**
527          * <p>Provides project-level details for your Amplify UI project.</p><p><h3>See
528          * Also:</h3>   <a
529          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackend">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 GetBackendAsync(const Model::GetBackendRequest& request, const GetBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
535 
536         /**
537          * <p>Gets the details for a backend API.</p><p><h3>See Also:</h3>   <a
538          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPI">AWS
539          * API Reference</a></p>
540          */
541         virtual Model::GetBackendAPIOutcome GetBackendAPI(const Model::GetBackendAPIRequest& request) const;
542 
543         /**
544          * <p>Gets the details for a backend API.</p><p><h3>See Also:</h3>   <a
545          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPI">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::GetBackendAPIOutcomeCallable GetBackendAPICallable(const Model::GetBackendAPIRequest& request) const;
551 
552         /**
553          * <p>Gets the details for a backend API.</p><p><h3>See Also:</h3>   <a
554          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPI">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 GetBackendAPIAsync(const Model::GetBackendAPIRequest& request, const GetBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
560 
561         /**
562          * <p>Generates a model schema for existing backend API resource.</p><p><h3>See
563          * Also:</h3>   <a
564          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPIModels">AWS
565          * API Reference</a></p>
566          */
567         virtual Model::GetBackendAPIModelsOutcome GetBackendAPIModels(const Model::GetBackendAPIModelsRequest& request) const;
568 
569         /**
570          * <p>Generates a model schema for existing backend API resource.</p><p><h3>See
571          * Also:</h3>   <a
572          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPIModels">AWS
573          * API Reference</a></p>
574          *
575          * returns a future to the operation so that it can be executed in parallel to other requests.
576          */
577         virtual Model::GetBackendAPIModelsOutcomeCallable GetBackendAPIModelsCallable(const Model::GetBackendAPIModelsRequest& request) const;
578 
579         /**
580          * <p>Generates a model schema for existing backend API resource.</p><p><h3>See
581          * Also:</h3>   <a
582          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAPIModels">AWS
583          * API Reference</a></p>
584          *
585          * Queues the request into a thread executor and triggers associated callback when operation has finished.
586          */
587         virtual void GetBackendAPIModelsAsync(const Model::GetBackendAPIModelsRequest& request, const GetBackendAPIModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
588 
589         /**
590          * <p>Gets a backend auth details.</p><p><h3>See Also:</h3>   <a
591          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAuth">AWS
592          * API Reference</a></p>
593          */
594         virtual Model::GetBackendAuthOutcome GetBackendAuth(const Model::GetBackendAuthRequest& request) const;
595 
596         /**
597          * <p>Gets a backend auth details.</p><p><h3>See Also:</h3>   <a
598          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAuth">AWS
599          * API Reference</a></p>
600          *
601          * returns a future to the operation so that it can be executed in parallel to other requests.
602          */
603         virtual Model::GetBackendAuthOutcomeCallable GetBackendAuthCallable(const Model::GetBackendAuthRequest& request) const;
604 
605         /**
606          * <p>Gets a backend auth details.</p><p><h3>See Also:</h3>   <a
607          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendAuth">AWS
608          * API Reference</a></p>
609          *
610          * Queues the request into a thread executor and triggers associated callback when operation has finished.
611          */
612         virtual void GetBackendAuthAsync(const Model::GetBackendAuthRequest& request, const GetBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
613 
614         /**
615          * <p>Returns information about a specific job.</p><p><h3>See Also:</h3>   <a
616          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendJob">AWS
617          * API Reference</a></p>
618          */
619         virtual Model::GetBackendJobOutcome GetBackendJob(const Model::GetBackendJobRequest& request) const;
620 
621         /**
622          * <p>Returns information about a specific job.</p><p><h3>See Also:</h3>   <a
623          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendJob">AWS
624          * API Reference</a></p>
625          *
626          * returns a future to the operation so that it can be executed in parallel to other requests.
627          */
628         virtual Model::GetBackendJobOutcomeCallable GetBackendJobCallable(const Model::GetBackendJobRequest& request) const;
629 
630         /**
631          * <p>Returns information about a specific job.</p><p><h3>See Also:</h3>   <a
632          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendJob">AWS
633          * API Reference</a></p>
634          *
635          * Queues the request into a thread executor and triggers associated callback when operation has finished.
636          */
637         virtual void GetBackendJobAsync(const Model::GetBackendJobRequest& request, const GetBackendJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
638 
639         /**
640          * <p>Gets the challenge token based on the given appId and
641          * sessionId.</p><p><h3>See Also:</h3>   <a
642          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetToken">AWS
643          * API Reference</a></p>
644          */
645         virtual Model::GetTokenOutcome GetToken(const Model::GetTokenRequest& request) const;
646 
647         /**
648          * <p>Gets the challenge token based on the given appId and
649          * sessionId.</p><p><h3>See Also:</h3>   <a
650          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetToken">AWS
651          * API Reference</a></p>
652          *
653          * returns a future to the operation so that it can be executed in parallel to other requests.
654          */
655         virtual Model::GetTokenOutcomeCallable GetTokenCallable(const Model::GetTokenRequest& request) const;
656 
657         /**
658          * <p>Gets the challenge token based on the given appId and
659          * sessionId.</p><p><h3>See Also:</h3>   <a
660          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetToken">AWS
661          * API Reference</a></p>
662          *
663          * Queues the request into a thread executor and triggers associated callback when operation has finished.
664          */
665         virtual void GetTokenAsync(const Model::GetTokenRequest& request, const GetTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
666 
667         /**
668          * <p>Imports an existing backend authentication resource.</p><p><h3>See Also:</h3>
669          * <a
670          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ImportBackendAuth">AWS
671          * API Reference</a></p>
672          */
673         virtual Model::ImportBackendAuthOutcome ImportBackendAuth(const Model::ImportBackendAuthRequest& request) const;
674 
675         /**
676          * <p>Imports an existing backend authentication resource.</p><p><h3>See Also:</h3>
677          * <a
678          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ImportBackendAuth">AWS
679          * API Reference</a></p>
680          *
681          * returns a future to the operation so that it can be executed in parallel to other requests.
682          */
683         virtual Model::ImportBackendAuthOutcomeCallable ImportBackendAuthCallable(const Model::ImportBackendAuthRequest& request) const;
684 
685         /**
686          * <p>Imports an existing backend authentication resource.</p><p><h3>See Also:</h3>
687          * <a
688          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ImportBackendAuth">AWS
689          * API Reference</a></p>
690          *
691          * Queues the request into a thread executor and triggers associated callback when operation has finished.
692          */
693         virtual void ImportBackendAuthAsync(const Model::ImportBackendAuthRequest& request, const ImportBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
694 
695         /**
696          * <p>Lists the jobs for the backend of an Amplify app.</p><p><h3>See Also:</h3>
697          * <a
698          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs">AWS
699          * API Reference</a></p>
700          */
701         virtual Model::ListBackendJobsOutcome ListBackendJobs(const Model::ListBackendJobsRequest& request) const;
702 
703         /**
704          * <p>Lists the jobs for the backend of an Amplify app.</p><p><h3>See Also:</h3>
705          * <a
706          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs">AWS
707          * API Reference</a></p>
708          *
709          * returns a future to the operation so that it can be executed in parallel to other requests.
710          */
711         virtual Model::ListBackendJobsOutcomeCallable ListBackendJobsCallable(const Model::ListBackendJobsRequest& request) const;
712 
713         /**
714          * <p>Lists the jobs for the backend of an Amplify app.</p><p><h3>See Also:</h3>
715          * <a
716          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs">AWS
717          * API Reference</a></p>
718          *
719          * Queues the request into a thread executor and triggers associated callback when operation has finished.
720          */
721         virtual void ListBackendJobsAsync(const Model::ListBackendJobsRequest& request, const ListBackendJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
722 
723         /**
724          * <p>Removes all backend environments from your Amplify project.</p><p><h3>See
725          * Also:</h3>   <a
726          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/RemoveAllBackends">AWS
727          * API Reference</a></p>
728          */
729         virtual Model::RemoveAllBackendsOutcome RemoveAllBackends(const Model::RemoveAllBackendsRequest& request) const;
730 
731         /**
732          * <p>Removes all backend environments from your Amplify project.</p><p><h3>See
733          * Also:</h3>   <a
734          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/RemoveAllBackends">AWS
735          * API Reference</a></p>
736          *
737          * returns a future to the operation so that it can be executed in parallel to other requests.
738          */
739         virtual Model::RemoveAllBackendsOutcomeCallable RemoveAllBackendsCallable(const Model::RemoveAllBackendsRequest& request) const;
740 
741         /**
742          * <p>Removes all backend environments from your Amplify project.</p><p><h3>See
743          * Also:</h3>   <a
744          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/RemoveAllBackends">AWS
745          * API Reference</a></p>
746          *
747          * Queues the request into a thread executor and triggers associated callback when operation has finished.
748          */
749         virtual void RemoveAllBackendsAsync(const Model::RemoveAllBackendsRequest& request, const RemoveAllBackendsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
750 
751         /**
752          * <p>Removes the AWS resources required to access the Amplify Admin
753          * UI.</p><p><h3>See Also:</h3>   <a
754          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/RemoveBackendConfig">AWS
755          * API Reference</a></p>
756          */
757         virtual Model::RemoveBackendConfigOutcome RemoveBackendConfig(const Model::RemoveBackendConfigRequest& request) const;
758 
759         /**
760          * <p>Removes the AWS resources required to access the Amplify Admin
761          * UI.</p><p><h3>See Also:</h3>   <a
762          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/RemoveBackendConfig">AWS
763          * API Reference</a></p>
764          *
765          * returns a future to the operation so that it can be executed in parallel to other requests.
766          */
767         virtual Model::RemoveBackendConfigOutcomeCallable RemoveBackendConfigCallable(const Model::RemoveBackendConfigRequest& request) const;
768 
769         /**
770          * <p>Removes the AWS resources required to access the Amplify Admin
771          * UI.</p><p><h3>See Also:</h3>   <a
772          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/RemoveBackendConfig">AWS
773          * API Reference</a></p>
774          *
775          * Queues the request into a thread executor and triggers associated callback when operation has finished.
776          */
777         virtual void RemoveBackendConfigAsync(const Model::RemoveBackendConfigRequest& request, const RemoveBackendConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
778 
779         /**
780          * <p>Updates an existing backend API resource.</p><p><h3>See Also:</h3>   <a
781          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendAPI">AWS
782          * API Reference</a></p>
783          */
784         virtual Model::UpdateBackendAPIOutcome UpdateBackendAPI(const Model::UpdateBackendAPIRequest& request) const;
785 
786         /**
787          * <p>Updates an existing backend API resource.</p><p><h3>See Also:</h3>   <a
788          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendAPI">AWS
789          * API Reference</a></p>
790          *
791          * returns a future to the operation so that it can be executed in parallel to other requests.
792          */
793         virtual Model::UpdateBackendAPIOutcomeCallable UpdateBackendAPICallable(const Model::UpdateBackendAPIRequest& request) const;
794 
795         /**
796          * <p>Updates an existing backend API resource.</p><p><h3>See Also:</h3>   <a
797          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendAPI">AWS
798          * API Reference</a></p>
799          *
800          * Queues the request into a thread executor and triggers associated callback when operation has finished.
801          */
802         virtual void UpdateBackendAPIAsync(const Model::UpdateBackendAPIRequest& request, const UpdateBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
803 
804         /**
805          * <p>Updates an existing backend authentication resource.</p><p><h3>See Also:</h3>
806          * <a
807          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendAuth">AWS
808          * API Reference</a></p>
809          */
810         virtual Model::UpdateBackendAuthOutcome UpdateBackendAuth(const Model::UpdateBackendAuthRequest& request) const;
811 
812         /**
813          * <p>Updates an existing backend authentication resource.</p><p><h3>See Also:</h3>
814          * <a
815          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendAuth">AWS
816          * API Reference</a></p>
817          *
818          * returns a future to the operation so that it can be executed in parallel to other requests.
819          */
820         virtual Model::UpdateBackendAuthOutcomeCallable UpdateBackendAuthCallable(const Model::UpdateBackendAuthRequest& request) const;
821 
822         /**
823          * <p>Updates an existing backend authentication resource.</p><p><h3>See Also:</h3>
824          * <a
825          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendAuth">AWS
826          * API Reference</a></p>
827          *
828          * Queues the request into a thread executor and triggers associated callback when operation has finished.
829          */
830         virtual void UpdateBackendAuthAsync(const Model::UpdateBackendAuthRequest& request, const UpdateBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
831 
832         /**
833          * <p>Updates the AWS resources required to access the Amplify Admin
834          * UI.</p><p><h3>See Also:</h3>   <a
835          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendConfig">AWS
836          * API Reference</a></p>
837          */
838         virtual Model::UpdateBackendConfigOutcome UpdateBackendConfig(const Model::UpdateBackendConfigRequest& request) const;
839 
840         /**
841          * <p>Updates the AWS resources required to access the Amplify Admin
842          * UI.</p><p><h3>See Also:</h3>   <a
843          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendConfig">AWS
844          * API Reference</a></p>
845          *
846          * returns a future to the operation so that it can be executed in parallel to other requests.
847          */
848         virtual Model::UpdateBackendConfigOutcomeCallable UpdateBackendConfigCallable(const Model::UpdateBackendConfigRequest& request) const;
849 
850         /**
851          * <p>Updates the AWS resources required to access the Amplify Admin
852          * UI.</p><p><h3>See Also:</h3>   <a
853          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendConfig">AWS
854          * API Reference</a></p>
855          *
856          * Queues the request into a thread executor and triggers associated callback when operation has finished.
857          */
858         virtual void UpdateBackendConfigAsync(const Model::UpdateBackendConfigRequest& request, const UpdateBackendConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
859 
860         /**
861          * <p>Updates a specific job.</p><p><h3>See Also:</h3>   <a
862          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendJob">AWS
863          * API Reference</a></p>
864          */
865         virtual Model::UpdateBackendJobOutcome UpdateBackendJob(const Model::UpdateBackendJobRequest& request) const;
866 
867         /**
868          * <p>Updates a specific job.</p><p><h3>See Also:</h3>   <a
869          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendJob">AWS
870          * API Reference</a></p>
871          *
872          * returns a future to the operation so that it can be executed in parallel to other requests.
873          */
874         virtual Model::UpdateBackendJobOutcomeCallable UpdateBackendJobCallable(const Model::UpdateBackendJobRequest& request) const;
875 
876         /**
877          * <p>Updates a specific job.</p><p><h3>See Also:</h3>   <a
878          * href="http://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendJob">AWS
879          * API Reference</a></p>
880          *
881          * Queues the request into a thread executor and triggers associated callback when operation has finished.
882          */
883         virtual void UpdateBackendJobAsync(const Model::UpdateBackendJobRequest& request, const UpdateBackendJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
884 
885 
886       void OverrideEndpoint(const Aws::String& endpoint);
887     private:
888       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
889         void CloneBackendAsyncHelper(const Model::CloneBackendRequest& request, const CloneBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
890         void CreateBackendAsyncHelper(const Model::CreateBackendRequest& request, const CreateBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
891         void CreateBackendAPIAsyncHelper(const Model::CreateBackendAPIRequest& request, const CreateBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
892         void CreateBackendAuthAsyncHelper(const Model::CreateBackendAuthRequest& request, const CreateBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
893         void CreateBackendConfigAsyncHelper(const Model::CreateBackendConfigRequest& request, const CreateBackendConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
894         void CreateTokenAsyncHelper(const Model::CreateTokenRequest& request, const CreateTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
895         void DeleteBackendAsyncHelper(const Model::DeleteBackendRequest& request, const DeleteBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
896         void DeleteBackendAPIAsyncHelper(const Model::DeleteBackendAPIRequest& request, const DeleteBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
897         void DeleteBackendAuthAsyncHelper(const Model::DeleteBackendAuthRequest& request, const DeleteBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
898         void DeleteTokenAsyncHelper(const Model::DeleteTokenRequest& request, const DeleteTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
899         void GenerateBackendAPIModelsAsyncHelper(const Model::GenerateBackendAPIModelsRequest& request, const GenerateBackendAPIModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
900         void GetBackendAsyncHelper(const Model::GetBackendRequest& request, const GetBackendResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
901         void GetBackendAPIAsyncHelper(const Model::GetBackendAPIRequest& request, const GetBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
902         void GetBackendAPIModelsAsyncHelper(const Model::GetBackendAPIModelsRequest& request, const GetBackendAPIModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
903         void GetBackendAuthAsyncHelper(const Model::GetBackendAuthRequest& request, const GetBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
904         void GetBackendJobAsyncHelper(const Model::GetBackendJobRequest& request, const GetBackendJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
905         void GetTokenAsyncHelper(const Model::GetTokenRequest& request, const GetTokenResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
906         void ImportBackendAuthAsyncHelper(const Model::ImportBackendAuthRequest& request, const ImportBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
907         void ListBackendJobsAsyncHelper(const Model::ListBackendJobsRequest& request, const ListBackendJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
908         void RemoveAllBackendsAsyncHelper(const Model::RemoveAllBackendsRequest& request, const RemoveAllBackendsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
909         void RemoveBackendConfigAsyncHelper(const Model::RemoveBackendConfigRequest& request, const RemoveBackendConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
910         void UpdateBackendAPIAsyncHelper(const Model::UpdateBackendAPIRequest& request, const UpdateBackendAPIResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
911         void UpdateBackendAuthAsyncHelper(const Model::UpdateBackendAuthRequest& request, const UpdateBackendAuthResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
912         void UpdateBackendConfigAsyncHelper(const Model::UpdateBackendConfigRequest& request, const UpdateBackendConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
913         void UpdateBackendJobAsyncHelper(const Model::UpdateBackendJobRequest& request, const UpdateBackendJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
914 
915       Aws::String m_uri;
916       Aws::String m_configScheme;
917       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
918   };
919 
920 } // namespace AmplifyBackend
921 } // namespace Aws
922