AWS SDK for C++  1.8.95
AWS SDK for C++
DLMClient.h
Go to the documentation of this file.
1 
6 #pragma once
7 #include <aws/dlm/DLM_EXPORTS.h>
8 #include <aws/dlm/DLMErrors.h>
24 #include <future>
25 #include <functional>
26 
27 namespace Aws
28 {
29 
30 namespace Http
31 {
32  class HttpClient;
33  class HttpClientFactory;
34 } // namespace Http
35 
36 namespace Utils
37 {
38  template< typename R, typename E> class Outcome;
39 namespace Threading
40 {
41  class Executor;
42 } // namespace Threading
43 } // namespace Utils
44 
45 namespace Auth
46 {
47  class AWSCredentials;
48  class AWSCredentialsProvider;
49 } // namespace Auth
50 
51 namespace Client
52 {
53  class RetryStrategy;
54 } // namespace Client
55 
56 namespace DLM
57 {
58 
59 namespace Model
60 {
66  class TagResourceRequest;
69 
78 
79  typedef std::future<CreateLifecyclePolicyOutcome> CreateLifecyclePolicyOutcomeCallable;
80  typedef std::future<DeleteLifecyclePolicyOutcome> DeleteLifecyclePolicyOutcomeCallable;
81  typedef std::future<GetLifecyclePoliciesOutcome> GetLifecyclePoliciesOutcomeCallable;
82  typedef std::future<GetLifecyclePolicyOutcome> GetLifecyclePolicyOutcomeCallable;
83  typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
84  typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
85  typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
86  typedef std::future<UpdateLifecyclePolicyOutcome> UpdateLifecyclePolicyOutcomeCallable;
87 } // namespace Model
88 
89  class DLMClient;
90 
91  typedef std::function<void(const DLMClient*, const Model::CreateLifecyclePolicyRequest&, const Model::CreateLifecyclePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateLifecyclePolicyResponseReceivedHandler;
92  typedef std::function<void(const DLMClient*, const Model::DeleteLifecyclePolicyRequest&, const Model::DeleteLifecyclePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteLifecyclePolicyResponseReceivedHandler;
93  typedef std::function<void(const DLMClient*, const Model::GetLifecyclePoliciesRequest&, const Model::GetLifecyclePoliciesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetLifecyclePoliciesResponseReceivedHandler;
94  typedef std::function<void(const DLMClient*, const Model::GetLifecyclePolicyRequest&, const Model::GetLifecyclePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetLifecyclePolicyResponseReceivedHandler;
95  typedef std::function<void(const DLMClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
96  typedef std::function<void(const DLMClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
97  typedef std::function<void(const DLMClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
98  typedef std::function<void(const DLMClient*, const Model::UpdateLifecyclePolicyRequest&, const Model::UpdateLifecyclePolicyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateLifecyclePolicyResponseReceivedHandler;
99 
110  {
111  public:
113 
119 
125 
130  DLMClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
132 
133  virtual ~DLMClient();
134 
135 
142  virtual Model::CreateLifecyclePolicyOutcome CreateLifecyclePolicy(const Model::CreateLifecyclePolicyRequest& request) const;
143 
152  virtual Model::CreateLifecyclePolicyOutcomeCallable CreateLifecyclePolicyCallable(const Model::CreateLifecyclePolicyRequest& request) const;
153 
162  virtual void CreateLifecyclePolicyAsync(const Model::CreateLifecyclePolicyRequest& request, const CreateLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
163 
170  virtual Model::DeleteLifecyclePolicyOutcome DeleteLifecyclePolicy(const Model::DeleteLifecyclePolicyRequest& request) const;
171 
180  virtual Model::DeleteLifecyclePolicyOutcomeCallable DeleteLifecyclePolicyCallable(const Model::DeleteLifecyclePolicyRequest& request) const;
181 
190  virtual void DeleteLifecyclePolicyAsync(const Model::DeleteLifecyclePolicyRequest& request, const DeleteLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
191 
199  virtual Model::GetLifecyclePoliciesOutcome GetLifecyclePolicies(const Model::GetLifecyclePoliciesRequest& request) const;
200 
210  virtual Model::GetLifecyclePoliciesOutcomeCallable GetLifecyclePoliciesCallable(const Model::GetLifecyclePoliciesRequest& request) const;
211 
221  virtual void GetLifecyclePoliciesAsync(const Model::GetLifecyclePoliciesRequest& request, const GetLifecyclePoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
222 
229  virtual Model::GetLifecyclePolicyOutcome GetLifecyclePolicy(const Model::GetLifecyclePolicyRequest& request) const;
230 
239  virtual Model::GetLifecyclePolicyOutcomeCallable GetLifecyclePolicyCallable(const Model::GetLifecyclePolicyRequest& request) const;
240 
249  virtual void GetLifecyclePolicyAsync(const Model::GetLifecyclePolicyRequest& request, const GetLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
250 
256  virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
257 
265  virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
266 
274  virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
275 
281  virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
282 
290  virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
291 
299  virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
300 
307  virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
308 
317  virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
318 
327  virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
328 
334  virtual Model::UpdateLifecyclePolicyOutcome UpdateLifecyclePolicy(const Model::UpdateLifecyclePolicyRequest& request) const;
335 
343  virtual Model::UpdateLifecyclePolicyOutcomeCallable UpdateLifecyclePolicyCallable(const Model::UpdateLifecyclePolicyRequest& request) const;
344 
352  virtual void UpdateLifecyclePolicyAsync(const Model::UpdateLifecyclePolicyRequest& request, const UpdateLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
353 
354 
355  void OverrideEndpoint(const Aws::String& endpoint);
356  private:
357  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
358  void CreateLifecyclePolicyAsyncHelper(const Model::CreateLifecyclePolicyRequest& request, const CreateLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
359  void DeleteLifecyclePolicyAsyncHelper(const Model::DeleteLifecyclePolicyRequest& request, const DeleteLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
360  void GetLifecyclePoliciesAsyncHelper(const Model::GetLifecyclePoliciesRequest& request, const GetLifecyclePoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
361  void GetLifecyclePolicyAsyncHelper(const Model::GetLifecyclePolicyRequest& request, const GetLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
362  void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
363  void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
364  void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
365  void UpdateLifecyclePolicyAsyncHelper(const Model::UpdateLifecyclePolicyRequest& request, const UpdateLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
366 
367  Aws::String m_uri;
368  Aws::String m_configScheme;
369  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
370  };
371 
372 } // namespace DLM
373 } // namespace Aws
Aws::Utils::Outcome< TagResourceResult, DLMError > TagResourceOutcome
Definition: DLMClient.h:75
std::future< UntagResourceOutcome > UntagResourceOutcomeCallable
Definition: DLMClient.h:85
std::future< GetLifecyclePolicyOutcome > GetLifecyclePolicyOutcomeCallable
Definition: DLMClient.h:82
std::future< DeleteLifecyclePolicyOutcome > DeleteLifecyclePolicyOutcomeCallable
Definition: DLMClient.h:80
Aws::Utils::Outcome< DeleteLifecyclePolicyResult, DLMError > DeleteLifecyclePolicyOutcome
Definition: DLMClient.h:71
Aws::Client::AWSJsonClient BASECLASS
Definition: DLMClient.h:112
Aws::Utils::Outcome< ListTagsForResourceResult, DLMError > ListTagsForResourceOutcome
Definition: DLMClient.h:74
std::function< void(const DLMClient *, const Model::CreateLifecyclePolicyRequest &, const Model::CreateLifecyclePolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateLifecyclePolicyResponseReceivedHandler
Definition: DLMClient.h:89
std::function< void(const DLMClient *, const Model::GetLifecyclePoliciesRequest &, const Model::GetLifecyclePoliciesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetLifecyclePoliciesResponseReceivedHandler
Definition: DLMClient.h:93
std::future< GetLifecyclePoliciesOutcome > GetLifecyclePoliciesOutcomeCallable
Definition: DLMClient.h:81
Aws::Utils::Outcome< CreateLifecyclePolicyResult, DLMError > CreateLifecyclePolicyOutcome
Definition: DLMClient.h:68
Aws::Utils::Outcome< GetLifecyclePoliciesResult, DLMError > GetLifecyclePoliciesOutcome
Definition: DLMClient.h:72
std::function< void(const DLMClient *, const Model::ListTagsForResourceRequest &, const Model::ListTagsForResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForResourceResponseReceivedHandler
Definition: DLMClient.h:95
#define AWS_DLM_API
Definition: DLM_EXPORTS.h:28
std::future< TagResourceOutcome > TagResourceOutcomeCallable
Definition: DLMClient.h:84
std::future< CreateLifecyclePolicyOutcome > CreateLifecyclePolicyOutcomeCallable
Definition: DLMClient.h:79
Aws::Utils::Outcome< UpdateLifecyclePolicyResult, DLMError > UpdateLifecyclePolicyOutcome
Definition: DLMClient.h:77
std::future< ListTagsForResourceOutcome > ListTagsForResourceOutcomeCallable
Definition: DLMClient.h:83
std::function< void(const DLMClient *, const Model::TagResourceRequest &, const Model::TagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagResourceResponseReceivedHandler
Definition: DLMClient.h:96
std::function< void(const DLMClient *, const Model::GetLifecyclePolicyRequest &, const Model::GetLifecyclePolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetLifecyclePolicyResponseReceivedHandler
Definition: DLMClient.h:94
std::function< void(const DLMClient *, const Model::DeleteLifecyclePolicyRequest &, const Model::DeleteLifecyclePolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteLifecyclePolicyResponseReceivedHandler
Definition: DLMClient.h:92
Aws::Utils::Outcome< UntagResourceResult, DLMError > UntagResourceOutcome
Definition: DLMClient.h:76
std::function< void(const DLMClient *, const Model::UntagResourceRequest &, const Model::UntagResourceOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagResourceResponseReceivedHandler
Definition: DLMClient.h:97
Aws::Utils::Outcome< GetLifecyclePolicyResult, DLMError > GetLifecyclePolicyOutcome
Definition: DLMClient.h:73
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::future< UpdateLifecyclePolicyOutcome > UpdateLifecyclePolicyOutcomeCallable
Definition: DLMClient.h:86
std::function< void(const DLMClient *, const Model::UpdateLifecyclePolicyRequest &, const Model::UpdateLifecyclePolicyOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateLifecyclePolicyResponseReceivedHandler
Definition: DLMClient.h:98