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