AWS SDK for C++  1.9.161
AWS SDK for C++
EBSClient.h
Go to the documentation of this file.
1 
6 #pragma once
7 #include <aws/ebs/EBS_EXPORTS.h>
8 #include <aws/ebs/EBSErrors.h>
22 #include <future>
23 #include <functional>
24 
25 namespace Aws
26 {
27 
28 namespace Http
29 {
30  class HttpClient;
31  class HttpClientFactory;
32 } // namespace Http
33 
34 namespace Utils
35 {
36  template< typename R, typename E> class Outcome;
37 namespace Threading
38 {
39  class Executor;
40 } // namespace Threading
41 } // namespace Utils
42 
43 namespace Auth
44 {
45  class AWSCredentials;
46  class AWSCredentialsProvider;
47 } // namespace Auth
48 
49 namespace Client
50 {
51  class RetryStrategy;
52 } // namespace Client
53 
54 namespace EBS
55 {
56 
57 namespace Model
58 {
65 
72 
73  typedef std::future<CompleteSnapshotOutcome> CompleteSnapshotOutcomeCallable;
74  typedef std::future<GetSnapshotBlockOutcome> GetSnapshotBlockOutcomeCallable;
75  typedef std::future<ListChangedBlocksOutcome> ListChangedBlocksOutcomeCallable;
76  typedef std::future<ListSnapshotBlocksOutcome> ListSnapshotBlocksOutcomeCallable;
77  typedef std::future<PutSnapshotBlockOutcome> PutSnapshotBlockOutcomeCallable;
78  typedef std::future<StartSnapshotOutcome> StartSnapshotOutcomeCallable;
79 } // namespace Model
80 
81  class EBSClient;
82 
83  typedef std::function<void(const EBSClient*, const Model::CompleteSnapshotRequest&, const Model::CompleteSnapshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CompleteSnapshotResponseReceivedHandler;
84  typedef std::function<void(const EBSClient*, const Model::GetSnapshotBlockRequest&, Model::GetSnapshotBlockOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSnapshotBlockResponseReceivedHandler;
85  typedef std::function<void(const EBSClient*, const Model::ListChangedBlocksRequest&, const Model::ListChangedBlocksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListChangedBlocksResponseReceivedHandler;
86  typedef std::function<void(const EBSClient*, const Model::ListSnapshotBlocksRequest&, const Model::ListSnapshotBlocksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListSnapshotBlocksResponseReceivedHandler;
87  typedef std::function<void(const EBSClient*, const Model::PutSnapshotBlockRequest&, const Model::PutSnapshotBlockOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutSnapshotBlockResponseReceivedHandler;
88  typedef std::function<void(const EBSClient*, const Model::StartSnapshotRequest&, const Model::StartSnapshotOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartSnapshotResponseReceivedHandler;
89 
118  {
119  public:
121 
127 
133 
138  EBSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
140 
141  virtual ~EBSClient();
142 
143 
153 
165 
176  virtual void CompleteSnapshotAsync(const Model::CompleteSnapshotRequest& request, const CompleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
177 
185 
195 
204  virtual void GetSnapshotBlockAsync(const Model::GetSnapshotBlockRequest& request, const GetSnapshotBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
205 
214 
225 
235  virtual void ListChangedBlocksAsync(const Model::ListChangedBlocksRequest& request, const ListChangedBlocksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
236 
244 
254 
263  virtual void ListSnapshotBlocksAsync(const Model::ListSnapshotBlocksRequest& request, const ListSnapshotBlocksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
264 
274 
286 
297  virtual void PutSnapshotBlockAsync(const Model::PutSnapshotBlockRequest& request, const PutSnapshotBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
298 
310 
324 
337  virtual void StartSnapshotAsync(const Model::StartSnapshotRequest& request, const StartSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
338 
339 
340  void OverrideEndpoint(const Aws::String& endpoint);
341  private:
342  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
343  void CompleteSnapshotAsyncHelper(const Model::CompleteSnapshotRequest& request, const CompleteSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
344  void GetSnapshotBlockAsyncHelper(const Model::GetSnapshotBlockRequest& request, const GetSnapshotBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
345  void ListChangedBlocksAsyncHelper(const Model::ListChangedBlocksRequest& request, const ListChangedBlocksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
346  void ListSnapshotBlocksAsyncHelper(const Model::ListSnapshotBlocksRequest& request, const ListSnapshotBlocksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
347  void PutSnapshotBlockAsyncHelper(const Model::PutSnapshotBlockRequest& request, const PutSnapshotBlockResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
348  void StartSnapshotAsyncHelper(const Model::StartSnapshotRequest& request, const StartSnapshotResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
349 
350  Aws::String m_uri;
351  Aws::String m_configScheme;
352  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
353  };
354 
355 } // namespace EBS
356 } // namespace Aws
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
Aws::EBS::EBSClient::EBSClient
EBSClient(const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
GetSnapshotBlockResult.h
Aws::EBS::EBSClient::PutSnapshotBlockCallable
virtual Model::PutSnapshotBlockOutcomeCallable PutSnapshotBlockCallable(const Model::PutSnapshotBlockRequest &request) const
Aws::EBS::EBSClient::PutSnapshotBlockAsync
virtual void PutSnapshotBlockAsync(const Model::PutSnapshotBlockRequest &request, const PutSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::EBS::EBSClient::ListSnapshotBlocksAsync
virtual void ListSnapshotBlocksAsync(const Model::ListSnapshotBlocksRequest &request, const ListSnapshotBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::EBS::StartSnapshotResponseReceivedHandler
std::function< void(const EBSClient *, const Model::StartSnapshotRequest &, const Model::StartSnapshotOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StartSnapshotResponseReceivedHandler
Definition: EBSClient.h:88
Aws::EBS::EBSClient::GetSnapshotBlock
virtual Model::GetSnapshotBlockOutcome GetSnapshotBlock(const Model::GetSnapshotBlockRequest &request) const
Aws::EBS::Model::ListChangedBlocksOutcome
Aws::Utils::Outcome< ListChangedBlocksResult, EBSError > ListChangedBlocksOutcome
Definition: EBSClient.h:68
Aws::EBS::EBSClient::OverrideEndpoint
void OverrideEndpoint(const Aws::String &endpoint)
AWSError.h
Aws::EBS::EBSClient::CompleteSnapshotCallable
virtual Model::CompleteSnapshotOutcomeCallable CompleteSnapshotCallable(const Model::CompleteSnapshotRequest &request) const
Aws::EBS::EBSClient::GetSnapshotBlockCallable
virtual Model::GetSnapshotBlockOutcomeCallable GetSnapshotBlockCallable(const Model::GetSnapshotBlockRequest &request) const
Aws::EBS::EBSClient::ListSnapshotBlocks
virtual Model::ListSnapshotBlocksOutcome ListSnapshotBlocks(const Model::ListSnapshotBlocksRequest &request) const
CompleteSnapshotResult.h
Aws::EBS::Model::CompleteSnapshotRequest
Definition: CompleteSnapshotRequest.h:24
Aws::EBS::Model::GetSnapshotBlockOutcomeCallable
std::future< GetSnapshotBlockOutcome > GetSnapshotBlockOutcomeCallable
Definition: EBSClient.h:74
Aws::EBS::Model::CompleteSnapshotOutcomeCallable
std::future< CompleteSnapshotOutcome > CompleteSnapshotOutcomeCallable
Definition: EBSClient.h:73
Aws::EBS::Model::StartSnapshotOutcome
Aws::Utils::Outcome< StartSnapshotResult, EBSError > StartSnapshotOutcome
Definition: EBSClient.h:71
Aws::EBS::EBSClient::EBSClient
EBSClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
EBS_EXPORTS.h
Aws::EBS::EBSClient
Definition: EBSClient.h:118
Aws::EBS::Model::ListChangedBlocksOutcomeCallable
std::future< ListChangedBlocksOutcome > ListChangedBlocksOutcomeCallable
Definition: EBSClient.h:75
Aws::EBS::Model::CompleteSnapshotOutcome
Aws::Utils::Outcome< CompleteSnapshotResult, EBSError > CompleteSnapshotOutcome
Definition: EBSClient.h:64
AsyncCallerContext.h
Aws::EBS::Model::ListSnapshotBlocksRequest
Definition: ListSnapshotBlocksRequest.h:26
Aws::EBS::Model::ListChangedBlocksRequest
Definition: ListChangedBlocksRequest.h:26
Aws::EBS::ListChangedBlocksResponseReceivedHandler
std::function< void(const EBSClient *, const Model::ListChangedBlocksRequest &, const Model::ListChangedBlocksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListChangedBlocksResponseReceivedHandler
Definition: EBSClient.h:85
Aws::EBS::EBSClient::~EBSClient
virtual ~EBSClient()
Aws::EBS::EBSClient::GetSnapshotBlockAsync
virtual void GetSnapshotBlockAsync(const Model::GetSnapshotBlockRequest &request, const GetSnapshotBlockResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::EBS::Model::GetSnapshotBlockRequest
Definition: GetSnapshotBlockRequest.h:26
Aws::EBS::EBSClient::CompleteSnapshot
virtual Model::CompleteSnapshotOutcome CompleteSnapshot(const Model::CompleteSnapshotRequest &request) const
AWS_EBS_API
#define AWS_EBS_API
Definition: EBS_EXPORTS.h:28
Aws::EBS::EBSClient::StartSnapshot
virtual Model::StartSnapshotOutcome StartSnapshot(const Model::StartSnapshotRequest &request) const
PutSnapshotBlockResult.h
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
Aws::EBS::Model::GetSnapshotBlockOutcome
Aws::Utils::Outcome< GetSnapshotBlockResult, EBSError > GetSnapshotBlockOutcome
Definition: EBSClient.h:67
Aws::EBS::EBSClient::ListChangedBlocksAsync
virtual void ListChangedBlocksAsync(const Model::ListChangedBlocksRequest &request, const ListChangedBlocksResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::Auth::AWSCredentials
Definition: AWSCredentials.h:19
ListSnapshotBlocksResult.h
AWSString.h
Aws::Client::AWSJsonClient
Definition: AWSClient.h:338
Aws::EBS::Model::ListSnapshotBlocksOutcome
Aws::Utils::Outcome< ListSnapshotBlocksResult, EBSError > ListSnapshotBlocksOutcome
Definition: EBSClient.h:69
Aws::EBS::EBSClient::CompleteSnapshotAsync
virtual void CompleteSnapshotAsync(const Model::CompleteSnapshotRequest &request, const CompleteSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::EBS::EBSClient::ListChangedBlocksCallable
virtual Model::ListChangedBlocksOutcomeCallable ListChangedBlocksCallable(const Model::ListChangedBlocksRequest &request) const
Aws::EBS::EBSClient::StartSnapshotCallable
virtual Model::StartSnapshotOutcomeCallable StartSnapshotCallable(const Model::StartSnapshotRequest &request) const
Aws::EBS::EBSClient::EBSClient
EBSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::EBS::Model::PutSnapshotBlockOutcomeCallable
std::future< PutSnapshotBlockOutcome > PutSnapshotBlockOutcomeCallable
Definition: EBSClient.h:77
ClientConfiguration.h
Aws::EBS::EBSClient::StartSnapshotAsync
virtual void StartSnapshotAsync(const Model::StartSnapshotRequest &request, const StartSnapshotResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws
Definition: AccessManagementClient.h:15
HttpTypes.h
Aws::EBS::EBSClient::BASECLASS
Aws::Client::AWSJsonClient BASECLASS
Definition: EBSClient.h:120
Aws::EBS::PutSnapshotBlockResponseReceivedHandler
std::function< void(const EBSClient *, const Model::PutSnapshotBlockRequest &, const Model::PutSnapshotBlockOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutSnapshotBlockResponseReceivedHandler
Definition: EBSClient.h:87
Aws::EBS::EBSClient::ListChangedBlocks
virtual Model::ListChangedBlocksOutcome ListChangedBlocks(const Model::ListChangedBlocksRequest &request) const
Aws::EBS::EBSClient::PutSnapshotBlock
virtual Model::PutSnapshotBlockOutcome PutSnapshotBlock(const Model::PutSnapshotBlockRequest &request) const
Aws::EBS::Model::PutSnapshotBlockOutcome
Aws::Utils::Outcome< PutSnapshotBlockResult, EBSError > PutSnapshotBlockOutcome
Definition: EBSClient.h:70
Aws::Utils::Outcome
Definition: Outcome.h:26
Aws::EBS::Model::ListSnapshotBlocksOutcomeCallable
std::future< ListSnapshotBlocksOutcome > ListSnapshotBlocksOutcomeCallable
Definition: EBSClient.h:76
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::EBS::Model::StartSnapshotRequest
Definition: StartSnapshotRequest.h:25
Aws::EBS::EBSClient::ListSnapshotBlocksCallable
virtual Model::ListSnapshotBlocksOutcomeCallable ListSnapshotBlocksCallable(const Model::ListSnapshotBlocksRequest &request) const
AWSClient.h
Aws::EBS::CompleteSnapshotResponseReceivedHandler
std::function< void(const EBSClient *, const Model::CompleteSnapshotRequest &, const Model::CompleteSnapshotOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CompleteSnapshotResponseReceivedHandler
Definition: EBSClient.h:81
Aws::EBS::Model::PutSnapshotBlockRequest
Definition: PutSnapshotBlockRequest.h:24
Aws::EBS::ListSnapshotBlocksResponseReceivedHandler
std::function< void(const EBSClient *, const Model::ListSnapshotBlocksRequest &, const Model::ListSnapshotBlocksOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListSnapshotBlocksResponseReceivedHandler
Definition: EBSClient.h:86
Aws::EBS::Model::StartSnapshotOutcomeCallable
std::future< StartSnapshotOutcome > StartSnapshotOutcomeCallable
Definition: EBSClient.h:78
ListChangedBlocksResult.h
Aws::EBS::GetSnapshotBlockResponseReceivedHandler
std::function< void(const EBSClient *, const Model::GetSnapshotBlockRequest &, Model::GetSnapshotBlockOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetSnapshotBlockResponseReceivedHandler
Definition: EBSClient.h:84
EBSErrors.h
JsonSerializer.h
StartSnapshotResult.h