/** * 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 IoTRoboRunner { /** *

An example service, deployed with the Octane Service creator, which will echo * the string

*/ class AWS_IOTROBORUNNER_API IoTRoboRunnerClient : 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 IoTRoboRunnerClientConfiguration ClientConfigurationType; typedef IoTRoboRunnerEndpointProvider 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. */ IoTRoboRunnerClient(const Aws::IoTRoboRunner::IoTRoboRunnerClientConfiguration& clientConfiguration = Aws::IoTRoboRunner::IoTRoboRunnerClientConfiguration(), 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. */ IoTRoboRunnerClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::IoTRoboRunner::IoTRoboRunnerClientConfiguration& clientConfiguration = Aws::IoTRoboRunner::IoTRoboRunnerClientConfiguration()); /** * 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 */ IoTRoboRunnerClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::IoTRoboRunner::IoTRoboRunnerClientConfiguration& clientConfiguration = Aws::IoTRoboRunner::IoTRoboRunnerClientConfiguration()); /* 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. */ IoTRoboRunnerClient(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. */ IoTRoboRunnerClient(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 */ IoTRoboRunnerClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~IoTRoboRunnerClient(); /** *

Grants permission to create a destination

See Also:

AWS * API Reference

*/ virtual Model::CreateDestinationOutcome CreateDestination(const Model::CreateDestinationRequest& request) const; /** * A Callable wrapper for CreateDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDestinationOutcomeCallable CreateDestinationCallable(const CreateDestinationRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::CreateDestination, request); } /** * An Async wrapper for CreateDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDestinationAsync(const CreateDestinationRequestT& request, const CreateDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::CreateDestination, request, handler, context); } /** *

Grants permission to create a site

See Also:

AWS * API Reference

*/ virtual Model::CreateSiteOutcome CreateSite(const Model::CreateSiteRequest& request) const; /** * A Callable wrapper for CreateSite that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSiteOutcomeCallable CreateSiteCallable(const CreateSiteRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::CreateSite, request); } /** * An Async wrapper for CreateSite that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSiteAsync(const CreateSiteRequestT& request, const CreateSiteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::CreateSite, request, handler, context); } /** *

Grants permission to create a worker

See Also:

AWS * API Reference

*/ virtual Model::CreateWorkerOutcome CreateWorker(const Model::CreateWorkerRequest& request) const; /** * A Callable wrapper for CreateWorker that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateWorkerOutcomeCallable CreateWorkerCallable(const CreateWorkerRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::CreateWorker, request); } /** * An Async wrapper for CreateWorker that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateWorkerAsync(const CreateWorkerRequestT& request, const CreateWorkerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::CreateWorker, request, handler, context); } /** *

Grants permission to create a worker fleet

See Also:

AWS * API Reference

*/ virtual Model::CreateWorkerFleetOutcome CreateWorkerFleet(const Model::CreateWorkerFleetRequest& request) const; /** * A Callable wrapper for CreateWorkerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateWorkerFleetOutcomeCallable CreateWorkerFleetCallable(const CreateWorkerFleetRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::CreateWorkerFleet, request); } /** * An Async wrapper for CreateWorkerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateWorkerFleetAsync(const CreateWorkerFleetRequestT& request, const CreateWorkerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::CreateWorkerFleet, request, handler, context); } /** *

Grants permission to delete a destination

See Also:

AWS * API Reference

*/ virtual Model::DeleteDestinationOutcome DeleteDestination(const Model::DeleteDestinationRequest& request) const; /** * A Callable wrapper for DeleteDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDestinationOutcomeCallable DeleteDestinationCallable(const DeleteDestinationRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::DeleteDestination, request); } /** * An Async wrapper for DeleteDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDestinationAsync(const DeleteDestinationRequestT& request, const DeleteDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::DeleteDestination, request, handler, context); } /** *

Grants permission to delete a site

See Also:

AWS * API Reference

*/ virtual Model::DeleteSiteOutcome DeleteSite(const Model::DeleteSiteRequest& request) const; /** * A Callable wrapper for DeleteSite that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSiteOutcomeCallable DeleteSiteCallable(const DeleteSiteRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::DeleteSite, request); } /** * An Async wrapper for DeleteSite that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSiteAsync(const DeleteSiteRequestT& request, const DeleteSiteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::DeleteSite, request, handler, context); } /** *

Grants permission to delete a worker

See Also:

AWS * API Reference

*/ virtual Model::DeleteWorkerOutcome DeleteWorker(const Model::DeleteWorkerRequest& request) const; /** * A Callable wrapper for DeleteWorker that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteWorkerOutcomeCallable DeleteWorkerCallable(const DeleteWorkerRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::DeleteWorker, request); } /** * An Async wrapper for DeleteWorker that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteWorkerAsync(const DeleteWorkerRequestT& request, const DeleteWorkerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::DeleteWorker, request, handler, context); } /** *

Grants permission to delete a worker fleet

See Also:

AWS * API Reference

*/ virtual Model::DeleteWorkerFleetOutcome DeleteWorkerFleet(const Model::DeleteWorkerFleetRequest& request) const; /** * A Callable wrapper for DeleteWorkerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteWorkerFleetOutcomeCallable DeleteWorkerFleetCallable(const DeleteWorkerFleetRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::DeleteWorkerFleet, request); } /** * An Async wrapper for DeleteWorkerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteWorkerFleetAsync(const DeleteWorkerFleetRequestT& request, const DeleteWorkerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::DeleteWorkerFleet, request, handler, context); } /** *

Grants permission to get a destination

See Also:

AWS * API Reference

*/ virtual Model::GetDestinationOutcome GetDestination(const Model::GetDestinationRequest& request) const; /** * A Callable wrapper for GetDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDestinationOutcomeCallable GetDestinationCallable(const GetDestinationRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::GetDestination, request); } /** * An Async wrapper for GetDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDestinationAsync(const GetDestinationRequestT& request, const GetDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::GetDestination, request, handler, context); } /** *

Grants permission to get a site

See Also:

AWS * API Reference

*/ virtual Model::GetSiteOutcome GetSite(const Model::GetSiteRequest& request) const; /** * A Callable wrapper for GetSite that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSiteOutcomeCallable GetSiteCallable(const GetSiteRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::GetSite, request); } /** * An Async wrapper for GetSite that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSiteAsync(const GetSiteRequestT& request, const GetSiteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::GetSite, request, handler, context); } /** *

Grants permission to get a worker

See Also:

AWS * API Reference

*/ virtual Model::GetWorkerOutcome GetWorker(const Model::GetWorkerRequest& request) const; /** * A Callable wrapper for GetWorker that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetWorkerOutcomeCallable GetWorkerCallable(const GetWorkerRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::GetWorker, request); } /** * An Async wrapper for GetWorker that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetWorkerAsync(const GetWorkerRequestT& request, const GetWorkerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::GetWorker, request, handler, context); } /** *

Grants permission to get a worker fleet

See Also:

AWS * API Reference

*/ virtual Model::GetWorkerFleetOutcome GetWorkerFleet(const Model::GetWorkerFleetRequest& request) const; /** * A Callable wrapper for GetWorkerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetWorkerFleetOutcomeCallable GetWorkerFleetCallable(const GetWorkerFleetRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::GetWorkerFleet, request); } /** * An Async wrapper for GetWorkerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetWorkerFleetAsync(const GetWorkerFleetRequestT& request, const GetWorkerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::GetWorkerFleet, request, handler, context); } /** *

Grants permission to list destinations

See Also:

AWS * API Reference

*/ virtual Model::ListDestinationsOutcome ListDestinations(const Model::ListDestinationsRequest& request) const; /** * A Callable wrapper for ListDestinations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDestinationsOutcomeCallable ListDestinationsCallable(const ListDestinationsRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::ListDestinations, request); } /** * An Async wrapper for ListDestinations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDestinationsAsync(const ListDestinationsRequestT& request, const ListDestinationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::ListDestinations, request, handler, context); } /** *

Grants permission to list sites

See Also:

AWS * API Reference

*/ virtual Model::ListSitesOutcome ListSites(const Model::ListSitesRequest& request) const; /** * A Callable wrapper for ListSites that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSitesOutcomeCallable ListSitesCallable(const ListSitesRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::ListSites, request); } /** * An Async wrapper for ListSites that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSitesAsync(const ListSitesRequestT& request, const ListSitesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::ListSites, request, handler, context); } /** *

Grants permission to list worker fleets

See Also:

AWS * API Reference

*/ virtual Model::ListWorkerFleetsOutcome ListWorkerFleets(const Model::ListWorkerFleetsRequest& request) const; /** * A Callable wrapper for ListWorkerFleets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListWorkerFleetsOutcomeCallable ListWorkerFleetsCallable(const ListWorkerFleetsRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::ListWorkerFleets, request); } /** * An Async wrapper for ListWorkerFleets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListWorkerFleetsAsync(const ListWorkerFleetsRequestT& request, const ListWorkerFleetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::ListWorkerFleets, request, handler, context); } /** *

Grants permission to list workers

See Also:

AWS * API Reference

*/ virtual Model::ListWorkersOutcome ListWorkers(const Model::ListWorkersRequest& request) const; /** * A Callable wrapper for ListWorkers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListWorkersOutcomeCallable ListWorkersCallable(const ListWorkersRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::ListWorkers, request); } /** * An Async wrapper for ListWorkers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListWorkersAsync(const ListWorkersRequestT& request, const ListWorkersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::ListWorkers, request, handler, context); } /** *

Grants permission to update a destination

See Also:

AWS * API Reference

*/ virtual Model::UpdateDestinationOutcome UpdateDestination(const Model::UpdateDestinationRequest& request) const; /** * A Callable wrapper for UpdateDestination that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDestinationOutcomeCallable UpdateDestinationCallable(const UpdateDestinationRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::UpdateDestination, request); } /** * An Async wrapper for UpdateDestination that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDestinationAsync(const UpdateDestinationRequestT& request, const UpdateDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::UpdateDestination, request, handler, context); } /** *

Grants permission to update a site

See Also:

AWS * API Reference

*/ virtual Model::UpdateSiteOutcome UpdateSite(const Model::UpdateSiteRequest& request) const; /** * A Callable wrapper for UpdateSite that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSiteOutcomeCallable UpdateSiteCallable(const UpdateSiteRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::UpdateSite, request); } /** * An Async wrapper for UpdateSite that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSiteAsync(const UpdateSiteRequestT& request, const UpdateSiteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::UpdateSite, request, handler, context); } /** *

Grants permission to update a worker

See Also:

AWS * API Reference

*/ virtual Model::UpdateWorkerOutcome UpdateWorker(const Model::UpdateWorkerRequest& request) const; /** * A Callable wrapper for UpdateWorker that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateWorkerOutcomeCallable UpdateWorkerCallable(const UpdateWorkerRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::UpdateWorker, request); } /** * An Async wrapper for UpdateWorker that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateWorkerAsync(const UpdateWorkerRequestT& request, const UpdateWorkerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::UpdateWorker, request, handler, context); } /** *

Grants permission to update a worker fleet

See Also:

AWS * API Reference

*/ virtual Model::UpdateWorkerFleetOutcome UpdateWorkerFleet(const Model::UpdateWorkerFleetRequest& request) const; /** * A Callable wrapper for UpdateWorkerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateWorkerFleetOutcomeCallable UpdateWorkerFleetCallable(const UpdateWorkerFleetRequestT& request) const { return SubmitCallable(&IoTRoboRunnerClient::UpdateWorkerFleet, request); } /** * An Async wrapper for UpdateWorkerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateWorkerFleetAsync(const UpdateWorkerFleetRequestT& request, const UpdateWorkerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTRoboRunnerClient::UpdateWorkerFleet, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const IoTRoboRunnerClientConfiguration& clientConfiguration); IoTRoboRunnerClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace IoTRoboRunner } // namespace Aws