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

This is the AWS HealthImaging API Reference. AWS HealthImaging is an * AWS service for storing, accessing, and analyzing medical images. For an * introduction to the service, see the AWS * HealthImaging Developer Guide .

We recommend using one of * the AWS Software Development Kits (SDKs) for your programming language, as they * take care of request authentication, serialization, and connection management. * For more information, see Tools * to build on AWS.

For information about using AWS HealthImaging API * actions in one of the language-specific AWS SDKs, refer to the See Also * link at the end of each section that describes an API action or data type.

*

The following sections list AWS HealthImaging API actions categorized * according to functionality. Links are provided to actions within this Reference, * along with links back to corresponding sections in the AWS HealthImaging * Developer Guide so you can view console procedures and CLI/SDK code * examples.

Data store actions

Import job actions *

Image set access * actions

Image set * modification actions

Tagging actions

* */ class AWS_MEDICALIMAGING_API MedicalImagingClient : 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 MedicalImagingClientConfiguration ClientConfigurationType; typedef MedicalImagingEndpointProvider 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. */ MedicalImagingClient(const Aws::MedicalImaging::MedicalImagingClientConfiguration& clientConfiguration = Aws::MedicalImaging::MedicalImagingClientConfiguration(), 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. */ MedicalImagingClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MedicalImaging::MedicalImagingClientConfiguration& clientConfiguration = Aws::MedicalImaging::MedicalImagingClientConfiguration()); /** * 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 */ MedicalImagingClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MedicalImaging::MedicalImagingClientConfiguration& clientConfiguration = Aws::MedicalImaging::MedicalImagingClientConfiguration()); /* 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. */ MedicalImagingClient(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. */ MedicalImagingClient(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 */ MedicalImagingClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MedicalImagingClient(); /** *

Copy an image set.

See Also:

AWS * API Reference

*/ virtual Model::CopyImageSetOutcome CopyImageSet(const Model::CopyImageSetRequest& request) const; /** * A Callable wrapper for CopyImageSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CopyImageSetOutcomeCallable CopyImageSetCallable(const CopyImageSetRequestT& request) const { return SubmitCallable(&MedicalImagingClient::CopyImageSet, request); } /** * An Async wrapper for CopyImageSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CopyImageSetAsync(const CopyImageSetRequestT& request, const CopyImageSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::CopyImageSet, request, handler, context); } /** *

Create a data store.

See Also:

AWS * API Reference

*/ virtual Model::CreateDatastoreOutcome CreateDatastore(const Model::CreateDatastoreRequest& request) const; /** * A Callable wrapper for CreateDatastore that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDatastoreOutcomeCallable CreateDatastoreCallable(const CreateDatastoreRequestT& request) const { return SubmitCallable(&MedicalImagingClient::CreateDatastore, request); } /** * An Async wrapper for CreateDatastore that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDatastoreAsync(const CreateDatastoreRequestT& request, const CreateDatastoreResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::CreateDatastore, request, handler, context); } /** *

Delete a data store.

Before a data store can be deleted, you * must first delete all image sets within it.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteDatastoreOutcome DeleteDatastore(const Model::DeleteDatastoreRequest& request) const; /** * A Callable wrapper for DeleteDatastore that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDatastoreOutcomeCallable DeleteDatastoreCallable(const DeleteDatastoreRequestT& request) const { return SubmitCallable(&MedicalImagingClient::DeleteDatastore, request); } /** * An Async wrapper for DeleteDatastore that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDatastoreAsync(const DeleteDatastoreRequestT& request, const DeleteDatastoreResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::DeleteDatastore, request, handler, context); } /** *

Delete an image set.

See Also:

AWS * API Reference

*/ virtual Model::DeleteImageSetOutcome DeleteImageSet(const Model::DeleteImageSetRequest& request) const; /** * A Callable wrapper for DeleteImageSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteImageSetOutcomeCallable DeleteImageSetCallable(const DeleteImageSetRequestT& request) const { return SubmitCallable(&MedicalImagingClient::DeleteImageSet, request); } /** * An Async wrapper for DeleteImageSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteImageSetAsync(const DeleteImageSetRequestT& request, const DeleteImageSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::DeleteImageSet, request, handler, context); } /** *

Get the import job properties to learn more about the job or job * progress.

See Also:

AWS * API Reference

*/ virtual Model::GetDICOMImportJobOutcome GetDICOMImportJob(const Model::GetDICOMImportJobRequest& request) const; /** * A Callable wrapper for GetDICOMImportJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDICOMImportJobOutcomeCallable GetDICOMImportJobCallable(const GetDICOMImportJobRequestT& request) const { return SubmitCallable(&MedicalImagingClient::GetDICOMImportJob, request); } /** * An Async wrapper for GetDICOMImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDICOMImportJobAsync(const GetDICOMImportJobRequestT& request, const GetDICOMImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::GetDICOMImportJob, request, handler, context); } /** *

Get data store properties.

See Also:

AWS * API Reference

*/ virtual Model::GetDatastoreOutcome GetDatastore(const Model::GetDatastoreRequest& request) const; /** * A Callable wrapper for GetDatastore that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDatastoreOutcomeCallable GetDatastoreCallable(const GetDatastoreRequestT& request) const { return SubmitCallable(&MedicalImagingClient::GetDatastore, request); } /** * An Async wrapper for GetDatastore that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDatastoreAsync(const GetDatastoreRequestT& request, const GetDatastoreResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::GetDatastore, request, handler, context); } /** *

Get an image frame (pixel data) for an image set.

See Also:

* AWS * API Reference

*/ virtual Model::GetImageFrameOutcome GetImageFrame(const Model::GetImageFrameRequest& request) const; /** * A Callable wrapper for GetImageFrame that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImageFrameOutcomeCallable GetImageFrameCallable(const GetImageFrameRequestT& request) const { return SubmitCallable(&MedicalImagingClient::GetImageFrame, request); } /** * An Async wrapper for GetImageFrame that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImageFrameAsync(const GetImageFrameRequestT& request, const GetImageFrameResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::GetImageFrame, request, handler, context); } /** *

Get image set properties.

See Also:

AWS * API Reference

*/ virtual Model::GetImageSetOutcome GetImageSet(const Model::GetImageSetRequest& request) const; /** * A Callable wrapper for GetImageSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImageSetOutcomeCallable GetImageSetCallable(const GetImageSetRequestT& request) const { return SubmitCallable(&MedicalImagingClient::GetImageSet, request); } /** * An Async wrapper for GetImageSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImageSetAsync(const GetImageSetRequestT& request, const GetImageSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::GetImageSet, request, handler, context); } /** *

Get metadata attributes for an image set.

See Also:

AWS * API Reference

*/ virtual Model::GetImageSetMetadataOutcome GetImageSetMetadata(const Model::GetImageSetMetadataRequest& request) const; /** * A Callable wrapper for GetImageSetMetadata that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetImageSetMetadataOutcomeCallable GetImageSetMetadataCallable(const GetImageSetMetadataRequestT& request) const { return SubmitCallable(&MedicalImagingClient::GetImageSetMetadata, request); } /** * An Async wrapper for GetImageSetMetadata that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetImageSetMetadataAsync(const GetImageSetMetadataRequestT& request, const GetImageSetMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::GetImageSetMetadata, request, handler, context); } /** *

List import jobs created by this AWS account for a specific data * store.

See Also:

AWS * API Reference

*/ virtual Model::ListDICOMImportJobsOutcome ListDICOMImportJobs(const Model::ListDICOMImportJobsRequest& request) const; /** * A Callable wrapper for ListDICOMImportJobs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDICOMImportJobsOutcomeCallable ListDICOMImportJobsCallable(const ListDICOMImportJobsRequestT& request) const { return SubmitCallable(&MedicalImagingClient::ListDICOMImportJobs, request); } /** * An Async wrapper for ListDICOMImportJobs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDICOMImportJobsAsync(const ListDICOMImportJobsRequestT& request, const ListDICOMImportJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::ListDICOMImportJobs, request, handler, context); } /** *

List data stores created by this AWS account.

See Also:

AWS * API Reference

*/ virtual Model::ListDatastoresOutcome ListDatastores(const Model::ListDatastoresRequest& request) const; /** * A Callable wrapper for ListDatastores that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDatastoresOutcomeCallable ListDatastoresCallable(const ListDatastoresRequestT& request) const { return SubmitCallable(&MedicalImagingClient::ListDatastores, request); } /** * An Async wrapper for ListDatastores that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDatastoresAsync(const ListDatastoresRequestT& request, const ListDatastoresResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::ListDatastores, request, handler, context); } /** *

List image set versions.

See Also:

AWS * API Reference

*/ virtual Model::ListImageSetVersionsOutcome ListImageSetVersions(const Model::ListImageSetVersionsRequest& request) const; /** * A Callable wrapper for ListImageSetVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImageSetVersionsOutcomeCallable ListImageSetVersionsCallable(const ListImageSetVersionsRequestT& request) const { return SubmitCallable(&MedicalImagingClient::ListImageSetVersions, request); } /** * An Async wrapper for ListImageSetVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImageSetVersionsAsync(const ListImageSetVersionsRequestT& request, const ListImageSetVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::ListImageSetVersions, request, handler, context); } /** *

Lists all tags associated with a medical imaging 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(&MedicalImagingClient::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(&MedicalImagingClient::ListTagsForResource, request, handler, context); } /** *

Search image sets based on defined input attributes.

See Also:

* AWS * API Reference

*/ virtual Model::SearchImageSetsOutcome SearchImageSets(const Model::SearchImageSetsRequest& request) const; /** * A Callable wrapper for SearchImageSets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SearchImageSetsOutcomeCallable SearchImageSetsCallable(const SearchImageSetsRequestT& request) const { return SubmitCallable(&MedicalImagingClient::SearchImageSets, request); } /** * An Async wrapper for SearchImageSets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SearchImageSetsAsync(const SearchImageSetsRequestT& request, const SearchImageSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::SearchImageSets, request, handler, context); } /** *

Start importing bulk data into an ACTIVE data store. The import * job imports DICOM P10 files found in the S3 prefix specified by the * inputS3Uri parameter. The import job stores processing results in * the file specified by the outputS3Uri parameter.

See * Also:

AWS * API Reference

*/ virtual Model::StartDICOMImportJobOutcome StartDICOMImportJob(const Model::StartDICOMImportJobRequest& request) const; /** * A Callable wrapper for StartDICOMImportJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartDICOMImportJobOutcomeCallable StartDICOMImportJobCallable(const StartDICOMImportJobRequestT& request) const { return SubmitCallable(&MedicalImagingClient::StartDICOMImportJob, request); } /** * An Async wrapper for StartDICOMImportJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartDICOMImportJobAsync(const StartDICOMImportJobRequestT& request, const StartDICOMImportJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::StartDICOMImportJob, request, handler, context); } /** *

Adds a user-specifed key and value tag to a medical imaging * 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(&MedicalImagingClient::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(&MedicalImagingClient::TagResource, request, handler, context); } /** *

Removes tags from a medical imaging resource.

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(&MedicalImagingClient::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(&MedicalImagingClient::UntagResource, request, handler, context); } /** *

Update image set metadata attributes.

See Also:

AWS * API Reference

*/ virtual Model::UpdateImageSetMetadataOutcome UpdateImageSetMetadata(const Model::UpdateImageSetMetadataRequest& request) const; /** * A Callable wrapper for UpdateImageSetMetadata that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateImageSetMetadataOutcomeCallable UpdateImageSetMetadataCallable(const UpdateImageSetMetadataRequestT& request) const { return SubmitCallable(&MedicalImagingClient::UpdateImageSetMetadata, request); } /** * An Async wrapper for UpdateImageSetMetadata that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateImageSetMetadataAsync(const UpdateImageSetMetadataRequestT& request, const UpdateImageSetMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MedicalImagingClient::UpdateImageSetMetadata, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MedicalImagingClientConfiguration& clientConfiguration); MedicalImagingClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace MedicalImaging } // namespace Aws