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