/**
* 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 GroundStation
{
/**
* Welcome to the AWS Ground Station API Reference. AWS Ground Station is a
* fully managed service that enables you to control satellite communications,
* downlink and process satellite data, and scale your satellite operations
* efficiently and cost-effectively without having to build or manage your own
* ground station infrastructure.
*/
class AWS_GROUNDSTATION_API GroundStationClient : 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 GroundStationClientConfiguration ClientConfigurationType;
typedef GroundStationEndpointProvider 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.
*/
GroundStationClient(const Aws::GroundStation::GroundStationClientConfiguration& clientConfiguration = Aws::GroundStation::GroundStationClientConfiguration(),
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.
*/
GroundStationClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::GroundStation::GroundStationClientConfiguration& clientConfiguration = Aws::GroundStation::GroundStationClientConfiguration());
/**
* 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
*/
GroundStationClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::GroundStation::GroundStationClientConfiguration& clientConfiguration = Aws::GroundStation::GroundStationClientConfiguration());
/* 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.
*/
GroundStationClient(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.
*/
GroundStationClient(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
*/
GroundStationClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~GroundStationClient();
/**
* Cancels a contact with a specified contact ID.
See Also:
AWS
* API Reference
*/
virtual Model::CancelContactOutcome CancelContact(const Model::CancelContactRequest& request) const;
/**
* A Callable wrapper for CancelContact that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelContactOutcomeCallable CancelContactCallable(const CancelContactRequestT& request) const
{
return SubmitCallable(&GroundStationClient::CancelContact, request);
}
/**
* An Async wrapper for CancelContact that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelContactAsync(const CancelContactRequestT& request, const CancelContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::CancelContact, request, handler, context);
}
/**
* Creates a Config
with the specified configData
* parameters.
Only one type of configData
can be
* specified.
See Also:
AWS
* API Reference
*/
virtual Model::CreateConfigOutcome CreateConfig(const Model::CreateConfigRequest& request) const;
/**
* A Callable wrapper for CreateConfig that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateConfigOutcomeCallable CreateConfigCallable(const CreateConfigRequestT& request) const
{
return SubmitCallable(&GroundStationClient::CreateConfig, request);
}
/**
* An Async wrapper for CreateConfig that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateConfigAsync(const CreateConfigRequestT& request, const CreateConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::CreateConfig, request, handler, context);
}
/**
* Creates a DataflowEndpoint
group containing the specified list
* of DataflowEndpoint
objects.
The name
field in
* each endpoint is used in your mission profile
* DataflowEndpointConfig
to specify which endpoints to use during a
* contact.
When a contact uses multiple DataflowEndpointConfig
* objects, each Config
must match a DataflowEndpoint
in
* the same group.
See Also:
AWS
* API Reference
*/
virtual Model::CreateDataflowEndpointGroupOutcome CreateDataflowEndpointGroup(const Model::CreateDataflowEndpointGroupRequest& request) const;
/**
* A Callable wrapper for CreateDataflowEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateDataflowEndpointGroupOutcomeCallable CreateDataflowEndpointGroupCallable(const CreateDataflowEndpointGroupRequestT& request) const
{
return SubmitCallable(&GroundStationClient::CreateDataflowEndpointGroup, request);
}
/**
* An Async wrapper for CreateDataflowEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateDataflowEndpointGroupAsync(const CreateDataflowEndpointGroupRequestT& request, const CreateDataflowEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::CreateDataflowEndpointGroup, request, handler, context);
}
/**
* Creates an Ephemeris with the specified
* EphemerisData
.
See Also:
AWS
* API Reference
*/
virtual Model::CreateEphemerisOutcome CreateEphemeris(const Model::CreateEphemerisRequest& request) const;
/**
* A Callable wrapper for CreateEphemeris that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateEphemerisOutcomeCallable CreateEphemerisCallable(const CreateEphemerisRequestT& request) const
{
return SubmitCallable(&GroundStationClient::CreateEphemeris, request);
}
/**
* An Async wrapper for CreateEphemeris that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateEphemerisAsync(const CreateEphemerisRequestT& request, const CreateEphemerisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::CreateEphemeris, request, handler, context);
}
/**
* Creates a mission profile.
dataflowEdges
is a list of
* lists of strings. Each lower level list of strings has two elements: a
* from ARN and a to ARN.
See Also:
AWS
* API Reference
*/
virtual Model::CreateMissionProfileOutcome CreateMissionProfile(const Model::CreateMissionProfileRequest& request) const;
/**
* A Callable wrapper for CreateMissionProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateMissionProfileOutcomeCallable CreateMissionProfileCallable(const CreateMissionProfileRequestT& request) const
{
return SubmitCallable(&GroundStationClient::CreateMissionProfile, request);
}
/**
* An Async wrapper for CreateMissionProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateMissionProfileAsync(const CreateMissionProfileRequestT& request, const CreateMissionProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::CreateMissionProfile, request, handler, context);
}
/**
* Deletes a Config
.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteConfigOutcome DeleteConfig(const Model::DeleteConfigRequest& request) const;
/**
* A Callable wrapper for DeleteConfig that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteConfigOutcomeCallable DeleteConfigCallable(const DeleteConfigRequestT& request) const
{
return SubmitCallable(&GroundStationClient::DeleteConfig, request);
}
/**
* An Async wrapper for DeleteConfig that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteConfigAsync(const DeleteConfigRequestT& request, const DeleteConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::DeleteConfig, request, handler, context);
}
/**
* Deletes a dataflow endpoint group.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDataflowEndpointGroupOutcome DeleteDataflowEndpointGroup(const Model::DeleteDataflowEndpointGroupRequest& request) const;
/**
* A Callable wrapper for DeleteDataflowEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDataflowEndpointGroupOutcomeCallable DeleteDataflowEndpointGroupCallable(const DeleteDataflowEndpointGroupRequestT& request) const
{
return SubmitCallable(&GroundStationClient::DeleteDataflowEndpointGroup, request);
}
/**
* An Async wrapper for DeleteDataflowEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDataflowEndpointGroupAsync(const DeleteDataflowEndpointGroupRequestT& request, const DeleteDataflowEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::DeleteDataflowEndpointGroup, request, handler, context);
}
/**
* Deletes an ephemeris
See Also:
AWS
* API Reference
*/
virtual Model::DeleteEphemerisOutcome DeleteEphemeris(const Model::DeleteEphemerisRequest& request) const;
/**
* A Callable wrapper for DeleteEphemeris that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEphemerisOutcomeCallable DeleteEphemerisCallable(const DeleteEphemerisRequestT& request) const
{
return SubmitCallable(&GroundStationClient::DeleteEphemeris, request);
}
/**
* An Async wrapper for DeleteEphemeris that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEphemerisAsync(const DeleteEphemerisRequestT& request, const DeleteEphemerisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::DeleteEphemeris, request, handler, context);
}
/**
* Deletes a mission profile.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteMissionProfileOutcome DeleteMissionProfile(const Model::DeleteMissionProfileRequest& request) const;
/**
* A Callable wrapper for DeleteMissionProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteMissionProfileOutcomeCallable DeleteMissionProfileCallable(const DeleteMissionProfileRequestT& request) const
{
return SubmitCallable(&GroundStationClient::DeleteMissionProfile, request);
}
/**
* An Async wrapper for DeleteMissionProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteMissionProfileAsync(const DeleteMissionProfileRequestT& request, const DeleteMissionProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::DeleteMissionProfile, request, handler, context);
}
/**
* Describes an existing contact.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeContactOutcome DescribeContact(const Model::DescribeContactRequest& request) const;
/**
* A Callable wrapper for DescribeContact that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeContactOutcomeCallable DescribeContactCallable(const DescribeContactRequestT& request) const
{
return SubmitCallable(&GroundStationClient::DescribeContact, request);
}
/**
* An Async wrapper for DescribeContact that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeContactAsync(const DescribeContactRequestT& request, const DescribeContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::DescribeContact, request, handler, context);
}
/**
* Describes an existing ephemeris.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeEphemerisOutcome DescribeEphemeris(const Model::DescribeEphemerisRequest& request) const;
/**
* A Callable wrapper for DescribeEphemeris that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeEphemerisOutcomeCallable DescribeEphemerisCallable(const DescribeEphemerisRequestT& request) const
{
return SubmitCallable(&GroundStationClient::DescribeEphemeris, request);
}
/**
* An Async wrapper for DescribeEphemeris that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeEphemerisAsync(const DescribeEphemerisRequestT& request, const DescribeEphemerisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::DescribeEphemeris, request, handler, context);
}
/**
* For use by AWS Ground Station Agent and shouldn't be called
* directly.
Gets the latest configuration information for a
* registered agent.
See Also:
AWS
* API Reference
*/
virtual Model::GetAgentConfigurationOutcome GetAgentConfiguration(const Model::GetAgentConfigurationRequest& request) const;
/**
* A Callable wrapper for GetAgentConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAgentConfigurationOutcomeCallable GetAgentConfigurationCallable(const GetAgentConfigurationRequestT& request) const
{
return SubmitCallable(&GroundStationClient::GetAgentConfiguration, request);
}
/**
* An Async wrapper for GetAgentConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAgentConfigurationAsync(const GetAgentConfigurationRequestT& request, const GetAgentConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::GetAgentConfiguration, request, handler, context);
}
/**
* Returns Config
information.
Only one Config
* response can be returned.
See Also:
AWS
* API Reference
*/
virtual Model::GetConfigOutcome GetConfig(const Model::GetConfigRequest& request) const;
/**
* A Callable wrapper for GetConfig that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetConfigOutcomeCallable GetConfigCallable(const GetConfigRequestT& request) const
{
return SubmitCallable(&GroundStationClient::GetConfig, request);
}
/**
* An Async wrapper for GetConfig that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetConfigAsync(const GetConfigRequestT& request, const GetConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::GetConfig, request, handler, context);
}
/**
* Returns the dataflow endpoint group.
See Also:
AWS
* API Reference
*/
virtual Model::GetDataflowEndpointGroupOutcome GetDataflowEndpointGroup(const Model::GetDataflowEndpointGroupRequest& request) const;
/**
* A Callable wrapper for GetDataflowEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDataflowEndpointGroupOutcomeCallable GetDataflowEndpointGroupCallable(const GetDataflowEndpointGroupRequestT& request) const
{
return SubmitCallable(&GroundStationClient::GetDataflowEndpointGroup, request);
}
/**
* An Async wrapper for GetDataflowEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDataflowEndpointGroupAsync(const GetDataflowEndpointGroupRequestT& request, const GetDataflowEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::GetDataflowEndpointGroup, request, handler, context);
}
/**
* Returns the number of reserved minutes used by account.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetMinuteUsageOutcome GetMinuteUsage(const Model::GetMinuteUsageRequest& request) const;
/**
* A Callable wrapper for GetMinuteUsage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMinuteUsageOutcomeCallable GetMinuteUsageCallable(const GetMinuteUsageRequestT& request) const
{
return SubmitCallable(&GroundStationClient::GetMinuteUsage, request);
}
/**
* An Async wrapper for GetMinuteUsage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMinuteUsageAsync(const GetMinuteUsageRequestT& request, const GetMinuteUsageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::GetMinuteUsage, request, handler, context);
}
/**
* Returns a mission profile.
See Also:
AWS
* API Reference
*/
virtual Model::GetMissionProfileOutcome GetMissionProfile(const Model::GetMissionProfileRequest& request) const;
/**
* A Callable wrapper for GetMissionProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMissionProfileOutcomeCallable GetMissionProfileCallable(const GetMissionProfileRequestT& request) const
{
return SubmitCallable(&GroundStationClient::GetMissionProfile, request);
}
/**
* An Async wrapper for GetMissionProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMissionProfileAsync(const GetMissionProfileRequestT& request, const GetMissionProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::GetMissionProfile, request, handler, context);
}
/**
* Returns a satellite.
See Also:
AWS
* API Reference
*/
virtual Model::GetSatelliteOutcome GetSatellite(const Model::GetSatelliteRequest& request) const;
/**
* A Callable wrapper for GetSatellite that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetSatelliteOutcomeCallable GetSatelliteCallable(const GetSatelliteRequestT& request) const
{
return SubmitCallable(&GroundStationClient::GetSatellite, request);
}
/**
* An Async wrapper for GetSatellite that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetSatelliteAsync(const GetSatelliteRequestT& request, const GetSatelliteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::GetSatellite, request, handler, context);
}
/**
* Returns a list of Config
objects.
See Also:
AWS
* API Reference
*/
virtual Model::ListConfigsOutcome ListConfigs(const Model::ListConfigsRequest& request) const;
/**
* A Callable wrapper for ListConfigs that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListConfigsOutcomeCallable ListConfigsCallable(const ListConfigsRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListConfigs, request);
}
/**
* An Async wrapper for ListConfigs that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListConfigsAsync(const ListConfigsRequestT& request, const ListConfigsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListConfigs, request, handler, context);
}
/**
* Returns a list of contacts.
If statusList
contains
* AVAILABLE, the request must include groundStation
,
* missionprofileArn
, and satelliteArn
.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListContactsOutcome ListContacts(const Model::ListContactsRequest& request) const;
/**
* A Callable wrapper for ListContacts that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListContactsOutcomeCallable ListContactsCallable(const ListContactsRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListContacts, request);
}
/**
* An Async wrapper for ListContacts that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListContactsAsync(const ListContactsRequestT& request, const ListContactsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListContacts, request, handler, context);
}
/**
* Returns a list of DataflowEndpoint
groups.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListDataflowEndpointGroupsOutcome ListDataflowEndpointGroups(const Model::ListDataflowEndpointGroupsRequest& request) const;
/**
* A Callable wrapper for ListDataflowEndpointGroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDataflowEndpointGroupsOutcomeCallable ListDataflowEndpointGroupsCallable(const ListDataflowEndpointGroupsRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListDataflowEndpointGroups, request);
}
/**
* An Async wrapper for ListDataflowEndpointGroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDataflowEndpointGroupsAsync(const ListDataflowEndpointGroupsRequestT& request, const ListDataflowEndpointGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListDataflowEndpointGroups, request, handler, context);
}
/**
* List existing ephemerides.
See Also:
AWS
* API Reference
*/
virtual Model::ListEphemeridesOutcome ListEphemerides(const Model::ListEphemeridesRequest& request) const;
/**
* A Callable wrapper for ListEphemerides that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEphemeridesOutcomeCallable ListEphemeridesCallable(const ListEphemeridesRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListEphemerides, request);
}
/**
* An Async wrapper for ListEphemerides that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEphemeridesAsync(const ListEphemeridesRequestT& request, const ListEphemeridesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListEphemerides, request, handler, context);
}
/**
* Returns a list of ground stations.
See Also:
AWS
* API Reference
*/
virtual Model::ListGroundStationsOutcome ListGroundStations(const Model::ListGroundStationsRequest& request) const;
/**
* A Callable wrapper for ListGroundStations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListGroundStationsOutcomeCallable ListGroundStationsCallable(const ListGroundStationsRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListGroundStations, request);
}
/**
* An Async wrapper for ListGroundStations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListGroundStationsAsync(const ListGroundStationsRequestT& request, const ListGroundStationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListGroundStations, request, handler, context);
}
/**
* Returns a list of mission profiles.
See Also:
AWS
* API Reference
*/
virtual Model::ListMissionProfilesOutcome ListMissionProfiles(const Model::ListMissionProfilesRequest& request) const;
/**
* A Callable wrapper for ListMissionProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMissionProfilesOutcomeCallable ListMissionProfilesCallable(const ListMissionProfilesRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListMissionProfiles, request);
}
/**
* An Async wrapper for ListMissionProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMissionProfilesAsync(const ListMissionProfilesRequestT& request, const ListMissionProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListMissionProfiles, request, handler, context);
}
/**
* Returns a list of satellites.
See Also:
AWS
* API Reference
*/
virtual Model::ListSatellitesOutcome ListSatellites(const Model::ListSatellitesRequest& request) const;
/**
* A Callable wrapper for ListSatellites that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListSatellitesOutcomeCallable ListSatellitesCallable(const ListSatellitesRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListSatellites, request);
}
/**
* An Async wrapper for ListSatellites that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListSatellitesAsync(const ListSatellitesRequestT& request, const ListSatellitesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListSatellites, request, handler, context);
}
/**
* Returns a list of tags for a specified resource.
See Also:
* AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ListTagsForResource, request, handler, context);
}
/**
* For use by AWS Ground Station Agent and shouldn't be called
* directly.
Registers a new agent with AWS Ground Station.
*
See Also:
AWS
* API Reference
*/
virtual Model::RegisterAgentOutcome RegisterAgent(const Model::RegisterAgentRequest& request) const;
/**
* A Callable wrapper for RegisterAgent that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RegisterAgentOutcomeCallable RegisterAgentCallable(const RegisterAgentRequestT& request) const
{
return SubmitCallable(&GroundStationClient::RegisterAgent, request);
}
/**
* An Async wrapper for RegisterAgent that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RegisterAgentAsync(const RegisterAgentRequestT& request, const RegisterAgentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::RegisterAgent, request, handler, context);
}
/**
* Reserves a contact using specified parameters.
See Also:
AWS
* API Reference
*/
virtual Model::ReserveContactOutcome ReserveContact(const Model::ReserveContactRequest& request) const;
/**
* A Callable wrapper for ReserveContact that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ReserveContactOutcomeCallable ReserveContactCallable(const ReserveContactRequestT& request) const
{
return SubmitCallable(&GroundStationClient::ReserveContact, request);
}
/**
* An Async wrapper for ReserveContact that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ReserveContactAsync(const ReserveContactRequestT& request, const ReserveContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::ReserveContact, request, handler, context);
}
/**
* Assigns a tag to a resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&GroundStationClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::TagResource, request, handler, context);
}
/**
* Deassigns a resource tag.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&GroundStationClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::UntagResource, request, handler, context);
}
/**
* For use by AWS Ground Station Agent and shouldn't be called
* directly.
Update the status of the agent.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateAgentStatusOutcome UpdateAgentStatus(const Model::UpdateAgentStatusRequest& request) const;
/**
* A Callable wrapper for UpdateAgentStatus that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateAgentStatusOutcomeCallable UpdateAgentStatusCallable(const UpdateAgentStatusRequestT& request) const
{
return SubmitCallable(&GroundStationClient::UpdateAgentStatus, request);
}
/**
* An Async wrapper for UpdateAgentStatus that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateAgentStatusAsync(const UpdateAgentStatusRequestT& request, const UpdateAgentStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::UpdateAgentStatus, request, handler, context);
}
/**
* Updates the Config
used when scheduling contacts.
* Updating a Config
will not update the execution parameters for
* existing future contacts scheduled with this Config
.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateConfigOutcome UpdateConfig(const Model::UpdateConfigRequest& request) const;
/**
* A Callable wrapper for UpdateConfig that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateConfigOutcomeCallable UpdateConfigCallable(const UpdateConfigRequestT& request) const
{
return SubmitCallable(&GroundStationClient::UpdateConfig, request);
}
/**
* An Async wrapper for UpdateConfig that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateConfigAsync(const UpdateConfigRequestT& request, const UpdateConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::UpdateConfig, request, handler, context);
}
/**
* Updates an existing ephemeris
See Also:
AWS
* API Reference
*/
virtual Model::UpdateEphemerisOutcome UpdateEphemeris(const Model::UpdateEphemerisRequest& request) const;
/**
* A Callable wrapper for UpdateEphemeris that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateEphemerisOutcomeCallable UpdateEphemerisCallable(const UpdateEphemerisRequestT& request) const
{
return SubmitCallable(&GroundStationClient::UpdateEphemeris, request);
}
/**
* An Async wrapper for UpdateEphemeris that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateEphemerisAsync(const UpdateEphemerisRequestT& request, const UpdateEphemerisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::UpdateEphemeris, request, handler, context);
}
/**
* Updates a mission profile.
Updating a mission profile will not update
* the execution parameters for existing future contacts.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateMissionProfileOutcome UpdateMissionProfile(const Model::UpdateMissionProfileRequest& request) const;
/**
* A Callable wrapper for UpdateMissionProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateMissionProfileOutcomeCallable UpdateMissionProfileCallable(const UpdateMissionProfileRequestT& request) const
{
return SubmitCallable(&GroundStationClient::UpdateMissionProfile, request);
}
/**
* An Async wrapper for UpdateMissionProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateMissionProfileAsync(const UpdateMissionProfileRequestT& request, const UpdateMissionProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GroundStationClient::UpdateMissionProfile, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const GroundStationClientConfiguration& clientConfiguration);
GroundStationClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace GroundStation
} // namespace Aws