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