Dms_dgClient.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #ifndef ALIBABACLOUD_DMS_DG_DMS_DGCLIENT_H_
  17. #define ALIBABACLOUD_DMS_DG_DMS_DGCLIENT_H_
  18. #include <future>
  19. #include <alibabacloud/core/AsyncCallerContext.h>
  20. #include <alibabacloud/core/EndpointProvider.h>
  21. #include <alibabacloud/core/RpcServiceClient.h>
  22. #include "Dms_dgExport.h"
  23. #include "model/AddDatabaseRequest.h"
  24. #include "model/AddDatabaseResult.h"
  25. #include "model/AddDatabaseListRequest.h"
  26. #include "model/AddDatabaseListResult.h"
  27. #include "model/CheckDGEnabledRequest.h"
  28. #include "model/CheckDGEnabledResult.h"
  29. #include "model/ConnectDatabaseRequest.h"
  30. #include "model/ConnectDatabaseResult.h"
  31. #include "model/CreateGatewayRequest.h"
  32. #include "model/CreateGatewayResult.h"
  33. #include "model/CreateGatewayVerifyCodeRequest.h"
  34. #include "model/CreateGatewayVerifyCodeResult.h"
  35. #include "model/DeleteDatabaseRequest.h"
  36. #include "model/DeleteDatabaseResult.h"
  37. #include "model/DeleteGatewayRequest.h"
  38. #include "model/DeleteGatewayResult.h"
  39. #include "model/DeleteGatewayInstanceRequest.h"
  40. #include "model/DeleteGatewayInstanceResult.h"
  41. #include "model/DescribeRegionsRequest.h"
  42. #include "model/DescribeRegionsResult.h"
  43. #include "model/DownloadGatewayProgramRequest.h"
  44. #include "model/DownloadGatewayProgramResult.h"
  45. #include "model/FindUserGatewayByIdRequest.h"
  46. #include "model/FindUserGatewayByIdResult.h"
  47. #include "model/GetUserDatabasesRequest.h"
  48. #include "model/GetUserDatabasesResult.h"
  49. #include "model/GetUserGatewayInstancesRequest.h"
  50. #include "model/GetUserGatewayInstancesResult.h"
  51. #include "model/GetUserGatewaysRequest.h"
  52. #include "model/GetUserGatewaysResult.h"
  53. #include "model/ListDatabaseAccessPointRequest.h"
  54. #include "model/ListDatabaseAccessPointResult.h"
  55. #include "model/ModifyDatabaseRequest.h"
  56. #include "model/ModifyDatabaseResult.h"
  57. #include "model/ModifyGatewayRequest.h"
  58. #include "model/ModifyGatewayResult.h"
  59. #include "model/RetryDatabaseRequest.h"
  60. #include "model/RetryDatabaseResult.h"
  61. #include "model/StopGatewayRequest.h"
  62. #include "model/StopGatewayResult.h"
  63. namespace AlibabaCloud
  64. {
  65. namespace Dms_dg
  66. {
  67. class ALIBABACLOUD_DMS_DG_EXPORT Dms_dgClient : public RpcServiceClient
  68. {
  69. public:
  70. typedef Outcome<Error, Model::AddDatabaseResult> AddDatabaseOutcome;
  71. typedef std::future<AddDatabaseOutcome> AddDatabaseOutcomeCallable;
  72. typedef std::function<void(const Dms_dgClient*, const Model::AddDatabaseRequest&, const AddDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddDatabaseAsyncHandler;
  73. typedef Outcome<Error, Model::AddDatabaseListResult> AddDatabaseListOutcome;
  74. typedef std::future<AddDatabaseListOutcome> AddDatabaseListOutcomeCallable;
  75. typedef std::function<void(const Dms_dgClient*, const Model::AddDatabaseListRequest&, const AddDatabaseListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddDatabaseListAsyncHandler;
  76. typedef Outcome<Error, Model::CheckDGEnabledResult> CheckDGEnabledOutcome;
  77. typedef std::future<CheckDGEnabledOutcome> CheckDGEnabledOutcomeCallable;
  78. typedef std::function<void(const Dms_dgClient*, const Model::CheckDGEnabledRequest&, const CheckDGEnabledOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckDGEnabledAsyncHandler;
  79. typedef Outcome<Error, Model::ConnectDatabaseResult> ConnectDatabaseOutcome;
  80. typedef std::future<ConnectDatabaseOutcome> ConnectDatabaseOutcomeCallable;
  81. typedef std::function<void(const Dms_dgClient*, const Model::ConnectDatabaseRequest&, const ConnectDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConnectDatabaseAsyncHandler;
  82. typedef Outcome<Error, Model::CreateGatewayResult> CreateGatewayOutcome;
  83. typedef std::future<CreateGatewayOutcome> CreateGatewayOutcomeCallable;
  84. typedef std::function<void(const Dms_dgClient*, const Model::CreateGatewayRequest&, const CreateGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateGatewayAsyncHandler;
  85. typedef Outcome<Error, Model::CreateGatewayVerifyCodeResult> CreateGatewayVerifyCodeOutcome;
  86. typedef std::future<CreateGatewayVerifyCodeOutcome> CreateGatewayVerifyCodeOutcomeCallable;
  87. typedef std::function<void(const Dms_dgClient*, const Model::CreateGatewayVerifyCodeRequest&, const CreateGatewayVerifyCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateGatewayVerifyCodeAsyncHandler;
  88. typedef Outcome<Error, Model::DeleteDatabaseResult> DeleteDatabaseOutcome;
  89. typedef std::future<DeleteDatabaseOutcome> DeleteDatabaseOutcomeCallable;
  90. typedef std::function<void(const Dms_dgClient*, const Model::DeleteDatabaseRequest&, const DeleteDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDatabaseAsyncHandler;
  91. typedef Outcome<Error, Model::DeleteGatewayResult> DeleteGatewayOutcome;
  92. typedef std::future<DeleteGatewayOutcome> DeleteGatewayOutcomeCallable;
  93. typedef std::function<void(const Dms_dgClient*, const Model::DeleteGatewayRequest&, const DeleteGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGatewayAsyncHandler;
  94. typedef Outcome<Error, Model::DeleteGatewayInstanceResult> DeleteGatewayInstanceOutcome;
  95. typedef std::future<DeleteGatewayInstanceOutcome> DeleteGatewayInstanceOutcomeCallable;
  96. typedef std::function<void(const Dms_dgClient*, const Model::DeleteGatewayInstanceRequest&, const DeleteGatewayInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteGatewayInstanceAsyncHandler;
  97. typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
  98. typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
  99. typedef std::function<void(const Dms_dgClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
  100. typedef Outcome<Error, Model::DownloadGatewayProgramResult> DownloadGatewayProgramOutcome;
  101. typedef std::future<DownloadGatewayProgramOutcome> DownloadGatewayProgramOutcomeCallable;
  102. typedef std::function<void(const Dms_dgClient*, const Model::DownloadGatewayProgramRequest&, const DownloadGatewayProgramOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DownloadGatewayProgramAsyncHandler;
  103. typedef Outcome<Error, Model::FindUserGatewayByIdResult> FindUserGatewayByIdOutcome;
  104. typedef std::future<FindUserGatewayByIdOutcome> FindUserGatewayByIdOutcomeCallable;
  105. typedef std::function<void(const Dms_dgClient*, const Model::FindUserGatewayByIdRequest&, const FindUserGatewayByIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> FindUserGatewayByIdAsyncHandler;
  106. typedef Outcome<Error, Model::GetUserDatabasesResult> GetUserDatabasesOutcome;
  107. typedef std::future<GetUserDatabasesOutcome> GetUserDatabasesOutcomeCallable;
  108. typedef std::function<void(const Dms_dgClient*, const Model::GetUserDatabasesRequest&, const GetUserDatabasesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetUserDatabasesAsyncHandler;
  109. typedef Outcome<Error, Model::GetUserGatewayInstancesResult> GetUserGatewayInstancesOutcome;
  110. typedef std::future<GetUserGatewayInstancesOutcome> GetUserGatewayInstancesOutcomeCallable;
  111. typedef std::function<void(const Dms_dgClient*, const Model::GetUserGatewayInstancesRequest&, const GetUserGatewayInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetUserGatewayInstancesAsyncHandler;
  112. typedef Outcome<Error, Model::GetUserGatewaysResult> GetUserGatewaysOutcome;
  113. typedef std::future<GetUserGatewaysOutcome> GetUserGatewaysOutcomeCallable;
  114. typedef std::function<void(const Dms_dgClient*, const Model::GetUserGatewaysRequest&, const GetUserGatewaysOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetUserGatewaysAsyncHandler;
  115. typedef Outcome<Error, Model::ListDatabaseAccessPointResult> ListDatabaseAccessPointOutcome;
  116. typedef std::future<ListDatabaseAccessPointOutcome> ListDatabaseAccessPointOutcomeCallable;
  117. typedef std::function<void(const Dms_dgClient*, const Model::ListDatabaseAccessPointRequest&, const ListDatabaseAccessPointOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDatabaseAccessPointAsyncHandler;
  118. typedef Outcome<Error, Model::ModifyDatabaseResult> ModifyDatabaseOutcome;
  119. typedef std::future<ModifyDatabaseOutcome> ModifyDatabaseOutcomeCallable;
  120. typedef std::function<void(const Dms_dgClient*, const Model::ModifyDatabaseRequest&, const ModifyDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDatabaseAsyncHandler;
  121. typedef Outcome<Error, Model::ModifyGatewayResult> ModifyGatewayOutcome;
  122. typedef std::future<ModifyGatewayOutcome> ModifyGatewayOutcomeCallable;
  123. typedef std::function<void(const Dms_dgClient*, const Model::ModifyGatewayRequest&, const ModifyGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyGatewayAsyncHandler;
  124. typedef Outcome<Error, Model::RetryDatabaseResult> RetryDatabaseOutcome;
  125. typedef std::future<RetryDatabaseOutcome> RetryDatabaseOutcomeCallable;
  126. typedef std::function<void(const Dms_dgClient*, const Model::RetryDatabaseRequest&, const RetryDatabaseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RetryDatabaseAsyncHandler;
  127. typedef Outcome<Error, Model::StopGatewayResult> StopGatewayOutcome;
  128. typedef std::future<StopGatewayOutcome> StopGatewayOutcomeCallable;
  129. typedef std::function<void(const Dms_dgClient*, const Model::StopGatewayRequest&, const StopGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopGatewayAsyncHandler;
  130. Dms_dgClient(const Credentials &credentials, const ClientConfiguration &configuration);
  131. Dms_dgClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
  132. Dms_dgClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
  133. ~Dms_dgClient();
  134. AddDatabaseOutcome addDatabase(const Model::AddDatabaseRequest &request)const;
  135. void addDatabaseAsync(const Model::AddDatabaseRequest& request, const AddDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  136. AddDatabaseOutcomeCallable addDatabaseCallable(const Model::AddDatabaseRequest& request) const;
  137. AddDatabaseListOutcome addDatabaseList(const Model::AddDatabaseListRequest &request)const;
  138. void addDatabaseListAsync(const Model::AddDatabaseListRequest& request, const AddDatabaseListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  139. AddDatabaseListOutcomeCallable addDatabaseListCallable(const Model::AddDatabaseListRequest& request) const;
  140. CheckDGEnabledOutcome checkDGEnabled(const Model::CheckDGEnabledRequest &request)const;
  141. void checkDGEnabledAsync(const Model::CheckDGEnabledRequest& request, const CheckDGEnabledAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  142. CheckDGEnabledOutcomeCallable checkDGEnabledCallable(const Model::CheckDGEnabledRequest& request) const;
  143. ConnectDatabaseOutcome connectDatabase(const Model::ConnectDatabaseRequest &request)const;
  144. void connectDatabaseAsync(const Model::ConnectDatabaseRequest& request, const ConnectDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  145. ConnectDatabaseOutcomeCallable connectDatabaseCallable(const Model::ConnectDatabaseRequest& request) const;
  146. CreateGatewayOutcome createGateway(const Model::CreateGatewayRequest &request)const;
  147. void createGatewayAsync(const Model::CreateGatewayRequest& request, const CreateGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  148. CreateGatewayOutcomeCallable createGatewayCallable(const Model::CreateGatewayRequest& request) const;
  149. CreateGatewayVerifyCodeOutcome createGatewayVerifyCode(const Model::CreateGatewayVerifyCodeRequest &request)const;
  150. void createGatewayVerifyCodeAsync(const Model::CreateGatewayVerifyCodeRequest& request, const CreateGatewayVerifyCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  151. CreateGatewayVerifyCodeOutcomeCallable createGatewayVerifyCodeCallable(const Model::CreateGatewayVerifyCodeRequest& request) const;
  152. DeleteDatabaseOutcome deleteDatabase(const Model::DeleteDatabaseRequest &request)const;
  153. void deleteDatabaseAsync(const Model::DeleteDatabaseRequest& request, const DeleteDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  154. DeleteDatabaseOutcomeCallable deleteDatabaseCallable(const Model::DeleteDatabaseRequest& request) const;
  155. DeleteGatewayOutcome deleteGateway(const Model::DeleteGatewayRequest &request)const;
  156. void deleteGatewayAsync(const Model::DeleteGatewayRequest& request, const DeleteGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  157. DeleteGatewayOutcomeCallable deleteGatewayCallable(const Model::DeleteGatewayRequest& request) const;
  158. DeleteGatewayInstanceOutcome deleteGatewayInstance(const Model::DeleteGatewayInstanceRequest &request)const;
  159. void deleteGatewayInstanceAsync(const Model::DeleteGatewayInstanceRequest& request, const DeleteGatewayInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  160. DeleteGatewayInstanceOutcomeCallable deleteGatewayInstanceCallable(const Model::DeleteGatewayInstanceRequest& request) const;
  161. DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
  162. void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  163. DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
  164. DownloadGatewayProgramOutcome downloadGatewayProgram(const Model::DownloadGatewayProgramRequest &request)const;
  165. void downloadGatewayProgramAsync(const Model::DownloadGatewayProgramRequest& request, const DownloadGatewayProgramAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  166. DownloadGatewayProgramOutcomeCallable downloadGatewayProgramCallable(const Model::DownloadGatewayProgramRequest& request) const;
  167. FindUserGatewayByIdOutcome findUserGatewayById(const Model::FindUserGatewayByIdRequest &request)const;
  168. void findUserGatewayByIdAsync(const Model::FindUserGatewayByIdRequest& request, const FindUserGatewayByIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  169. FindUserGatewayByIdOutcomeCallable findUserGatewayByIdCallable(const Model::FindUserGatewayByIdRequest& request) const;
  170. GetUserDatabasesOutcome getUserDatabases(const Model::GetUserDatabasesRequest &request)const;
  171. void getUserDatabasesAsync(const Model::GetUserDatabasesRequest& request, const GetUserDatabasesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  172. GetUserDatabasesOutcomeCallable getUserDatabasesCallable(const Model::GetUserDatabasesRequest& request) const;
  173. GetUserGatewayInstancesOutcome getUserGatewayInstances(const Model::GetUserGatewayInstancesRequest &request)const;
  174. void getUserGatewayInstancesAsync(const Model::GetUserGatewayInstancesRequest& request, const GetUserGatewayInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  175. GetUserGatewayInstancesOutcomeCallable getUserGatewayInstancesCallable(const Model::GetUserGatewayInstancesRequest& request) const;
  176. GetUserGatewaysOutcome getUserGateways(const Model::GetUserGatewaysRequest &request)const;
  177. void getUserGatewaysAsync(const Model::GetUserGatewaysRequest& request, const GetUserGatewaysAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  178. GetUserGatewaysOutcomeCallable getUserGatewaysCallable(const Model::GetUserGatewaysRequest& request) const;
  179. ListDatabaseAccessPointOutcome listDatabaseAccessPoint(const Model::ListDatabaseAccessPointRequest &request)const;
  180. void listDatabaseAccessPointAsync(const Model::ListDatabaseAccessPointRequest& request, const ListDatabaseAccessPointAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  181. ListDatabaseAccessPointOutcomeCallable listDatabaseAccessPointCallable(const Model::ListDatabaseAccessPointRequest& request) const;
  182. ModifyDatabaseOutcome modifyDatabase(const Model::ModifyDatabaseRequest &request)const;
  183. void modifyDatabaseAsync(const Model::ModifyDatabaseRequest& request, const ModifyDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  184. ModifyDatabaseOutcomeCallable modifyDatabaseCallable(const Model::ModifyDatabaseRequest& request) const;
  185. ModifyGatewayOutcome modifyGateway(const Model::ModifyGatewayRequest &request)const;
  186. void modifyGatewayAsync(const Model::ModifyGatewayRequest& request, const ModifyGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  187. ModifyGatewayOutcomeCallable modifyGatewayCallable(const Model::ModifyGatewayRequest& request) const;
  188. RetryDatabaseOutcome retryDatabase(const Model::RetryDatabaseRequest &request)const;
  189. void retryDatabaseAsync(const Model::RetryDatabaseRequest& request, const RetryDatabaseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  190. RetryDatabaseOutcomeCallable retryDatabaseCallable(const Model::RetryDatabaseRequest& request) const;
  191. StopGatewayOutcome stopGateway(const Model::StopGatewayRequest &request)const;
  192. void stopGatewayAsync(const Model::StopGatewayRequest& request, const StopGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  193. StopGatewayOutcomeCallable stopGatewayCallable(const Model::StopGatewayRequest& request) const;
  194. private:
  195. std::shared_ptr<EndpointProvider> endpointProvider_;
  196. };
  197. }
  198. }
  199. #endif // !ALIBABACLOUD_DMS_DG_DMS_DGCLIENT_H_