/**
* 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 SageMakerGeospatial
{
/**
* Provides APIs for creating and managing SageMaker geospatial resources.
*/
class AWS_SAGEMAKERGEOSPATIAL_API SageMakerGeospatialClient : 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 SageMakerGeospatialClientConfiguration ClientConfigurationType;
typedef SageMakerGeospatialEndpointProvider 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.
*/
SageMakerGeospatialClient(const Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration& clientConfiguration = Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration(),
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.
*/
SageMakerGeospatialClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration& clientConfiguration = Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration());
/**
* 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
*/
SageMakerGeospatialClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration& clientConfiguration = Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration());
/* 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.
*/
SageMakerGeospatialClient(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.
*/
SageMakerGeospatialClient(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
*/
SageMakerGeospatialClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~SageMakerGeospatialClient();
/**
* Use this operation to delete an Earth Observation job.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteEarthObservationJobOutcome DeleteEarthObservationJob(const Model::DeleteEarthObservationJobRequest& request) const;
/**
* A Callable wrapper for DeleteEarthObservationJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEarthObservationJobOutcomeCallable DeleteEarthObservationJobCallable(const DeleteEarthObservationJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::DeleteEarthObservationJob, request);
}
/**
* An Async wrapper for DeleteEarthObservationJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEarthObservationJobAsync(const DeleteEarthObservationJobRequestT& request, const DeleteEarthObservationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::DeleteEarthObservationJob, request, handler, context);
}
/**
* Use this operation to delete a Vector Enrichment job.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteVectorEnrichmentJobOutcome DeleteVectorEnrichmentJob(const Model::DeleteVectorEnrichmentJobRequest& request) const;
/**
* A Callable wrapper for DeleteVectorEnrichmentJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteVectorEnrichmentJobOutcomeCallable DeleteVectorEnrichmentJobCallable(const DeleteVectorEnrichmentJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::DeleteVectorEnrichmentJob, request);
}
/**
* An Async wrapper for DeleteVectorEnrichmentJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteVectorEnrichmentJobAsync(const DeleteVectorEnrichmentJobRequestT& request, const DeleteVectorEnrichmentJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::DeleteVectorEnrichmentJob, request, handler, context);
}
/**
* Use this operation to export results of an Earth Observation job and
* optionally source images used as input to the EOJ to an Amazon S3
* location.
See Also:
AWS
* API Reference
*/
virtual Model::ExportEarthObservationJobOutcome ExportEarthObservationJob(const Model::ExportEarthObservationJobRequest& request) const;
/**
* A Callable wrapper for ExportEarthObservationJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ExportEarthObservationJobOutcomeCallable ExportEarthObservationJobCallable(const ExportEarthObservationJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::ExportEarthObservationJob, request);
}
/**
* An Async wrapper for ExportEarthObservationJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ExportEarthObservationJobAsync(const ExportEarthObservationJobRequestT& request, const ExportEarthObservationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::ExportEarthObservationJob, request, handler, context);
}
/**
* Use this operation to copy results of a Vector Enrichment job to an Amazon S3
* location.
See Also:
AWS
* API Reference
*/
virtual Model::ExportVectorEnrichmentJobOutcome ExportVectorEnrichmentJob(const Model::ExportVectorEnrichmentJobRequest& request) const;
/**
* A Callable wrapper for ExportVectorEnrichmentJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ExportVectorEnrichmentJobOutcomeCallable ExportVectorEnrichmentJobCallable(const ExportVectorEnrichmentJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::ExportVectorEnrichmentJob, request);
}
/**
* An Async wrapper for ExportVectorEnrichmentJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ExportVectorEnrichmentJobAsync(const ExportVectorEnrichmentJobRequestT& request, const ExportVectorEnrichmentJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::ExportVectorEnrichmentJob, request, handler, context);
}
/**
* Get the details for a previously initiated Earth Observation
* job.
See Also:
AWS
* API Reference
*/
virtual Model::GetEarthObservationJobOutcome GetEarthObservationJob(const Model::GetEarthObservationJobRequest& request) const;
/**
* A Callable wrapper for GetEarthObservationJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetEarthObservationJobOutcomeCallable GetEarthObservationJobCallable(const GetEarthObservationJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::GetEarthObservationJob, request);
}
/**
* An Async wrapper for GetEarthObservationJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetEarthObservationJobAsync(const GetEarthObservationJobRequestT& request, const GetEarthObservationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::GetEarthObservationJob, request, handler, context);
}
/**
* Use this operation to get details of a specific raster data
* collection.
See Also:
AWS
* API Reference
*/
virtual Model::GetRasterDataCollectionOutcome GetRasterDataCollection(const Model::GetRasterDataCollectionRequest& request) const;
/**
* A Callable wrapper for GetRasterDataCollection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetRasterDataCollectionOutcomeCallable GetRasterDataCollectionCallable(const GetRasterDataCollectionRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::GetRasterDataCollection, request);
}
/**
* An Async wrapper for GetRasterDataCollection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetRasterDataCollectionAsync(const GetRasterDataCollectionRequestT& request, const GetRasterDataCollectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::GetRasterDataCollection, request, handler, context);
}
/**
* Gets a web mercator tile for the given Earth Observation job.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetTileOutcome GetTile(const Model::GetTileRequest& request) const;
/**
* A Callable wrapper for GetTile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTileOutcomeCallable GetTileCallable(const GetTileRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::GetTile, request);
}
/**
* An Async wrapper for GetTile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTileAsync(const GetTileRequestT& request, const GetTileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::GetTile, request, handler, context);
}
/**
* Retrieves details of a Vector Enrichment Job for a given job Amazon Resource
* Name (ARN).
See Also:
AWS
* API Reference
*/
virtual Model::GetVectorEnrichmentJobOutcome GetVectorEnrichmentJob(const Model::GetVectorEnrichmentJobRequest& request) const;
/**
* A Callable wrapper for GetVectorEnrichmentJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetVectorEnrichmentJobOutcomeCallable GetVectorEnrichmentJobCallable(const GetVectorEnrichmentJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::GetVectorEnrichmentJob, request);
}
/**
* An Async wrapper for GetVectorEnrichmentJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetVectorEnrichmentJobAsync(const GetVectorEnrichmentJobRequestT& request, const GetVectorEnrichmentJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::GetVectorEnrichmentJob, request, handler, context);
}
/**
* Use this operation to get a list of the Earth Observation jobs associated
* with the calling Amazon Web Services account.
See Also:
AWS
* API Reference
*/
virtual Model::ListEarthObservationJobsOutcome ListEarthObservationJobs(const Model::ListEarthObservationJobsRequest& request) const;
/**
* A Callable wrapper for ListEarthObservationJobs that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEarthObservationJobsOutcomeCallable ListEarthObservationJobsCallable(const ListEarthObservationJobsRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::ListEarthObservationJobs, request);
}
/**
* An Async wrapper for ListEarthObservationJobs that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEarthObservationJobsAsync(const ListEarthObservationJobsRequestT& request, const ListEarthObservationJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::ListEarthObservationJobs, request, handler, context);
}
/**
* Use this operation to get raster data collections.
See Also:
* AWS
* API Reference
*/
virtual Model::ListRasterDataCollectionsOutcome ListRasterDataCollections(const Model::ListRasterDataCollectionsRequest& request) const;
/**
* A Callable wrapper for ListRasterDataCollections that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRasterDataCollectionsOutcomeCallable ListRasterDataCollectionsCallable(const ListRasterDataCollectionsRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::ListRasterDataCollections, request);
}
/**
* An Async wrapper for ListRasterDataCollections that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRasterDataCollectionsAsync(const ListRasterDataCollectionsRequestT& request, const ListRasterDataCollectionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::ListRasterDataCollections, request, handler, context);
}
/**
* Lists the tags attached to the 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(&SageMakerGeospatialClient::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(&SageMakerGeospatialClient::ListTagsForResource, request, handler, context);
}
/**
* Retrieves a list of vector enrichment jobs.
See Also:
AWS
* API Reference
*/
virtual Model::ListVectorEnrichmentJobsOutcome ListVectorEnrichmentJobs(const Model::ListVectorEnrichmentJobsRequest& request) const;
/**
* A Callable wrapper for ListVectorEnrichmentJobs that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListVectorEnrichmentJobsOutcomeCallable ListVectorEnrichmentJobsCallable(const ListVectorEnrichmentJobsRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::ListVectorEnrichmentJobs, request);
}
/**
* An Async wrapper for ListVectorEnrichmentJobs that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListVectorEnrichmentJobsAsync(const ListVectorEnrichmentJobsRequestT& request, const ListVectorEnrichmentJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::ListVectorEnrichmentJobs, request, handler, context);
}
/**
* Allows you run image query on a specific raster data collection to get a list
* of the satellite imagery matching the selected filters.
See Also:
* AWS
* API Reference
*/
virtual Model::SearchRasterDataCollectionOutcome SearchRasterDataCollection(const Model::SearchRasterDataCollectionRequest& request) const;
/**
* A Callable wrapper for SearchRasterDataCollection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchRasterDataCollectionOutcomeCallable SearchRasterDataCollectionCallable(const SearchRasterDataCollectionRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::SearchRasterDataCollection, request);
}
/**
* An Async wrapper for SearchRasterDataCollection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchRasterDataCollectionAsync(const SearchRasterDataCollectionRequestT& request, const SearchRasterDataCollectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::SearchRasterDataCollection, request, handler, context);
}
/**
* Use this operation to create an Earth observation job.
See
* Also:
AWS
* API Reference
*/
virtual Model::StartEarthObservationJobOutcome StartEarthObservationJob(const Model::StartEarthObservationJobRequest& request) const;
/**
* A Callable wrapper for StartEarthObservationJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartEarthObservationJobOutcomeCallable StartEarthObservationJobCallable(const StartEarthObservationJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::StartEarthObservationJob, request);
}
/**
* An Async wrapper for StartEarthObservationJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartEarthObservationJobAsync(const StartEarthObservationJobRequestT& request, const StartEarthObservationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::StartEarthObservationJob, request, handler, context);
}
/**
* Creates a Vector Enrichment job for the supplied job type. Currently, there
* are two supported job types: reverse geocoding and map matching.
See
* Also:
AWS
* API Reference
*/
virtual Model::StartVectorEnrichmentJobOutcome StartVectorEnrichmentJob(const Model::StartVectorEnrichmentJobRequest& request) const;
/**
* A Callable wrapper for StartVectorEnrichmentJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartVectorEnrichmentJobOutcomeCallable StartVectorEnrichmentJobCallable(const StartVectorEnrichmentJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::StartVectorEnrichmentJob, request);
}
/**
* An Async wrapper for StartVectorEnrichmentJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartVectorEnrichmentJobAsync(const StartVectorEnrichmentJobRequestT& request, const StartVectorEnrichmentJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::StartVectorEnrichmentJob, request, handler, context);
}
/**
* Use this operation to stop an existing earth observation job.
See
* Also:
AWS
* API Reference
*/
virtual Model::StopEarthObservationJobOutcome StopEarthObservationJob(const Model::StopEarthObservationJobRequest& request) const;
/**
* A Callable wrapper for StopEarthObservationJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StopEarthObservationJobOutcomeCallable StopEarthObservationJobCallable(const StopEarthObservationJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::StopEarthObservationJob, request);
}
/**
* An Async wrapper for StopEarthObservationJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StopEarthObservationJobAsync(const StopEarthObservationJobRequestT& request, const StopEarthObservationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::StopEarthObservationJob, request, handler, context);
}
/**
* Stops the Vector Enrichment job for a given job ARN.
See Also:
* AWS
* API Reference
*/
virtual Model::StopVectorEnrichmentJobOutcome StopVectorEnrichmentJob(const Model::StopVectorEnrichmentJobRequest& request) const;
/**
* A Callable wrapper for StopVectorEnrichmentJob that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StopVectorEnrichmentJobOutcomeCallable StopVectorEnrichmentJobCallable(const StopVectorEnrichmentJobRequestT& request) const
{
return SubmitCallable(&SageMakerGeospatialClient::StopVectorEnrichmentJob, request);
}
/**
* An Async wrapper for StopVectorEnrichmentJob that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StopVectorEnrichmentJobAsync(const StopVectorEnrichmentJobRequestT& request, const StopVectorEnrichmentJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&SageMakerGeospatialClient::StopVectorEnrichmentJob, request, handler, context);
}
/**
* The resource you want to tag.
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(&SageMakerGeospatialClient::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(&SageMakerGeospatialClient::TagResource, request, handler, context);
}
/**
* The resource you want to untag.
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(&SageMakerGeospatialClient::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(&SageMakerGeospatialClient::UntagResource, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const SageMakerGeospatialClientConfiguration& clientConfiguration);
SageMakerGeospatialClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace SageMakerGeospatial
} // namespace Aws