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/discovery/ApplicationDiscoveryService_EXPORTS.h>
8 #include <aws/discovery/ApplicationDiscoveryServiceErrors.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/discovery/model/AssociateConfigurationItemsToApplicationResult.h>
15 #include <aws/discovery/model/BatchDeleteImportDataResult.h>
16 #include <aws/discovery/model/CreateApplicationResult.h>
17 #include <aws/discovery/model/CreateTagsResult.h>
18 #include <aws/discovery/model/DeleteApplicationsResult.h>
19 #include <aws/discovery/model/DeleteTagsResult.h>
20 #include <aws/discovery/model/DescribeAgentsResult.h>
21 #include <aws/discovery/model/DescribeConfigurationsResult.h>
22 #include <aws/discovery/model/DescribeContinuousExportsResult.h>
23 #include <aws/discovery/model/DescribeExportTasksResult.h>
24 #include <aws/discovery/model/DescribeImportTasksResult.h>
25 #include <aws/discovery/model/DescribeTagsResult.h>
26 #include <aws/discovery/model/DisassociateConfigurationItemsFromApplicationResult.h>
27 #include <aws/discovery/model/GetDiscoverySummaryResult.h>
28 #include <aws/discovery/model/ListConfigurationsResult.h>
29 #include <aws/discovery/model/ListServerNeighborsResult.h>
30 #include <aws/discovery/model/StartContinuousExportResult.h>
31 #include <aws/discovery/model/StartDataCollectionByAgentIdsResult.h>
32 #include <aws/discovery/model/StartExportTaskResult.h>
33 #include <aws/discovery/model/StartImportTaskResult.h>
34 #include <aws/discovery/model/StopContinuousExportResult.h>
35 #include <aws/discovery/model/StopDataCollectionByAgentIdsResult.h>
36 #include <aws/discovery/model/UpdateApplicationResult.h>
37 #include <aws/core/client/AsyncCallerContext.h>
38 #include <aws/core/http/HttpTypes.h>
39 #include <future>
40 #include <functional>
41 
42 namespace Aws
43 {
44 
45 namespace Http
46 {
47   class HttpClient;
48   class HttpClientFactory;
49 } // namespace Http
50 
51 namespace Utils
52 {
53   template< typename R, typename E> class Outcome;
54 namespace Threading
55 {
56   class Executor;
57 } // namespace Threading
58 } // namespace Utils
59 
60 namespace Auth
61 {
62   class AWSCredentials;
63   class AWSCredentialsProvider;
64 } // namespace Auth
65 
66 namespace Client
67 {
68   class RetryStrategy;
69 } // namespace Client
70 
71 namespace ApplicationDiscoveryService
72 {
73 
74 namespace Model
75 {
76         class AssociateConfigurationItemsToApplicationRequest;
77         class BatchDeleteImportDataRequest;
78         class CreateApplicationRequest;
79         class CreateTagsRequest;
80         class DeleteApplicationsRequest;
81         class DeleteTagsRequest;
82         class DescribeAgentsRequest;
83         class DescribeConfigurationsRequest;
84         class DescribeContinuousExportsRequest;
85         class DescribeExportTasksRequest;
86         class DescribeImportTasksRequest;
87         class DescribeTagsRequest;
88         class DisassociateConfigurationItemsFromApplicationRequest;
89         class GetDiscoverySummaryRequest;
90         class ListConfigurationsRequest;
91         class ListServerNeighborsRequest;
92         class StartContinuousExportRequest;
93         class StartDataCollectionByAgentIdsRequest;
94         class StartExportTaskRequest;
95         class StartImportTaskRequest;
96         class StopContinuousExportRequest;
97         class StopDataCollectionByAgentIdsRequest;
98         class UpdateApplicationRequest;
99 
100         typedef Aws::Utils::Outcome<AssociateConfigurationItemsToApplicationResult, ApplicationDiscoveryServiceError> AssociateConfigurationItemsToApplicationOutcome;
101         typedef Aws::Utils::Outcome<BatchDeleteImportDataResult, ApplicationDiscoveryServiceError> BatchDeleteImportDataOutcome;
102         typedef Aws::Utils::Outcome<CreateApplicationResult, ApplicationDiscoveryServiceError> CreateApplicationOutcome;
103         typedef Aws::Utils::Outcome<CreateTagsResult, ApplicationDiscoveryServiceError> CreateTagsOutcome;
104         typedef Aws::Utils::Outcome<DeleteApplicationsResult, ApplicationDiscoveryServiceError> DeleteApplicationsOutcome;
105         typedef Aws::Utils::Outcome<DeleteTagsResult, ApplicationDiscoveryServiceError> DeleteTagsOutcome;
106         typedef Aws::Utils::Outcome<DescribeAgentsResult, ApplicationDiscoveryServiceError> DescribeAgentsOutcome;
107         typedef Aws::Utils::Outcome<DescribeConfigurationsResult, ApplicationDiscoveryServiceError> DescribeConfigurationsOutcome;
108         typedef Aws::Utils::Outcome<DescribeContinuousExportsResult, ApplicationDiscoveryServiceError> DescribeContinuousExportsOutcome;
109         typedef Aws::Utils::Outcome<DescribeExportTasksResult, ApplicationDiscoveryServiceError> DescribeExportTasksOutcome;
110         typedef Aws::Utils::Outcome<DescribeImportTasksResult, ApplicationDiscoveryServiceError> DescribeImportTasksOutcome;
111         typedef Aws::Utils::Outcome<DescribeTagsResult, ApplicationDiscoveryServiceError> DescribeTagsOutcome;
112         typedef Aws::Utils::Outcome<DisassociateConfigurationItemsFromApplicationResult, ApplicationDiscoveryServiceError> DisassociateConfigurationItemsFromApplicationOutcome;
113         typedef Aws::Utils::Outcome<GetDiscoverySummaryResult, ApplicationDiscoveryServiceError> GetDiscoverySummaryOutcome;
114         typedef Aws::Utils::Outcome<ListConfigurationsResult, ApplicationDiscoveryServiceError> ListConfigurationsOutcome;
115         typedef Aws::Utils::Outcome<ListServerNeighborsResult, ApplicationDiscoveryServiceError> ListServerNeighborsOutcome;
116         typedef Aws::Utils::Outcome<StartContinuousExportResult, ApplicationDiscoveryServiceError> StartContinuousExportOutcome;
117         typedef Aws::Utils::Outcome<StartDataCollectionByAgentIdsResult, ApplicationDiscoveryServiceError> StartDataCollectionByAgentIdsOutcome;
118         typedef Aws::Utils::Outcome<StartExportTaskResult, ApplicationDiscoveryServiceError> StartExportTaskOutcome;
119         typedef Aws::Utils::Outcome<StartImportTaskResult, ApplicationDiscoveryServiceError> StartImportTaskOutcome;
120         typedef Aws::Utils::Outcome<StopContinuousExportResult, ApplicationDiscoveryServiceError> StopContinuousExportOutcome;
121         typedef Aws::Utils::Outcome<StopDataCollectionByAgentIdsResult, ApplicationDiscoveryServiceError> StopDataCollectionByAgentIdsOutcome;
122         typedef Aws::Utils::Outcome<UpdateApplicationResult, ApplicationDiscoveryServiceError> UpdateApplicationOutcome;
123 
124         typedef std::future<AssociateConfigurationItemsToApplicationOutcome> AssociateConfigurationItemsToApplicationOutcomeCallable;
125         typedef std::future<BatchDeleteImportDataOutcome> BatchDeleteImportDataOutcomeCallable;
126         typedef std::future<CreateApplicationOutcome> CreateApplicationOutcomeCallable;
127         typedef std::future<CreateTagsOutcome> CreateTagsOutcomeCallable;
128         typedef std::future<DeleteApplicationsOutcome> DeleteApplicationsOutcomeCallable;
129         typedef std::future<DeleteTagsOutcome> DeleteTagsOutcomeCallable;
130         typedef std::future<DescribeAgentsOutcome> DescribeAgentsOutcomeCallable;
131         typedef std::future<DescribeConfigurationsOutcome> DescribeConfigurationsOutcomeCallable;
132         typedef std::future<DescribeContinuousExportsOutcome> DescribeContinuousExportsOutcomeCallable;
133         typedef std::future<DescribeExportTasksOutcome> DescribeExportTasksOutcomeCallable;
134         typedef std::future<DescribeImportTasksOutcome> DescribeImportTasksOutcomeCallable;
135         typedef std::future<DescribeTagsOutcome> DescribeTagsOutcomeCallable;
136         typedef std::future<DisassociateConfigurationItemsFromApplicationOutcome> DisassociateConfigurationItemsFromApplicationOutcomeCallable;
137         typedef std::future<GetDiscoverySummaryOutcome> GetDiscoverySummaryOutcomeCallable;
138         typedef std::future<ListConfigurationsOutcome> ListConfigurationsOutcomeCallable;
139         typedef std::future<ListServerNeighborsOutcome> ListServerNeighborsOutcomeCallable;
140         typedef std::future<StartContinuousExportOutcome> StartContinuousExportOutcomeCallable;
141         typedef std::future<StartDataCollectionByAgentIdsOutcome> StartDataCollectionByAgentIdsOutcomeCallable;
142         typedef std::future<StartExportTaskOutcome> StartExportTaskOutcomeCallable;
143         typedef std::future<StartImportTaskOutcome> StartImportTaskOutcomeCallable;
144         typedef std::future<StopContinuousExportOutcome> StopContinuousExportOutcomeCallable;
145         typedef std::future<StopDataCollectionByAgentIdsOutcome> StopDataCollectionByAgentIdsOutcomeCallable;
146         typedef std::future<UpdateApplicationOutcome> UpdateApplicationOutcomeCallable;
147 } // namespace Model
148 
149   class ApplicationDiscoveryServiceClient;
150 
151     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::AssociateConfigurationItemsToApplicationRequest&, const Model::AssociateConfigurationItemsToApplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > AssociateConfigurationItemsToApplicationResponseReceivedHandler;
152     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::BatchDeleteImportDataRequest&, const Model::BatchDeleteImportDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchDeleteImportDataResponseReceivedHandler;
153     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::CreateApplicationRequest&, const Model::CreateApplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateApplicationResponseReceivedHandler;
154     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::CreateTagsRequest&, const Model::CreateTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateTagsResponseReceivedHandler;
155     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DeleteApplicationsRequest&, const Model::DeleteApplicationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteApplicationsResponseReceivedHandler;
156     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DeleteTagsRequest&, const Model::DeleteTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteTagsResponseReceivedHandler;
157     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DescribeAgentsRequest&, const Model::DescribeAgentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAgentsResponseReceivedHandler;
158     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DescribeConfigurationsRequest&, const Model::DescribeConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeConfigurationsResponseReceivedHandler;
159     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DescribeContinuousExportsRequest&, const Model::DescribeContinuousExportsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeContinuousExportsResponseReceivedHandler;
160     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DescribeExportTasksRequest&, const Model::DescribeExportTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeExportTasksResponseReceivedHandler;
161     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DescribeImportTasksRequest&, const Model::DescribeImportTasksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeImportTasksResponseReceivedHandler;
162     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DescribeTagsRequest&, const Model::DescribeTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeTagsResponseReceivedHandler;
163     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::DisassociateConfigurationItemsFromApplicationRequest&, const Model::DisassociateConfigurationItemsFromApplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisassociateConfigurationItemsFromApplicationResponseReceivedHandler;
164     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::GetDiscoverySummaryRequest&, const Model::GetDiscoverySummaryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDiscoverySummaryResponseReceivedHandler;
165     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::ListConfigurationsRequest&, const Model::ListConfigurationsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListConfigurationsResponseReceivedHandler;
166     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::ListServerNeighborsRequest&, const Model::ListServerNeighborsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListServerNeighborsResponseReceivedHandler;
167     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::StartContinuousExportRequest&, const Model::StartContinuousExportOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartContinuousExportResponseReceivedHandler;
168     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::StartDataCollectionByAgentIdsRequest&, const Model::StartDataCollectionByAgentIdsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartDataCollectionByAgentIdsResponseReceivedHandler;
169     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::StartExportTaskRequest&, const Model::StartExportTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartExportTaskResponseReceivedHandler;
170     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::StartImportTaskRequest&, const Model::StartImportTaskOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartImportTaskResponseReceivedHandler;
171     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::StopContinuousExportRequest&, const Model::StopContinuousExportOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopContinuousExportResponseReceivedHandler;
172     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::StopDataCollectionByAgentIdsRequest&, const Model::StopDataCollectionByAgentIdsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopDataCollectionByAgentIdsResponseReceivedHandler;
173     typedef std::function<void(const ApplicationDiscoveryServiceClient*, const Model::UpdateApplicationRequest&, const Model::UpdateApplicationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateApplicationResponseReceivedHandler;
174 
175   /**
176    * <fullname>AWS Application Discovery Service</fullname> <p>AWS Application
177    * Discovery Service helps you plan application migration projects. It
178    * automatically identifies servers, virtual machines (VMs), and network
179    * dependencies in your on-premises data centers. For more information, see the <a
180    * href="http://aws.amazon.com/application-discovery/faqs/">AWS Application
181    * Discovery Service FAQ</a>. Application Discovery Service offers three ways of
182    * performing discovery and collecting data about your on-premises servers:</p>
183    * <ul> <li> <p> <b>Agentless discovery</b> is recommended for environments that
184    * use VMware vCenter Server. This mode doesn't require you to install an agent on
185    * each host. It does not work in non-VMware environments.</p> <ul> <li>
186    * <p>Agentless discovery gathers server information regardless of the operating
187    * systems, which minimizes the time required for initial on-premises
188    * infrastructure assessment.</p> </li> <li> <p>Agentless discovery doesn't collect
189    * information about network dependencies, only agent-based discovery collects that
190    * information.</p> </li> </ul> </li> </ul> <ul> <li> <p> <b>Agent-based
191    * discovery</b> collects a richer set of data than agentless discovery by using
192    * the AWS Application Discovery Agent, which you install on one or more hosts in
193    * your data center.</p> <ul> <li> <p> The agent captures infrastructure and
194    * application information, including an inventory of running processes, system
195    * performance information, resource utilization, and network dependencies.</p>
196    * </li> <li> <p>The information collected by agents is secured at rest and in
197    * transit to the Application Discovery Service database in the cloud. </p> </li>
198    * </ul> </li> </ul> <ul> <li> <p> <b>AWS Partner Network (APN) solutions</b>
199    * integrate with Application Discovery Service, enabling you to import details of
200    * your on-premises environment directly into Migration Hub without using the
201    * discovery connector or discovery agent.</p> <ul> <li> <p>Third-party application
202    * discovery tools can query AWS Application Discovery Service, and they can write
203    * to the Application Discovery Service database using the public API.</p> </li>
204    * <li> <p>In this way, you can import data into Migration Hub and view it, so that
205    * you can associate applications with servers and track migrations.</p> </li>
206    * </ul> </li> </ul> <p> <b>Recommendations</b> </p> <p>We recommend that you use
207    * agent-based discovery for non-VMware environments, and whenever you want to
208    * collect information about network dependencies. You can run agent-based and
209    * agentless discovery simultaneously. Use agentless discovery to complete the
210    * initial infrastructure assessment quickly, and then install agents on select
211    * hosts to collect additional information.</p> <p> <b>Working With This Guide</b>
212    * </p> <p>This API reference provides descriptions, syntax, and usage examples for
213    * each of the actions and data types for Application Discovery Service. The topic
214    * for each action shows the API request parameters and the response.
215    * Alternatively, you can use one of the AWS SDKs to access an API that is tailored
216    * to the programming language or platform that you're using. For more information,
217    * see <a href="http://aws.amazon.com/tools/#SDKs">AWS SDKs</a>.</p>  <ul>
218    * <li> <p>Remember that you must set your Migration Hub home region before you
219    * call any of these APIs.</p> </li> <li> <p>You must make API calls for write
220    * actions (create, notify, associate, disassociate, import, or put) while in your
221    * home region, or a <code>HomeRegionNotSetException</code> error is returned.</p>
222    * </li> <li> <p>API calls for read actions (list, describe, stop, and delete) are
223    * permitted outside of your home region.</p> </li> <li> <p>Although it is
224    * unlikely, the Migration Hub home region could change. If you call APIs outside
225    * the home region, an <code>InvalidInputException</code> is returned.</p> </li>
226    * <li> <p>You must call <code>GetHomeRegion</code> to obtain the latest Migration
227    * Hub home region.</p> </li> </ul>  <p>This guide is intended for use with
228    * the <a
229    * href="http://docs.aws.amazon.com/application-discovery/latest/userguide/">AWS
230    * Application Discovery Service User Guide</a>.</p>  <p>All data is
231    * handled according to the <a href="http://aws.amazon.com/privacy/">AWS Privacy
232    * Policy</a>. You can operate Application Discovery Service offline to inspect
233    * collected data before it is shared with the service.</p>
234    */
235   class AWS_APPLICATIONDISCOVERYSERVICE_API ApplicationDiscoveryServiceClient : public Aws::Client::AWSJsonClient
236   {
237     public:
238       typedef Aws::Client::AWSJsonClient BASECLASS;
239 
240        /**
241         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
242         * is not specified, it will be initialized to default values.
243         */
244         ApplicationDiscoveryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
245 
246        /**
247         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
248         * is not specified, it will be initialized to default values.
249         */
250         ApplicationDiscoveryServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
251 
252        /**
253         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
254         * the default http client factory will be used
255         */
256         ApplicationDiscoveryServiceClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
257             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
258 
259         virtual ~ApplicationDiscoveryServiceClient();
260 
261 
262         /**
263          * <p>Associates one or more configuration items with an application.</p><p><h3>See
264          * Also:</h3>   <a
265          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/AssociateConfigurationItemsToApplication">AWS
266          * API Reference</a></p>
267          */
268         virtual Model::AssociateConfigurationItemsToApplicationOutcome AssociateConfigurationItemsToApplication(const Model::AssociateConfigurationItemsToApplicationRequest& request) const;
269 
270         /**
271          * <p>Associates one or more configuration items with an application.</p><p><h3>See
272          * Also:</h3>   <a
273          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/AssociateConfigurationItemsToApplication">AWS
274          * API Reference</a></p>
275          *
276          * returns a future to the operation so that it can be executed in parallel to other requests.
277          */
278         virtual Model::AssociateConfigurationItemsToApplicationOutcomeCallable AssociateConfigurationItemsToApplicationCallable(const Model::AssociateConfigurationItemsToApplicationRequest& request) const;
279 
280         /**
281          * <p>Associates one or more configuration items with an application.</p><p><h3>See
282          * Also:</h3>   <a
283          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/AssociateConfigurationItemsToApplication">AWS
284          * API Reference</a></p>
285          *
286          * Queues the request into a thread executor and triggers associated callback when operation has finished.
287          */
288         virtual void AssociateConfigurationItemsToApplicationAsync(const Model::AssociateConfigurationItemsToApplicationRequest& request, const AssociateConfigurationItemsToApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
289 
290         /**
291          * <p>Deletes one or more import tasks, each identified by their import ID. Each
292          * import task has a number of records that can identify servers or applications.
293          * </p> <p>AWS Application Discovery Service has built-in matching logic that will
294          * identify when discovered servers match existing entries that you've previously
295          * discovered, the information for the already-existing discovered server is
296          * updated. When you delete an import task that contains records that were used to
297          * match, the information in those matched records that comes from the deleted
298          * records will also be deleted.</p><p><h3>See Also:</h3>   <a
299          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/BatchDeleteImportData">AWS
300          * API Reference</a></p>
301          */
302         virtual Model::BatchDeleteImportDataOutcome BatchDeleteImportData(const Model::BatchDeleteImportDataRequest& request) const;
303 
304         /**
305          * <p>Deletes one or more import tasks, each identified by their import ID. Each
306          * import task has a number of records that can identify servers or applications.
307          * </p> <p>AWS Application Discovery Service has built-in matching logic that will
308          * identify when discovered servers match existing entries that you've previously
309          * discovered, the information for the already-existing discovered server is
310          * updated. When you delete an import task that contains records that were used to
311          * match, the information in those matched records that comes from the deleted
312          * records will also be deleted.</p><p><h3>See Also:</h3>   <a
313          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/BatchDeleteImportData">AWS
314          * API Reference</a></p>
315          *
316          * returns a future to the operation so that it can be executed in parallel to other requests.
317          */
318         virtual Model::BatchDeleteImportDataOutcomeCallable BatchDeleteImportDataCallable(const Model::BatchDeleteImportDataRequest& request) const;
319 
320         /**
321          * <p>Deletes one or more import tasks, each identified by their import ID. Each
322          * import task has a number of records that can identify servers or applications.
323          * </p> <p>AWS Application Discovery Service has built-in matching logic that will
324          * identify when discovered servers match existing entries that you've previously
325          * discovered, the information for the already-existing discovered server is
326          * updated. When you delete an import task that contains records that were used to
327          * match, the information in those matched records that comes from the deleted
328          * records will also be deleted.</p><p><h3>See Also:</h3>   <a
329          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/BatchDeleteImportData">AWS
330          * API Reference</a></p>
331          *
332          * Queues the request into a thread executor and triggers associated callback when operation has finished.
333          */
334         virtual void BatchDeleteImportDataAsync(const Model::BatchDeleteImportDataRequest& request, const BatchDeleteImportDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
335 
336         /**
337          * <p>Creates an application with the given name and description.</p><p><h3>See
338          * Also:</h3>   <a
339          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateApplication">AWS
340          * API Reference</a></p>
341          */
342         virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const;
343 
344         /**
345          * <p>Creates an application with the given name and description.</p><p><h3>See
346          * Also:</h3>   <a
347          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateApplication">AWS
348          * API Reference</a></p>
349          *
350          * returns a future to the operation so that it can be executed in parallel to other requests.
351          */
352         virtual Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const Model::CreateApplicationRequest& request) const;
353 
354         /**
355          * <p>Creates an application with the given name and description.</p><p><h3>See
356          * Also:</h3>   <a
357          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateApplication">AWS
358          * API Reference</a></p>
359          *
360          * Queues the request into a thread executor and triggers associated callback when operation has finished.
361          */
362         virtual void CreateApplicationAsync(const Model::CreateApplicationRequest& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
363 
364         /**
365          * <p>Creates one or more tags for configuration items. Tags are metadata that help
366          * you categorize IT assets. This API accepts a list of multiple configuration
367          * items.</p><p><h3>See Also:</h3>   <a
368          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateTags">AWS
369          * API Reference</a></p>
370          */
371         virtual Model::CreateTagsOutcome CreateTags(const Model::CreateTagsRequest& request) const;
372 
373         /**
374          * <p>Creates one or more tags for configuration items. Tags are metadata that help
375          * you categorize IT assets. This API accepts a list of multiple configuration
376          * items.</p><p><h3>See Also:</h3>   <a
377          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateTags">AWS
378          * API Reference</a></p>
379          *
380          * returns a future to the operation so that it can be executed in parallel to other requests.
381          */
382         virtual Model::CreateTagsOutcomeCallable CreateTagsCallable(const Model::CreateTagsRequest& request) const;
383 
384         /**
385          * <p>Creates one or more tags for configuration items. Tags are metadata that help
386          * you categorize IT assets. This API accepts a list of multiple configuration
387          * items.</p><p><h3>See Also:</h3>   <a
388          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateTags">AWS
389          * API Reference</a></p>
390          *
391          * Queues the request into a thread executor and triggers associated callback when operation has finished.
392          */
393         virtual void CreateTagsAsync(const Model::CreateTagsRequest& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
394 
395         /**
396          * <p>Deletes a list of applications and their associations with configuration
397          * items.</p><p><h3>See Also:</h3>   <a
398          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteApplications">AWS
399          * API Reference</a></p>
400          */
401         virtual Model::DeleteApplicationsOutcome DeleteApplications(const Model::DeleteApplicationsRequest& request) const;
402 
403         /**
404          * <p>Deletes a list of applications and their associations with configuration
405          * items.</p><p><h3>See Also:</h3>   <a
406          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteApplications">AWS
407          * API Reference</a></p>
408          *
409          * returns a future to the operation so that it can be executed in parallel to other requests.
410          */
411         virtual Model::DeleteApplicationsOutcomeCallable DeleteApplicationsCallable(const Model::DeleteApplicationsRequest& request) const;
412 
413         /**
414          * <p>Deletes a list of applications and their associations with configuration
415          * items.</p><p><h3>See Also:</h3>   <a
416          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteApplications">AWS
417          * API Reference</a></p>
418          *
419          * Queues the request into a thread executor and triggers associated callback when operation has finished.
420          */
421         virtual void DeleteApplicationsAsync(const Model::DeleteApplicationsRequest& request, const DeleteApplicationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
422 
423         /**
424          * <p>Deletes the association between configuration items and one or more tags.
425          * This API accepts a list of multiple configuration items.</p><p><h3>See
426          * Also:</h3>   <a
427          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteTags">AWS
428          * API Reference</a></p>
429          */
430         virtual Model::DeleteTagsOutcome DeleteTags(const Model::DeleteTagsRequest& request) const;
431 
432         /**
433          * <p>Deletes the association between configuration items and one or more tags.
434          * This API accepts a list of multiple configuration items.</p><p><h3>See
435          * Also:</h3>   <a
436          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteTags">AWS
437          * API Reference</a></p>
438          *
439          * returns a future to the operation so that it can be executed in parallel to other requests.
440          */
441         virtual Model::DeleteTagsOutcomeCallable DeleteTagsCallable(const Model::DeleteTagsRequest& request) const;
442 
443         /**
444          * <p>Deletes the association between configuration items and one or more tags.
445          * This API accepts a list of multiple configuration items.</p><p><h3>See
446          * Also:</h3>   <a
447          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteTags">AWS
448          * API Reference</a></p>
449          *
450          * Queues the request into a thread executor and triggers associated callback when operation has finished.
451          */
452         virtual void DeleteTagsAsync(const Model::DeleteTagsRequest& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
453 
454         /**
455          * <p>Lists agents or connectors as specified by ID or other filters. All
456          * agents/connectors associated with your user account can be listed if you call
457          * <code>DescribeAgents</code> as is without passing any parameters.</p><p><h3>See
458          * Also:</h3>   <a
459          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeAgents">AWS
460          * API Reference</a></p>
461          */
462         virtual Model::DescribeAgentsOutcome DescribeAgents(const Model::DescribeAgentsRequest& request) const;
463 
464         /**
465          * <p>Lists agents or connectors as specified by ID or other filters. All
466          * agents/connectors associated with your user account can be listed if you call
467          * <code>DescribeAgents</code> as is without passing any parameters.</p><p><h3>See
468          * Also:</h3>   <a
469          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeAgents">AWS
470          * API Reference</a></p>
471          *
472          * returns a future to the operation so that it can be executed in parallel to other requests.
473          */
474         virtual Model::DescribeAgentsOutcomeCallable DescribeAgentsCallable(const Model::DescribeAgentsRequest& request) const;
475 
476         /**
477          * <p>Lists agents or connectors as specified by ID or other filters. All
478          * agents/connectors associated with your user account can be listed if you call
479          * <code>DescribeAgents</code> as is without passing any parameters.</p><p><h3>See
480          * Also:</h3>   <a
481          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeAgents">AWS
482          * API Reference</a></p>
483          *
484          * Queues the request into a thread executor and triggers associated callback when operation has finished.
485          */
486         virtual void DescribeAgentsAsync(const Model::DescribeAgentsRequest& request, const DescribeAgentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
487 
488         /**
489          * <p>Retrieves attributes for a list of configuration item IDs.</p>  <p>All
490          * of the supplied IDs must be for the same asset type from one of the
491          * following:</p> <ul> <li> <p>server</p> </li> <li> <p>application</p> </li> <li>
492          * <p>process</p> </li> <li> <p>connection</p> </li> </ul> <p>Output fields are
493          * specific to the asset type specified. For example, the output for a
494          * <i>server</i> configuration item includes a list of attributes about the server,
495          * such as host name, operating system, number of network cards, etc.</p> <p>For a
496          * complete list of outputs for each asset type, see <a
497          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#DescribeConfigurations">Using
498          * the DescribeConfigurations Action</a> in the <i>AWS Application Discovery
499          * Service User Guide</i>.</p> <p><h3>See Also:</h3>   <a
500          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeConfigurations">AWS
501          * API Reference</a></p>
502          */
503         virtual Model::DescribeConfigurationsOutcome DescribeConfigurations(const Model::DescribeConfigurationsRequest& request) const;
504 
505         /**
506          * <p>Retrieves attributes for a list of configuration item IDs.</p>  <p>All
507          * of the supplied IDs must be for the same asset type from one of the
508          * following:</p> <ul> <li> <p>server</p> </li> <li> <p>application</p> </li> <li>
509          * <p>process</p> </li> <li> <p>connection</p> </li> </ul> <p>Output fields are
510          * specific to the asset type specified. For example, the output for a
511          * <i>server</i> configuration item includes a list of attributes about the server,
512          * such as host name, operating system, number of network cards, etc.</p> <p>For a
513          * complete list of outputs for each asset type, see <a
514          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#DescribeConfigurations">Using
515          * the DescribeConfigurations Action</a> in the <i>AWS Application Discovery
516          * Service User Guide</i>.</p> <p><h3>See Also:</h3>   <a
517          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeConfigurations">AWS
518          * API Reference</a></p>
519          *
520          * returns a future to the operation so that it can be executed in parallel to other requests.
521          */
522         virtual Model::DescribeConfigurationsOutcomeCallable DescribeConfigurationsCallable(const Model::DescribeConfigurationsRequest& request) const;
523 
524         /**
525          * <p>Retrieves attributes for a list of configuration item IDs.</p>  <p>All
526          * of the supplied IDs must be for the same asset type from one of the
527          * following:</p> <ul> <li> <p>server</p> </li> <li> <p>application</p> </li> <li>
528          * <p>process</p> </li> <li> <p>connection</p> </li> </ul> <p>Output fields are
529          * specific to the asset type specified. For example, the output for a
530          * <i>server</i> configuration item includes a list of attributes about the server,
531          * such as host name, operating system, number of network cards, etc.</p> <p>For a
532          * complete list of outputs for each asset type, see <a
533          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html#DescribeConfigurations">Using
534          * the DescribeConfigurations Action</a> in the <i>AWS Application Discovery
535          * Service User Guide</i>.</p> <p><h3>See Also:</h3>   <a
536          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeConfigurations">AWS
537          * API Reference</a></p>
538          *
539          * Queues the request into a thread executor and triggers associated callback when operation has finished.
540          */
541         virtual void DescribeConfigurationsAsync(const Model::DescribeConfigurationsRequest& request, const DescribeConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
542 
543         /**
544          * <p>Lists exports as specified by ID. All continuous exports associated with your
545          * user account can be listed if you call <code>DescribeContinuousExports</code> as
546          * is without passing any parameters.</p><p><h3>See Also:</h3>   <a
547          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeContinuousExports">AWS
548          * API Reference</a></p>
549          */
550         virtual Model::DescribeContinuousExportsOutcome DescribeContinuousExports(const Model::DescribeContinuousExportsRequest& request) const;
551 
552         /**
553          * <p>Lists exports as specified by ID. All continuous exports associated with your
554          * user account can be listed if you call <code>DescribeContinuousExports</code> as
555          * is without passing any parameters.</p><p><h3>See Also:</h3>   <a
556          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeContinuousExports">AWS
557          * API Reference</a></p>
558          *
559          * returns a future to the operation so that it can be executed in parallel to other requests.
560          */
561         virtual Model::DescribeContinuousExportsOutcomeCallable DescribeContinuousExportsCallable(const Model::DescribeContinuousExportsRequest& request) const;
562 
563         /**
564          * <p>Lists exports as specified by ID. All continuous exports associated with your
565          * user account can be listed if you call <code>DescribeContinuousExports</code> as
566          * is without passing any parameters.</p><p><h3>See Also:</h3>   <a
567          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeContinuousExports">AWS
568          * API Reference</a></p>
569          *
570          * Queues the request into a thread executor and triggers associated callback when operation has finished.
571          */
572         virtual void DescribeContinuousExportsAsync(const Model::DescribeContinuousExportsRequest& request, const DescribeContinuousExportsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
573 
574         /**
575          * <p>Retrieve status of one or more export tasks. You can retrieve the status of
576          * up to 100 export tasks.</p><p><h3>See Also:</h3>   <a
577          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportTasks">AWS
578          * API Reference</a></p>
579          */
580         virtual Model::DescribeExportTasksOutcome DescribeExportTasks(const Model::DescribeExportTasksRequest& request) const;
581 
582         /**
583          * <p>Retrieve status of one or more export tasks. You can retrieve the status of
584          * up to 100 export tasks.</p><p><h3>See Also:</h3>   <a
585          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportTasks">AWS
586          * API Reference</a></p>
587          *
588          * returns a future to the operation so that it can be executed in parallel to other requests.
589          */
590         virtual Model::DescribeExportTasksOutcomeCallable DescribeExportTasksCallable(const Model::DescribeExportTasksRequest& request) const;
591 
592         /**
593          * <p>Retrieve status of one or more export tasks. You can retrieve the status of
594          * up to 100 export tasks.</p><p><h3>See Also:</h3>   <a
595          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportTasks">AWS
596          * API Reference</a></p>
597          *
598          * Queues the request into a thread executor and triggers associated callback when operation has finished.
599          */
600         virtual void DescribeExportTasksAsync(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
601 
602         /**
603          * <p>Returns an array of import tasks for your account, including status
604          * information, times, IDs, the Amazon S3 Object URL for the import file, and
605          * more.</p><p><h3>See Also:</h3>   <a
606          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeImportTasks">AWS
607          * API Reference</a></p>
608          */
609         virtual Model::DescribeImportTasksOutcome DescribeImportTasks(const Model::DescribeImportTasksRequest& request) const;
610 
611         /**
612          * <p>Returns an array of import tasks for your account, including status
613          * information, times, IDs, the Amazon S3 Object URL for the import file, and
614          * more.</p><p><h3>See Also:</h3>   <a
615          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeImportTasks">AWS
616          * API Reference</a></p>
617          *
618          * returns a future to the operation so that it can be executed in parallel to other requests.
619          */
620         virtual Model::DescribeImportTasksOutcomeCallable DescribeImportTasksCallable(const Model::DescribeImportTasksRequest& request) const;
621 
622         /**
623          * <p>Returns an array of import tasks for your account, including status
624          * information, times, IDs, the Amazon S3 Object URL for the import file, and
625          * more.</p><p><h3>See Also:</h3>   <a
626          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeImportTasks">AWS
627          * API Reference</a></p>
628          *
629          * Queues the request into a thread executor and triggers associated callback when operation has finished.
630          */
631         virtual void DescribeImportTasksAsync(const Model::DescribeImportTasksRequest& request, const DescribeImportTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
632 
633         /**
634          * <p>Retrieves a list of configuration items that have tags as specified by the
635          * key-value pairs, name and value, passed to the optional parameter
636          * <code>filters</code>.</p> <p>There are three valid tag filter names:</p> <ul>
637          * <li> <p>tagKey</p> </li> <li> <p>tagValue</p> </li> <li> <p>configurationId</p>
638          * </li> </ul> <p>Also, all configuration items associated with your user account
639          * that have tags can be listed if you call <code>DescribeTags</code> as is without
640          * passing any parameters.</p><p><h3>See Also:</h3>   <a
641          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeTags">AWS
642          * API Reference</a></p>
643          */
644         virtual Model::DescribeTagsOutcome DescribeTags(const Model::DescribeTagsRequest& request) const;
645 
646         /**
647          * <p>Retrieves a list of configuration items that have tags as specified by the
648          * key-value pairs, name and value, passed to the optional parameter
649          * <code>filters</code>.</p> <p>There are three valid tag filter names:</p> <ul>
650          * <li> <p>tagKey</p> </li> <li> <p>tagValue</p> </li> <li> <p>configurationId</p>
651          * </li> </ul> <p>Also, all configuration items associated with your user account
652          * that have tags can be listed if you call <code>DescribeTags</code> as is without
653          * passing any parameters.</p><p><h3>See Also:</h3>   <a
654          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeTags">AWS
655          * API Reference</a></p>
656          *
657          * returns a future to the operation so that it can be executed in parallel to other requests.
658          */
659         virtual Model::DescribeTagsOutcomeCallable DescribeTagsCallable(const Model::DescribeTagsRequest& request) const;
660 
661         /**
662          * <p>Retrieves a list of configuration items that have tags as specified by the
663          * key-value pairs, name and value, passed to the optional parameter
664          * <code>filters</code>.</p> <p>There are three valid tag filter names:</p> <ul>
665          * <li> <p>tagKey</p> </li> <li> <p>tagValue</p> </li> <li> <p>configurationId</p>
666          * </li> </ul> <p>Also, all configuration items associated with your user account
667          * that have tags can be listed if you call <code>DescribeTags</code> as is without
668          * passing any parameters.</p><p><h3>See Also:</h3>   <a
669          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeTags">AWS
670          * API Reference</a></p>
671          *
672          * Queues the request into a thread executor and triggers associated callback when operation has finished.
673          */
674         virtual void DescribeTagsAsync(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
675 
676         /**
677          * <p>Disassociates one or more configuration items from an
678          * application.</p><p><h3>See Also:</h3>   <a
679          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DisassociateConfigurationItemsFromApplication">AWS
680          * API Reference</a></p>
681          */
682         virtual Model::DisassociateConfigurationItemsFromApplicationOutcome DisassociateConfigurationItemsFromApplication(const Model::DisassociateConfigurationItemsFromApplicationRequest& request) const;
683 
684         /**
685          * <p>Disassociates one or more configuration items from an
686          * application.</p><p><h3>See Also:</h3>   <a
687          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DisassociateConfigurationItemsFromApplication">AWS
688          * API Reference</a></p>
689          *
690          * returns a future to the operation so that it can be executed in parallel to other requests.
691          */
692         virtual Model::DisassociateConfigurationItemsFromApplicationOutcomeCallable DisassociateConfigurationItemsFromApplicationCallable(const Model::DisassociateConfigurationItemsFromApplicationRequest& request) const;
693 
694         /**
695          * <p>Disassociates one or more configuration items from an
696          * application.</p><p><h3>See Also:</h3>   <a
697          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DisassociateConfigurationItemsFromApplication">AWS
698          * API Reference</a></p>
699          *
700          * Queues the request into a thread executor and triggers associated callback when operation has finished.
701          */
702         virtual void DisassociateConfigurationItemsFromApplicationAsync(const Model::DisassociateConfigurationItemsFromApplicationRequest& request, const DisassociateConfigurationItemsFromApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
703 
704         /**
705          * <p>Retrieves a short summary of discovered assets.</p> <p>This API operation
706          * takes no request parameters and is called as is at the command prompt as shown
707          * in the example.</p><p><h3>See Also:</h3>   <a
708          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/GetDiscoverySummary">AWS
709          * API Reference</a></p>
710          */
711         virtual Model::GetDiscoverySummaryOutcome GetDiscoverySummary(const Model::GetDiscoverySummaryRequest& request) const;
712 
713         /**
714          * <p>Retrieves a short summary of discovered assets.</p> <p>This API operation
715          * takes no request parameters and is called as is at the command prompt as shown
716          * in the example.</p><p><h3>See Also:</h3>   <a
717          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/GetDiscoverySummary">AWS
718          * API Reference</a></p>
719          *
720          * returns a future to the operation so that it can be executed in parallel to other requests.
721          */
722         virtual Model::GetDiscoverySummaryOutcomeCallable GetDiscoverySummaryCallable(const Model::GetDiscoverySummaryRequest& request) const;
723 
724         /**
725          * <p>Retrieves a short summary of discovered assets.</p> <p>This API operation
726          * takes no request parameters and is called as is at the command prompt as shown
727          * in the example.</p><p><h3>See Also:</h3>   <a
728          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/GetDiscoverySummary">AWS
729          * API Reference</a></p>
730          *
731          * Queues the request into a thread executor and triggers associated callback when operation has finished.
732          */
733         virtual void GetDiscoverySummaryAsync(const Model::GetDiscoverySummaryRequest& request, const GetDiscoverySummaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
734 
735         /**
736          * <p>Retrieves a list of configuration items as specified by the value passed to
737          * the required parameter <code>configurationType</code>. Optional filtering may be
738          * applied to refine search results.</p><p><h3>See Also:</h3>   <a
739          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListConfigurations">AWS
740          * API Reference</a></p>
741          */
742         virtual Model::ListConfigurationsOutcome ListConfigurations(const Model::ListConfigurationsRequest& request) const;
743 
744         /**
745          * <p>Retrieves a list of configuration items as specified by the value passed to
746          * the required parameter <code>configurationType</code>. Optional filtering may be
747          * applied to refine search results.</p><p><h3>See Also:</h3>   <a
748          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListConfigurations">AWS
749          * API Reference</a></p>
750          *
751          * returns a future to the operation so that it can be executed in parallel to other requests.
752          */
753         virtual Model::ListConfigurationsOutcomeCallable ListConfigurationsCallable(const Model::ListConfigurationsRequest& request) const;
754 
755         /**
756          * <p>Retrieves a list of configuration items as specified by the value passed to
757          * the required parameter <code>configurationType</code>. Optional filtering may be
758          * applied to refine search results.</p><p><h3>See Also:</h3>   <a
759          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListConfigurations">AWS
760          * API Reference</a></p>
761          *
762          * Queues the request into a thread executor and triggers associated callback when operation has finished.
763          */
764         virtual void ListConfigurationsAsync(const Model::ListConfigurationsRequest& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
765 
766         /**
767          * <p>Retrieves a list of servers that are one network hop away from a specified
768          * server.</p><p><h3>See Also:</h3>   <a
769          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListServerNeighbors">AWS
770          * API Reference</a></p>
771          */
772         virtual Model::ListServerNeighborsOutcome ListServerNeighbors(const Model::ListServerNeighborsRequest& request) const;
773 
774         /**
775          * <p>Retrieves a list of servers that are one network hop away from a specified
776          * server.</p><p><h3>See Also:</h3>   <a
777          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListServerNeighbors">AWS
778          * API Reference</a></p>
779          *
780          * returns a future to the operation so that it can be executed in parallel to other requests.
781          */
782         virtual Model::ListServerNeighborsOutcomeCallable ListServerNeighborsCallable(const Model::ListServerNeighborsRequest& request) const;
783 
784         /**
785          * <p>Retrieves a list of servers that are one network hop away from a specified
786          * server.</p><p><h3>See Also:</h3>   <a
787          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListServerNeighbors">AWS
788          * API Reference</a></p>
789          *
790          * Queues the request into a thread executor and triggers associated callback when operation has finished.
791          */
792         virtual void ListServerNeighborsAsync(const Model::ListServerNeighborsRequest& request, const ListServerNeighborsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
793 
794         /**
795          * <p>Start the continuous flow of agent's discovered data into Amazon
796          * Athena.</p><p><h3>See Also:</h3>   <a
797          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartContinuousExport">AWS
798          * API Reference</a></p>
799          */
800         virtual Model::StartContinuousExportOutcome StartContinuousExport(const Model::StartContinuousExportRequest& request) const;
801 
802         /**
803          * <p>Start the continuous flow of agent's discovered data into Amazon
804          * Athena.</p><p><h3>See Also:</h3>   <a
805          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartContinuousExport">AWS
806          * API Reference</a></p>
807          *
808          * returns a future to the operation so that it can be executed in parallel to other requests.
809          */
810         virtual Model::StartContinuousExportOutcomeCallable StartContinuousExportCallable(const Model::StartContinuousExportRequest& request) const;
811 
812         /**
813          * <p>Start the continuous flow of agent's discovered data into Amazon
814          * Athena.</p><p><h3>See Also:</h3>   <a
815          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartContinuousExport">AWS
816          * API Reference</a></p>
817          *
818          * Queues the request into a thread executor and triggers associated callback when operation has finished.
819          */
820         virtual void StartContinuousExportAsync(const Model::StartContinuousExportRequest& request, const StartContinuousExportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
821 
822         /**
823          * <p>Instructs the specified agents or connectors to start collecting
824          * data.</p><p><h3>See Also:</h3>   <a
825          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartDataCollectionByAgentIds">AWS
826          * API Reference</a></p>
827          */
828         virtual Model::StartDataCollectionByAgentIdsOutcome StartDataCollectionByAgentIds(const Model::StartDataCollectionByAgentIdsRequest& request) const;
829 
830         /**
831          * <p>Instructs the specified agents or connectors to start collecting
832          * data.</p><p><h3>See Also:</h3>   <a
833          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartDataCollectionByAgentIds">AWS
834          * API Reference</a></p>
835          *
836          * returns a future to the operation so that it can be executed in parallel to other requests.
837          */
838         virtual Model::StartDataCollectionByAgentIdsOutcomeCallable StartDataCollectionByAgentIdsCallable(const Model::StartDataCollectionByAgentIdsRequest& request) const;
839 
840         /**
841          * <p>Instructs the specified agents or connectors to start collecting
842          * data.</p><p><h3>See Also:</h3>   <a
843          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartDataCollectionByAgentIds">AWS
844          * API Reference</a></p>
845          *
846          * Queues the request into a thread executor and triggers associated callback when operation has finished.
847          */
848         virtual void StartDataCollectionByAgentIdsAsync(const Model::StartDataCollectionByAgentIdsRequest& request, const StartDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
849 
850         /**
851          * <p> Begins the export of discovered data to an S3 bucket.</p> <p> If you specify
852          * <code>agentIds</code> in a filter, the task exports up to 72 hours of detailed
853          * data collected by the identified Application Discovery Agent, including network,
854          * process, and performance details. A time range for exported agent data may be
855          * set by using <code>startTime</code> and <code>endTime</code>. Export of detailed
856          * agent data is limited to five concurrently running exports. </p> <p> If you do
857          * not include an <code>agentIds</code> filter, summary data is exported that
858          * includes both AWS Agentless Discovery Connector data and summary data from AWS
859          * Discovery Agents. Export of summary data is limited to two exports per day.
860          * </p><p><h3>See Also:</h3>   <a
861          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartExportTask">AWS
862          * API Reference</a></p>
863          */
864         virtual Model::StartExportTaskOutcome StartExportTask(const Model::StartExportTaskRequest& request) const;
865 
866         /**
867          * <p> Begins the export of discovered data to an S3 bucket.</p> <p> If you specify
868          * <code>agentIds</code> in a filter, the task exports up to 72 hours of detailed
869          * data collected by the identified Application Discovery Agent, including network,
870          * process, and performance details. A time range for exported agent data may be
871          * set by using <code>startTime</code> and <code>endTime</code>. Export of detailed
872          * agent data is limited to five concurrently running exports. </p> <p> If you do
873          * not include an <code>agentIds</code> filter, summary data is exported that
874          * includes both AWS Agentless Discovery Connector data and summary data from AWS
875          * Discovery Agents. Export of summary data is limited to two exports per day.
876          * </p><p><h3>See Also:</h3>   <a
877          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartExportTask">AWS
878          * API Reference</a></p>
879          *
880          * returns a future to the operation so that it can be executed in parallel to other requests.
881          */
882         virtual Model::StartExportTaskOutcomeCallable StartExportTaskCallable(const Model::StartExportTaskRequest& request) const;
883 
884         /**
885          * <p> Begins the export of discovered data to an S3 bucket.</p> <p> If you specify
886          * <code>agentIds</code> in a filter, the task exports up to 72 hours of detailed
887          * data collected by the identified Application Discovery Agent, including network,
888          * process, and performance details. A time range for exported agent data may be
889          * set by using <code>startTime</code> and <code>endTime</code>. Export of detailed
890          * agent data is limited to five concurrently running exports. </p> <p> If you do
891          * not include an <code>agentIds</code> filter, summary data is exported that
892          * includes both AWS Agentless Discovery Connector data and summary data from AWS
893          * Discovery Agents. Export of summary data is limited to two exports per day.
894          * </p><p><h3>See Also:</h3>   <a
895          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartExportTask">AWS
896          * API Reference</a></p>
897          *
898          * Queues the request into a thread executor and triggers associated callback when operation has finished.
899          */
900         virtual void StartExportTaskAsync(const Model::StartExportTaskRequest& request, const StartExportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
901 
902         /**
903          * <p>Starts an import task, which allows you to import details of your on-premises
904          * environment directly into AWS Migration Hub without having to use the
905          * Application Discovery Service (ADS) tools such as the Discovery Connector or
906          * Discovery Agent. This gives you the option to perform migration assessment and
907          * planning directly from your imported data, including the ability to group your
908          * devices as applications and track their migration status.</p> <p>To start an
909          * import request, do this:</p> <ol> <li> <p>Download the specially formatted comma
910          * separated value (CSV) import template, which you can find here: <a
911          * href="https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv">https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv</a>.</p>
912          * </li> <li> <p>Fill out the template with your server and application data.</p>
913          * </li> <li> <p>Upload your import file to an Amazon S3 bucket, and make a note of
914          * it's Object URL. Your import file must be in the CSV format.</p> </li> <li>
915          * <p>Use the console or the <code>StartImportTask</code> command with the AWS CLI
916          * or one of the AWS SDKs to import the records from your file.</p> </li> </ol>
917          * <p>For more information, including step-by-step procedures, see <a
918          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-import.html">Migration
919          * Hub Import</a> in the <i>AWS Application Discovery Service User Guide</i>.</p>
920          *  <p>There are limits to the number of import tasks you can create (and
921          * delete) in an AWS account. For more information, see <a
922          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/ads_service_limits.html">AWS
923          * Application Discovery Service Limits</a> in the <i>AWS Application Discovery
924          * Service User Guide</i>.</p> <p><h3>See Also:</h3>   <a
925          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartImportTask">AWS
926          * API Reference</a></p>
927          */
928         virtual Model::StartImportTaskOutcome StartImportTask(const Model::StartImportTaskRequest& request) const;
929 
930         /**
931          * <p>Starts an import task, which allows you to import details of your on-premises
932          * environment directly into AWS Migration Hub without having to use the
933          * Application Discovery Service (ADS) tools such as the Discovery Connector or
934          * Discovery Agent. This gives you the option to perform migration assessment and
935          * planning directly from your imported data, including the ability to group your
936          * devices as applications and track their migration status.</p> <p>To start an
937          * import request, do this:</p> <ol> <li> <p>Download the specially formatted comma
938          * separated value (CSV) import template, which you can find here: <a
939          * href="https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv">https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv</a>.</p>
940          * </li> <li> <p>Fill out the template with your server and application data.</p>
941          * </li> <li> <p>Upload your import file to an Amazon S3 bucket, and make a note of
942          * it's Object URL. Your import file must be in the CSV format.</p> </li> <li>
943          * <p>Use the console or the <code>StartImportTask</code> command with the AWS CLI
944          * or one of the AWS SDKs to import the records from your file.</p> </li> </ol>
945          * <p>For more information, including step-by-step procedures, see <a
946          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-import.html">Migration
947          * Hub Import</a> in the <i>AWS Application Discovery Service User Guide</i>.</p>
948          *  <p>There are limits to the number of import tasks you can create (and
949          * delete) in an AWS account. For more information, see <a
950          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/ads_service_limits.html">AWS
951          * Application Discovery Service Limits</a> in the <i>AWS Application Discovery
952          * Service User Guide</i>.</p> <p><h3>See Also:</h3>   <a
953          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartImportTask">AWS
954          * API Reference</a></p>
955          *
956          * returns a future to the operation so that it can be executed in parallel to other requests.
957          */
958         virtual Model::StartImportTaskOutcomeCallable StartImportTaskCallable(const Model::StartImportTaskRequest& request) const;
959 
960         /**
961          * <p>Starts an import task, which allows you to import details of your on-premises
962          * environment directly into AWS Migration Hub without having to use the
963          * Application Discovery Service (ADS) tools such as the Discovery Connector or
964          * Discovery Agent. This gives you the option to perform migration assessment and
965          * planning directly from your imported data, including the ability to group your
966          * devices as applications and track their migration status.</p> <p>To start an
967          * import request, do this:</p> <ol> <li> <p>Download the specially formatted comma
968          * separated value (CSV) import template, which you can find here: <a
969          * href="https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv">https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv</a>.</p>
970          * </li> <li> <p>Fill out the template with your server and application data.</p>
971          * </li> <li> <p>Upload your import file to an Amazon S3 bucket, and make a note of
972          * it's Object URL. Your import file must be in the CSV format.</p> </li> <li>
973          * <p>Use the console or the <code>StartImportTask</code> command with the AWS CLI
974          * or one of the AWS SDKs to import the records from your file.</p> </li> </ol>
975          * <p>For more information, including step-by-step procedures, see <a
976          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-import.html">Migration
977          * Hub Import</a> in the <i>AWS Application Discovery Service User Guide</i>.</p>
978          *  <p>There are limits to the number of import tasks you can create (and
979          * delete) in an AWS account. For more information, see <a
980          * href="https://docs.aws.amazon.com/application-discovery/latest/userguide/ads_service_limits.html">AWS
981          * Application Discovery Service Limits</a> in the <i>AWS Application Discovery
982          * Service User Guide</i>.</p> <p><h3>See Also:</h3>   <a
983          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartImportTask">AWS
984          * API Reference</a></p>
985          *
986          * Queues the request into a thread executor and triggers associated callback when operation has finished.
987          */
988         virtual void StartImportTaskAsync(const Model::StartImportTaskRequest& request, const StartImportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
989 
990         /**
991          * <p>Stop the continuous flow of agent's discovered data into Amazon
992          * Athena.</p><p><h3>See Also:</h3>   <a
993          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopContinuousExport">AWS
994          * API Reference</a></p>
995          */
996         virtual Model::StopContinuousExportOutcome StopContinuousExport(const Model::StopContinuousExportRequest& request) const;
997 
998         /**
999          * <p>Stop the continuous flow of agent's discovered data into Amazon
1000          * Athena.</p><p><h3>See Also:</h3>   <a
1001          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopContinuousExport">AWS
1002          * API Reference</a></p>
1003          *
1004          * returns a future to the operation so that it can be executed in parallel to other requests.
1005          */
1006         virtual Model::StopContinuousExportOutcomeCallable StopContinuousExportCallable(const Model::StopContinuousExportRequest& request) const;
1007 
1008         /**
1009          * <p>Stop the continuous flow of agent's discovered data into Amazon
1010          * Athena.</p><p><h3>See Also:</h3>   <a
1011          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopContinuousExport">AWS
1012          * API Reference</a></p>
1013          *
1014          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1015          */
1016         virtual void StopContinuousExportAsync(const Model::StopContinuousExportRequest& request, const StopContinuousExportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1017 
1018         /**
1019          * <p>Instructs the specified agents or connectors to stop collecting
1020          * data.</p><p><h3>See Also:</h3>   <a
1021          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopDataCollectionByAgentIds">AWS
1022          * API Reference</a></p>
1023          */
1024         virtual Model::StopDataCollectionByAgentIdsOutcome StopDataCollectionByAgentIds(const Model::StopDataCollectionByAgentIdsRequest& request) const;
1025 
1026         /**
1027          * <p>Instructs the specified agents or connectors to stop collecting
1028          * data.</p><p><h3>See Also:</h3>   <a
1029          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopDataCollectionByAgentIds">AWS
1030          * API Reference</a></p>
1031          *
1032          * returns a future to the operation so that it can be executed in parallel to other requests.
1033          */
1034         virtual Model::StopDataCollectionByAgentIdsOutcomeCallable StopDataCollectionByAgentIdsCallable(const Model::StopDataCollectionByAgentIdsRequest& request) const;
1035 
1036         /**
1037          * <p>Instructs the specified agents or connectors to stop collecting
1038          * data.</p><p><h3>See Also:</h3>   <a
1039          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopDataCollectionByAgentIds">AWS
1040          * API Reference</a></p>
1041          *
1042          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1043          */
1044         virtual void StopDataCollectionByAgentIdsAsync(const Model::StopDataCollectionByAgentIdsRequest& request, const StopDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1045 
1046         /**
1047          * <p>Updates metadata about an application.</p><p><h3>See Also:</h3>   <a
1048          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/UpdateApplication">AWS
1049          * API Reference</a></p>
1050          */
1051         virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const;
1052 
1053         /**
1054          * <p>Updates metadata about an application.</p><p><h3>See Also:</h3>   <a
1055          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/UpdateApplication">AWS
1056          * API Reference</a></p>
1057          *
1058          * returns a future to the operation so that it can be executed in parallel to other requests.
1059          */
1060         virtual Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const Model::UpdateApplicationRequest& request) const;
1061 
1062         /**
1063          * <p>Updates metadata about an application.</p><p><h3>See Also:</h3>   <a
1064          * href="http://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/UpdateApplication">AWS
1065          * API Reference</a></p>
1066          *
1067          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1068          */
1069         virtual void UpdateApplicationAsync(const Model::UpdateApplicationRequest& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1070 
1071 
1072       void OverrideEndpoint(const Aws::String& endpoint);
1073     private:
1074       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
1075         void AssociateConfigurationItemsToApplicationAsyncHelper(const Model::AssociateConfigurationItemsToApplicationRequest& request, const AssociateConfigurationItemsToApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1076         void BatchDeleteImportDataAsyncHelper(const Model::BatchDeleteImportDataRequest& request, const BatchDeleteImportDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1077         void CreateApplicationAsyncHelper(const Model::CreateApplicationRequest& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1078         void CreateTagsAsyncHelper(const Model::CreateTagsRequest& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1079         void DeleteApplicationsAsyncHelper(const Model::DeleteApplicationsRequest& request, const DeleteApplicationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1080         void DeleteTagsAsyncHelper(const Model::DeleteTagsRequest& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1081         void DescribeAgentsAsyncHelper(const Model::DescribeAgentsRequest& request, const DescribeAgentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1082         void DescribeConfigurationsAsyncHelper(const Model::DescribeConfigurationsRequest& request, const DescribeConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1083         void DescribeContinuousExportsAsyncHelper(const Model::DescribeContinuousExportsRequest& request, const DescribeContinuousExportsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1084         void DescribeExportTasksAsyncHelper(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1085         void DescribeImportTasksAsyncHelper(const Model::DescribeImportTasksRequest& request, const DescribeImportTasksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1086         void DescribeTagsAsyncHelper(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1087         void DisassociateConfigurationItemsFromApplicationAsyncHelper(const Model::DisassociateConfigurationItemsFromApplicationRequest& request, const DisassociateConfigurationItemsFromApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1088         void GetDiscoverySummaryAsyncHelper(const Model::GetDiscoverySummaryRequest& request, const GetDiscoverySummaryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1089         void ListConfigurationsAsyncHelper(const Model::ListConfigurationsRequest& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1090         void ListServerNeighborsAsyncHelper(const Model::ListServerNeighborsRequest& request, const ListServerNeighborsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1091         void StartContinuousExportAsyncHelper(const Model::StartContinuousExportRequest& request, const StartContinuousExportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1092         void StartDataCollectionByAgentIdsAsyncHelper(const Model::StartDataCollectionByAgentIdsRequest& request, const StartDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1093         void StartExportTaskAsyncHelper(const Model::StartExportTaskRequest& request, const StartExportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1094         void StartImportTaskAsyncHelper(const Model::StartImportTaskRequest& request, const StartImportTaskResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1095         void StopContinuousExportAsyncHelper(const Model::StopContinuousExportRequest& request, const StopContinuousExportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1096         void StopDataCollectionByAgentIdsAsyncHelper(const Model::StopDataCollectionByAgentIdsRequest& request, const StopDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1097         void UpdateApplicationAsyncHelper(const Model::UpdateApplicationRequest& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1098 
1099       Aws::String m_uri;
1100       Aws::String m_configScheme;
1101       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
1102   };
1103 
1104 } // namespace ApplicationDiscoveryService
1105 } // namespace Aws
1106