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/dms/DatabaseMigrationService_EXPORTS.h>
8 #include <aws/dms/DatabaseMigrationServiceErrors.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/dms/model/AddTagsToResourceResult.h>
15 #include <aws/dms/model/ApplyPendingMaintenanceActionResult.h>
16 #include <aws/dms/model/CancelReplicationTaskAssessmentRunResult.h>
17 #include <aws/dms/model/CreateEndpointResult.h>
18 #include <aws/dms/model/CreateEventSubscriptionResult.h>
19 #include <aws/dms/model/CreateReplicationInstanceResult.h>
20 #include <aws/dms/model/CreateReplicationSubnetGroupResult.h>
21 #include <aws/dms/model/CreateReplicationTaskResult.h>
22 #include <aws/dms/model/DeleteCertificateResult.h>
23 #include <aws/dms/model/DeleteConnectionResult.h>
24 #include <aws/dms/model/DeleteEndpointResult.h>
25 #include <aws/dms/model/DeleteEventSubscriptionResult.h>
26 #include <aws/dms/model/DeleteReplicationInstanceResult.h>
27 #include <aws/dms/model/DeleteReplicationSubnetGroupResult.h>
28 #include <aws/dms/model/DeleteReplicationTaskResult.h>
29 #include <aws/dms/model/DeleteReplicationTaskAssessmentRunResult.h>
30 #include <aws/dms/model/DescribeAccountAttributesResult.h>
31 #include <aws/dms/model/DescribeApplicableIndividualAssessmentsResult.h>
32 #include <aws/dms/model/DescribeCertificatesResult.h>
33 #include <aws/dms/model/DescribeConnectionsResult.h>
34 #include <aws/dms/model/DescribeEndpointSettingsResult.h>
35 #include <aws/dms/model/DescribeEndpointTypesResult.h>
36 #include <aws/dms/model/DescribeEndpointsResult.h>
37 #include <aws/dms/model/DescribeEventCategoriesResult.h>
38 #include <aws/dms/model/DescribeEventSubscriptionsResult.h>
39 #include <aws/dms/model/DescribeEventsResult.h>
40 #include <aws/dms/model/DescribeOrderableReplicationInstancesResult.h>
41 #include <aws/dms/model/DescribePendingMaintenanceActionsResult.h>
42 #include <aws/dms/model/DescribeRefreshSchemasStatusResult.h>
43 #include <aws/dms/model/DescribeReplicationInstanceTaskLogsResult.h>
44 #include <aws/dms/model/DescribeReplicationInstancesResult.h>
45 #include <aws/dms/model/DescribeReplicationSubnetGroupsResult.h>
46 #include <aws/dms/model/DescribeReplicationTaskAssessmentResultsResult.h>
47 #include <aws/dms/model/DescribeReplicationTaskAssessmentRunsResult.h>
48 #include <aws/dms/model/DescribeReplicationTaskIndividualAssessmentsResult.h>
49 #include <aws/dms/model/DescribeReplicationTasksResult.h>
50 #include <aws/dms/model/DescribeSchemasResult.h>
51 #include <aws/dms/model/DescribeTableStatisticsResult.h>
52 #include <aws/dms/model/ImportCertificateResult.h>
53 #include <aws/dms/model/ListTagsForResourceResult.h>
54 #include <aws/dms/model/ModifyEndpointResult.h>
55 #include <aws/dms/model/ModifyEventSubscriptionResult.h>
56 #include <aws/dms/model/ModifyReplicationInstanceResult.h>
57 #include <aws/dms/model/ModifyReplicationSubnetGroupResult.h>
58 #include <aws/dms/model/ModifyReplicationTaskResult.h>
59 #include <aws/dms/model/MoveReplicationTaskResult.h>
60 #include <aws/dms/model/RebootReplicationInstanceResult.h>
61 #include <aws/dms/model/RefreshSchemasResult.h>
62 #include <aws/dms/model/ReloadTablesResult.h>
63 #include <aws/dms/model/RemoveTagsFromResourceResult.h>
64 #include <aws/dms/model/StartReplicationTaskResult.h>
65 #include <aws/dms/model/StartReplicationTaskAssessmentResult.h>
66 #include <aws/dms/model/StartReplicationTaskAssessmentRunResult.h>
67 #include <aws/dms/model/StopReplicationTaskResult.h>
68 #include <aws/dms/model/TestConnectionResult.h>
69 #include <aws/core/client/AsyncCallerContext.h>
70 #include <aws/core/http/HttpTypes.h>
71 #include <future>
72 #include <functional>
73 
74 namespace Aws
75 {
76 
77 namespace Http
78 {
79   class HttpClient;
80   class HttpClientFactory;
81 } // namespace Http
82 
83 namespace Utils
84 {
85   template< typename R, typename E> class Outcome;
86 namespace Threading
87 {
88   class Executor;
89 } // namespace Threading
90 } // namespace Utils
91 
92 namespace Auth
93 {
94   class AWSCredentials;
95   class AWSCredentialsProvider;
96 } // namespace Auth
97 
98 namespace Client
99 {
100   class RetryStrategy;
101 } // namespace Client
102 
103 namespace DatabaseMigrationService
104 {
105 
106 namespace Model
107 {
108         class AddTagsToResourceRequest;
109         class ApplyPendingMaintenanceActionRequest;
110         class CancelReplicationTaskAssessmentRunRequest;
111         class CreateEndpointRequest;
112         class CreateEventSubscriptionRequest;
113         class CreateReplicationInstanceRequest;
114         class CreateReplicationSubnetGroupRequest;
115         class CreateReplicationTaskRequest;
116         class DeleteCertificateRequest;
117         class DeleteConnectionRequest;
118         class DeleteEndpointRequest;
119         class DeleteEventSubscriptionRequest;
120         class DeleteReplicationInstanceRequest;
121         class DeleteReplicationSubnetGroupRequest;
122         class DeleteReplicationTaskRequest;
123         class DeleteReplicationTaskAssessmentRunRequest;
124         class DescribeAccountAttributesRequest;
125         class DescribeApplicableIndividualAssessmentsRequest;
126         class DescribeCertificatesRequest;
127         class DescribeConnectionsRequest;
128         class DescribeEndpointSettingsRequest;
129         class DescribeEndpointTypesRequest;
130         class DescribeEndpointsRequest;
131         class DescribeEventCategoriesRequest;
132         class DescribeEventSubscriptionsRequest;
133         class DescribeEventsRequest;
134         class DescribeOrderableReplicationInstancesRequest;
135         class DescribePendingMaintenanceActionsRequest;
136         class DescribeRefreshSchemasStatusRequest;
137         class DescribeReplicationInstanceTaskLogsRequest;
138         class DescribeReplicationInstancesRequest;
139         class DescribeReplicationSubnetGroupsRequest;
140         class DescribeReplicationTaskAssessmentResultsRequest;
141         class DescribeReplicationTaskAssessmentRunsRequest;
142         class DescribeReplicationTaskIndividualAssessmentsRequest;
143         class DescribeReplicationTasksRequest;
144         class DescribeSchemasRequest;
145         class DescribeTableStatisticsRequest;
146         class ImportCertificateRequest;
147         class ListTagsForResourceRequest;
148         class ModifyEndpointRequest;
149         class ModifyEventSubscriptionRequest;
150         class ModifyReplicationInstanceRequest;
151         class ModifyReplicationSubnetGroupRequest;
152         class ModifyReplicationTaskRequest;
153         class MoveReplicationTaskRequest;
154         class RebootReplicationInstanceRequest;
155         class RefreshSchemasRequest;
156         class ReloadTablesRequest;
157         class RemoveTagsFromResourceRequest;
158         class StartReplicationTaskRequest;
159         class StartReplicationTaskAssessmentRequest;
160         class StartReplicationTaskAssessmentRunRequest;
161         class StopReplicationTaskRequest;
162         class TestConnectionRequest;
163 
164         typedef Aws::Utils::Outcome<AddTagsToResourceResult, DatabaseMigrationServiceError> AddTagsToResourceOutcome;
165         typedef Aws::Utils::Outcome<ApplyPendingMaintenanceActionResult, DatabaseMigrationServiceError> ApplyPendingMaintenanceActionOutcome;
166         typedef Aws::Utils::Outcome<CancelReplicationTaskAssessmentRunResult, DatabaseMigrationServiceError> CancelReplicationTaskAssessmentRunOutcome;
167         typedef Aws::Utils::Outcome<CreateEndpointResult, DatabaseMigrationServiceError> CreateEndpointOutcome;
168         typedef Aws::Utils::Outcome<CreateEventSubscriptionResult, DatabaseMigrationServiceError> CreateEventSubscriptionOutcome;
169         typedef Aws::Utils::Outcome<CreateReplicationInstanceResult, DatabaseMigrationServiceError> CreateReplicationInstanceOutcome;
170         typedef Aws::Utils::Outcome<CreateReplicationSubnetGroupResult, DatabaseMigrationServiceError> CreateReplicationSubnetGroupOutcome;
171         typedef Aws::Utils::Outcome<CreateReplicationTaskResult, DatabaseMigrationServiceError> CreateReplicationTaskOutcome;
172         typedef Aws::Utils::Outcome<DeleteCertificateResult, DatabaseMigrationServiceError> DeleteCertificateOutcome;
173         typedef Aws::Utils::Outcome<DeleteConnectionResult, DatabaseMigrationServiceError> DeleteConnectionOutcome;
174         typedef Aws::Utils::Outcome<DeleteEndpointResult, DatabaseMigrationServiceError> DeleteEndpointOutcome;
175         typedef Aws::Utils::Outcome<DeleteEventSubscriptionResult, DatabaseMigrationServiceError> DeleteEventSubscriptionOutcome;
176         typedef Aws::Utils::Outcome<DeleteReplicationInstanceResult, DatabaseMigrationServiceError> DeleteReplicationInstanceOutcome;
177         typedef Aws::Utils::Outcome<DeleteReplicationSubnetGroupResult, DatabaseMigrationServiceError> DeleteReplicationSubnetGroupOutcome;
178         typedef Aws::Utils::Outcome<DeleteReplicationTaskResult, DatabaseMigrationServiceError> DeleteReplicationTaskOutcome;
179         typedef Aws::Utils::Outcome<DeleteReplicationTaskAssessmentRunResult, DatabaseMigrationServiceError> DeleteReplicationTaskAssessmentRunOutcome;
180         typedef Aws::Utils::Outcome<DescribeAccountAttributesResult, DatabaseMigrationServiceError> DescribeAccountAttributesOutcome;
181         typedef Aws::Utils::Outcome<DescribeApplicableIndividualAssessmentsResult, DatabaseMigrationServiceError> DescribeApplicableIndividualAssessmentsOutcome;
182         typedef Aws::Utils::Outcome<DescribeCertificatesResult, DatabaseMigrationServiceError> DescribeCertificatesOutcome;
183         typedef Aws::Utils::Outcome<DescribeConnectionsResult, DatabaseMigrationServiceError> DescribeConnectionsOutcome;
184         typedef Aws::Utils::Outcome<DescribeEndpointSettingsResult, DatabaseMigrationServiceError> DescribeEndpointSettingsOutcome;
185         typedef Aws::Utils::Outcome<DescribeEndpointTypesResult, DatabaseMigrationServiceError> DescribeEndpointTypesOutcome;
186         typedef Aws::Utils::Outcome<DescribeEndpointsResult, DatabaseMigrationServiceError> DescribeEndpointsOutcome;
187         typedef Aws::Utils::Outcome<DescribeEventCategoriesResult, DatabaseMigrationServiceError> DescribeEventCategoriesOutcome;
188         typedef Aws::Utils::Outcome<DescribeEventSubscriptionsResult, DatabaseMigrationServiceError> DescribeEventSubscriptionsOutcome;
189         typedef Aws::Utils::Outcome<DescribeEventsResult, DatabaseMigrationServiceError> DescribeEventsOutcome;
190         typedef Aws::Utils::Outcome<DescribeOrderableReplicationInstancesResult, DatabaseMigrationServiceError> DescribeOrderableReplicationInstancesOutcome;
191         typedef Aws::Utils::Outcome<DescribePendingMaintenanceActionsResult, DatabaseMigrationServiceError> DescribePendingMaintenanceActionsOutcome;
192         typedef Aws::Utils::Outcome<DescribeRefreshSchemasStatusResult, DatabaseMigrationServiceError> DescribeRefreshSchemasStatusOutcome;
193         typedef Aws::Utils::Outcome<DescribeReplicationInstanceTaskLogsResult, DatabaseMigrationServiceError> DescribeReplicationInstanceTaskLogsOutcome;
194         typedef Aws::Utils::Outcome<DescribeReplicationInstancesResult, DatabaseMigrationServiceError> DescribeReplicationInstancesOutcome;
195         typedef Aws::Utils::Outcome<DescribeReplicationSubnetGroupsResult, DatabaseMigrationServiceError> DescribeReplicationSubnetGroupsOutcome;
196         typedef Aws::Utils::Outcome<DescribeReplicationTaskAssessmentResultsResult, DatabaseMigrationServiceError> DescribeReplicationTaskAssessmentResultsOutcome;
197         typedef Aws::Utils::Outcome<DescribeReplicationTaskAssessmentRunsResult, DatabaseMigrationServiceError> DescribeReplicationTaskAssessmentRunsOutcome;
198         typedef Aws::Utils::Outcome<DescribeReplicationTaskIndividualAssessmentsResult, DatabaseMigrationServiceError> DescribeReplicationTaskIndividualAssessmentsOutcome;
199         typedef Aws::Utils::Outcome<DescribeReplicationTasksResult, DatabaseMigrationServiceError> DescribeReplicationTasksOutcome;
200         typedef Aws::Utils::Outcome<DescribeSchemasResult, DatabaseMigrationServiceError> DescribeSchemasOutcome;
201         typedef Aws::Utils::Outcome<DescribeTableStatisticsResult, DatabaseMigrationServiceError> DescribeTableStatisticsOutcome;
202         typedef Aws::Utils::Outcome<ImportCertificateResult, DatabaseMigrationServiceError> ImportCertificateOutcome;
203         typedef Aws::Utils::Outcome<ListTagsForResourceResult, DatabaseMigrationServiceError> ListTagsForResourceOutcome;
204         typedef Aws::Utils::Outcome<ModifyEndpointResult, DatabaseMigrationServiceError> ModifyEndpointOutcome;
205         typedef Aws::Utils::Outcome<ModifyEventSubscriptionResult, DatabaseMigrationServiceError> ModifyEventSubscriptionOutcome;
206         typedef Aws::Utils::Outcome<ModifyReplicationInstanceResult, DatabaseMigrationServiceError> ModifyReplicationInstanceOutcome;
207         typedef Aws::Utils::Outcome<ModifyReplicationSubnetGroupResult, DatabaseMigrationServiceError> ModifyReplicationSubnetGroupOutcome;
208         typedef Aws::Utils::Outcome<ModifyReplicationTaskResult, DatabaseMigrationServiceError> ModifyReplicationTaskOutcome;
209         typedef Aws::Utils::Outcome<MoveReplicationTaskResult, DatabaseMigrationServiceError> MoveReplicationTaskOutcome;
210         typedef Aws::Utils::Outcome<RebootReplicationInstanceResult, DatabaseMigrationServiceError> RebootReplicationInstanceOutcome;
211         typedef Aws::Utils::Outcome<RefreshSchemasResult, DatabaseMigrationServiceError> RefreshSchemasOutcome;
212         typedef Aws::Utils::Outcome<ReloadTablesResult, DatabaseMigrationServiceError> ReloadTablesOutcome;
213         typedef Aws::Utils::Outcome<RemoveTagsFromResourceResult, DatabaseMigrationServiceError> RemoveTagsFromResourceOutcome;
214         typedef Aws::Utils::Outcome<StartReplicationTaskResult, DatabaseMigrationServiceError> StartReplicationTaskOutcome;
215         typedef Aws::Utils::Outcome<StartReplicationTaskAssessmentResult, DatabaseMigrationServiceError> StartReplicationTaskAssessmentOutcome;
216         typedef Aws::Utils::Outcome<StartReplicationTaskAssessmentRunResult, DatabaseMigrationServiceError> StartReplicationTaskAssessmentRunOutcome;
217         typedef Aws::Utils::Outcome<StopReplicationTaskResult, DatabaseMigrationServiceError> StopReplicationTaskOutcome;
218         typedef Aws::Utils::Outcome<TestConnectionResult, DatabaseMigrationServiceError> TestConnectionOutcome;
219 
220         typedef std::future<AddTagsToResourceOutcome> AddTagsToResourceOutcomeCallable;
221         typedef std::future<ApplyPendingMaintenanceActionOutcome> ApplyPendingMaintenanceActionOutcomeCallable;
222         typedef std::future<CancelReplicationTaskAssessmentRunOutcome> CancelReplicationTaskAssessmentRunOutcomeCallable;
223         typedef std::future<CreateEndpointOutcome> CreateEndpointOutcomeCallable;
224         typedef std::future<CreateEventSubscriptionOutcome> CreateEventSubscriptionOutcomeCallable;
225         typedef std::future<CreateReplicationInstanceOutcome> CreateReplicationInstanceOutcomeCallable;
226         typedef std::future<CreateReplicationSubnetGroupOutcome> CreateReplicationSubnetGroupOutcomeCallable;
227         typedef std::future<CreateReplicationTaskOutcome> CreateReplicationTaskOutcomeCallable;
228         typedef std::future<DeleteCertificateOutcome> DeleteCertificateOutcomeCallable;
229         typedef std::future<DeleteConnectionOutcome> DeleteConnectionOutcomeCallable;
230         typedef std::future<DeleteEndpointOutcome> DeleteEndpointOutcomeCallable;
231         typedef std::future<DeleteEventSubscriptionOutcome> DeleteEventSubscriptionOutcomeCallable;
232         typedef std::future<DeleteReplicationInstanceOutcome> DeleteReplicationInstanceOutcomeCallable;
233         typedef std::future<DeleteReplicationSubnetGroupOutcome> DeleteReplicationSubnetGroupOutcomeCallable;
234         typedef std::future<DeleteReplicationTaskOutcome> DeleteReplicationTaskOutcomeCallable;
235         typedef std::future<DeleteReplicationTaskAssessmentRunOutcome> DeleteReplicationTaskAssessmentRunOutcomeCallable;
236         typedef std::future<DescribeAccountAttributesOutcome> DescribeAccountAttributesOutcomeCallable;
237         typedef std::future<DescribeApplicableIndividualAssessmentsOutcome> DescribeApplicableIndividualAssessmentsOutcomeCallable;
238         typedef std::future<DescribeCertificatesOutcome> DescribeCertificatesOutcomeCallable;
239         typedef std::future<DescribeConnectionsOutcome> DescribeConnectionsOutcomeCallable;
240         typedef std::future<DescribeEndpointSettingsOutcome> DescribeEndpointSettingsOutcomeCallable;
241         typedef std::future<DescribeEndpointTypesOutcome> DescribeEndpointTypesOutcomeCallable;
242         typedef std::future<DescribeEndpointsOutcome> DescribeEndpointsOutcomeCallable;
243         typedef std::future<DescribeEventCategoriesOutcome> DescribeEventCategoriesOutcomeCallable;
244         typedef std::future<DescribeEventSubscriptionsOutcome> DescribeEventSubscriptionsOutcomeCallable;
245         typedef std::future<DescribeEventsOutcome> DescribeEventsOutcomeCallable;
246         typedef std::future<DescribeOrderableReplicationInstancesOutcome> DescribeOrderableReplicationInstancesOutcomeCallable;
247         typedef std::future<DescribePendingMaintenanceActionsOutcome> DescribePendingMaintenanceActionsOutcomeCallable;
248         typedef std::future<DescribeRefreshSchemasStatusOutcome> DescribeRefreshSchemasStatusOutcomeCallable;
249         typedef std::future<DescribeReplicationInstanceTaskLogsOutcome> DescribeReplicationInstanceTaskLogsOutcomeCallable;
250         typedef std::future<DescribeReplicationInstancesOutcome> DescribeReplicationInstancesOutcomeCallable;
251         typedef std::future<DescribeReplicationSubnetGroupsOutcome> DescribeReplicationSubnetGroupsOutcomeCallable;
252         typedef std::future<DescribeReplicationTaskAssessmentResultsOutcome> DescribeReplicationTaskAssessmentResultsOutcomeCallable;
253         typedef std::future<DescribeReplicationTaskAssessmentRunsOutcome> DescribeReplicationTaskAssessmentRunsOutcomeCallable;
254         typedef std::future<DescribeReplicationTaskIndividualAssessmentsOutcome> DescribeReplicationTaskIndividualAssessmentsOutcomeCallable;
255         typedef std::future<DescribeReplicationTasksOutcome> DescribeReplicationTasksOutcomeCallable;
256         typedef std::future<DescribeSchemasOutcome> DescribeSchemasOutcomeCallable;
257         typedef std::future<DescribeTableStatisticsOutcome> DescribeTableStatisticsOutcomeCallable;
258         typedef std::future<ImportCertificateOutcome> ImportCertificateOutcomeCallable;
259         typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
260         typedef std::future<ModifyEndpointOutcome> ModifyEndpointOutcomeCallable;
261         typedef std::future<ModifyEventSubscriptionOutcome> ModifyEventSubscriptionOutcomeCallable;
262         typedef std::future<ModifyReplicationInstanceOutcome> ModifyReplicationInstanceOutcomeCallable;
263         typedef std::future<ModifyReplicationSubnetGroupOutcome> ModifyReplicationSubnetGroupOutcomeCallable;
264         typedef std::future<ModifyReplicationTaskOutcome> ModifyReplicationTaskOutcomeCallable;
265         typedef std::future<MoveReplicationTaskOutcome> MoveReplicationTaskOutcomeCallable;
266         typedef std::future<RebootReplicationInstanceOutcome> RebootReplicationInstanceOutcomeCallable;
267         typedef std::future<RefreshSchemasOutcome> RefreshSchemasOutcomeCallable;
268         typedef std::future<ReloadTablesOutcome> ReloadTablesOutcomeCallable;
269         typedef std::future<RemoveTagsFromResourceOutcome> RemoveTagsFromResourceOutcomeCallable;
270         typedef std::future<StartReplicationTaskOutcome> StartReplicationTaskOutcomeCallable;
271         typedef std::future<StartReplicationTaskAssessmentOutcome> StartReplicationTaskAssessmentOutcomeCallable;
272         typedef std::future<StartReplicationTaskAssessmentRunOutcome> StartReplicationTaskAssessmentRunOutcomeCallable;
273         typedef std::future<StopReplicationTaskOutcome> StopReplicationTaskOutcomeCallable;
274         typedef std::future<TestConnectionOutcome> TestConnectionOutcomeCallable;
275 } // namespace Model
276 
277   class DatabaseMigrationServiceClient;
278 
279     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::AddTagsToResourceRequest&, const Model::AddTagsToResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AddTagsToResourceResponseReceivedHandler;
280     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ApplyPendingMaintenanceActionRequest&, const Model::ApplyPendingMaintenanceActionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ApplyPendingMaintenanceActionResponseReceivedHandler;
281     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::CancelReplicationTaskAssessmentRunRequest&, const Model::CancelReplicationTaskAssessmentRunOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelReplicationTaskAssessmentRunResponseReceivedHandler;
282     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::CreateEndpointRequest&, const Model::CreateEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateEndpointResponseReceivedHandler;
283     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::CreateEventSubscriptionRequest&, const Model::CreateEventSubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateEventSubscriptionResponseReceivedHandler;
284     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::CreateReplicationInstanceRequest&, const Model::CreateReplicationInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReplicationInstanceResponseReceivedHandler;
285     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::CreateReplicationSubnetGroupRequest&, const Model::CreateReplicationSubnetGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReplicationSubnetGroupResponseReceivedHandler;
286     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::CreateReplicationTaskRequest&, const Model::CreateReplicationTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateReplicationTaskResponseReceivedHandler;
287     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteCertificateRequest&, const Model::DeleteCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCertificateResponseReceivedHandler;
288     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteConnectionRequest&, const Model::DeleteConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteConnectionResponseReceivedHandler;
289     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteEndpointRequest&, const Model::DeleteEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEndpointResponseReceivedHandler;
290     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteEventSubscriptionRequest&, const Model::DeleteEventSubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEventSubscriptionResponseReceivedHandler;
291     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteReplicationInstanceRequest&, const Model::DeleteReplicationInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReplicationInstanceResponseReceivedHandler;
292     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteReplicationSubnetGroupRequest&, const Model::DeleteReplicationSubnetGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReplicationSubnetGroupResponseReceivedHandler;
293     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteReplicationTaskRequest&, const Model::DeleteReplicationTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReplicationTaskResponseReceivedHandler;
294     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DeleteReplicationTaskAssessmentRunRequest&, const Model::DeleteReplicationTaskAssessmentRunOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteReplicationTaskAssessmentRunResponseReceivedHandler;
295     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeAccountAttributesRequest&, const Model::DescribeAccountAttributesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAccountAttributesResponseReceivedHandler;
296     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeApplicableIndividualAssessmentsRequest&, const Model::DescribeApplicableIndividualAssessmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeApplicableIndividualAssessmentsResponseReceivedHandler;
297     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeCertificatesRequest&, const Model::DescribeCertificatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCertificatesResponseReceivedHandler;
298     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeConnectionsRequest&, const Model::DescribeConnectionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeConnectionsResponseReceivedHandler;
299     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeEndpointSettingsRequest&, const Model::DescribeEndpointSettingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEndpointSettingsResponseReceivedHandler;
300     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeEndpointTypesRequest&, const Model::DescribeEndpointTypesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEndpointTypesResponseReceivedHandler;
301     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeEndpointsRequest&, const Model::DescribeEndpointsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEndpointsResponseReceivedHandler;
302     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeEventCategoriesRequest&, const Model::DescribeEventCategoriesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEventCategoriesResponseReceivedHandler;
303     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeEventSubscriptionsRequest&, const Model::DescribeEventSubscriptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEventSubscriptionsResponseReceivedHandler;
304     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeEventsRequest&, const Model::DescribeEventsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeEventsResponseReceivedHandler;
305     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeOrderableReplicationInstancesRequest&, const Model::DescribeOrderableReplicationInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeOrderableReplicationInstancesResponseReceivedHandler;
306     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribePendingMaintenanceActionsRequest&, const Model::DescribePendingMaintenanceActionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribePendingMaintenanceActionsResponseReceivedHandler;
307     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeRefreshSchemasStatusRequest&, const Model::DescribeRefreshSchemasStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRefreshSchemasStatusResponseReceivedHandler;
308     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationInstanceTaskLogsRequest&, const Model::DescribeReplicationInstanceTaskLogsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationInstanceTaskLogsResponseReceivedHandler;
309     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationInstancesRequest&, const Model::DescribeReplicationInstancesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationInstancesResponseReceivedHandler;
310     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationSubnetGroupsRequest&, const Model::DescribeReplicationSubnetGroupsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationSubnetGroupsResponseReceivedHandler;
311     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationTaskAssessmentResultsRequest&, const Model::DescribeReplicationTaskAssessmentResultsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationTaskAssessmentResultsResponseReceivedHandler;
312     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationTaskAssessmentRunsRequest&, const Model::DescribeReplicationTaskAssessmentRunsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationTaskAssessmentRunsResponseReceivedHandler;
313     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationTaskIndividualAssessmentsRequest&, const Model::DescribeReplicationTaskIndividualAssessmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationTaskIndividualAssessmentsResponseReceivedHandler;
314     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeReplicationTasksRequest&, const Model::DescribeReplicationTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeReplicationTasksResponseReceivedHandler;
315     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeSchemasRequest&, const Model::DescribeSchemasOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSchemasResponseReceivedHandler;
316     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::DescribeTableStatisticsRequest&, const Model::DescribeTableStatisticsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTableStatisticsResponseReceivedHandler;
317     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ImportCertificateRequest&, const Model::ImportCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportCertificateResponseReceivedHandler;
318     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
319     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ModifyEndpointRequest&, const Model::ModifyEndpointOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyEndpointResponseReceivedHandler;
320     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ModifyEventSubscriptionRequest&, const Model::ModifyEventSubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyEventSubscriptionResponseReceivedHandler;
321     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ModifyReplicationInstanceRequest&, const Model::ModifyReplicationInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyReplicationInstanceResponseReceivedHandler;
322     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ModifyReplicationSubnetGroupRequest&, const Model::ModifyReplicationSubnetGroupOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyReplicationSubnetGroupResponseReceivedHandler;
323     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ModifyReplicationTaskRequest&, const Model::ModifyReplicationTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ModifyReplicationTaskResponseReceivedHandler;
324     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::MoveReplicationTaskRequest&, const Model::MoveReplicationTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > MoveReplicationTaskResponseReceivedHandler;
325     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::RebootReplicationInstanceRequest&, const Model::RebootReplicationInstanceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RebootReplicationInstanceResponseReceivedHandler;
326     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::RefreshSchemasRequest&, const Model::RefreshSchemasOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RefreshSchemasResponseReceivedHandler;
327     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::ReloadTablesRequest&, const Model::ReloadTablesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ReloadTablesResponseReceivedHandler;
328     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::RemoveTagsFromResourceRequest&, const Model::RemoveTagsFromResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RemoveTagsFromResourceResponseReceivedHandler;
329     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::StartReplicationTaskRequest&, const Model::StartReplicationTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartReplicationTaskResponseReceivedHandler;
330     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::StartReplicationTaskAssessmentRequest&, const Model::StartReplicationTaskAssessmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartReplicationTaskAssessmentResponseReceivedHandler;
331     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::StartReplicationTaskAssessmentRunRequest&, const Model::StartReplicationTaskAssessmentRunOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartReplicationTaskAssessmentRunResponseReceivedHandler;
332     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::StopReplicationTaskRequest&, const Model::StopReplicationTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopReplicationTaskResponseReceivedHandler;
333     typedef std::function<void(const DatabaseMigrationServiceClient*, const Model::TestConnectionRequest&, const Model::TestConnectionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TestConnectionResponseReceivedHandler;
334 
335   /**
336    * <fullname>Database Migration Service</fullname> <p>Database Migration Service
337    * (DMS) can migrate your data to and from the most widely used commercial and
338    * open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon
339    * Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise
340    * (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as
341    * well as heterogeneous migrations between different database platforms, such as
342    * Oracle to MySQL or SQL Server to PostgreSQL.</p> <p>For more information about
343    * DMS, see <a
344    * href="https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html">What Is
345    * Database Migration Service?</a> in the <i>Database Migration Service User
346    * Guide.</i> </p>
347    */
348   class AWS_DATABASEMIGRATIONSERVICE_API DatabaseMigrationServiceClient : public Aws::Client::AWSJsonClient
349   {
350     public:
351       typedef Aws::Client::AWSJsonClient BASECLASS;
352 
353        /**
354         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
355         * is not specified, it will be initialized to default values.
356         */
357         DatabaseMigrationServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
358 
359        /**
360         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
361         * is not specified, it will be initialized to default values.
362         */
363         DatabaseMigrationServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
364 
365        /**
366         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
367         * the default http client factory will be used
368         */
369         DatabaseMigrationServiceClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
370             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
371 
372         virtual ~DatabaseMigrationServiceClient();
373 
374 
375         /**
376          * <p>Adds metadata tags to an DMS resource, including replication instance,
377          * endpoint, security group, and migration task. These tags can also be used with
378          * cost allocation reporting to track cost associated with DMS resources, or used
379          * in a Condition statement in an IAM policy for DMS. For more information, see <a
380          * href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
381          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
382          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/AddTagsToResource">AWS
383          * API Reference</a></p>
384          */
385         virtual Model::AddTagsToResourceOutcome AddTagsToResource(const Model::AddTagsToResourceRequest& request) const;
386 
387         /**
388          * <p>Adds metadata tags to an DMS resource, including replication instance,
389          * endpoint, security group, and migration task. These tags can also be used with
390          * cost allocation reporting to track cost associated with DMS resources, or used
391          * in a Condition statement in an IAM policy for DMS. For more information, see <a
392          * href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
393          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
394          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/AddTagsToResource">AWS
395          * API Reference</a></p>
396          *
397          * returns a future to the operation so that it can be executed in parallel to other requests.
398          */
399         virtual Model::AddTagsToResourceOutcomeCallable AddTagsToResourceCallable(const Model::AddTagsToResourceRequest& request) const;
400 
401         /**
402          * <p>Adds metadata tags to an DMS resource, including replication instance,
403          * endpoint, security group, and migration task. These tags can also be used with
404          * cost allocation reporting to track cost associated with DMS resources, or used
405          * in a Condition statement in an IAM policy for DMS. For more information, see <a
406          * href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
407          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
408          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/AddTagsToResource">AWS
409          * API Reference</a></p>
410          *
411          * Queues the request into a thread executor and triggers associated callback when operation has finished.
412          */
413         virtual void AddTagsToResourceAsync(const Model::AddTagsToResourceRequest& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
414 
415         /**
416          * <p>Applies a pending maintenance action to a resource (for example, to a
417          * replication instance).</p><p><h3>See Also:</h3>   <a
418          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ApplyPendingMaintenanceAction">AWS
419          * API Reference</a></p>
420          */
421         virtual Model::ApplyPendingMaintenanceActionOutcome ApplyPendingMaintenanceAction(const Model::ApplyPendingMaintenanceActionRequest& request) const;
422 
423         /**
424          * <p>Applies a pending maintenance action to a resource (for example, to a
425          * replication instance).</p><p><h3>See Also:</h3>   <a
426          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ApplyPendingMaintenanceAction">AWS
427          * API Reference</a></p>
428          *
429          * returns a future to the operation so that it can be executed in parallel to other requests.
430          */
431         virtual Model::ApplyPendingMaintenanceActionOutcomeCallable ApplyPendingMaintenanceActionCallable(const Model::ApplyPendingMaintenanceActionRequest& request) const;
432 
433         /**
434          * <p>Applies a pending maintenance action to a resource (for example, to a
435          * replication instance).</p><p><h3>See Also:</h3>   <a
436          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ApplyPendingMaintenanceAction">AWS
437          * API Reference</a></p>
438          *
439          * Queues the request into a thread executor and triggers associated callback when operation has finished.
440          */
441         virtual void ApplyPendingMaintenanceActionAsync(const Model::ApplyPendingMaintenanceActionRequest& request, const ApplyPendingMaintenanceActionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
442 
443         /**
444          * <p>Cancels a single premigration assessment run.</p> <p>This operation prevents
445          * any individual assessments from running if they haven't started running. It also
446          * attempts to cancel any individual assessments that are currently
447          * running.</p><p><h3>See Also:</h3>   <a
448          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun">AWS
449          * API Reference</a></p>
450          */
451         virtual Model::CancelReplicationTaskAssessmentRunOutcome CancelReplicationTaskAssessmentRun(const Model::CancelReplicationTaskAssessmentRunRequest& request) const;
452 
453         /**
454          * <p>Cancels a single premigration assessment run.</p> <p>This operation prevents
455          * any individual assessments from running if they haven't started running. It also
456          * attempts to cancel any individual assessments that are currently
457          * running.</p><p><h3>See Also:</h3>   <a
458          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun">AWS
459          * API Reference</a></p>
460          *
461          * returns a future to the operation so that it can be executed in parallel to other requests.
462          */
463         virtual Model::CancelReplicationTaskAssessmentRunOutcomeCallable CancelReplicationTaskAssessmentRunCallable(const Model::CancelReplicationTaskAssessmentRunRequest& request) const;
464 
465         /**
466          * <p>Cancels a single premigration assessment run.</p> <p>This operation prevents
467          * any individual assessments from running if they haven't started running. It also
468          * attempts to cancel any individual assessments that are currently
469          * running.</p><p><h3>See Also:</h3>   <a
470          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun">AWS
471          * API Reference</a></p>
472          *
473          * Queues the request into a thread executor and triggers associated callback when operation has finished.
474          */
475         virtual void CancelReplicationTaskAssessmentRunAsync(const Model::CancelReplicationTaskAssessmentRunRequest& request, const CancelReplicationTaskAssessmentRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
476 
477         /**
478          * <p>Creates an endpoint using the provided settings.</p>  <p>For a MySQL
479          * source or target endpoint, don't explicitly specify the database using the
480          * <code>DatabaseName</code> request parameter on the <code>CreateEndpoint</code>
481          * API call. Specifying <code>DatabaseName</code> when you create a MySQL endpoint
482          * replicates all the task tables to this single database. For MySQL endpoints, you
483          * specify the database only when you specify the schema in the table-mapping rules
484          * of the DMS task.</p> <p><h3>See Also:</h3>   <a
485          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEndpoint">AWS
486          * API Reference</a></p>
487          */
488         virtual Model::CreateEndpointOutcome CreateEndpoint(const Model::CreateEndpointRequest& request) const;
489 
490         /**
491          * <p>Creates an endpoint using the provided settings.</p>  <p>For a MySQL
492          * source or target endpoint, don't explicitly specify the database using the
493          * <code>DatabaseName</code> request parameter on the <code>CreateEndpoint</code>
494          * API call. Specifying <code>DatabaseName</code> when you create a MySQL endpoint
495          * replicates all the task tables to this single database. For MySQL endpoints, you
496          * specify the database only when you specify the schema in the table-mapping rules
497          * of the DMS task.</p> <p><h3>See Also:</h3>   <a
498          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEndpoint">AWS
499          * API Reference</a></p>
500          *
501          * returns a future to the operation so that it can be executed in parallel to other requests.
502          */
503         virtual Model::CreateEndpointOutcomeCallable CreateEndpointCallable(const Model::CreateEndpointRequest& request) const;
504 
505         /**
506          * <p>Creates an endpoint using the provided settings.</p>  <p>For a MySQL
507          * source or target endpoint, don't explicitly specify the database using the
508          * <code>DatabaseName</code> request parameter on the <code>CreateEndpoint</code>
509          * API call. Specifying <code>DatabaseName</code> when you create a MySQL endpoint
510          * replicates all the task tables to this single database. For MySQL endpoints, you
511          * specify the database only when you specify the schema in the table-mapping rules
512          * of the DMS task.</p> <p><h3>See Also:</h3>   <a
513          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEndpoint">AWS
514          * API Reference</a></p>
515          *
516          * Queues the request into a thread executor and triggers associated callback when operation has finished.
517          */
518         virtual void CreateEndpointAsync(const Model::CreateEndpointRequest& request, const CreateEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
519 
520         /**
521          * <p> Creates an DMS event notification subscription. </p> <p>You can specify the
522          * type of source (<code>SourceType</code>) you want to be notified of, provide a
523          * list of DMS source IDs (<code>SourceIds</code>) that triggers the events, and
524          * provide a list of event categories (<code>EventCategories</code>) for events you
525          * want to be notified of. If you specify both the <code>SourceType</code> and
526          * <code>SourceIds</code>, such as <code>SourceType = replication-instance</code>
527          * and <code>SourceIdentifier = my-replinstance</code>, you will be notified of all
528          * the replication instance events for the specified source. If you specify a
529          * <code>SourceType</code> but don't specify a <code>SourceIdentifier</code>, you
530          * receive notice of the events for that source type for all your DMS sources. If
531          * you don't specify either <code>SourceType</code> nor
532          * <code>SourceIdentifier</code>, you will be notified of events generated from all
533          * DMS sources belonging to your customer account.</p> <p>For more information
534          * about DMS events, see <a
535          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
536          * with Events and Notifications</a> in the <i>Database Migration Service User
537          * Guide.</i> </p><p><h3>See Also:</h3>   <a
538          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEventSubscription">AWS
539          * API Reference</a></p>
540          */
541         virtual Model::CreateEventSubscriptionOutcome CreateEventSubscription(const Model::CreateEventSubscriptionRequest& request) const;
542 
543         /**
544          * <p> Creates an DMS event notification subscription. </p> <p>You can specify the
545          * type of source (<code>SourceType</code>) you want to be notified of, provide a
546          * list of DMS source IDs (<code>SourceIds</code>) that triggers the events, and
547          * provide a list of event categories (<code>EventCategories</code>) for events you
548          * want to be notified of. If you specify both the <code>SourceType</code> and
549          * <code>SourceIds</code>, such as <code>SourceType = replication-instance</code>
550          * and <code>SourceIdentifier = my-replinstance</code>, you will be notified of all
551          * the replication instance events for the specified source. If you specify a
552          * <code>SourceType</code> but don't specify a <code>SourceIdentifier</code>, you
553          * receive notice of the events for that source type for all your DMS sources. If
554          * you don't specify either <code>SourceType</code> nor
555          * <code>SourceIdentifier</code>, you will be notified of events generated from all
556          * DMS sources belonging to your customer account.</p> <p>For more information
557          * about DMS events, see <a
558          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
559          * with Events and Notifications</a> in the <i>Database Migration Service User
560          * Guide.</i> </p><p><h3>See Also:</h3>   <a
561          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEventSubscription">AWS
562          * API Reference</a></p>
563          *
564          * returns a future to the operation so that it can be executed in parallel to other requests.
565          */
566         virtual Model::CreateEventSubscriptionOutcomeCallable CreateEventSubscriptionCallable(const Model::CreateEventSubscriptionRequest& request) const;
567 
568         /**
569          * <p> Creates an DMS event notification subscription. </p> <p>You can specify the
570          * type of source (<code>SourceType</code>) you want to be notified of, provide a
571          * list of DMS source IDs (<code>SourceIds</code>) that triggers the events, and
572          * provide a list of event categories (<code>EventCategories</code>) for events you
573          * want to be notified of. If you specify both the <code>SourceType</code> and
574          * <code>SourceIds</code>, such as <code>SourceType = replication-instance</code>
575          * and <code>SourceIdentifier = my-replinstance</code>, you will be notified of all
576          * the replication instance events for the specified source. If you specify a
577          * <code>SourceType</code> but don't specify a <code>SourceIdentifier</code>, you
578          * receive notice of the events for that source type for all your DMS sources. If
579          * you don't specify either <code>SourceType</code> nor
580          * <code>SourceIdentifier</code>, you will be notified of events generated from all
581          * DMS sources belonging to your customer account.</p> <p>For more information
582          * about DMS events, see <a
583          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
584          * with Events and Notifications</a> in the <i>Database Migration Service User
585          * Guide.</i> </p><p><h3>See Also:</h3>   <a
586          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateEventSubscription">AWS
587          * API Reference</a></p>
588          *
589          * Queues the request into a thread executor and triggers associated callback when operation has finished.
590          */
591         virtual void CreateEventSubscriptionAsync(const Model::CreateEventSubscriptionRequest& request, const CreateEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
592 
593         /**
594          * <p>Creates the replication instance using the specified parameters.</p> <p>DMS
595          * requires that your account have certain roles with appropriate permissions
596          * before you can create a replication instance. For information on the required
597          * roles, see <a
598          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole">Creating
599          * the IAM Roles to Use With the CLI and DMS API</a>. For information on the
600          * required permissions, see <a
601          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.IAMPermissions">IAM
602          * Permissions Needed to Use DMS</a>.</p><p><h3>See Also:</h3>   <a
603          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationInstance">AWS
604          * API Reference</a></p>
605          */
606         virtual Model::CreateReplicationInstanceOutcome CreateReplicationInstance(const Model::CreateReplicationInstanceRequest& request) const;
607 
608         /**
609          * <p>Creates the replication instance using the specified parameters.</p> <p>DMS
610          * requires that your account have certain roles with appropriate permissions
611          * before you can create a replication instance. For information on the required
612          * roles, see <a
613          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole">Creating
614          * the IAM Roles to Use With the CLI and DMS API</a>. For information on the
615          * required permissions, see <a
616          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.IAMPermissions">IAM
617          * Permissions Needed to Use DMS</a>.</p><p><h3>See Also:</h3>   <a
618          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationInstance">AWS
619          * API Reference</a></p>
620          *
621          * returns a future to the operation so that it can be executed in parallel to other requests.
622          */
623         virtual Model::CreateReplicationInstanceOutcomeCallable CreateReplicationInstanceCallable(const Model::CreateReplicationInstanceRequest& request) const;
624 
625         /**
626          * <p>Creates the replication instance using the specified parameters.</p> <p>DMS
627          * requires that your account have certain roles with appropriate permissions
628          * before you can create a replication instance. For information on the required
629          * roles, see <a
630          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole">Creating
631          * the IAM Roles to Use With the CLI and DMS API</a>. For information on the
632          * required permissions, see <a
633          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.IAMPermissions">IAM
634          * Permissions Needed to Use DMS</a>.</p><p><h3>See Also:</h3>   <a
635          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationInstance">AWS
636          * API Reference</a></p>
637          *
638          * Queues the request into a thread executor and triggers associated callback when operation has finished.
639          */
640         virtual void CreateReplicationInstanceAsync(const Model::CreateReplicationInstanceRequest& request, const CreateReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
641 
642         /**
643          * <p>Creates a replication subnet group given a list of the subnet IDs in a
644          * VPC.</p> <p>The VPC needs to have at least one subnet in at least two
645          * availability zones in the Amazon Web Services Region, otherwise the service will
646          * throw a <code>ReplicationSubnetGroupDoesNotCoverEnoughAZs</code>
647          * exception.</p><p><h3>See Also:</h3>   <a
648          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationSubnetGroup">AWS
649          * API Reference</a></p>
650          */
651         virtual Model::CreateReplicationSubnetGroupOutcome CreateReplicationSubnetGroup(const Model::CreateReplicationSubnetGroupRequest& request) const;
652 
653         /**
654          * <p>Creates a replication subnet group given a list of the subnet IDs in a
655          * VPC.</p> <p>The VPC needs to have at least one subnet in at least two
656          * availability zones in the Amazon Web Services Region, otherwise the service will
657          * throw a <code>ReplicationSubnetGroupDoesNotCoverEnoughAZs</code>
658          * exception.</p><p><h3>See Also:</h3>   <a
659          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationSubnetGroup">AWS
660          * API Reference</a></p>
661          *
662          * returns a future to the operation so that it can be executed in parallel to other requests.
663          */
664         virtual Model::CreateReplicationSubnetGroupOutcomeCallable CreateReplicationSubnetGroupCallable(const Model::CreateReplicationSubnetGroupRequest& request) const;
665 
666         /**
667          * <p>Creates a replication subnet group given a list of the subnet IDs in a
668          * VPC.</p> <p>The VPC needs to have at least one subnet in at least two
669          * availability zones in the Amazon Web Services Region, otherwise the service will
670          * throw a <code>ReplicationSubnetGroupDoesNotCoverEnoughAZs</code>
671          * exception.</p><p><h3>See Also:</h3>   <a
672          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationSubnetGroup">AWS
673          * API Reference</a></p>
674          *
675          * Queues the request into a thread executor and triggers associated callback when operation has finished.
676          */
677         virtual void CreateReplicationSubnetGroupAsync(const Model::CreateReplicationSubnetGroupRequest& request, const CreateReplicationSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
678 
679         /**
680          * <p>Creates a replication task using the specified parameters.</p><p><h3>See
681          * Also:</h3>   <a
682          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationTask">AWS
683          * API Reference</a></p>
684          */
685         virtual Model::CreateReplicationTaskOutcome CreateReplicationTask(const Model::CreateReplicationTaskRequest& request) const;
686 
687         /**
688          * <p>Creates a replication task using the specified parameters.</p><p><h3>See
689          * Also:</h3>   <a
690          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationTask">AWS
691          * API Reference</a></p>
692          *
693          * returns a future to the operation so that it can be executed in parallel to other requests.
694          */
695         virtual Model::CreateReplicationTaskOutcomeCallable CreateReplicationTaskCallable(const Model::CreateReplicationTaskRequest& request) const;
696 
697         /**
698          * <p>Creates a replication task using the specified parameters.</p><p><h3>See
699          * Also:</h3>   <a
700          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationTask">AWS
701          * API Reference</a></p>
702          *
703          * Queues the request into a thread executor and triggers associated callback when operation has finished.
704          */
705         virtual void CreateReplicationTaskAsync(const Model::CreateReplicationTaskRequest& request, const CreateReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
706 
707         /**
708          * <p>Deletes the specified certificate. </p><p><h3>See Also:</h3>   <a
709          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteCertificate">AWS
710          * API Reference</a></p>
711          */
712         virtual Model::DeleteCertificateOutcome DeleteCertificate(const Model::DeleteCertificateRequest& request) const;
713 
714         /**
715          * <p>Deletes the specified certificate. </p><p><h3>See Also:</h3>   <a
716          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteCertificate">AWS
717          * API Reference</a></p>
718          *
719          * returns a future to the operation so that it can be executed in parallel to other requests.
720          */
721         virtual Model::DeleteCertificateOutcomeCallable DeleteCertificateCallable(const Model::DeleteCertificateRequest& request) const;
722 
723         /**
724          * <p>Deletes the specified certificate. </p><p><h3>See Also:</h3>   <a
725          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteCertificate">AWS
726          * API Reference</a></p>
727          *
728          * Queues the request into a thread executor and triggers associated callback when operation has finished.
729          */
730         virtual void DeleteCertificateAsync(const Model::DeleteCertificateRequest& request, const DeleteCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
731 
732         /**
733          * <p>Deletes the connection between a replication instance and an
734          * endpoint.</p><p><h3>See Also:</h3>   <a
735          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteConnection">AWS
736          * API Reference</a></p>
737          */
738         virtual Model::DeleteConnectionOutcome DeleteConnection(const Model::DeleteConnectionRequest& request) const;
739 
740         /**
741          * <p>Deletes the connection between a replication instance and an
742          * endpoint.</p><p><h3>See Also:</h3>   <a
743          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteConnection">AWS
744          * API Reference</a></p>
745          *
746          * returns a future to the operation so that it can be executed in parallel to other requests.
747          */
748         virtual Model::DeleteConnectionOutcomeCallable DeleteConnectionCallable(const Model::DeleteConnectionRequest& request) const;
749 
750         /**
751          * <p>Deletes the connection between a replication instance and an
752          * endpoint.</p><p><h3>See Also:</h3>   <a
753          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteConnection">AWS
754          * API Reference</a></p>
755          *
756          * Queues the request into a thread executor and triggers associated callback when operation has finished.
757          */
758         virtual void DeleteConnectionAsync(const Model::DeleteConnectionRequest& request, const DeleteConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
759 
760         /**
761          * <p>Deletes the specified endpoint.</p>  <p>All tasks associated with the
762          * endpoint must be deleted before you can delete the endpoint.</p>
763          * <p/><p><h3>See Also:</h3>   <a
764          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEndpoint">AWS
765          * API Reference</a></p>
766          */
767         virtual Model::DeleteEndpointOutcome DeleteEndpoint(const Model::DeleteEndpointRequest& request) const;
768 
769         /**
770          * <p>Deletes the specified endpoint.</p>  <p>All tasks associated with the
771          * endpoint must be deleted before you can delete the endpoint.</p>
772          * <p/><p><h3>See Also:</h3>   <a
773          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEndpoint">AWS
774          * API Reference</a></p>
775          *
776          * returns a future to the operation so that it can be executed in parallel to other requests.
777          */
778         virtual Model::DeleteEndpointOutcomeCallable DeleteEndpointCallable(const Model::DeleteEndpointRequest& request) const;
779 
780         /**
781          * <p>Deletes the specified endpoint.</p>  <p>All tasks associated with the
782          * endpoint must be deleted before you can delete the endpoint.</p>
783          * <p/><p><h3>See Also:</h3>   <a
784          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEndpoint">AWS
785          * API Reference</a></p>
786          *
787          * Queues the request into a thread executor and triggers associated callback when operation has finished.
788          */
789         virtual void DeleteEndpointAsync(const Model::DeleteEndpointRequest& request, const DeleteEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
790 
791         /**
792          * <p> Deletes an DMS event subscription. </p><p><h3>See Also:</h3>   <a
793          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEventSubscription">AWS
794          * API Reference</a></p>
795          */
796         virtual Model::DeleteEventSubscriptionOutcome DeleteEventSubscription(const Model::DeleteEventSubscriptionRequest& request) const;
797 
798         /**
799          * <p> Deletes an DMS event subscription. </p><p><h3>See Also:</h3>   <a
800          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEventSubscription">AWS
801          * API Reference</a></p>
802          *
803          * returns a future to the operation so that it can be executed in parallel to other requests.
804          */
805         virtual Model::DeleteEventSubscriptionOutcomeCallable DeleteEventSubscriptionCallable(const Model::DeleteEventSubscriptionRequest& request) const;
806 
807         /**
808          * <p> Deletes an DMS event subscription. </p><p><h3>See Also:</h3>   <a
809          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteEventSubscription">AWS
810          * API Reference</a></p>
811          *
812          * Queues the request into a thread executor and triggers associated callback when operation has finished.
813          */
814         virtual void DeleteEventSubscriptionAsync(const Model::DeleteEventSubscriptionRequest& request, const DeleteEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
815 
816         /**
817          * <p>Deletes the specified replication instance.</p>  <p>You must delete any
818          * migration tasks that are associated with the replication instance before you can
819          * delete it.</p>  <p/><p><h3>See Also:</h3>   <a
820          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationInstance">AWS
821          * API Reference</a></p>
822          */
823         virtual Model::DeleteReplicationInstanceOutcome DeleteReplicationInstance(const Model::DeleteReplicationInstanceRequest& request) const;
824 
825         /**
826          * <p>Deletes the specified replication instance.</p>  <p>You must delete any
827          * migration tasks that are associated with the replication instance before you can
828          * delete it.</p>  <p/><p><h3>See Also:</h3>   <a
829          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationInstance">AWS
830          * API Reference</a></p>
831          *
832          * returns a future to the operation so that it can be executed in parallel to other requests.
833          */
834         virtual Model::DeleteReplicationInstanceOutcomeCallable DeleteReplicationInstanceCallable(const Model::DeleteReplicationInstanceRequest& request) const;
835 
836         /**
837          * <p>Deletes the specified replication instance.</p>  <p>You must delete any
838          * migration tasks that are associated with the replication instance before you can
839          * delete it.</p>  <p/><p><h3>See Also:</h3>   <a
840          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationInstance">AWS
841          * API Reference</a></p>
842          *
843          * Queues the request into a thread executor and triggers associated callback when operation has finished.
844          */
845         virtual void DeleteReplicationInstanceAsync(const Model::DeleteReplicationInstanceRequest& request, const DeleteReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
846 
847         /**
848          * <p>Deletes a subnet group.</p><p><h3>See Also:</h3>   <a
849          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationSubnetGroup">AWS
850          * API Reference</a></p>
851          */
852         virtual Model::DeleteReplicationSubnetGroupOutcome DeleteReplicationSubnetGroup(const Model::DeleteReplicationSubnetGroupRequest& request) const;
853 
854         /**
855          * <p>Deletes a subnet group.</p><p><h3>See Also:</h3>   <a
856          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationSubnetGroup">AWS
857          * API Reference</a></p>
858          *
859          * returns a future to the operation so that it can be executed in parallel to other requests.
860          */
861         virtual Model::DeleteReplicationSubnetGroupOutcomeCallable DeleteReplicationSubnetGroupCallable(const Model::DeleteReplicationSubnetGroupRequest& request) const;
862 
863         /**
864          * <p>Deletes a subnet group.</p><p><h3>See Also:</h3>   <a
865          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationSubnetGroup">AWS
866          * API Reference</a></p>
867          *
868          * Queues the request into a thread executor and triggers associated callback when operation has finished.
869          */
870         virtual void DeleteReplicationSubnetGroupAsync(const Model::DeleteReplicationSubnetGroupRequest& request, const DeleteReplicationSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
871 
872         /**
873          * <p>Deletes the specified replication task.</p><p><h3>See Also:</h3>   <a
874          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTask">AWS
875          * API Reference</a></p>
876          */
877         virtual Model::DeleteReplicationTaskOutcome DeleteReplicationTask(const Model::DeleteReplicationTaskRequest& request) const;
878 
879         /**
880          * <p>Deletes the specified replication task.</p><p><h3>See Also:</h3>   <a
881          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTask">AWS
882          * API Reference</a></p>
883          *
884          * returns a future to the operation so that it can be executed in parallel to other requests.
885          */
886         virtual Model::DeleteReplicationTaskOutcomeCallable DeleteReplicationTaskCallable(const Model::DeleteReplicationTaskRequest& request) const;
887 
888         /**
889          * <p>Deletes the specified replication task.</p><p><h3>See Also:</h3>   <a
890          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTask">AWS
891          * API Reference</a></p>
892          *
893          * Queues the request into a thread executor and triggers associated callback when operation has finished.
894          */
895         virtual void DeleteReplicationTaskAsync(const Model::DeleteReplicationTaskRequest& request, const DeleteReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
896 
897         /**
898          * <p>Deletes the record of a single premigration assessment run.</p> <p>This
899          * operation removes all metadata that DMS maintains about this assessment run.
900          * However, the operation leaves untouched all information about this assessment
901          * run that is stored in your Amazon S3 bucket.</p><p><h3>See Also:</h3>   <a
902          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun">AWS
903          * API Reference</a></p>
904          */
905         virtual Model::DeleteReplicationTaskAssessmentRunOutcome DeleteReplicationTaskAssessmentRun(const Model::DeleteReplicationTaskAssessmentRunRequest& request) const;
906 
907         /**
908          * <p>Deletes the record of a single premigration assessment run.</p> <p>This
909          * operation removes all metadata that DMS maintains about this assessment run.
910          * However, the operation leaves untouched all information about this assessment
911          * run that is stored in your Amazon S3 bucket.</p><p><h3>See Also:</h3>   <a
912          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun">AWS
913          * API Reference</a></p>
914          *
915          * returns a future to the operation so that it can be executed in parallel to other requests.
916          */
917         virtual Model::DeleteReplicationTaskAssessmentRunOutcomeCallable DeleteReplicationTaskAssessmentRunCallable(const Model::DeleteReplicationTaskAssessmentRunRequest& request) const;
918 
919         /**
920          * <p>Deletes the record of a single premigration assessment run.</p> <p>This
921          * operation removes all metadata that DMS maintains about this assessment run.
922          * However, the operation leaves untouched all information about this assessment
923          * run that is stored in your Amazon S3 bucket.</p><p><h3>See Also:</h3>   <a
924          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun">AWS
925          * API Reference</a></p>
926          *
927          * Queues the request into a thread executor and triggers associated callback when operation has finished.
928          */
929         virtual void DeleteReplicationTaskAssessmentRunAsync(const Model::DeleteReplicationTaskAssessmentRunRequest& request, const DeleteReplicationTaskAssessmentRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
930 
931         /**
932          * <p>Lists all of the DMS attributes for a customer account. These attributes
933          * include DMS quotas for the account and a unique account identifier in a
934          * particular DMS region. DMS quotas include a list of resource quotas supported by
935          * the account, such as the number of replication instances allowed. The
936          * description for each resource quota, includes the quota name, current usage
937          * toward that quota, and the quota's maximum value. DMS uses the unique account
938          * identifier to name each artifact used by DMS in the given region.</p> <p>This
939          * command does not take any parameters.</p><p><h3>See Also:</h3>   <a
940          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeAccountAttributes">AWS
941          * API Reference</a></p>
942          */
943         virtual Model::DescribeAccountAttributesOutcome DescribeAccountAttributes(const Model::DescribeAccountAttributesRequest& request) const;
944 
945         /**
946          * <p>Lists all of the DMS attributes for a customer account. These attributes
947          * include DMS quotas for the account and a unique account identifier in a
948          * particular DMS region. DMS quotas include a list of resource quotas supported by
949          * the account, such as the number of replication instances allowed. The
950          * description for each resource quota, includes the quota name, current usage
951          * toward that quota, and the quota's maximum value. DMS uses the unique account
952          * identifier to name each artifact used by DMS in the given region.</p> <p>This
953          * command does not take any parameters.</p><p><h3>See Also:</h3>   <a
954          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeAccountAttributes">AWS
955          * API Reference</a></p>
956          *
957          * returns a future to the operation so that it can be executed in parallel to other requests.
958          */
959         virtual Model::DescribeAccountAttributesOutcomeCallable DescribeAccountAttributesCallable(const Model::DescribeAccountAttributesRequest& request) const;
960 
961         /**
962          * <p>Lists all of the DMS attributes for a customer account. These attributes
963          * include DMS quotas for the account and a unique account identifier in a
964          * particular DMS region. DMS quotas include a list of resource quotas supported by
965          * the account, such as the number of replication instances allowed. The
966          * description for each resource quota, includes the quota name, current usage
967          * toward that quota, and the quota's maximum value. DMS uses the unique account
968          * identifier to name each artifact used by DMS in the given region.</p> <p>This
969          * command does not take any parameters.</p><p><h3>See Also:</h3>   <a
970          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeAccountAttributes">AWS
971          * API Reference</a></p>
972          *
973          * Queues the request into a thread executor and triggers associated callback when operation has finished.
974          */
975         virtual void DescribeAccountAttributesAsync(const Model::DescribeAccountAttributesRequest& request, const DescribeAccountAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
976 
977         /**
978          * <p>Provides a list of individual assessments that you can specify for a new
979          * premigration assessment run, given one or more parameters.</p> <p>If you specify
980          * an existing migration task, this operation provides the default individual
981          * assessments you can specify for that task. Otherwise, the specified parameters
982          * model elements of a possible migration task on which to base a premigration
983          * assessment run.</p> <p>To use these migration task modeling parameters, you must
984          * specify an existing replication instance, a source database engine, a target
985          * database engine, and a migration type. This combination of parameters
986          * potentially limits the default individual assessments available for an
987          * assessment run created for a corresponding migration task.</p> <p>If you specify
988          * no parameters, this operation provides a list of all possible individual
989          * assessments that you can specify for an assessment run. If you specify any one
990          * of the task modeling parameters, you must specify all of them or the operation
991          * cannot provide a list of individual assessments. The only parameter that you can
992          * specify alone is for an existing migration task. The specified task definition
993          * then determines the default list of individual assessments that you can specify
994          * in an assessment run for the task.</p><p><h3>See Also:</h3>   <a
995          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments">AWS
996          * API Reference</a></p>
997          */
998         virtual Model::DescribeApplicableIndividualAssessmentsOutcome DescribeApplicableIndividualAssessments(const Model::DescribeApplicableIndividualAssessmentsRequest& request) const;
999 
1000         /**
1001          * <p>Provides a list of individual assessments that you can specify for a new
1002          * premigration assessment run, given one or more parameters.</p> <p>If you specify
1003          * an existing migration task, this operation provides the default individual
1004          * assessments you can specify for that task. Otherwise, the specified parameters
1005          * model elements of a possible migration task on which to base a premigration
1006          * assessment run.</p> <p>To use these migration task modeling parameters, you must
1007          * specify an existing replication instance, a source database engine, a target
1008          * database engine, and a migration type. This combination of parameters
1009          * potentially limits the default individual assessments available for an
1010          * assessment run created for a corresponding migration task.</p> <p>If you specify
1011          * no parameters, this operation provides a list of all possible individual
1012          * assessments that you can specify for an assessment run. If you specify any one
1013          * of the task modeling parameters, you must specify all of them or the operation
1014          * cannot provide a list of individual assessments. The only parameter that you can
1015          * specify alone is for an existing migration task. The specified task definition
1016          * then determines the default list of individual assessments that you can specify
1017          * in an assessment run for the task.</p><p><h3>See Also:</h3>   <a
1018          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments">AWS
1019          * API Reference</a></p>
1020          *
1021          * returns a future to the operation so that it can be executed in parallel to other requests.
1022          */
1023         virtual Model::DescribeApplicableIndividualAssessmentsOutcomeCallable DescribeApplicableIndividualAssessmentsCallable(const Model::DescribeApplicableIndividualAssessmentsRequest& request) const;
1024 
1025         /**
1026          * <p>Provides a list of individual assessments that you can specify for a new
1027          * premigration assessment run, given one or more parameters.</p> <p>If you specify
1028          * an existing migration task, this operation provides the default individual
1029          * assessments you can specify for that task. Otherwise, the specified parameters
1030          * model elements of a possible migration task on which to base a premigration
1031          * assessment run.</p> <p>To use these migration task modeling parameters, you must
1032          * specify an existing replication instance, a source database engine, a target
1033          * database engine, and a migration type. This combination of parameters
1034          * potentially limits the default individual assessments available for an
1035          * assessment run created for a corresponding migration task.</p> <p>If you specify
1036          * no parameters, this operation provides a list of all possible individual
1037          * assessments that you can specify for an assessment run. If you specify any one
1038          * of the task modeling parameters, you must specify all of them or the operation
1039          * cannot provide a list of individual assessments. The only parameter that you can
1040          * specify alone is for an existing migration task. The specified task definition
1041          * then determines the default list of individual assessments that you can specify
1042          * in an assessment run for the task.</p><p><h3>See Also:</h3>   <a
1043          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments">AWS
1044          * API Reference</a></p>
1045          *
1046          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1047          */
1048         virtual void DescribeApplicableIndividualAssessmentsAsync(const Model::DescribeApplicableIndividualAssessmentsRequest& request, const DescribeApplicableIndividualAssessmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1049 
1050         /**
1051          * <p>Provides a description of the certificate.</p><p><h3>See Also:</h3>   <a
1052          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeCertificates">AWS
1053          * API Reference</a></p>
1054          */
1055         virtual Model::DescribeCertificatesOutcome DescribeCertificates(const Model::DescribeCertificatesRequest& request) const;
1056 
1057         /**
1058          * <p>Provides a description of the certificate.</p><p><h3>See Also:</h3>   <a
1059          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeCertificates">AWS
1060          * API Reference</a></p>
1061          *
1062          * returns a future to the operation so that it can be executed in parallel to other requests.
1063          */
1064         virtual Model::DescribeCertificatesOutcomeCallable DescribeCertificatesCallable(const Model::DescribeCertificatesRequest& request) const;
1065 
1066         /**
1067          * <p>Provides a description of the certificate.</p><p><h3>See Also:</h3>   <a
1068          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeCertificates">AWS
1069          * API Reference</a></p>
1070          *
1071          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1072          */
1073         virtual void DescribeCertificatesAsync(const Model::DescribeCertificatesRequest& request, const DescribeCertificatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1074 
1075         /**
1076          * <p>Describes the status of the connections that have been made between the
1077          * replication instance and an endpoint. Connections are created when you test an
1078          * endpoint.</p><p><h3>See Also:</h3>   <a
1079          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeConnections">AWS
1080          * API Reference</a></p>
1081          */
1082         virtual Model::DescribeConnectionsOutcome DescribeConnections(const Model::DescribeConnectionsRequest& request) const;
1083 
1084         /**
1085          * <p>Describes the status of the connections that have been made between the
1086          * replication instance and an endpoint. Connections are created when you test an
1087          * endpoint.</p><p><h3>See Also:</h3>   <a
1088          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeConnections">AWS
1089          * API Reference</a></p>
1090          *
1091          * returns a future to the operation so that it can be executed in parallel to other requests.
1092          */
1093         virtual Model::DescribeConnectionsOutcomeCallable DescribeConnectionsCallable(const Model::DescribeConnectionsRequest& request) const;
1094 
1095         /**
1096          * <p>Describes the status of the connections that have been made between the
1097          * replication instance and an endpoint. Connections are created when you test an
1098          * endpoint.</p><p><h3>See Also:</h3>   <a
1099          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeConnections">AWS
1100          * API Reference</a></p>
1101          *
1102          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1103          */
1104         virtual void DescribeConnectionsAsync(const Model::DescribeConnectionsRequest& request, const DescribeConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1105 
1106         /**
1107          * <p>Returns information about the possible endpoint settings available when you
1108          * create an endpoint for a specific database engine.</p><p><h3>See Also:</h3>   <a
1109          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointSettings">AWS
1110          * API Reference</a></p>
1111          */
1112         virtual Model::DescribeEndpointSettingsOutcome DescribeEndpointSettings(const Model::DescribeEndpointSettingsRequest& request) const;
1113 
1114         /**
1115          * <p>Returns information about the possible endpoint settings available when you
1116          * create an endpoint for a specific database engine.</p><p><h3>See Also:</h3>   <a
1117          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointSettings">AWS
1118          * API Reference</a></p>
1119          *
1120          * returns a future to the operation so that it can be executed in parallel to other requests.
1121          */
1122         virtual Model::DescribeEndpointSettingsOutcomeCallable DescribeEndpointSettingsCallable(const Model::DescribeEndpointSettingsRequest& request) const;
1123 
1124         /**
1125          * <p>Returns information about the possible endpoint settings available when you
1126          * create an endpoint for a specific database engine.</p><p><h3>See Also:</h3>   <a
1127          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointSettings">AWS
1128          * API Reference</a></p>
1129          *
1130          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1131          */
1132         virtual void DescribeEndpointSettingsAsync(const Model::DescribeEndpointSettingsRequest& request, const DescribeEndpointSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1133 
1134         /**
1135          * <p>Returns information about the type of endpoints available.</p><p><h3>See
1136          * Also:</h3>   <a
1137          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointTypes">AWS
1138          * API Reference</a></p>
1139          */
1140         virtual Model::DescribeEndpointTypesOutcome DescribeEndpointTypes(const Model::DescribeEndpointTypesRequest& request) const;
1141 
1142         /**
1143          * <p>Returns information about the type of endpoints available.</p><p><h3>See
1144          * Also:</h3>   <a
1145          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointTypes">AWS
1146          * API Reference</a></p>
1147          *
1148          * returns a future to the operation so that it can be executed in parallel to other requests.
1149          */
1150         virtual Model::DescribeEndpointTypesOutcomeCallable DescribeEndpointTypesCallable(const Model::DescribeEndpointTypesRequest& request) const;
1151 
1152         /**
1153          * <p>Returns information about the type of endpoints available.</p><p><h3>See
1154          * Also:</h3>   <a
1155          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpointTypes">AWS
1156          * API Reference</a></p>
1157          *
1158          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1159          */
1160         virtual void DescribeEndpointTypesAsync(const Model::DescribeEndpointTypesRequest& request, const DescribeEndpointTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1161 
1162         /**
1163          * <p>Returns information about the endpoints for your account in the current
1164          * region.</p><p><h3>See Also:</h3>   <a
1165          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpoints">AWS
1166          * API Reference</a></p>
1167          */
1168         virtual Model::DescribeEndpointsOutcome DescribeEndpoints(const Model::DescribeEndpointsRequest& request) const;
1169 
1170         /**
1171          * <p>Returns information about the endpoints for your account in the current
1172          * region.</p><p><h3>See Also:</h3>   <a
1173          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpoints">AWS
1174          * API Reference</a></p>
1175          *
1176          * returns a future to the operation so that it can be executed in parallel to other requests.
1177          */
1178         virtual Model::DescribeEndpointsOutcomeCallable DescribeEndpointsCallable(const Model::DescribeEndpointsRequest& request) const;
1179 
1180         /**
1181          * <p>Returns information about the endpoints for your account in the current
1182          * region.</p><p><h3>See Also:</h3>   <a
1183          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEndpoints">AWS
1184          * API Reference</a></p>
1185          *
1186          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1187          */
1188         virtual void DescribeEndpointsAsync(const Model::DescribeEndpointsRequest& request, const DescribeEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1189 
1190         /**
1191          * <p>Lists categories for all event source types, or, if specified, for a
1192          * specified source type. You can see a list of the event categories and source
1193          * types in <a
1194          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
1195          * with Events and Notifications</a> in the <i>Database Migration Service User
1196          * Guide.</i> </p><p><h3>See Also:</h3>   <a
1197          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventCategories">AWS
1198          * API Reference</a></p>
1199          */
1200         virtual Model::DescribeEventCategoriesOutcome DescribeEventCategories(const Model::DescribeEventCategoriesRequest& request) const;
1201 
1202         /**
1203          * <p>Lists categories for all event source types, or, if specified, for a
1204          * specified source type. You can see a list of the event categories and source
1205          * types in <a
1206          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
1207          * with Events and Notifications</a> in the <i>Database Migration Service User
1208          * Guide.</i> </p><p><h3>See Also:</h3>   <a
1209          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventCategories">AWS
1210          * API Reference</a></p>
1211          *
1212          * returns a future to the operation so that it can be executed in parallel to other requests.
1213          */
1214         virtual Model::DescribeEventCategoriesOutcomeCallable DescribeEventCategoriesCallable(const Model::DescribeEventCategoriesRequest& request) const;
1215 
1216         /**
1217          * <p>Lists categories for all event source types, or, if specified, for a
1218          * specified source type. You can see a list of the event categories and source
1219          * types in <a
1220          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
1221          * with Events and Notifications</a> in the <i>Database Migration Service User
1222          * Guide.</i> </p><p><h3>See Also:</h3>   <a
1223          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventCategories">AWS
1224          * API Reference</a></p>
1225          *
1226          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1227          */
1228         virtual void DescribeEventCategoriesAsync(const Model::DescribeEventCategoriesRequest& request, const DescribeEventCategoriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1229 
1230         /**
1231          * <p>Lists all the event subscriptions for a customer account. The description of
1232          * a subscription includes <code>SubscriptionName</code>, <code>SNSTopicARN</code>,
1233          * <code>CustomerID</code>, <code>SourceType</code>, <code>SourceID</code>,
1234          * <code>CreationTime</code>, and <code>Status</code>. </p> <p>If you specify
1235          * <code>SubscriptionName</code>, this action lists the description for that
1236          * subscription.</p><p><h3>See Also:</h3>   <a
1237          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventSubscriptions">AWS
1238          * API Reference</a></p>
1239          */
1240         virtual Model::DescribeEventSubscriptionsOutcome DescribeEventSubscriptions(const Model::DescribeEventSubscriptionsRequest& request) const;
1241 
1242         /**
1243          * <p>Lists all the event subscriptions for a customer account. The description of
1244          * a subscription includes <code>SubscriptionName</code>, <code>SNSTopicARN</code>,
1245          * <code>CustomerID</code>, <code>SourceType</code>, <code>SourceID</code>,
1246          * <code>CreationTime</code>, and <code>Status</code>. </p> <p>If you specify
1247          * <code>SubscriptionName</code>, this action lists the description for that
1248          * subscription.</p><p><h3>See Also:</h3>   <a
1249          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventSubscriptions">AWS
1250          * API Reference</a></p>
1251          *
1252          * returns a future to the operation so that it can be executed in parallel to other requests.
1253          */
1254         virtual Model::DescribeEventSubscriptionsOutcomeCallable DescribeEventSubscriptionsCallable(const Model::DescribeEventSubscriptionsRequest& request) const;
1255 
1256         /**
1257          * <p>Lists all the event subscriptions for a customer account. The description of
1258          * a subscription includes <code>SubscriptionName</code>, <code>SNSTopicARN</code>,
1259          * <code>CustomerID</code>, <code>SourceType</code>, <code>SourceID</code>,
1260          * <code>CreationTime</code>, and <code>Status</code>. </p> <p>If you specify
1261          * <code>SubscriptionName</code>, this action lists the description for that
1262          * subscription.</p><p><h3>See Also:</h3>   <a
1263          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEventSubscriptions">AWS
1264          * API Reference</a></p>
1265          *
1266          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1267          */
1268         virtual void DescribeEventSubscriptionsAsync(const Model::DescribeEventSubscriptionsRequest& request, const DescribeEventSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1269 
1270         /**
1271          * <p> Lists events for a given source identifier and source type. You can also
1272          * specify a start and end time. For more information on DMS events, see <a
1273          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
1274          * with Events and Notifications</a> in the <i>Database Migration Service User
1275          * Guide.</i> </p><p><h3>See Also:</h3>   <a
1276          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEvents">AWS
1277          * API Reference</a></p>
1278          */
1279         virtual Model::DescribeEventsOutcome DescribeEvents(const Model::DescribeEventsRequest& request) const;
1280 
1281         /**
1282          * <p> Lists events for a given source identifier and source type. You can also
1283          * specify a start and end time. For more information on DMS events, see <a
1284          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
1285          * with Events and Notifications</a> in the <i>Database Migration Service User
1286          * Guide.</i> </p><p><h3>See Also:</h3>   <a
1287          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEvents">AWS
1288          * API Reference</a></p>
1289          *
1290          * returns a future to the operation so that it can be executed in parallel to other requests.
1291          */
1292         virtual Model::DescribeEventsOutcomeCallable DescribeEventsCallable(const Model::DescribeEventsRequest& request) const;
1293 
1294         /**
1295          * <p> Lists events for a given source identifier and source type. You can also
1296          * specify a start and end time. For more information on DMS events, see <a
1297          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html">Working
1298          * with Events and Notifications</a> in the <i>Database Migration Service User
1299          * Guide.</i> </p><p><h3>See Also:</h3>   <a
1300          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeEvents">AWS
1301          * API Reference</a></p>
1302          *
1303          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1304          */
1305         virtual void DescribeEventsAsync(const Model::DescribeEventsRequest& request, const DescribeEventsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1306 
1307         /**
1308          * <p>Returns information about the replication instance types that can be created
1309          * in the specified region.</p><p><h3>See Also:</h3>   <a
1310          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeOrderableReplicationInstances">AWS
1311          * API Reference</a></p>
1312          */
1313         virtual Model::DescribeOrderableReplicationInstancesOutcome DescribeOrderableReplicationInstances(const Model::DescribeOrderableReplicationInstancesRequest& request) const;
1314 
1315         /**
1316          * <p>Returns information about the replication instance types that can be created
1317          * in the specified region.</p><p><h3>See Also:</h3>   <a
1318          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeOrderableReplicationInstances">AWS
1319          * API Reference</a></p>
1320          *
1321          * returns a future to the operation so that it can be executed in parallel to other requests.
1322          */
1323         virtual Model::DescribeOrderableReplicationInstancesOutcomeCallable DescribeOrderableReplicationInstancesCallable(const Model::DescribeOrderableReplicationInstancesRequest& request) const;
1324 
1325         /**
1326          * <p>Returns information about the replication instance types that can be created
1327          * in the specified region.</p><p><h3>See Also:</h3>   <a
1328          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeOrderableReplicationInstances">AWS
1329          * API Reference</a></p>
1330          *
1331          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1332          */
1333         virtual void DescribeOrderableReplicationInstancesAsync(const Model::DescribeOrderableReplicationInstancesRequest& request, const DescribeOrderableReplicationInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1334 
1335         /**
1336          * <p>For internal use only</p><p><h3>See Also:</h3>   <a
1337          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribePendingMaintenanceActions">AWS
1338          * API Reference</a></p>
1339          */
1340         virtual Model::DescribePendingMaintenanceActionsOutcome DescribePendingMaintenanceActions(const Model::DescribePendingMaintenanceActionsRequest& request) const;
1341 
1342         /**
1343          * <p>For internal use only</p><p><h3>See Also:</h3>   <a
1344          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribePendingMaintenanceActions">AWS
1345          * API Reference</a></p>
1346          *
1347          * returns a future to the operation so that it can be executed in parallel to other requests.
1348          */
1349         virtual Model::DescribePendingMaintenanceActionsOutcomeCallable DescribePendingMaintenanceActionsCallable(const Model::DescribePendingMaintenanceActionsRequest& request) const;
1350 
1351         /**
1352          * <p>For internal use only</p><p><h3>See Also:</h3>   <a
1353          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribePendingMaintenanceActions">AWS
1354          * API Reference</a></p>
1355          *
1356          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1357          */
1358         virtual void DescribePendingMaintenanceActionsAsync(const Model::DescribePendingMaintenanceActionsRequest& request, const DescribePendingMaintenanceActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1359 
1360         /**
1361          * <p>Returns the status of the RefreshSchemas operation.</p><p><h3>See Also:</h3>
1362          * <a
1363          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeRefreshSchemasStatus">AWS
1364          * API Reference</a></p>
1365          */
1366         virtual Model::DescribeRefreshSchemasStatusOutcome DescribeRefreshSchemasStatus(const Model::DescribeRefreshSchemasStatusRequest& request) const;
1367 
1368         /**
1369          * <p>Returns the status of the RefreshSchemas operation.</p><p><h3>See Also:</h3>
1370          * <a
1371          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeRefreshSchemasStatus">AWS
1372          * API Reference</a></p>
1373          *
1374          * returns a future to the operation so that it can be executed in parallel to other requests.
1375          */
1376         virtual Model::DescribeRefreshSchemasStatusOutcomeCallable DescribeRefreshSchemasStatusCallable(const Model::DescribeRefreshSchemasStatusRequest& request) const;
1377 
1378         /**
1379          * <p>Returns the status of the RefreshSchemas operation.</p><p><h3>See Also:</h3>
1380          * <a
1381          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeRefreshSchemasStatus">AWS
1382          * API Reference</a></p>
1383          *
1384          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1385          */
1386         virtual void DescribeRefreshSchemasStatusAsync(const Model::DescribeRefreshSchemasStatusRequest& request, const DescribeRefreshSchemasStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1387 
1388         /**
1389          * <p>Returns information about the task logs for the specified task.</p><p><h3>See
1390          * Also:</h3>   <a
1391          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstanceTaskLogs">AWS
1392          * API Reference</a></p>
1393          */
1394         virtual Model::DescribeReplicationInstanceTaskLogsOutcome DescribeReplicationInstanceTaskLogs(const Model::DescribeReplicationInstanceTaskLogsRequest& request) const;
1395 
1396         /**
1397          * <p>Returns information about the task logs for the specified task.</p><p><h3>See
1398          * Also:</h3>   <a
1399          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstanceTaskLogs">AWS
1400          * API Reference</a></p>
1401          *
1402          * returns a future to the operation so that it can be executed in parallel to other requests.
1403          */
1404         virtual Model::DescribeReplicationInstanceTaskLogsOutcomeCallable DescribeReplicationInstanceTaskLogsCallable(const Model::DescribeReplicationInstanceTaskLogsRequest& request) const;
1405 
1406         /**
1407          * <p>Returns information about the task logs for the specified task.</p><p><h3>See
1408          * Also:</h3>   <a
1409          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstanceTaskLogs">AWS
1410          * API Reference</a></p>
1411          *
1412          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1413          */
1414         virtual void DescribeReplicationInstanceTaskLogsAsync(const Model::DescribeReplicationInstanceTaskLogsRequest& request, const DescribeReplicationInstanceTaskLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1415 
1416         /**
1417          * <p>Returns information about replication instances for your account in the
1418          * current region.</p><p><h3>See Also:</h3>   <a
1419          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstances">AWS
1420          * API Reference</a></p>
1421          */
1422         virtual Model::DescribeReplicationInstancesOutcome DescribeReplicationInstances(const Model::DescribeReplicationInstancesRequest& request) const;
1423 
1424         /**
1425          * <p>Returns information about replication instances for your account in the
1426          * current region.</p><p><h3>See Also:</h3>   <a
1427          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstances">AWS
1428          * API Reference</a></p>
1429          *
1430          * returns a future to the operation so that it can be executed in parallel to other requests.
1431          */
1432         virtual Model::DescribeReplicationInstancesOutcomeCallable DescribeReplicationInstancesCallable(const Model::DescribeReplicationInstancesRequest& request) const;
1433 
1434         /**
1435          * <p>Returns information about replication instances for your account in the
1436          * current region.</p><p><h3>See Also:</h3>   <a
1437          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationInstances">AWS
1438          * API Reference</a></p>
1439          *
1440          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1441          */
1442         virtual void DescribeReplicationInstancesAsync(const Model::DescribeReplicationInstancesRequest& request, const DescribeReplicationInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1443 
1444         /**
1445          * <p>Returns information about the replication subnet groups.</p><p><h3>See
1446          * Also:</h3>   <a
1447          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationSubnetGroups">AWS
1448          * API Reference</a></p>
1449          */
1450         virtual Model::DescribeReplicationSubnetGroupsOutcome DescribeReplicationSubnetGroups(const Model::DescribeReplicationSubnetGroupsRequest& request) const;
1451 
1452         /**
1453          * <p>Returns information about the replication subnet groups.</p><p><h3>See
1454          * Also:</h3>   <a
1455          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationSubnetGroups">AWS
1456          * API Reference</a></p>
1457          *
1458          * returns a future to the operation so that it can be executed in parallel to other requests.
1459          */
1460         virtual Model::DescribeReplicationSubnetGroupsOutcomeCallable DescribeReplicationSubnetGroupsCallable(const Model::DescribeReplicationSubnetGroupsRequest& request) const;
1461 
1462         /**
1463          * <p>Returns information about the replication subnet groups.</p><p><h3>See
1464          * Also:</h3>   <a
1465          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationSubnetGroups">AWS
1466          * API Reference</a></p>
1467          *
1468          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1469          */
1470         virtual void DescribeReplicationSubnetGroupsAsync(const Model::DescribeReplicationSubnetGroupsRequest& request, const DescribeReplicationSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1471 
1472         /**
1473          * <p>Returns the task assessment results from the Amazon S3 bucket that DMS
1474          * creates in your Amazon Web Services account. This action always returns the
1475          * latest results.</p> <p>For more information about DMS task assessments, see <a
1476          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html">Creating
1477          * a task assessment report</a> in the <a
1478          * href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/Welcome.html">
1479          * Database Migration Service User Guide</a>.</p><p><h3>See Also:</h3>   <a
1480          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentResults">AWS
1481          * API Reference</a></p>
1482          */
1483         virtual Model::DescribeReplicationTaskAssessmentResultsOutcome DescribeReplicationTaskAssessmentResults(const Model::DescribeReplicationTaskAssessmentResultsRequest& request) const;
1484 
1485         /**
1486          * <p>Returns the task assessment results from the Amazon S3 bucket that DMS
1487          * creates in your Amazon Web Services account. This action always returns the
1488          * latest results.</p> <p>For more information about DMS task assessments, see <a
1489          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html">Creating
1490          * a task assessment report</a> in the <a
1491          * href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/Welcome.html">
1492          * Database Migration Service User Guide</a>.</p><p><h3>See Also:</h3>   <a
1493          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentResults">AWS
1494          * API Reference</a></p>
1495          *
1496          * returns a future to the operation so that it can be executed in parallel to other requests.
1497          */
1498         virtual Model::DescribeReplicationTaskAssessmentResultsOutcomeCallable DescribeReplicationTaskAssessmentResultsCallable(const Model::DescribeReplicationTaskAssessmentResultsRequest& request) const;
1499 
1500         /**
1501          * <p>Returns the task assessment results from the Amazon S3 bucket that DMS
1502          * creates in your Amazon Web Services account. This action always returns the
1503          * latest results.</p> <p>For more information about DMS task assessments, see <a
1504          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html">Creating
1505          * a task assessment report</a> in the <a
1506          * href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/dms/latest/userguide/Welcome.html">
1507          * Database Migration Service User Guide</a>.</p><p><h3>See Also:</h3>   <a
1508          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentResults">AWS
1509          * API Reference</a></p>
1510          *
1511          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1512          */
1513         virtual void DescribeReplicationTaskAssessmentResultsAsync(const Model::DescribeReplicationTaskAssessmentResultsRequest& request, const DescribeReplicationTaskAssessmentResultsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1514 
1515         /**
1516          * <p>Returns a paginated list of premigration assessment runs based on filter
1517          * settings.</p> <p>These filter settings can specify a combination of premigration
1518          * assessment runs, migration tasks, replication instances, and assessment run
1519          * status values.</p>  <p>This operation doesn't return information about
1520          * individual assessments. For this information, see the
1521          * <code>DescribeReplicationTaskIndividualAssessments</code> operation. </p>
1522          * <p><h3>See Also:</h3>   <a
1523          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns">AWS
1524          * API Reference</a></p>
1525          */
1526         virtual Model::DescribeReplicationTaskAssessmentRunsOutcome DescribeReplicationTaskAssessmentRuns(const Model::DescribeReplicationTaskAssessmentRunsRequest& request) const;
1527 
1528         /**
1529          * <p>Returns a paginated list of premigration assessment runs based on filter
1530          * settings.</p> <p>These filter settings can specify a combination of premigration
1531          * assessment runs, migration tasks, replication instances, and assessment run
1532          * status values.</p>  <p>This operation doesn't return information about
1533          * individual assessments. For this information, see the
1534          * <code>DescribeReplicationTaskIndividualAssessments</code> operation. </p>
1535          * <p><h3>See Also:</h3>   <a
1536          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns">AWS
1537          * API Reference</a></p>
1538          *
1539          * returns a future to the operation so that it can be executed in parallel to other requests.
1540          */
1541         virtual Model::DescribeReplicationTaskAssessmentRunsOutcomeCallable DescribeReplicationTaskAssessmentRunsCallable(const Model::DescribeReplicationTaskAssessmentRunsRequest& request) const;
1542 
1543         /**
1544          * <p>Returns a paginated list of premigration assessment runs based on filter
1545          * settings.</p> <p>These filter settings can specify a combination of premigration
1546          * assessment runs, migration tasks, replication instances, and assessment run
1547          * status values.</p>  <p>This operation doesn't return information about
1548          * individual assessments. For this information, see the
1549          * <code>DescribeReplicationTaskIndividualAssessments</code> operation. </p>
1550          * <p><h3>See Also:</h3>   <a
1551          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns">AWS
1552          * API Reference</a></p>
1553          *
1554          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1555          */
1556         virtual void DescribeReplicationTaskAssessmentRunsAsync(const Model::DescribeReplicationTaskAssessmentRunsRequest& request, const DescribeReplicationTaskAssessmentRunsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1557 
1558         /**
1559          * <p>Returns a paginated list of individual assessments based on filter
1560          * settings.</p> <p>These filter settings can specify a combination of premigration
1561          * assessment runs, migration tasks, and assessment status values.</p><p><h3>See
1562          * Also:</h3>   <a
1563          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments">AWS
1564          * API Reference</a></p>
1565          */
1566         virtual Model::DescribeReplicationTaskIndividualAssessmentsOutcome DescribeReplicationTaskIndividualAssessments(const Model::DescribeReplicationTaskIndividualAssessmentsRequest& request) const;
1567 
1568         /**
1569          * <p>Returns a paginated list of individual assessments based on filter
1570          * settings.</p> <p>These filter settings can specify a combination of premigration
1571          * assessment runs, migration tasks, and assessment status values.</p><p><h3>See
1572          * Also:</h3>   <a
1573          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments">AWS
1574          * API Reference</a></p>
1575          *
1576          * returns a future to the operation so that it can be executed in parallel to other requests.
1577          */
1578         virtual Model::DescribeReplicationTaskIndividualAssessmentsOutcomeCallable DescribeReplicationTaskIndividualAssessmentsCallable(const Model::DescribeReplicationTaskIndividualAssessmentsRequest& request) const;
1579 
1580         /**
1581          * <p>Returns a paginated list of individual assessments based on filter
1582          * settings.</p> <p>These filter settings can specify a combination of premigration
1583          * assessment runs, migration tasks, and assessment status values.</p><p><h3>See
1584          * Also:</h3>   <a
1585          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments">AWS
1586          * API Reference</a></p>
1587          *
1588          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1589          */
1590         virtual void DescribeReplicationTaskIndividualAssessmentsAsync(const Model::DescribeReplicationTaskIndividualAssessmentsRequest& request, const DescribeReplicationTaskIndividualAssessmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1591 
1592         /**
1593          * <p>Returns information about replication tasks for your account in the current
1594          * region.</p><p><h3>See Also:</h3>   <a
1595          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks">AWS
1596          * API Reference</a></p>
1597          */
1598         virtual Model::DescribeReplicationTasksOutcome DescribeReplicationTasks(const Model::DescribeReplicationTasksRequest& request) const;
1599 
1600         /**
1601          * <p>Returns information about replication tasks for your account in the current
1602          * region.</p><p><h3>See Also:</h3>   <a
1603          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks">AWS
1604          * API Reference</a></p>
1605          *
1606          * returns a future to the operation so that it can be executed in parallel to other requests.
1607          */
1608         virtual Model::DescribeReplicationTasksOutcomeCallable DescribeReplicationTasksCallable(const Model::DescribeReplicationTasksRequest& request) const;
1609 
1610         /**
1611          * <p>Returns information about replication tasks for your account in the current
1612          * region.</p><p><h3>See Also:</h3>   <a
1613          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks">AWS
1614          * API Reference</a></p>
1615          *
1616          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1617          */
1618         virtual void DescribeReplicationTasksAsync(const Model::DescribeReplicationTasksRequest& request, const DescribeReplicationTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1619 
1620         /**
1621          * <p>Returns information about the schema for the specified endpoint.</p>
1622          * <p/><p><h3>See Also:</h3>   <a
1623          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeSchemas">AWS
1624          * API Reference</a></p>
1625          */
1626         virtual Model::DescribeSchemasOutcome DescribeSchemas(const Model::DescribeSchemasRequest& request) const;
1627 
1628         /**
1629          * <p>Returns information about the schema for the specified endpoint.</p>
1630          * <p/><p><h3>See Also:</h3>   <a
1631          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeSchemas">AWS
1632          * API Reference</a></p>
1633          *
1634          * returns a future to the operation so that it can be executed in parallel to other requests.
1635          */
1636         virtual Model::DescribeSchemasOutcomeCallable DescribeSchemasCallable(const Model::DescribeSchemasRequest& request) const;
1637 
1638         /**
1639          * <p>Returns information about the schema for the specified endpoint.</p>
1640          * <p/><p><h3>See Also:</h3>   <a
1641          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeSchemas">AWS
1642          * API Reference</a></p>
1643          *
1644          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1645          */
1646         virtual void DescribeSchemasAsync(const Model::DescribeSchemasRequest& request, const DescribeSchemasResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1647 
1648         /**
1649          * <p>Returns table statistics on the database migration task, including table
1650          * name, rows inserted, rows updated, and rows deleted.</p> <p>Note that the "last
1651          * updated" column the DMS console only indicates the time that DMS last updated
1652          * the table statistics record for a table. It does not indicate the time of the
1653          * last update to the table.</p><p><h3>See Also:</h3>   <a
1654          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeTableStatistics">AWS
1655          * API Reference</a></p>
1656          */
1657         virtual Model::DescribeTableStatisticsOutcome DescribeTableStatistics(const Model::DescribeTableStatisticsRequest& request) const;
1658 
1659         /**
1660          * <p>Returns table statistics on the database migration task, including table
1661          * name, rows inserted, rows updated, and rows deleted.</p> <p>Note that the "last
1662          * updated" column the DMS console only indicates the time that DMS last updated
1663          * the table statistics record for a table. It does not indicate the time of the
1664          * last update to the table.</p><p><h3>See Also:</h3>   <a
1665          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeTableStatistics">AWS
1666          * API Reference</a></p>
1667          *
1668          * returns a future to the operation so that it can be executed in parallel to other requests.
1669          */
1670         virtual Model::DescribeTableStatisticsOutcomeCallable DescribeTableStatisticsCallable(const Model::DescribeTableStatisticsRequest& request) const;
1671 
1672         /**
1673          * <p>Returns table statistics on the database migration task, including table
1674          * name, rows inserted, rows updated, and rows deleted.</p> <p>Note that the "last
1675          * updated" column the DMS console only indicates the time that DMS last updated
1676          * the table statistics record for a table. It does not indicate the time of the
1677          * last update to the table.</p><p><h3>See Also:</h3>   <a
1678          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeTableStatistics">AWS
1679          * API Reference</a></p>
1680          *
1681          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1682          */
1683         virtual void DescribeTableStatisticsAsync(const Model::DescribeTableStatisticsRequest& request, const DescribeTableStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1684 
1685         /**
1686          * <p>Uploads the specified certificate.</p><p><h3>See Also:</h3>   <a
1687          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ImportCertificate">AWS
1688          * API Reference</a></p>
1689          */
1690         virtual Model::ImportCertificateOutcome ImportCertificate(const Model::ImportCertificateRequest& request) const;
1691 
1692         /**
1693          * <p>Uploads the specified certificate.</p><p><h3>See Also:</h3>   <a
1694          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ImportCertificate">AWS
1695          * API Reference</a></p>
1696          *
1697          * returns a future to the operation so that it can be executed in parallel to other requests.
1698          */
1699         virtual Model::ImportCertificateOutcomeCallable ImportCertificateCallable(const Model::ImportCertificateRequest& request) const;
1700 
1701         /**
1702          * <p>Uploads the specified certificate.</p><p><h3>See Also:</h3>   <a
1703          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ImportCertificate">AWS
1704          * API Reference</a></p>
1705          *
1706          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1707          */
1708         virtual void ImportCertificateAsync(const Model::ImportCertificateRequest& request, const ImportCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1709 
1710         /**
1711          * <p>Lists all metadata tags attached to an DMS resource, including replication
1712          * instance, endpoint, security group, and migration task. For more information,
1713          * see <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
1714          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
1715          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ListTagsForResource">AWS
1716          * API Reference</a></p>
1717          */
1718         virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
1719 
1720         /**
1721          * <p>Lists all metadata tags attached to an DMS resource, including replication
1722          * instance, endpoint, security group, and migration task. For more information,
1723          * see <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
1724          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
1725          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ListTagsForResource">AWS
1726          * API Reference</a></p>
1727          *
1728          * returns a future to the operation so that it can be executed in parallel to other requests.
1729          */
1730         virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
1731 
1732         /**
1733          * <p>Lists all metadata tags attached to an DMS resource, including replication
1734          * instance, endpoint, security group, and migration task. For more information,
1735          * see <a href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
1736          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
1737          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ListTagsForResource">AWS
1738          * API Reference</a></p>
1739          *
1740          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1741          */
1742         virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1743 
1744         /**
1745          * <p>Modifies the specified endpoint.</p>  <p>For a MySQL source or target
1746          * endpoint, don't explicitly specify the database using the
1747          * <code>DatabaseName</code> request parameter on the <code>ModifyEndpoint</code>
1748          * API call. Specifying <code>DatabaseName</code> when you modify a MySQL endpoint
1749          * replicates all the task tables to this single database. For MySQL endpoints, you
1750          * specify the database only when you specify the schema in the table-mapping rules
1751          * of the DMS task.</p> <p><h3>See Also:</h3>   <a
1752          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEndpoint">AWS
1753          * API Reference</a></p>
1754          */
1755         virtual Model::ModifyEndpointOutcome ModifyEndpoint(const Model::ModifyEndpointRequest& request) const;
1756 
1757         /**
1758          * <p>Modifies the specified endpoint.</p>  <p>For a MySQL source or target
1759          * endpoint, don't explicitly specify the database using the
1760          * <code>DatabaseName</code> request parameter on the <code>ModifyEndpoint</code>
1761          * API call. Specifying <code>DatabaseName</code> when you modify a MySQL endpoint
1762          * replicates all the task tables to this single database. For MySQL endpoints, you
1763          * specify the database only when you specify the schema in the table-mapping rules
1764          * of the DMS task.</p> <p><h3>See Also:</h3>   <a
1765          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEndpoint">AWS
1766          * API Reference</a></p>
1767          *
1768          * returns a future to the operation so that it can be executed in parallel to other requests.
1769          */
1770         virtual Model::ModifyEndpointOutcomeCallable ModifyEndpointCallable(const Model::ModifyEndpointRequest& request) const;
1771 
1772         /**
1773          * <p>Modifies the specified endpoint.</p>  <p>For a MySQL source or target
1774          * endpoint, don't explicitly specify the database using the
1775          * <code>DatabaseName</code> request parameter on the <code>ModifyEndpoint</code>
1776          * API call. Specifying <code>DatabaseName</code> when you modify a MySQL endpoint
1777          * replicates all the task tables to this single database. For MySQL endpoints, you
1778          * specify the database only when you specify the schema in the table-mapping rules
1779          * of the DMS task.</p> <p><h3>See Also:</h3>   <a
1780          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEndpoint">AWS
1781          * API Reference</a></p>
1782          *
1783          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1784          */
1785         virtual void ModifyEndpointAsync(const Model::ModifyEndpointRequest& request, const ModifyEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1786 
1787         /**
1788          * <p>Modifies an existing DMS event notification subscription. </p><p><h3>See
1789          * Also:</h3>   <a
1790          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEventSubscription">AWS
1791          * API Reference</a></p>
1792          */
1793         virtual Model::ModifyEventSubscriptionOutcome ModifyEventSubscription(const Model::ModifyEventSubscriptionRequest& request) const;
1794 
1795         /**
1796          * <p>Modifies an existing DMS event notification subscription. </p><p><h3>See
1797          * Also:</h3>   <a
1798          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEventSubscription">AWS
1799          * API Reference</a></p>
1800          *
1801          * returns a future to the operation so that it can be executed in parallel to other requests.
1802          */
1803         virtual Model::ModifyEventSubscriptionOutcomeCallable ModifyEventSubscriptionCallable(const Model::ModifyEventSubscriptionRequest& request) const;
1804 
1805         /**
1806          * <p>Modifies an existing DMS event notification subscription. </p><p><h3>See
1807          * Also:</h3>   <a
1808          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyEventSubscription">AWS
1809          * API Reference</a></p>
1810          *
1811          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1812          */
1813         virtual void ModifyEventSubscriptionAsync(const Model::ModifyEventSubscriptionRequest& request, const ModifyEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1814 
1815         /**
1816          * <p>Modifies the replication instance to apply new settings. You can change one
1817          * or more parameters by specifying these parameters and the new values in the
1818          * request.</p> <p>Some settings are applied during the maintenance window.</p>
1819          * <p/><p><h3>See Also:</h3>   <a
1820          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationInstance">AWS
1821          * API Reference</a></p>
1822          */
1823         virtual Model::ModifyReplicationInstanceOutcome ModifyReplicationInstance(const Model::ModifyReplicationInstanceRequest& request) const;
1824 
1825         /**
1826          * <p>Modifies the replication instance to apply new settings. You can change one
1827          * or more parameters by specifying these parameters and the new values in the
1828          * request.</p> <p>Some settings are applied during the maintenance window.</p>
1829          * <p/><p><h3>See Also:</h3>   <a
1830          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationInstance">AWS
1831          * API Reference</a></p>
1832          *
1833          * returns a future to the operation so that it can be executed in parallel to other requests.
1834          */
1835         virtual Model::ModifyReplicationInstanceOutcomeCallable ModifyReplicationInstanceCallable(const Model::ModifyReplicationInstanceRequest& request) const;
1836 
1837         /**
1838          * <p>Modifies the replication instance to apply new settings. You can change one
1839          * or more parameters by specifying these parameters and the new values in the
1840          * request.</p> <p>Some settings are applied during the maintenance window.</p>
1841          * <p/><p><h3>See Also:</h3>   <a
1842          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationInstance">AWS
1843          * API Reference</a></p>
1844          *
1845          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1846          */
1847         virtual void ModifyReplicationInstanceAsync(const Model::ModifyReplicationInstanceRequest& request, const ModifyReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1848 
1849         /**
1850          * <p>Modifies the settings for the specified replication subnet
1851          * group.</p><p><h3>See Also:</h3>   <a
1852          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationSubnetGroup">AWS
1853          * API Reference</a></p>
1854          */
1855         virtual Model::ModifyReplicationSubnetGroupOutcome ModifyReplicationSubnetGroup(const Model::ModifyReplicationSubnetGroupRequest& request) const;
1856 
1857         /**
1858          * <p>Modifies the settings for the specified replication subnet
1859          * group.</p><p><h3>See Also:</h3>   <a
1860          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationSubnetGroup">AWS
1861          * API Reference</a></p>
1862          *
1863          * returns a future to the operation so that it can be executed in parallel to other requests.
1864          */
1865         virtual Model::ModifyReplicationSubnetGroupOutcomeCallable ModifyReplicationSubnetGroupCallable(const Model::ModifyReplicationSubnetGroupRequest& request) const;
1866 
1867         /**
1868          * <p>Modifies the settings for the specified replication subnet
1869          * group.</p><p><h3>See Also:</h3>   <a
1870          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationSubnetGroup">AWS
1871          * API Reference</a></p>
1872          *
1873          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1874          */
1875         virtual void ModifyReplicationSubnetGroupAsync(const Model::ModifyReplicationSubnetGroupRequest& request, const ModifyReplicationSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1876 
1877         /**
1878          * <p>Modifies the specified replication task.</p> <p>You can't modify the task
1879          * endpoints. The task must be stopped before you can modify it. </p> <p>For more
1880          * information about DMS tasks, see <a
1881          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working
1882          * with Migration Tasks</a> in the <i>Database Migration Service User
1883          * Guide</i>.</p><p><h3>See Also:</h3>   <a
1884          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationTask">AWS
1885          * API Reference</a></p>
1886          */
1887         virtual Model::ModifyReplicationTaskOutcome ModifyReplicationTask(const Model::ModifyReplicationTaskRequest& request) const;
1888 
1889         /**
1890          * <p>Modifies the specified replication task.</p> <p>You can't modify the task
1891          * endpoints. The task must be stopped before you can modify it. </p> <p>For more
1892          * information about DMS tasks, see <a
1893          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working
1894          * with Migration Tasks</a> in the <i>Database Migration Service User
1895          * Guide</i>.</p><p><h3>See Also:</h3>   <a
1896          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationTask">AWS
1897          * API Reference</a></p>
1898          *
1899          * returns a future to the operation so that it can be executed in parallel to other requests.
1900          */
1901         virtual Model::ModifyReplicationTaskOutcomeCallable ModifyReplicationTaskCallable(const Model::ModifyReplicationTaskRequest& request) const;
1902 
1903         /**
1904          * <p>Modifies the specified replication task.</p> <p>You can't modify the task
1905          * endpoints. The task must be stopped before you can modify it. </p> <p>For more
1906          * information about DMS tasks, see <a
1907          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working
1908          * with Migration Tasks</a> in the <i>Database Migration Service User
1909          * Guide</i>.</p><p><h3>See Also:</h3>   <a
1910          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ModifyReplicationTask">AWS
1911          * API Reference</a></p>
1912          *
1913          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1914          */
1915         virtual void ModifyReplicationTaskAsync(const Model::ModifyReplicationTaskRequest& request, const ModifyReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1916 
1917         /**
1918          * <p>Moves a replication task from its current replication instance to a different
1919          * target replication instance using the specified parameters. The target
1920          * replication instance must be created with the same or later DMS version as the
1921          * current replication instance.</p><p><h3>See Also:</h3>   <a
1922          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MoveReplicationTask">AWS
1923          * API Reference</a></p>
1924          */
1925         virtual Model::MoveReplicationTaskOutcome MoveReplicationTask(const Model::MoveReplicationTaskRequest& request) const;
1926 
1927         /**
1928          * <p>Moves a replication task from its current replication instance to a different
1929          * target replication instance using the specified parameters. The target
1930          * replication instance must be created with the same or later DMS version as the
1931          * current replication instance.</p><p><h3>See Also:</h3>   <a
1932          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MoveReplicationTask">AWS
1933          * API Reference</a></p>
1934          *
1935          * returns a future to the operation so that it can be executed in parallel to other requests.
1936          */
1937         virtual Model::MoveReplicationTaskOutcomeCallable MoveReplicationTaskCallable(const Model::MoveReplicationTaskRequest& request) const;
1938 
1939         /**
1940          * <p>Moves a replication task from its current replication instance to a different
1941          * target replication instance using the specified parameters. The target
1942          * replication instance must be created with the same or later DMS version as the
1943          * current replication instance.</p><p><h3>See Also:</h3>   <a
1944          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MoveReplicationTask">AWS
1945          * API Reference</a></p>
1946          *
1947          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1948          */
1949         virtual void MoveReplicationTaskAsync(const Model::MoveReplicationTaskRequest& request, const MoveReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1950 
1951         /**
1952          * <p>Reboots a replication instance. Rebooting results in a momentary outage,
1953          * until the replication instance becomes available again.</p><p><h3>See Also:</h3>
1954          * <a
1955          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RebootReplicationInstance">AWS
1956          * API Reference</a></p>
1957          */
1958         virtual Model::RebootReplicationInstanceOutcome RebootReplicationInstance(const Model::RebootReplicationInstanceRequest& request) const;
1959 
1960         /**
1961          * <p>Reboots a replication instance. Rebooting results in a momentary outage,
1962          * until the replication instance becomes available again.</p><p><h3>See Also:</h3>
1963          * <a
1964          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RebootReplicationInstance">AWS
1965          * API Reference</a></p>
1966          *
1967          * returns a future to the operation so that it can be executed in parallel to other requests.
1968          */
1969         virtual Model::RebootReplicationInstanceOutcomeCallable RebootReplicationInstanceCallable(const Model::RebootReplicationInstanceRequest& request) const;
1970 
1971         /**
1972          * <p>Reboots a replication instance. Rebooting results in a momentary outage,
1973          * until the replication instance becomes available again.</p><p><h3>See Also:</h3>
1974          * <a
1975          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RebootReplicationInstance">AWS
1976          * API Reference</a></p>
1977          *
1978          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1979          */
1980         virtual void RebootReplicationInstanceAsync(const Model::RebootReplicationInstanceRequest& request, const RebootReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1981 
1982         /**
1983          * <p>Populates the schema for the specified endpoint. This is an asynchronous
1984          * operation and can take several minutes. You can check the status of this
1985          * operation by calling the DescribeRefreshSchemasStatus operation.</p><p><h3>See
1986          * Also:</h3>   <a
1987          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RefreshSchemas">AWS
1988          * API Reference</a></p>
1989          */
1990         virtual Model::RefreshSchemasOutcome RefreshSchemas(const Model::RefreshSchemasRequest& request) const;
1991 
1992         /**
1993          * <p>Populates the schema for the specified endpoint. This is an asynchronous
1994          * operation and can take several minutes. You can check the status of this
1995          * operation by calling the DescribeRefreshSchemasStatus operation.</p><p><h3>See
1996          * Also:</h3>   <a
1997          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RefreshSchemas">AWS
1998          * API Reference</a></p>
1999          *
2000          * returns a future to the operation so that it can be executed in parallel to other requests.
2001          */
2002         virtual Model::RefreshSchemasOutcomeCallable RefreshSchemasCallable(const Model::RefreshSchemasRequest& request) const;
2003 
2004         /**
2005          * <p>Populates the schema for the specified endpoint. This is an asynchronous
2006          * operation and can take several minutes. You can check the status of this
2007          * operation by calling the DescribeRefreshSchemasStatus operation.</p><p><h3>See
2008          * Also:</h3>   <a
2009          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RefreshSchemas">AWS
2010          * API Reference</a></p>
2011          *
2012          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2013          */
2014         virtual void RefreshSchemasAsync(const Model::RefreshSchemasRequest& request, const RefreshSchemasResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2015 
2016         /**
2017          * <p>Reloads the target database table with the source data. </p> <p>You can only
2018          * use this operation with a task in the <code>RUNNING</code> state, otherwise the
2019          * service will throw an <code>InvalidResourceStateFault</code>
2020          * exception.</p><p><h3>See Also:</h3>   <a
2021          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ReloadTables">AWS
2022          * API Reference</a></p>
2023          */
2024         virtual Model::ReloadTablesOutcome ReloadTables(const Model::ReloadTablesRequest& request) const;
2025 
2026         /**
2027          * <p>Reloads the target database table with the source data. </p> <p>You can only
2028          * use this operation with a task in the <code>RUNNING</code> state, otherwise the
2029          * service will throw an <code>InvalidResourceStateFault</code>
2030          * exception.</p><p><h3>See Also:</h3>   <a
2031          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ReloadTables">AWS
2032          * API Reference</a></p>
2033          *
2034          * returns a future to the operation so that it can be executed in parallel to other requests.
2035          */
2036         virtual Model::ReloadTablesOutcomeCallable ReloadTablesCallable(const Model::ReloadTablesRequest& request) const;
2037 
2038         /**
2039          * <p>Reloads the target database table with the source data. </p> <p>You can only
2040          * use this operation with a task in the <code>RUNNING</code> state, otherwise the
2041          * service will throw an <code>InvalidResourceStateFault</code>
2042          * exception.</p><p><h3>See Also:</h3>   <a
2043          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/ReloadTables">AWS
2044          * API Reference</a></p>
2045          *
2046          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2047          */
2048         virtual void ReloadTablesAsync(const Model::ReloadTablesRequest& request, const ReloadTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2049 
2050         /**
2051          * <p>Removes metadata tags from an DMS resource, including replication instance,
2052          * endpoint, security group, and migration task. For more information, see <a
2053          * href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
2054          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
2055          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RemoveTagsFromResource">AWS
2056          * API Reference</a></p>
2057          */
2058         virtual Model::RemoveTagsFromResourceOutcome RemoveTagsFromResource(const Model::RemoveTagsFromResourceRequest& request) const;
2059 
2060         /**
2061          * <p>Removes metadata tags from an DMS resource, including replication instance,
2062          * endpoint, security group, and migration task. For more information, see <a
2063          * href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
2064          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
2065          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RemoveTagsFromResource">AWS
2066          * API Reference</a></p>
2067          *
2068          * returns a future to the operation so that it can be executed in parallel to other requests.
2069          */
2070         virtual Model::RemoveTagsFromResourceOutcomeCallable RemoveTagsFromResourceCallable(const Model::RemoveTagsFromResourceRequest& request) const;
2071 
2072         /**
2073          * <p>Removes metadata tags from an DMS resource, including replication instance,
2074          * endpoint, security group, and migration task. For more information, see <a
2075          * href="https://docs.aws.amazon.com/dms/latest/APIReference/API_Tag.html">
2076          * <code>Tag</code> </a> data type description.</p><p><h3>See Also:</h3>   <a
2077          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RemoveTagsFromResource">AWS
2078          * API Reference</a></p>
2079          *
2080          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2081          */
2082         virtual void RemoveTagsFromResourceAsync(const Model::RemoveTagsFromResourceRequest& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2083 
2084         /**
2085          * <p>Starts the replication task.</p> <p>For more information about DMS tasks, see
2086          * <a
2087          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working
2088          * with Migration Tasks </a> in the <i>Database Migration Service User Guide.</i>
2089          * </p><p><h3>See Also:</h3>   <a
2090          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTask">AWS
2091          * API Reference</a></p>
2092          */
2093         virtual Model::StartReplicationTaskOutcome StartReplicationTask(const Model::StartReplicationTaskRequest& request) const;
2094 
2095         /**
2096          * <p>Starts the replication task.</p> <p>For more information about DMS tasks, see
2097          * <a
2098          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working
2099          * with Migration Tasks </a> in the <i>Database Migration Service User Guide.</i>
2100          * </p><p><h3>See Also:</h3>   <a
2101          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTask">AWS
2102          * API Reference</a></p>
2103          *
2104          * returns a future to the operation so that it can be executed in parallel to other requests.
2105          */
2106         virtual Model::StartReplicationTaskOutcomeCallable StartReplicationTaskCallable(const Model::StartReplicationTaskRequest& request) const;
2107 
2108         /**
2109          * <p>Starts the replication task.</p> <p>For more information about DMS tasks, see
2110          * <a
2111          * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html">Working
2112          * with Migration Tasks </a> in the <i>Database Migration Service User Guide.</i>
2113          * </p><p><h3>See Also:</h3>   <a
2114          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTask">AWS
2115          * API Reference</a></p>
2116          *
2117          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2118          */
2119         virtual void StartReplicationTaskAsync(const Model::StartReplicationTaskRequest& request, const StartReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2120 
2121         /**
2122          * <p> Starts the replication task assessment for unsupported data types in the
2123          * source database. </p><p><h3>See Also:</h3>   <a
2124          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessment">AWS
2125          * API Reference</a></p>
2126          */
2127         virtual Model::StartReplicationTaskAssessmentOutcome StartReplicationTaskAssessment(const Model::StartReplicationTaskAssessmentRequest& request) const;
2128 
2129         /**
2130          * <p> Starts the replication task assessment for unsupported data types in the
2131          * source database. </p><p><h3>See Also:</h3>   <a
2132          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessment">AWS
2133          * API Reference</a></p>
2134          *
2135          * returns a future to the operation so that it can be executed in parallel to other requests.
2136          */
2137         virtual Model::StartReplicationTaskAssessmentOutcomeCallable StartReplicationTaskAssessmentCallable(const Model::StartReplicationTaskAssessmentRequest& request) const;
2138 
2139         /**
2140          * <p> Starts the replication task assessment for unsupported data types in the
2141          * source database. </p><p><h3>See Also:</h3>   <a
2142          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessment">AWS
2143          * API Reference</a></p>
2144          *
2145          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2146          */
2147         virtual void StartReplicationTaskAssessmentAsync(const Model::StartReplicationTaskAssessmentRequest& request, const StartReplicationTaskAssessmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2148 
2149         /**
2150          * <p>Starts a new premigration assessment run for one or more individual
2151          * assessments of a migration task.</p> <p>The assessments that you can specify
2152          * depend on the source and target database engine and the migration type defined
2153          * for the given task. To run this operation, your migration task must already be
2154          * created. After you run this operation, you can review the status of each
2155          * individual assessment. You can also run the migration task manually after the
2156          * assessment run and its individual assessments complete.</p><p><h3>See Also:</h3>
2157          * <a
2158          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun">AWS
2159          * API Reference</a></p>
2160          */
2161         virtual Model::StartReplicationTaskAssessmentRunOutcome StartReplicationTaskAssessmentRun(const Model::StartReplicationTaskAssessmentRunRequest& request) const;
2162 
2163         /**
2164          * <p>Starts a new premigration assessment run for one or more individual
2165          * assessments of a migration task.</p> <p>The assessments that you can specify
2166          * depend on the source and target database engine and the migration type defined
2167          * for the given task. To run this operation, your migration task must already be
2168          * created. After you run this operation, you can review the status of each
2169          * individual assessment. You can also run the migration task manually after the
2170          * assessment run and its individual assessments complete.</p><p><h3>See Also:</h3>
2171          * <a
2172          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun">AWS
2173          * API Reference</a></p>
2174          *
2175          * returns a future to the operation so that it can be executed in parallel to other requests.
2176          */
2177         virtual Model::StartReplicationTaskAssessmentRunOutcomeCallable StartReplicationTaskAssessmentRunCallable(const Model::StartReplicationTaskAssessmentRunRequest& request) const;
2178 
2179         /**
2180          * <p>Starts a new premigration assessment run for one or more individual
2181          * assessments of a migration task.</p> <p>The assessments that you can specify
2182          * depend on the source and target database engine and the migration type defined
2183          * for the given task. To run this operation, your migration task must already be
2184          * created. After you run this operation, you can review the status of each
2185          * individual assessment. You can also run the migration task manually after the
2186          * assessment run and its individual assessments complete.</p><p><h3>See Also:</h3>
2187          * <a
2188          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun">AWS
2189          * API Reference</a></p>
2190          *
2191          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2192          */
2193         virtual void StartReplicationTaskAssessmentRunAsync(const Model::StartReplicationTaskAssessmentRunRequest& request, const StartReplicationTaskAssessmentRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2194 
2195         /**
2196          * <p>Stops the replication task.</p><p><h3>See Also:</h3>   <a
2197          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask">AWS
2198          * API Reference</a></p>
2199          */
2200         virtual Model::StopReplicationTaskOutcome StopReplicationTask(const Model::StopReplicationTaskRequest& request) const;
2201 
2202         /**
2203          * <p>Stops the replication task.</p><p><h3>See Also:</h3>   <a
2204          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask">AWS
2205          * API Reference</a></p>
2206          *
2207          * returns a future to the operation so that it can be executed in parallel to other requests.
2208          */
2209         virtual Model::StopReplicationTaskOutcomeCallable StopReplicationTaskCallable(const Model::StopReplicationTaskRequest& request) const;
2210 
2211         /**
2212          * <p>Stops the replication task.</p><p><h3>See Also:</h3>   <a
2213          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask">AWS
2214          * API Reference</a></p>
2215          *
2216          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2217          */
2218         virtual void StopReplicationTaskAsync(const Model::StopReplicationTaskRequest& request, const StopReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2219 
2220         /**
2221          * <p>Tests the connection between the replication instance and the
2222          * endpoint.</p><p><h3>See Also:</h3>   <a
2223          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/TestConnection">AWS
2224          * API Reference</a></p>
2225          */
2226         virtual Model::TestConnectionOutcome TestConnection(const Model::TestConnectionRequest& request) const;
2227 
2228         /**
2229          * <p>Tests the connection between the replication instance and the
2230          * endpoint.</p><p><h3>See Also:</h3>   <a
2231          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/TestConnection">AWS
2232          * API Reference</a></p>
2233          *
2234          * returns a future to the operation so that it can be executed in parallel to other requests.
2235          */
2236         virtual Model::TestConnectionOutcomeCallable TestConnectionCallable(const Model::TestConnectionRequest& request) const;
2237 
2238         /**
2239          * <p>Tests the connection between the replication instance and the
2240          * endpoint.</p><p><h3>See Also:</h3>   <a
2241          * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/TestConnection">AWS
2242          * API Reference</a></p>
2243          *
2244          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2245          */
2246         virtual void TestConnectionAsync(const Model::TestConnectionRequest& request, const TestConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2247 
2248 
2249       void OverrideEndpoint(const Aws::String& endpoint);
2250     private:
2251       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
2252         void AddTagsToResourceAsyncHelper(const Model::AddTagsToResourceRequest& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2253         void ApplyPendingMaintenanceActionAsyncHelper(const Model::ApplyPendingMaintenanceActionRequest& request, const ApplyPendingMaintenanceActionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2254         void CancelReplicationTaskAssessmentRunAsyncHelper(const Model::CancelReplicationTaskAssessmentRunRequest& request, const CancelReplicationTaskAssessmentRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2255         void CreateEndpointAsyncHelper(const Model::CreateEndpointRequest& request, const CreateEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2256         void CreateEventSubscriptionAsyncHelper(const Model::CreateEventSubscriptionRequest& request, const CreateEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2257         void CreateReplicationInstanceAsyncHelper(const Model::CreateReplicationInstanceRequest& request, const CreateReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2258         void CreateReplicationSubnetGroupAsyncHelper(const Model::CreateReplicationSubnetGroupRequest& request, const CreateReplicationSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2259         void CreateReplicationTaskAsyncHelper(const Model::CreateReplicationTaskRequest& request, const CreateReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2260         void DeleteCertificateAsyncHelper(const Model::DeleteCertificateRequest& request, const DeleteCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2261         void DeleteConnectionAsyncHelper(const Model::DeleteConnectionRequest& request, const DeleteConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2262         void DeleteEndpointAsyncHelper(const Model::DeleteEndpointRequest& request, const DeleteEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2263         void DeleteEventSubscriptionAsyncHelper(const Model::DeleteEventSubscriptionRequest& request, const DeleteEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2264         void DeleteReplicationInstanceAsyncHelper(const Model::DeleteReplicationInstanceRequest& request, const DeleteReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2265         void DeleteReplicationSubnetGroupAsyncHelper(const Model::DeleteReplicationSubnetGroupRequest& request, const DeleteReplicationSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2266         void DeleteReplicationTaskAsyncHelper(const Model::DeleteReplicationTaskRequest& request, const DeleteReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2267         void DeleteReplicationTaskAssessmentRunAsyncHelper(const Model::DeleteReplicationTaskAssessmentRunRequest& request, const DeleteReplicationTaskAssessmentRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2268         void DescribeAccountAttributesAsyncHelper(const Model::DescribeAccountAttributesRequest& request, const DescribeAccountAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2269         void DescribeApplicableIndividualAssessmentsAsyncHelper(const Model::DescribeApplicableIndividualAssessmentsRequest& request, const DescribeApplicableIndividualAssessmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2270         void DescribeCertificatesAsyncHelper(const Model::DescribeCertificatesRequest& request, const DescribeCertificatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2271         void DescribeConnectionsAsyncHelper(const Model::DescribeConnectionsRequest& request, const DescribeConnectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2272         void DescribeEndpointSettingsAsyncHelper(const Model::DescribeEndpointSettingsRequest& request, const DescribeEndpointSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2273         void DescribeEndpointTypesAsyncHelper(const Model::DescribeEndpointTypesRequest& request, const DescribeEndpointTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2274         void DescribeEndpointsAsyncHelper(const Model::DescribeEndpointsRequest& request, const DescribeEndpointsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2275         void DescribeEventCategoriesAsyncHelper(const Model::DescribeEventCategoriesRequest& request, const DescribeEventCategoriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2276         void DescribeEventSubscriptionsAsyncHelper(const Model::DescribeEventSubscriptionsRequest& request, const DescribeEventSubscriptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2277         void DescribeEventsAsyncHelper(const Model::DescribeEventsRequest& request, const DescribeEventsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2278         void DescribeOrderableReplicationInstancesAsyncHelper(const Model::DescribeOrderableReplicationInstancesRequest& request, const DescribeOrderableReplicationInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2279         void DescribePendingMaintenanceActionsAsyncHelper(const Model::DescribePendingMaintenanceActionsRequest& request, const DescribePendingMaintenanceActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2280         void DescribeRefreshSchemasStatusAsyncHelper(const Model::DescribeRefreshSchemasStatusRequest& request, const DescribeRefreshSchemasStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2281         void DescribeReplicationInstanceTaskLogsAsyncHelper(const Model::DescribeReplicationInstanceTaskLogsRequest& request, const DescribeReplicationInstanceTaskLogsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2282         void DescribeReplicationInstancesAsyncHelper(const Model::DescribeReplicationInstancesRequest& request, const DescribeReplicationInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2283         void DescribeReplicationSubnetGroupsAsyncHelper(const Model::DescribeReplicationSubnetGroupsRequest& request, const DescribeReplicationSubnetGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2284         void DescribeReplicationTaskAssessmentResultsAsyncHelper(const Model::DescribeReplicationTaskAssessmentResultsRequest& request, const DescribeReplicationTaskAssessmentResultsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2285         void DescribeReplicationTaskAssessmentRunsAsyncHelper(const Model::DescribeReplicationTaskAssessmentRunsRequest& request, const DescribeReplicationTaskAssessmentRunsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2286         void DescribeReplicationTaskIndividualAssessmentsAsyncHelper(const Model::DescribeReplicationTaskIndividualAssessmentsRequest& request, const DescribeReplicationTaskIndividualAssessmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2287         void DescribeReplicationTasksAsyncHelper(const Model::DescribeReplicationTasksRequest& request, const DescribeReplicationTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2288         void DescribeSchemasAsyncHelper(const Model::DescribeSchemasRequest& request, const DescribeSchemasResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2289         void DescribeTableStatisticsAsyncHelper(const Model::DescribeTableStatisticsRequest& request, const DescribeTableStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2290         void ImportCertificateAsyncHelper(const Model::ImportCertificateRequest& request, const ImportCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2291         void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2292         void ModifyEndpointAsyncHelper(const Model::ModifyEndpointRequest& request, const ModifyEndpointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2293         void ModifyEventSubscriptionAsyncHelper(const Model::ModifyEventSubscriptionRequest& request, const ModifyEventSubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2294         void ModifyReplicationInstanceAsyncHelper(const Model::ModifyReplicationInstanceRequest& request, const ModifyReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2295         void ModifyReplicationSubnetGroupAsyncHelper(const Model::ModifyReplicationSubnetGroupRequest& request, const ModifyReplicationSubnetGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2296         void ModifyReplicationTaskAsyncHelper(const Model::ModifyReplicationTaskRequest& request, const ModifyReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2297         void MoveReplicationTaskAsyncHelper(const Model::MoveReplicationTaskRequest& request, const MoveReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2298         void RebootReplicationInstanceAsyncHelper(const Model::RebootReplicationInstanceRequest& request, const RebootReplicationInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2299         void RefreshSchemasAsyncHelper(const Model::RefreshSchemasRequest& request, const RefreshSchemasResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2300         void ReloadTablesAsyncHelper(const Model::ReloadTablesRequest& request, const ReloadTablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2301         void RemoveTagsFromResourceAsyncHelper(const Model::RemoveTagsFromResourceRequest& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2302         void StartReplicationTaskAsyncHelper(const Model::StartReplicationTaskRequest& request, const StartReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2303         void StartReplicationTaskAssessmentAsyncHelper(const Model::StartReplicationTaskAssessmentRequest& request, const StartReplicationTaskAssessmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2304         void StartReplicationTaskAssessmentRunAsyncHelper(const Model::StartReplicationTaskAssessmentRunRequest& request, const StartReplicationTaskAssessmentRunResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2305         void StopReplicationTaskAsyncHelper(const Model::StopReplicationTaskRequest& request, const StopReplicationTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2306         void TestConnectionAsyncHelper(const Model::TestConnectionRequest& request, const TestConnectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2307 
2308       Aws::String m_uri;
2309       Aws::String m_configScheme;
2310       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
2311   };
2312 
2313 } // namespace DatabaseMigrationService
2314 } // namespace Aws
2315