7#include <aws/ebs/EBS_EXPORTS.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/core/client/AWSClient.h>
10#include <aws/core/client/AWSClientAsyncCRTP.h>
11#include <aws/core/utils/json/JsonSerializer.h>
12#include <aws/ebs/EBSServiceClientModel.h>
60 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr);
67 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr,
74 EBSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
75 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr,
97 EBSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
122 template<
typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
125 return SubmitCallable(&EBSClient::CompleteSnapshot, request);
131 template<
typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
134 return SubmitAsync(&EBSClient::CompleteSnapshot, request, handler, context);
154 template<
typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
157 return SubmitCallable(&EBSClient::GetSnapshotBlock, request);
163 template<
typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
166 return SubmitAsync(&EBSClient::GetSnapshotBlock, request, handler, context);
187 template<
typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
190 return SubmitCallable(&EBSClient::ListChangedBlocks, request);
196 template<
typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
199 return SubmitAsync(&EBSClient::ListChangedBlocks, request, handler, context);
219 template<
typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
222 return SubmitCallable(&EBSClient::ListSnapshotBlocks, request);
228 template<
typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
231 return SubmitAsync(&EBSClient::ListSnapshotBlocks, request, handler, context);
253 template<
typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
256 return SubmitCallable(&EBSClient::PutSnapshotBlock, request);
262 template<
typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
265 return SubmitAsync(&EBSClient::PutSnapshotBlock, request, handler, context);
289 template<
typename StartSnapshotRequestT = Model::StartSnapshotRequest>
292 return SubmitCallable(&EBSClient::StartSnapshot, request);
298 template<
typename StartSnapshotRequestT = Model::StartSnapshotRequest>
301 return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context);
312 std::shared_ptr<EBSEndpointProviderBase> m_endpointProvider;
EBSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< EBSEndpointProviderBase > endpointProvider=nullptr, const Aws::EBS::EBSClientConfiguration &clientConfiguration=Aws::EBS::EBSClientConfiguration())
Model::StartSnapshotOutcomeCallable StartSnapshotCallable(const StartSnapshotRequestT &request) const
Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT &request) const
void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT &request, const PutSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
EBSClient(const Aws::EBS::EBSClientConfiguration &clientConfiguration=Aws::EBS::EBSClientConfiguration(), std::shared_ptr< EBSEndpointProviderBase > endpointProvider=nullptr)
static const char * GetAllocationTag()
virtual Model::StartSnapshotOutcome StartSnapshot(const Model::StartSnapshotRequest &request) const
virtual Model::ListChangedBlocksOutcome ListChangedBlocks(const Model::ListChangedBlocksRequest &request) const
virtual Model::ListSnapshotBlocksOutcome ListSnapshotBlocks(const Model::ListSnapshotBlocksRequest &request) const
static const char * GetServiceName()
void OverrideEndpoint(const Aws::String &endpoint)
EBSClientConfiguration ClientConfigurationType
void StartSnapshotAsync(const StartSnapshotRequestT &request, const StartSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT &request) const
EBSClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
void GetSnapshotBlockAsync(const GetSnapshotBlockRequestT &request, const GetSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
EBSEndpointProvider EndpointProviderType
Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT &request) const
std::shared_ptr< EBSEndpointProviderBase > & accessEndpointProvider()
EBSClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< EBSEndpointProviderBase > endpointProvider=nullptr, const Aws::EBS::EBSClientConfiguration &clientConfiguration=Aws::EBS::EBSClientConfiguration())
void CompleteSnapshotAsync(const CompleteSnapshotRequestT &request, const CompleteSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutSnapshotBlockOutcome PutSnapshotBlock(const Model::PutSnapshotBlockRequest &request) const
EBSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
EBSClient(const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::GetSnapshotBlockOutcome GetSnapshotBlock(const Model::GetSnapshotBlockRequest &request) const
Model::CompleteSnapshotOutcomeCallable CompleteSnapshotCallable(const CompleteSnapshotRequestT &request) const
Aws::Client::AWSJsonClient BASECLASS
void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT &request, const ListSnapshotBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::CompleteSnapshotOutcome CompleteSnapshot(const Model::CompleteSnapshotRequest &request) const
Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT &request) const
void ListChangedBlocksAsync(const ListChangedBlocksRequestT &request, const ListChangedBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
std::future< CompleteSnapshotOutcome > CompleteSnapshotOutcomeCallable
std::future< ListSnapshotBlocksOutcome > ListSnapshotBlocksOutcomeCallable
std::future< StartSnapshotOutcome > StartSnapshotOutcomeCallable
std::future< PutSnapshotBlockOutcome > PutSnapshotBlockOutcomeCallable
std::future< ListChangedBlocksOutcome > ListChangedBlocksOutcomeCallable
std::future< GetSnapshotBlockOutcome > GetSnapshotBlockOutcomeCallable
std::function< void(const EBSClient *, const Model::ListSnapshotBlocksRequest &, const Model::ListSnapshotBlocksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListSnapshotBlocksResponseReceivedHandler
std::function< void(const EBSClient *, const Model::GetSnapshotBlockRequest &, Model::GetSnapshotBlockOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetSnapshotBlockResponseReceivedHandler
std::function< void(const EBSClient *, const Model::CompleteSnapshotRequest &, const Model::CompleteSnapshotOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CompleteSnapshotResponseReceivedHandler
std::function< void(const EBSClient *, const Model::PutSnapshotBlockRequest &, const Model::PutSnapshotBlockOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutSnapshotBlockResponseReceivedHandler
std::function< void(const EBSClient *, const Model::StartSnapshotRequest &, const Model::StartSnapshotOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StartSnapshotResponseReceivedHandler
std::function< void(const EBSClient *, const Model::ListChangedBlocksRequest &, const Model::ListChangedBlocksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListChangedBlocksResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String