AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
EBSClient.h
1
6#pragma once
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>
13
14namespace Aws
15{
16namespace EBS
17{
46 {
47 public:
49 static const char* GetServiceName();
50 static const char* GetAllocationTag();
51
54
60 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr);
61
67 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr,
69
74 EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
75 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr,
77
78
79 /* Legacy constructors due deprecation */
84 EBSClient(const Aws::Client::ClientConfiguration& clientConfiguration);
85
91 const Aws::Client::ClientConfiguration& clientConfiguration);
92
97 EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
98 const Aws::Client::ClientConfiguration& clientConfiguration);
99
100 /* End of legacy constructors due deprecation */
101 virtual ~EBSClient();
102
118
122 template<typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
123 Model::CompleteSnapshotOutcomeCallable CompleteSnapshotCallable(const CompleteSnapshotRequestT& request) const
124 {
125 return SubmitCallable(&EBSClient::CompleteSnapshot, request);
126 }
127
131 template<typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
132 void CompleteSnapshotAsync(const CompleteSnapshotRequestT& request, const CompleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
133 {
134 return SubmitAsync(&EBSClient::CompleteSnapshot, request, handler, context);
135 }
136
150
154 template<typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
155 Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT& request) const
156 {
157 return SubmitCallable(&EBSClient::GetSnapshotBlock, request);
158 }
159
163 template<typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
164 void GetSnapshotBlockAsync(const GetSnapshotBlockRequestT& request, const GetSnapshotBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
165 {
166 return SubmitAsync(&EBSClient::GetSnapshotBlock, request, handler, context);
167 }
168
183
187 template<typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
188 Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT& request) const
189 {
190 return SubmitCallable(&EBSClient::ListChangedBlocks, request);
191 }
192
196 template<typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
197 void ListChangedBlocksAsync(const ListChangedBlocksRequestT& request, const ListChangedBlocksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
198 {
199 return SubmitAsync(&EBSClient::ListChangedBlocks, request, handler, context);
200 }
201
215
219 template<typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
220 Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT& request) const
221 {
222 return SubmitCallable(&EBSClient::ListSnapshotBlocks, request);
223 }
224
228 template<typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
229 void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT& request, const ListSnapshotBlocksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
230 {
231 return SubmitAsync(&EBSClient::ListSnapshotBlocks, request, handler, context);
232 }
233
249
253 template<typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
254 Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT& request) const
255 {
256 return SubmitCallable(&EBSClient::PutSnapshotBlock, request);
257 }
258
262 template<typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
263 void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT& request, const PutSnapshotBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
264 {
265 return SubmitAsync(&EBSClient::PutSnapshotBlock, request, handler, context);
266 }
267
285
289 template<typename StartSnapshotRequestT = Model::StartSnapshotRequest>
290 Model::StartSnapshotOutcomeCallable StartSnapshotCallable(const StartSnapshotRequestT& request) const
291 {
292 return SubmitCallable(&EBSClient::StartSnapshot, request);
293 }
294
298 template<typename StartSnapshotRequestT = Model::StartSnapshotRequest>
299 void StartSnapshotAsync(const StartSnapshotRequestT& request, const StartSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
300 {
301 return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context);
302 }
303
304
305 void OverrideEndpoint(const Aws::String& endpoint);
306 std::shared_ptr<EBSEndpointProviderBase>& accessEndpointProvider();
307 private:
309 void init(const EBSClientConfiguration& clientConfiguration);
310
311 EBSClientConfiguration m_clientConfiguration;
312 std::shared_ptr<EBSEndpointProviderBase> m_endpointProvider;
313 };
314
315} // namespace EBS
316} // 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:290
Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT &request) const
Definition EBSClient.h:254
void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT &request, const PutSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:263
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:52
void StartSnapshotAsync(const StartSnapshotRequestT &request, const StartSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:299
Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT &request) const
Definition EBSClient.h:155
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:164
EBSEndpointProvider EndpointProviderType
Definition EBSClient.h:53
Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT &request) const
Definition EBSClient.h:188
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:132
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:123
Aws::Client::AWSJsonClient BASECLASS
Definition EBSClient.h:48
void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT &request, const ListSnapshotBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:229
virtual Model::CompleteSnapshotOutcome CompleteSnapshot(const Model::CompleteSnapshotRequest &request) const
Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT &request) const
Definition EBSClient.h:220
void ListChangedBlocksAsync(const ListChangedBlocksRequestT &request, const ListChangedBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:197
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