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/EBSPaginationBase.h>
12#include <aws/ebs/EBSServiceClientModel.h>
13#include <aws/ebs/EBSWaiter.h>
14#include <aws/ebs/EBS_EXPORTS.h>
62 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr);
75 EBSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
76 std::shared_ptr<EBSEndpointProviderBase> endpointProvider =
nullptr,
96 EBSClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
122 template <
typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
124 return SubmitCallable(&EBSClient::CompleteSnapshot, request);
131 template <
typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
133 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
134 return SubmitAsync(&EBSClient::CompleteSnapshot, request, handler, context);
155 template <
typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
157 return SubmitCallable(&EBSClient::GetSnapshotBlock, request);
164 template <
typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
166 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
167 return SubmitAsync(&EBSClient::GetSnapshotBlock, request, handler, context);
189 template <
typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
191 return SubmitCallable(&EBSClient::ListChangedBlocks, request);
198 template <
typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
200 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
201 return SubmitAsync(&EBSClient::ListChangedBlocks, request, handler, context);
222 template <
typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
224 return SubmitCallable(&EBSClient::ListSnapshotBlocks, request);
231 template <
typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
233 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
234 return SubmitAsync(&EBSClient::ListSnapshotBlocks, request, handler, context);
257 template <
typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
259 return SubmitCallable(&EBSClient::PutSnapshotBlock, request);
266 template <
typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
268 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
269 return SubmitAsync(&EBSClient::PutSnapshotBlock, request, handler, context);
293 template <
typename StartSnapshotRequestT = Model::StartSnapshotRequest>
295 return SubmitCallable(&EBSClient::StartSnapshot, request);
302 template <
typename StartSnapshotRequestT = Model::StartSnapshotRequest>
304 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
305 return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context);
322 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 void OverrideEndpoint(const Aws::String &endpoint)
virtual Model::ListSnapshotBlocksOutcome ListSnapshotBlocks(const Model::ListSnapshotBlocksRequest &request) const
static const char * GetServiceName()
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
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 std::shared_ptr< EBSEndpointProviderBase > & accessEndpointProvider()
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