/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace ApplicationDiscoveryService { namespace Model { class AssociateConfigurationItemsToApplicationRequest; class BatchDeleteImportDataRequest; class CreateApplicationRequest; class CreateTagsRequest; class DeleteApplicationsRequest; class DeleteTagsRequest; class DescribeAgentsRequest; class DescribeConfigurationsRequest; class DescribeContinuousExportsRequest; class DescribeExportTasksRequest; class DescribeImportTasksRequest; class DescribeTagsRequest; class DisassociateConfigurationItemsFromApplicationRequest; class GetDiscoverySummaryRequest; class ListConfigurationsRequest; class ListServerNeighborsRequest; class StartContinuousExportRequest; class StartDataCollectionByAgentIdsRequest; class StartExportTaskRequest; class StartImportTaskRequest; class StopContinuousExportRequest; class StopDataCollectionByAgentIdsRequest; class UpdateApplicationRequest; typedef Aws::Utils::Outcome AssociateConfigurationItemsToApplicationOutcome; typedef Aws::Utils::Outcome BatchDeleteImportDataOutcome; typedef Aws::Utils::Outcome CreateApplicationOutcome; typedef Aws::Utils::Outcome CreateTagsOutcome; typedef Aws::Utils::Outcome DeleteApplicationsOutcome; typedef Aws::Utils::Outcome DeleteTagsOutcome; typedef Aws::Utils::Outcome DescribeAgentsOutcome; typedef Aws::Utils::Outcome DescribeConfigurationsOutcome; typedef Aws::Utils::Outcome DescribeContinuousExportsOutcome; typedef Aws::Utils::Outcome DescribeExportTasksOutcome; typedef Aws::Utils::Outcome DescribeImportTasksOutcome; typedef Aws::Utils::Outcome DescribeTagsOutcome; typedef Aws::Utils::Outcome DisassociateConfigurationItemsFromApplicationOutcome; typedef Aws::Utils::Outcome GetDiscoverySummaryOutcome; typedef Aws::Utils::Outcome ListConfigurationsOutcome; typedef Aws::Utils::Outcome ListServerNeighborsOutcome; typedef Aws::Utils::Outcome StartContinuousExportOutcome; typedef Aws::Utils::Outcome StartDataCollectionByAgentIdsOutcome; typedef Aws::Utils::Outcome StartExportTaskOutcome; typedef Aws::Utils::Outcome StartImportTaskOutcome; typedef Aws::Utils::Outcome StopContinuousExportOutcome; typedef Aws::Utils::Outcome StopDataCollectionByAgentIdsOutcome; typedef Aws::Utils::Outcome UpdateApplicationOutcome; typedef std::future AssociateConfigurationItemsToApplicationOutcomeCallable; typedef std::future BatchDeleteImportDataOutcomeCallable; typedef std::future CreateApplicationOutcomeCallable; typedef std::future CreateTagsOutcomeCallable; typedef std::future DeleteApplicationsOutcomeCallable; typedef std::future DeleteTagsOutcomeCallable; typedef std::future DescribeAgentsOutcomeCallable; typedef std::future DescribeConfigurationsOutcomeCallable; typedef std::future DescribeContinuousExportsOutcomeCallable; typedef std::future DescribeExportTasksOutcomeCallable; typedef std::future DescribeImportTasksOutcomeCallable; typedef std::future DescribeTagsOutcomeCallable; typedef std::future DisassociateConfigurationItemsFromApplicationOutcomeCallable; typedef std::future GetDiscoverySummaryOutcomeCallable; typedef std::future ListConfigurationsOutcomeCallable; typedef std::future ListServerNeighborsOutcomeCallable; typedef std::future StartContinuousExportOutcomeCallable; typedef std::future StartDataCollectionByAgentIdsOutcomeCallable; typedef std::future StartExportTaskOutcomeCallable; typedef std::future StartImportTaskOutcomeCallable; typedef std::future StopContinuousExportOutcomeCallable; typedef std::future StopDataCollectionByAgentIdsOutcomeCallable; typedef std::future UpdateApplicationOutcomeCallable; } // namespace Model class ApplicationDiscoveryServiceClient; typedef std::function&) > AssociateConfigurationItemsToApplicationResponseReceivedHandler; typedef std::function&) > BatchDeleteImportDataResponseReceivedHandler; typedef std::function&) > CreateApplicationResponseReceivedHandler; typedef std::function&) > CreateTagsResponseReceivedHandler; typedef std::function&) > DeleteApplicationsResponseReceivedHandler; typedef std::function&) > DeleteTagsResponseReceivedHandler; typedef std::function&) > DescribeAgentsResponseReceivedHandler; typedef std::function&) > DescribeConfigurationsResponseReceivedHandler; typedef std::function&) > DescribeContinuousExportsResponseReceivedHandler; typedef std::function&) > DescribeExportTasksResponseReceivedHandler; typedef std::function&) > DescribeImportTasksResponseReceivedHandler; typedef std::function&) > DescribeTagsResponseReceivedHandler; typedef std::function&) > DisassociateConfigurationItemsFromApplicationResponseReceivedHandler; typedef std::function&) > GetDiscoverySummaryResponseReceivedHandler; typedef std::function&) > ListConfigurationsResponseReceivedHandler; typedef std::function&) > ListServerNeighborsResponseReceivedHandler; typedef std::function&) > StartContinuousExportResponseReceivedHandler; typedef std::function&) > StartDataCollectionByAgentIdsResponseReceivedHandler; typedef std::function&) > StartExportTaskResponseReceivedHandler; typedef std::function&) > StartImportTaskResponseReceivedHandler; typedef std::function&) > StopContinuousExportResponseReceivedHandler; typedef std::function&) > StopDataCollectionByAgentIdsResponseReceivedHandler; typedef std::function&) > UpdateApplicationResponseReceivedHandler; /** * AWS Application Discovery Service

AWS 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 AWS Application * Discovery Service FAQ. Application Discovery Service offers three ways of * performing discovery and collecting data about your on-premises servers:

*
  • Agentless discovery is recommended for environments that * use VMware vCenter Server. This mode doesn't require you to install an agent on * each host. It does not work in non-VMware environments.

    • *

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

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

  • Agent-based * discovery collects a richer set of data than agentless discovery by using * the AWS Application Discovery Agent, 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 cloud.

    • *
  • AWS Partner Network (APN) solutions * integrate with Application Discovery Service, enabling you to import details of * your on-premises environment directly into Migration Hub without using the * discovery connector or discovery agent.

    • Third-party application * discovery tools can query AWS 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.

    • *

Recommendations

We recommend that you use * agent-based discovery for non-VMware environments, and whenever you want to * collect information about network dependencies. You can run agent-based and * agentless discovery simultaneously. Use agentless discovery to complete the * initial infrastructure assessment quickly, and then install agents on select * hosts to collect additional information.

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 AWS SDKs to access an API that is tailored * to the programming language or platform that you're using. For more information, * see AWS 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 AWS * Application Discovery Service User Guide.

All data is * handled according to the AWS 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: typedef Aws::Client::AWSJsonClient BASECLASS; /** * 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 = Aws::Client::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 = Aws::Client::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 = Aws::Client::ClientConfiguration()); 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; /** *

Associates one or more configuration items with an application.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateConfigurationItemsToApplicationOutcomeCallable AssociateConfigurationItemsToApplicationCallable(const Model::AssociateConfigurationItemsToApplicationRequest& request) const; /** *

Associates one or more configuration items with an application.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateConfigurationItemsToApplicationAsync(const Model::AssociateConfigurationItemsToApplicationRequest& request, const AssociateConfigurationItemsToApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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. *

AWS 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; /** *

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. *

AWS 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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchDeleteImportDataOutcomeCallable BatchDeleteImportDataCallable(const Model::BatchDeleteImportDataRequest& request) const; /** *

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. *

AWS 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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchDeleteImportDataAsync(const Model::BatchDeleteImportDataRequest& request, const BatchDeleteImportDataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an application with the given name and description.

See * Also:

AWS * API Reference

*/ virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const; /** *

Creates an application with the given name and description.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const Model::CreateApplicationRequest& request) const; /** *

Creates an application with the given name and description.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateApplicationAsync(const Model::CreateApplicationRequest& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateTagsOutcome CreateTags(const Model::CreateTagsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateTagsOutcomeCallable CreateTagsCallable(const Model::CreateTagsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateTagsAsync(const Model::CreateTagsRequest& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteApplicationsOutcomeCallable DeleteApplicationsCallable(const Model::DeleteApplicationsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteApplicationsAsync(const Model::DeleteApplicationsRequest& request, const DeleteApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteTagsOutcomeCallable DeleteTagsCallable(const Model::DeleteTagsRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteTagsAsync(const Model::DeleteTagsRequest& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists agents or connectors as specified by ID or other filters. All * agents/connectors associated with your user account 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; /** *

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

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeAgentsOutcomeCallable DescribeAgentsCallable(const Model::DescribeAgentsRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeAgentsAsync(const Model::DescribeAgentsRequest& request, const DescribeAgentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 AWS Application Discovery * Service User Guide.

See Also:

AWS * API Reference

*/ virtual Model::DescribeConfigurationsOutcome DescribeConfigurations(const Model::DescribeConfigurationsRequest& request) const; /** *

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 AWS Application Discovery * Service User Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeConfigurationsOutcomeCallable DescribeConfigurationsCallable(const Model::DescribeConfigurationsRequest& request) const; /** *

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 AWS Application Discovery * Service User Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeConfigurationsAsync(const Model::DescribeConfigurationsRequest& request, const DescribeConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists exports as specified by ID. All continuous exports associated with your * user account 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; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeContinuousExportsOutcomeCallable DescribeContinuousExportsCallable(const Model::DescribeContinuousExportsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeContinuousExportsAsync(const Model::DescribeContinuousExportsRequest& request, const DescribeContinuousExportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeExportTasksOutcomeCallable DescribeExportTasksCallable(const Model::DescribeExportTasksRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeExportTasksAsync(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeImportTasksOutcomeCallable DescribeImportTasksCallable(const Model::DescribeImportTasksRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeImportTasksAsync(const Model::DescribeImportTasksRequest& request, const DescribeImportTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 account * 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; /** *

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 account * that have tags can be listed if you call DescribeTags as is without * passing any parameters.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeTagsOutcomeCallable DescribeTagsCallable(const Model::DescribeTagsRequest& request) const; /** *

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 account * that have tags can be listed if you call DescribeTags as is without * passing any parameters.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeTagsAsync(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disassociates one or more configuration items from an * application.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateConfigurationItemsFromApplicationOutcome DisassociateConfigurationItemsFromApplication(const Model::DisassociateConfigurationItemsFromApplicationRequest& request) const; /** *

Disassociates one or more configuration items from an * application.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateConfigurationItemsFromApplicationOutcomeCallable DisassociateConfigurationItemsFromApplicationCallable(const Model::DisassociateConfigurationItemsFromApplicationRequest& request) const; /** *

Disassociates one or more configuration items from an * application.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateConfigurationItemsFromApplicationAsync(const Model::DisassociateConfigurationItemsFromApplicationRequest& request, const DisassociateConfigurationItemsFromApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetDiscoverySummaryOutcomeCallable GetDiscoverySummaryCallable(const Model::GetDiscoverySummaryRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetDiscoverySummaryAsync(const Model::GetDiscoverySummaryRequest& request, const GetDiscoverySummaryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListConfigurationsOutcomeCallable ListConfigurationsCallable(const Model::ListConfigurationsRequest& request) const; /** *

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

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListConfigurationsAsync(const Model::ListConfigurationsRequest& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListServerNeighborsOutcomeCallable ListServerNeighborsCallable(const Model::ListServerNeighborsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListServerNeighborsAsync(const Model::ListServerNeighborsRequest& request, const ListServerNeighborsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartContinuousExportOutcomeCallable StartContinuousExportCallable(const Model::StartContinuousExportRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartContinuousExportAsync(const Model::StartContinuousExportRequest& request, const StartContinuousExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Instructs the specified agents or connectors to start collecting * data.

See Also:

AWS * API Reference

*/ virtual Model::StartDataCollectionByAgentIdsOutcome StartDataCollectionByAgentIds(const Model::StartDataCollectionByAgentIdsRequest& request) const; /** *

Instructs the specified agents or connectors to start collecting * data.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartDataCollectionByAgentIdsOutcomeCallable StartDataCollectionByAgentIdsCallable(const Model::StartDataCollectionByAgentIdsRequest& request) const; /** *

Instructs the specified agents or connectors to start collecting * data.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartDataCollectionByAgentIdsAsync(const Model::StartDataCollectionByAgentIdsRequest& request, const StartDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Begins the export of discovered data to an S3 bucket.

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.

If you do * not include an agentIds filter, summary data is exported that * includes both AWS Agentless Discovery Connector data and summary data from AWS * Discovery Agents. Export of summary data is limited to two exports per day. *

See Also:

AWS * API Reference

*/ virtual Model::StartExportTaskOutcome StartExportTask(const Model::StartExportTaskRequest& request) const; /** *

Begins the export of discovered data to an S3 bucket.

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.

If you do * not include an agentIds filter, summary data is exported that * includes both AWS Agentless Discovery Connector data and summary data from AWS * Discovery Agents. Export of summary data is limited to two exports per day. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartExportTaskOutcomeCallable StartExportTaskCallable(const Model::StartExportTaskRequest& request) const; /** *

Begins the export of discovered data to an S3 bucket.

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.

If you do * not include an agentIds filter, summary data is exported that * includes both AWS Agentless Discovery Connector data and summary data from AWS * Discovery Agents. Export of summary data is limited to two exports per day. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartExportTaskAsync(const Model::StartExportTaskRequest& request, const StartExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Starts an import task, which allows you to import details of your on-premises * environment directly into AWS Migration Hub without having to use the * Application Discovery Service (ADS) tools such as the Discovery Connector or * 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 AWS CLI * or one of the AWS SDKs to import the records from your file.

*

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

*

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

See Also:

AWS * API Reference

*/ virtual Model::StartImportTaskOutcome StartImportTask(const Model::StartImportTaskRequest& request) const; /** *

Starts an import task, which allows you to import details of your on-premises * environment directly into AWS Migration Hub without having to use the * Application Discovery Service (ADS) tools such as the Discovery Connector or * 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 AWS CLI * or one of the AWS SDKs to import the records from your file.

*

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

*

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StartImportTaskOutcomeCallable StartImportTaskCallable(const Model::StartImportTaskRequest& request) const; /** *

Starts an import task, which allows you to import details of your on-premises * environment directly into AWS Migration Hub without having to use the * Application Discovery Service (ADS) tools such as the Discovery Connector or * 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 AWS CLI * or one of the AWS SDKs to import the records from your file.

*

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

*

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StartImportTaskAsync(const Model::StartImportTaskRequest& request, const StartImportTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StopContinuousExportOutcomeCallable StopContinuousExportCallable(const Model::StopContinuousExportRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StopContinuousExportAsync(const Model::StopContinuousExportRequest& request, const StopContinuousExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Instructs the specified agents or connectors to stop collecting * data.

See Also:

AWS * API Reference

*/ virtual Model::StopDataCollectionByAgentIdsOutcome StopDataCollectionByAgentIds(const Model::StopDataCollectionByAgentIdsRequest& request) const; /** *

Instructs the specified agents or connectors to stop collecting * data.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::StopDataCollectionByAgentIdsOutcomeCallable StopDataCollectionByAgentIdsCallable(const Model::StopDataCollectionByAgentIdsRequest& request) const; /** *

Instructs the specified agents or connectors to stop collecting * data.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void StopDataCollectionByAgentIdsAsync(const Model::StopDataCollectionByAgentIdsRequest& request, const StopDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates metadata about an application.

See Also:

AWS * API Reference

*/ virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const; /** *

Updates metadata about an application.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const Model::UpdateApplicationRequest& request) const; /** *

Updates metadata about an application.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateApplicationAsync(const Model::UpdateApplicationRequest& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateConfigurationItemsToApplicationAsyncHelper(const Model::AssociateConfigurationItemsToApplicationRequest& request, const AssociateConfigurationItemsToApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchDeleteImportDataAsyncHelper(const Model::BatchDeleteImportDataRequest& request, const BatchDeleteImportDataResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateApplicationAsyncHelper(const Model::CreateApplicationRequest& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateTagsAsyncHelper(const Model::CreateTagsRequest& request, const CreateTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteApplicationsAsyncHelper(const Model::DeleteApplicationsRequest& request, const DeleteApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteTagsAsyncHelper(const Model::DeleteTagsRequest& request, const DeleteTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeAgentsAsyncHelper(const Model::DescribeAgentsRequest& request, const DescribeAgentsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeConfigurationsAsyncHelper(const Model::DescribeConfigurationsRequest& request, const DescribeConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeContinuousExportsAsyncHelper(const Model::DescribeContinuousExportsRequest& request, const DescribeContinuousExportsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeExportTasksAsyncHelper(const Model::DescribeExportTasksRequest& request, const DescribeExportTasksResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeImportTasksAsyncHelper(const Model::DescribeImportTasksRequest& request, const DescribeImportTasksResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeTagsAsyncHelper(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateConfigurationItemsFromApplicationAsyncHelper(const Model::DisassociateConfigurationItemsFromApplicationRequest& request, const DisassociateConfigurationItemsFromApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetDiscoverySummaryAsyncHelper(const Model::GetDiscoverySummaryRequest& request, const GetDiscoverySummaryResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListConfigurationsAsyncHelper(const Model::ListConfigurationsRequest& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListServerNeighborsAsyncHelper(const Model::ListServerNeighborsRequest& request, const ListServerNeighborsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartContinuousExportAsyncHelper(const Model::StartContinuousExportRequest& request, const StartContinuousExportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartDataCollectionByAgentIdsAsyncHelper(const Model::StartDataCollectionByAgentIdsRequest& request, const StartDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartExportTaskAsyncHelper(const Model::StartExportTaskRequest& request, const StartExportTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StartImportTaskAsyncHelper(const Model::StartImportTaskRequest& request, const StartImportTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StopContinuousExportAsyncHelper(const Model::StopContinuousExportRequest& request, const StopContinuousExportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void StopDataCollectionByAgentIdsAsyncHelper(const Model::StopDataCollectionByAgentIdsRequest& request, const StopDataCollectionByAgentIdsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateApplicationAsyncHelper(const Model::UpdateApplicationRequest& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace ApplicationDiscoveryService } // namespace Aws