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