AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
EBSClient.h
1
6#pragma once
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>
13
14namespace Aws {
15namespace EBS {
44 public:
46 static const char* GetServiceName();
47 static const char* GetAllocationTag();
48
51
57 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr);
58
63 EBSClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr,
65
70 EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
71 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr,
73
74 /* Legacy constructors due deprecation */
79 EBSClient(const Aws::Client::ClientConfiguration& clientConfiguration);
80
85 EBSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
86
91 EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
92 const Aws::Client::ClientConfiguration& clientConfiguration);
93
94 /* End of legacy constructors due deprecation */
95 virtual ~EBSClient();
96
112
117 template <typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
118 Model::CompleteSnapshotOutcomeCallable CompleteSnapshotCallable(const CompleteSnapshotRequestT& request) const {
119 return SubmitCallable(&EBSClient::CompleteSnapshot, request);
120 }
121
126 template <typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
127 void CompleteSnapshotAsync(const CompleteSnapshotRequestT& request, const CompleteSnapshotResponseReceivedHandler& handler,
128 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
129 return SubmitAsync(&EBSClient::CompleteSnapshot, request, handler, context);
130 }
131
145
150 template <typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
151 Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT& request) const {
152 return SubmitCallable(&EBSClient::GetSnapshotBlock, request);
153 }
154
159 template <typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
160 void GetSnapshotBlockAsync(const GetSnapshotBlockRequestT& request, const GetSnapshotBlockResponseReceivedHandler& handler,
161 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
162 return SubmitAsync(&EBSClient::GetSnapshotBlock, request, handler, context);
163 }
164
179
184 template <typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
185 Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT& request) const {
186 return SubmitCallable(&EBSClient::ListChangedBlocks, request);
187 }
188
193 template <typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
194 void ListChangedBlocksAsync(const ListChangedBlocksRequestT& request, const ListChangedBlocksResponseReceivedHandler& handler,
195 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
196 return SubmitAsync(&EBSClient::ListChangedBlocks, request, handler, context);
197 }
198
212
217 template <typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
218 Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT& request) const {
219 return SubmitCallable(&EBSClient::ListSnapshotBlocks, request);
220 }
221
226 template <typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
227 void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT& request, const ListSnapshotBlocksResponseReceivedHandler& handler,
228 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
229 return SubmitAsync(&EBSClient::ListSnapshotBlocks, request, handler, context);
230 }
231
247
252 template <typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
253 Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT& request) const {
254 return SubmitCallable(&EBSClient::PutSnapshotBlock, request);
255 }
256
261 template <typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
262 void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT& request, const PutSnapshotBlockResponseReceivedHandler& handler,
263 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
264 return SubmitAsync(&EBSClient::PutSnapshotBlock, request, handler, context);
265 }
266
284
288 template <typename StartSnapshotRequestT = Model::StartSnapshotRequest>
289 Model::StartSnapshotOutcomeCallable StartSnapshotCallable(const StartSnapshotRequestT& request) const {
290 return SubmitCallable(&EBSClient::StartSnapshot, request);
291 }
292
297 template <typename StartSnapshotRequestT = Model::StartSnapshotRequest>
298 void StartSnapshotAsync(const StartSnapshotRequestT& request, const StartSnapshotResponseReceivedHandler& handler,
299 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
300 return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context);
301 }
302
303 void OverrideEndpoint(const Aws::String& endpoint);
304 std::shared_ptr<EBSEndpointProviderBase>& accessEndpointProvider();
305
306 private:
308 void init(const EBSClientConfiguration& clientConfiguration);
309
310 EBSClientConfiguration m_clientConfiguration;
311 std::shared_ptr<EBSEndpointProviderBase> m_endpointProvider;
312};
313
314} // namespace EBS
315} // namespace Aws
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
Definition EBSClient.h:289
Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT &request) const
Definition EBSClient.h:253
void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT &request, const PutSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:262
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
Definition EBSClient.h:49
void StartSnapshotAsync(const StartSnapshotRequestT &request, const StartSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:298
Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT &request) const
Definition EBSClient.h:151
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
Definition EBSClient.h:160
EBSEndpointProvider EndpointProviderType
Definition EBSClient.h:50
Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT &request) const
Definition EBSClient.h:185
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
Definition EBSClient.h:127
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
Definition EBSClient.h:118
Aws::Client::AWSJsonClient BASECLASS
Definition EBSClient.h:45
void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT &request, const ListSnapshotBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:227
virtual Model::CompleteSnapshotOutcome CompleteSnapshot(const Model::CompleteSnapshotRequest &request) const
Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT &request) const
Definition EBSClient.h:218
void ListChangedBlocksAsync(const ListChangedBlocksRequestT &request, const ListChangedBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:194
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