7#include <aws/core/client/AWSClient.h>
8#include <aws/core/client/AWSClientAsyncCRTP.h>
9#include <aws/core/client/ClientConfiguration.h>
10#include <aws/core/utils/json/JsonSerializer.h>
11#include <aws/ebs/EBSServiceClientModel.h>
12#include <aws/ebs/EBS_EXPORTS.h>
57 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr);
70 EBSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
71 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr,
91 EBSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
117 template <
typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
119 return SubmitCallable(&EBSClient::CompleteSnapshot, request);
126 template <
typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
128 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
129 return SubmitAsync(&EBSClient::CompleteSnapshot, request, handler, context);
150 template <
typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
152 return SubmitCallable(&EBSClient::GetSnapshotBlock, request);
159 template <
typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
161 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
162 return SubmitAsync(&EBSClient::GetSnapshotBlock, request, handler, context);
184 template <
typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
186 return SubmitCallable(&EBSClient::ListChangedBlocks, request);
193 template <
typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
195 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
196 return SubmitAsync(&EBSClient::ListChangedBlocks, request, handler, context);
217 template <
typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
219 return SubmitCallable(&EBSClient::ListSnapshotBlocks, request);
226 template <
typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
228 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
229 return SubmitAsync(&EBSClient::ListSnapshotBlocks, request, handler, context);
252 template <
typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
254 return SubmitCallable(&EBSClient::PutSnapshotBlock, request);
261 template <
typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
263 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
264 return SubmitAsync(&EBSClient::PutSnapshotBlock, request, handler, context);
288 template <
typename StartSnapshotRequestT = Model::StartSnapshotRequest>
290 return SubmitCallable(&EBSClient::StartSnapshot, request);
297 template <
typename StartSnapshotRequestT = Model::StartSnapshotRequest>
299 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
300 return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context);
311 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::PutSnapshotBlockRequest &, const Model::PutSnapshotBlockOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> PutSnapshotBlockResponseReceivedHandler
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::StartSnapshotRequest &, const Model::StartSnapshotOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> StartSnapshotResponseReceivedHandler
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::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