/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace ApplicationDiscoveryService { /** * Amazon Web Services Application Discovery Service

Amazon * Web Services Application Discovery Service (Application Discovery Service) helps * you plan application migration projects. It automatically identifies servers, * virtual machines (VMs), and network dependencies in your on-premises data * centers. For more information, see the Amazon Web Services * Application Discovery Service FAQ.

Application Discovery Service * offers three ways of performing discovery and collecting data about your * on-premises servers:

  • Agentless discovery using Amazon * Web Services Application Discovery Service Agentless Collector (Agentless * Collector), which doesn't require you to install an agent on each host.

      *
    • Agentless Collector gathers server information regardless of the * operating systems, which minimizes the time required for initial on-premises * infrastructure assessment.

    • Agentless Collector doesn't collect * information about network dependencies, only agent-based discovery collects that * information.

  • Agent-based * discovery using the Amazon Web Services Application Discovery Agent * (Application Discovery Agent) collects a richer set of data than agentless * discovery, which you install on one or more hosts in your data center.

      *
    • The agent captures infrastructure and application information, * including an inventory of running processes, system performance information, * resource utilization, and network dependencies.

    • The * information collected by agents is secured at rest and in transit to the * Application Discovery Service database in the Amazon Web Services cloud. For * more information, see Amazon * Web Services Application Discovery Agent.

    *
  • Amazon Web Services Partner Network (APN) solutions integrate * with Application Discovery Service, enabling you to import details of your * on-premises environment directly into Amazon Web Services Migration Hub * (Migration Hub) without using Agentless Collector or Application Discovery * Agent.

    • Third-party application discovery tools can query Amazon * Web Services Application Discovery Service, and they can write to the * Application Discovery Service database using the public API.

    • *

      In this way, you can import data into Migration Hub and view it, so that you * can associate applications with servers and track migrations.

    *

Working With This Guide

This API reference * provides descriptions, syntax, and usage examples for each of the actions and * data types for Application Discovery Service. The topic for each action shows * the API request parameters and the response. Alternatively, you can use one of * the Amazon Web Services SDKs to access an API that is tailored to the * programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

*
  • Remember that you must set your Migration Hub home Region * before you call any of these APIs.

  • You must make API calls for * write actions (create, notify, associate, disassociate, import, or put) while in * your home Region, or a HomeRegionNotSetException error is * returned.

  • API calls for read actions (list, describe, stop, * and delete) are permitted outside of your home Region.

  • *

    Although it is unlikely, the Migration Hub home Region could change. If you * call APIs outside the home Region, an InvalidInputException is * returned.

  • You must call GetHomeRegion to obtain * the latest Migration Hub home Region.

This guide is * intended for use with the Amazon * Web Services Application Discovery Service User Guide.

*

All data is handled according to the Amazon Web Services Privacy Policy. * You can operate Application Discovery Service offline to inspect collected data * before it is shared with the service.

*/ class AWS_APPLICATIONDISCOVERYSERVICE_API ApplicationDiscoveryServiceClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef ApplicationDiscoveryServiceClientConfiguration ClientConfigurationType; typedef ApplicationDiscoveryServiceEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ApplicationDiscoveryServiceClient(const Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration& clientConfiguration = Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ApplicationDiscoveryServiceClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration& clientConfiguration = Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ApplicationDiscoveryServiceClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration& clientConfiguration = Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ApplicationDiscoveryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ApplicationDiscoveryServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ApplicationDiscoveryServiceClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~ApplicationDiscoveryServiceClient(); /** *

Associates one or more configuration items with an application.

See * Also:

AWS * API Reference

*/ virtual Model::AssociateConfigurationItemsToApplicationOutcome AssociateConfigurationItemsToApplication(const Model::AssociateConfigurationItemsToApplicationRequest& request) const; /** * A Callable wrapper for AssociateConfigurationItemsToApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateConfigurationItemsToApplicationOutcomeCallable AssociateConfigurationItemsToApplicationCallable(const AssociateConfigurationItemsToApplicationRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::AssociateConfigurationItemsToApplication, request); } /** * An Async wrapper for AssociateConfigurationItemsToApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateConfigurationItemsToApplicationAsync(const AssociateConfigurationItemsToApplicationRequestT& request, const AssociateConfigurationItemsToApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::AssociateConfigurationItemsToApplication, request, handler, context); } /** *

Deletes one or more import tasks, each identified by their import ID. Each * import task has a number of records that can identify servers or applications. *

Amazon Web Services Application Discovery Service has built-in matching * logic that will identify when discovered servers match existing entries that * you've previously discovered, the information for the already-existing * discovered server is updated. When you delete an import task that contains * records that were used to match, the information in those matched records that * comes from the deleted records will also be deleted.

See Also:

* AWS * API Reference

*/ virtual Model::BatchDeleteImportDataOutcome BatchDeleteImportData(const Model::BatchDeleteImportDataRequest& request) const; /** * A Callable wrapper for BatchDeleteImportData that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::BatchDeleteImportDataOutcomeCallable BatchDeleteImportDataCallable(const BatchDeleteImportDataRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::BatchDeleteImportData, request); } /** * An Async wrapper for BatchDeleteImportData that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void BatchDeleteImportDataAsync(const BatchDeleteImportDataRequestT& request, const BatchDeleteImportDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::BatchDeleteImportData, request, handler, context); } /** *

Creates an application with the given name and description.

See * Also:

AWS * API Reference

*/ virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const; /** * A Callable wrapper for CreateApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const CreateApplicationRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::CreateApplication, request); } /** * An Async wrapper for CreateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateApplicationAsync(const CreateApplicationRequestT& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::CreateApplication, request, handler, context); } /** *

Creates one or more tags for configuration items. Tags are metadata that help * you categorize IT assets. This API accepts a list of multiple configuration * items.

Do not store sensitive information (like personal * data) in tags.

See Also:

AWS * API Reference

*/ virtual Model::CreateTagsOutcome CreateTags(const Model::CreateTagsRequest& request) const; /** * A Callable wrapper for CreateTags that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateTagsOutcomeCallable CreateTagsCallable(const CreateTagsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::CreateTags, request); } /** * An Async wrapper for CreateTags that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateTagsAsync(const CreateTagsRequestT& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::CreateTags, request, handler, context); } /** *

Deletes a list of applications and their associations with configuration * items.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationsOutcome DeleteApplications(const Model::DeleteApplicationsRequest& request) const; /** * A Callable wrapper for DeleteApplications that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationsOutcomeCallable DeleteApplicationsCallable(const DeleteApplicationsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DeleteApplications, request); } /** * An Async wrapper for DeleteApplications that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationsAsync(const DeleteApplicationsRequestT& request, const DeleteApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DeleteApplications, request, handler, context); } /** *

Deletes the association between configuration items and one or more tags. * This API accepts a list of multiple configuration items.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteTagsOutcome DeleteTags(const Model::DeleteTagsRequest& request) const; /** * A Callable wrapper for DeleteTags that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteTagsOutcomeCallable DeleteTagsCallable(const DeleteTagsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DeleteTags, request); } /** * An Async wrapper for DeleteTags that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteTagsAsync(const DeleteTagsRequestT& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DeleteTags, request, handler, context); } /** *

Lists agents or collectors as specified by ID or other filters. All * agents/collectors associated with your user can be listed if you call * DescribeAgents as is without passing any parameters.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeAgentsOutcome DescribeAgents(const Model::DescribeAgentsRequest& request) const; /** * A Callable wrapper for DescribeAgents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeAgentsOutcomeCallable DescribeAgentsCallable(const DescribeAgentsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DescribeAgents, request); } /** * An Async wrapper for DescribeAgents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeAgentsAsync(const DescribeAgentsRequestT& request, const DescribeAgentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DescribeAgents, request, handler, context); } /** *

Retrieves attributes for a list of configuration item IDs.

All * of the supplied IDs must be for the same asset type from one of the * following:

  • server

  • application

  • *

    process

  • connection

Output fields are * specific to the asset type specified. For example, the output for a * server configuration item includes a list of attributes about the server, * such as host name, operating system, number of network cards, etc.

For a * complete list of outputs for each asset type, see Using * the DescribeConfigurations Action in the Amazon Web Services Application * Discovery Service User Guide.

See Also:

AWS * API Reference

*/ virtual Model::DescribeConfigurationsOutcome DescribeConfigurations(const Model::DescribeConfigurationsRequest& request) const; /** * A Callable wrapper for DescribeConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeConfigurationsOutcomeCallable DescribeConfigurationsCallable(const DescribeConfigurationsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DescribeConfigurations, request); } /** * An Async wrapper for DescribeConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeConfigurationsAsync(const DescribeConfigurationsRequestT& request, const DescribeConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DescribeConfigurations, request, handler, context); } /** *

Lists exports as specified by ID. All continuous exports associated with your * user can be listed if you call DescribeContinuousExports as is * without passing any parameters.

See Also:

AWS * API Reference

*/ virtual Model::DescribeContinuousExportsOutcome DescribeContinuousExports(const Model::DescribeContinuousExportsRequest& request) const; /** * A Callable wrapper for DescribeContinuousExports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeContinuousExportsOutcomeCallable DescribeContinuousExportsCallable(const DescribeContinuousExportsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DescribeContinuousExports, request); } /** * An Async wrapper for DescribeContinuousExports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeContinuousExportsAsync(const DescribeContinuousExportsRequestT& request, const DescribeContinuousExportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DescribeContinuousExports, request, handler, context); } /** *

Retrieve status of one or more export tasks. You can retrieve the status of * up to 100 export tasks.

See Also:

AWS * API Reference

*/ virtual Model::DescribeExportTasksOutcome DescribeExportTasks(const Model::DescribeExportTasksRequest& request) const; /** * A Callable wrapper for DescribeExportTasks that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeExportTasksOutcomeCallable DescribeExportTasksCallable(const DescribeExportTasksRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DescribeExportTasks, request); } /** * An Async wrapper for DescribeExportTasks that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeExportTasksAsync(const DescribeExportTasksRequestT& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DescribeExportTasks, request, handler, context); } /** *

Returns an array of import tasks for your account, including status * information, times, IDs, the Amazon S3 Object URL for the import file, and * more.

See Also:

AWS * API Reference

*/ virtual Model::DescribeImportTasksOutcome DescribeImportTasks(const Model::DescribeImportTasksRequest& request) const; /** * A Callable wrapper for DescribeImportTasks that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeImportTasksOutcomeCallable DescribeImportTasksCallable(const DescribeImportTasksRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DescribeImportTasks, request); } /** * An Async wrapper for DescribeImportTasks that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeImportTasksAsync(const DescribeImportTasksRequestT& request, const DescribeImportTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DescribeImportTasks, request, handler, context); } /** *

Retrieves a list of configuration items that have tags as specified by the * key-value pairs, name and value, passed to the optional parameter * filters.

There are three valid tag filter names:

    *
  • tagKey

  • tagValue

  • configurationId

    *

Also, all configuration items associated with your user that have * tags can be listed if you call DescribeTags as is without passing * any parameters.

See Also:

AWS * API Reference

*/ virtual Model::DescribeTagsOutcome DescribeTags(const Model::DescribeTagsRequest& request) const; /** * A Callable wrapper for DescribeTags that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeTagsOutcomeCallable DescribeTagsCallable(const DescribeTagsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DescribeTags, request); } /** * An Async wrapper for DescribeTags that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeTagsAsync(const DescribeTagsRequestT& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DescribeTags, request, handler, context); } /** *

Disassociates one or more configuration items from an * application.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateConfigurationItemsFromApplicationOutcome DisassociateConfigurationItemsFromApplication(const Model::DisassociateConfigurationItemsFromApplicationRequest& request) const; /** * A Callable wrapper for DisassociateConfigurationItemsFromApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateConfigurationItemsFromApplicationOutcomeCallable DisassociateConfigurationItemsFromApplicationCallable(const DisassociateConfigurationItemsFromApplicationRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::DisassociateConfigurationItemsFromApplication, request); } /** * An Async wrapper for DisassociateConfigurationItemsFromApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateConfigurationItemsFromApplicationAsync(const DisassociateConfigurationItemsFromApplicationRequestT& request, const DisassociateConfigurationItemsFromApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::DisassociateConfigurationItemsFromApplication, request, handler, context); } /** *

Retrieves a short summary of discovered assets.

This API operation * takes no request parameters and is called as is at the command prompt as shown * in the example.

See Also:

AWS * API Reference

*/ virtual Model::GetDiscoverySummaryOutcome GetDiscoverySummary(const Model::GetDiscoverySummaryRequest& request) const; /** * A Callable wrapper for GetDiscoverySummary that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDiscoverySummaryOutcomeCallable GetDiscoverySummaryCallable(const GetDiscoverySummaryRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::GetDiscoverySummary, request); } /** * An Async wrapper for GetDiscoverySummary that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDiscoverySummaryAsync(const GetDiscoverySummaryRequestT& request, const GetDiscoverySummaryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::GetDiscoverySummary, request, handler, context); } /** *

Retrieves a list of configuration items as specified by the value passed to * the required parameter configurationType. Optional filtering may be * applied to refine search results.

See Also:

AWS * API Reference

*/ virtual Model::ListConfigurationsOutcome ListConfigurations(const Model::ListConfigurationsRequest& request) const; /** * A Callable wrapper for ListConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListConfigurationsOutcomeCallable ListConfigurationsCallable(const ListConfigurationsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::ListConfigurations, request); } /** * An Async wrapper for ListConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListConfigurationsAsync(const ListConfigurationsRequestT& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::ListConfigurations, request, handler, context); } /** *

Retrieves a list of servers that are one network hop away from a specified * server.

See Also:

AWS * API Reference

*/ virtual Model::ListServerNeighborsOutcome ListServerNeighbors(const Model::ListServerNeighborsRequest& request) const; /** * A Callable wrapper for ListServerNeighbors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListServerNeighborsOutcomeCallable ListServerNeighborsCallable(const ListServerNeighborsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::ListServerNeighbors, request); } /** * An Async wrapper for ListServerNeighbors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListServerNeighborsAsync(const ListServerNeighborsRequestT& request, const ListServerNeighborsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::ListServerNeighbors, request, handler, context); } /** *

Start the continuous flow of agent's discovered data into Amazon * Athena.

See Also:

AWS * API Reference

*/ virtual Model::StartContinuousExportOutcome StartContinuousExport(const Model::StartContinuousExportRequest& request) const; /** * A Callable wrapper for StartContinuousExport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartContinuousExportOutcomeCallable StartContinuousExportCallable(const StartContinuousExportRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::StartContinuousExport, request); } /** * An Async wrapper for StartContinuousExport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartContinuousExportAsync(const StartContinuousExportRequestT& request, const StartContinuousExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::StartContinuousExport, request, handler, context); } /** *

Instructs the specified agents to start collecting data.

See * Also:

AWS * API Reference

*/ virtual Model::StartDataCollectionByAgentIdsOutcome StartDataCollectionByAgentIds(const Model::StartDataCollectionByAgentIdsRequest& request) const; /** * A Callable wrapper for StartDataCollectionByAgentIds that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartDataCollectionByAgentIdsOutcomeCallable StartDataCollectionByAgentIdsCallable(const StartDataCollectionByAgentIdsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::StartDataCollectionByAgentIds, request); } /** * An Async wrapper for StartDataCollectionByAgentIds that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartDataCollectionByAgentIdsAsync(const StartDataCollectionByAgentIdsRequestT& request, const StartDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::StartDataCollectionByAgentIds, request, handler, context); } /** *

Begins the export of a discovered data report to an Amazon S3 bucket managed * by Amazon Web Services.

Exports might provide an estimate of fees * and savings based on certain information that you provide. Fee estimates do not * include any taxes that might apply. Your actual fees and savings depend on a * variety of factors, including your actual usage of Amazon Web Services services, * which might vary from the estimates provided in this report.

If * you do not specify preferences or agentIds in the * filter, a summary of all servers, applications, tags, and performance is * generated. This data is an aggregation of all server data collected through * on-premises tooling, file import, application grouping and applying tags.

*

If you specify agentIds in a filter, the task exports up to 72 * hours of detailed data collected by the identified Application Discovery Agent, * including network, process, and performance details. A time range for exported * agent data may be set by using startTime and endTime. * Export of detailed agent data is limited to five concurrently running exports. * Export of detailed agent data is limited to two exports per day.

If you * enable ec2RecommendationsPreferences in preferences , * an Amazon EC2 instance matching the characteristics of each server in * Application Discovery Service is generated. Changing the attributes of the * ec2RecommendationsPreferences changes the criteria of the * recommendation.

See Also:

AWS * API Reference

*/ virtual Model::StartExportTaskOutcome StartExportTask(const Model::StartExportTaskRequest& request) const; /** * A Callable wrapper for StartExportTask that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartExportTaskOutcomeCallable StartExportTaskCallable(const StartExportTaskRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::StartExportTask, request); } /** * An Async wrapper for StartExportTask that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartExportTaskAsync(const StartExportTaskRequestT& request, const StartExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::StartExportTask, request, handler, context); } /** *

Starts an import task, which allows you to import details of your on-premises * environment directly into Amazon Web Services Migration Hub without having to * use the Amazon Web Services Application Discovery Service (Application Discovery * Service) tools such as the Amazon Web Services Application Discovery Service * Agentless Collector or Application Discovery Agent. This gives you the option to * perform migration assessment and planning directly from your imported data, * including the ability to group your devices as applications and track their * migration status.

To start an import request, do this:

  1. *

    Download the specially formatted comma separated value (CSV) import template, * which you can find here: https://s3.us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv.

    *
  2. Fill out the template with your server and application data.

    *
  3. Upload your import file to an Amazon S3 bucket, and make a note of * it's Object URL. Your import file must be in the CSV format.

  4. *

    Use the console or the StartImportTask command with the Amazon * Web Services CLI or one of the Amazon Web Services SDKs to import the records * from your file.

For more information, including step-by-step * procedures, see Migration * Hub Import in the Amazon Web Services Application Discovery Service User * Guide.

There are limits to the number of import tasks you can * create (and delete) in an Amazon Web Services account. For more information, see * Amazon * Web Services Application Discovery Service Limits in the Amazon Web * Services Application Discovery Service User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::StartImportTaskOutcome StartImportTask(const Model::StartImportTaskRequest& request) const; /** * A Callable wrapper for StartImportTask that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartImportTaskOutcomeCallable StartImportTaskCallable(const StartImportTaskRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::StartImportTask, request); } /** * An Async wrapper for StartImportTask that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartImportTaskAsync(const StartImportTaskRequestT& request, const StartImportTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::StartImportTask, request, handler, context); } /** *

Stop the continuous flow of agent's discovered data into Amazon * Athena.

See Also:

AWS * API Reference

*/ virtual Model::StopContinuousExportOutcome StopContinuousExport(const Model::StopContinuousExportRequest& request) const; /** * A Callable wrapper for StopContinuousExport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopContinuousExportOutcomeCallable StopContinuousExportCallable(const StopContinuousExportRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::StopContinuousExport, request); } /** * An Async wrapper for StopContinuousExport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopContinuousExportAsync(const StopContinuousExportRequestT& request, const StopContinuousExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::StopContinuousExport, request, handler, context); } /** *

Instructs the specified agents to stop collecting data.

See * Also:

AWS * API Reference

*/ virtual Model::StopDataCollectionByAgentIdsOutcome StopDataCollectionByAgentIds(const Model::StopDataCollectionByAgentIdsRequest& request) const; /** * A Callable wrapper for StopDataCollectionByAgentIds that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopDataCollectionByAgentIdsOutcomeCallable StopDataCollectionByAgentIdsCallable(const StopDataCollectionByAgentIdsRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::StopDataCollectionByAgentIds, request); } /** * An Async wrapper for StopDataCollectionByAgentIds that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopDataCollectionByAgentIdsAsync(const StopDataCollectionByAgentIdsRequestT& request, const StopDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::StopDataCollectionByAgentIds, request, handler, context); } /** *

Updates metadata about an application.

See Also:

AWS * API Reference

*/ virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const; /** * A Callable wrapper for UpdateApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const UpdateApplicationRequestT& request) const { return SubmitCallable(&ApplicationDiscoveryServiceClient::UpdateApplication, request); } /** * An Async wrapper for UpdateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateApplicationAsync(const UpdateApplicationRequestT& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&ApplicationDiscoveryServiceClient::UpdateApplication, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const ApplicationDiscoveryServiceClientConfiguration& clientConfiguration); ApplicationDiscoveryServiceClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace ApplicationDiscoveryService } // namespace Aws