AWS SDK for C++

AWS SDK for C++ Version 1.11.787

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/EBSPaginationBase.h>
12#include <aws/ebs/EBSServiceClientModel.h>
13#include <aws/ebs/EBSWaiter.h>
14#include <aws/ebs/EBS_EXPORTS.h>
15
16namespace Aws {
17namespace EBS {
45class AWS_EBS_API EBSClient : public Aws::Client::AWSJsonClient,
47 public EBSPaginationBase<EBSClient>,
48 public EBSWaiter<EBSClient> {
49 public:
51 static const char* GetServiceName();
52 static const char* GetAllocationTag();
53
56
62 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr);
63
68 EBSClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr,
70
75 EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
76 std::shared_ptr<EBSEndpointProviderBase> endpointProvider = nullptr,
78
79 /* Legacy constructors due deprecation */
84 EBSClient(const Aws::Client::ClientConfiguration& clientConfiguration);
85
90 EBSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
91
96 EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
97 const Aws::Client::ClientConfiguration& clientConfiguration);
98
99 /* End of legacy constructors due deprecation */
100 virtual ~EBSClient();
101
117
122 template <typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
123 Model::CompleteSnapshotOutcomeCallable CompleteSnapshotCallable(const CompleteSnapshotRequestT& request) const {
124 return SubmitCallable(&EBSClient::CompleteSnapshot, request);
125 }
126
131 template <typename CompleteSnapshotRequestT = Model::CompleteSnapshotRequest>
132 void CompleteSnapshotAsync(const CompleteSnapshotRequestT& request, const CompleteSnapshotResponseReceivedHandler& handler,
133 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
134 return SubmitAsync(&EBSClient::CompleteSnapshot, request, handler, context);
135 }
136
150
155 template <typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
156 Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT& request) const {
157 return SubmitCallable(&EBSClient::GetSnapshotBlock, request);
158 }
159
164 template <typename GetSnapshotBlockRequestT = Model::GetSnapshotBlockRequest>
165 void GetSnapshotBlockAsync(const GetSnapshotBlockRequestT& request, const GetSnapshotBlockResponseReceivedHandler& handler,
166 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
167 return SubmitAsync(&EBSClient::GetSnapshotBlock, request, handler, context);
168 }
169
184
189 template <typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
190 Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT& request) const {
191 return SubmitCallable(&EBSClient::ListChangedBlocks, request);
192 }
193
198 template <typename ListChangedBlocksRequestT = Model::ListChangedBlocksRequest>
199 void ListChangedBlocksAsync(const ListChangedBlocksRequestT& request, const ListChangedBlocksResponseReceivedHandler& handler,
200 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
201 return SubmitAsync(&EBSClient::ListChangedBlocks, request, handler, context);
202 }
203
217
222 template <typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
223 Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT& request) const {
224 return SubmitCallable(&EBSClient::ListSnapshotBlocks, request);
225 }
226
231 template <typename ListSnapshotBlocksRequestT = Model::ListSnapshotBlocksRequest>
232 void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT& request, const ListSnapshotBlocksResponseReceivedHandler& handler,
233 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
234 return SubmitAsync(&EBSClient::ListSnapshotBlocks, request, handler, context);
235 }
236
252
257 template <typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
258 Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT& request) const {
259 return SubmitCallable(&EBSClient::PutSnapshotBlock, request);
260 }
261
266 template <typename PutSnapshotBlockRequestT = Model::PutSnapshotBlockRequest>
267 void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT& request, const PutSnapshotBlockResponseReceivedHandler& handler,
268 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
269 return SubmitAsync(&EBSClient::PutSnapshotBlock, request, handler, context);
270 }
271
289
293 template <typename StartSnapshotRequestT = Model::StartSnapshotRequest>
294 Model::StartSnapshotOutcomeCallable StartSnapshotCallable(const StartSnapshotRequestT& request) const {
295 return SubmitCallable(&EBSClient::StartSnapshot, request);
296 }
297
302 template <typename StartSnapshotRequestT = Model::StartSnapshotRequest>
303 void StartSnapshotAsync(const StartSnapshotRequestT& request, const StartSnapshotResponseReceivedHandler& handler,
304 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
305 return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context);
306 }
307
308 virtual void OverrideEndpoint(const Aws::String& endpoint);
309 virtual std::shared_ptr<EBSEndpointProviderBase>& accessEndpointProvider();
310
311 private:
313 void init(const EBSClientConfiguration& clientConfiguration);
314
316
317 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request,
318 const std::function<void(Aws::Endpoint::ResolveEndpointOutcome&)>& resolveUri,
319 Aws::Http::HttpMethod httpMethod) const;
320
321 EBSClientConfiguration m_clientConfiguration;
322 std::shared_ptr<EBSEndpointProviderBase> m_endpointProvider;
323};
324
325} // namespace EBS
326} // 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:294
Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const PutSnapshotBlockRequestT &request) const
Definition EBSClient.h:258
void PutSnapshotBlockAsync(const PutSnapshotBlockRequestT &request, const PutSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:267
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
Definition EBSClient.h:54
void StartSnapshotAsync(const StartSnapshotRequestT &request, const StartSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:303
Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const GetSnapshotBlockRequestT &request) const
Definition EBSClient.h:156
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:165
EBSEndpointProvider EndpointProviderType
Definition EBSClient.h:55
Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const ListChangedBlocksRequestT &request) const
Definition EBSClient.h:190
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:50
void ListSnapshotBlocksAsync(const ListSnapshotBlocksRequestT &request, const ListSnapshotBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:232
virtual std::shared_ptr< EBSEndpointProviderBase > & accessEndpointProvider()
virtual Model::CompleteSnapshotOutcome CompleteSnapshot(const Model::CompleteSnapshotRequest &request) const
Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const ListSnapshotBlocksRequestT &request) const
Definition EBSClient.h:223
void ListChangedBlocksAsync(const ListChangedBlocksRequestT &request, const ListChangedBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition EBSClient.h:199
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