Eflo_controllerClient.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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_EFLO_CONTROLLER_EFLO_CONTROLLERCLIENT_H_
  17. #define ALIBABACLOUD_EFLO_CONTROLLER_EFLO_CONTROLLERCLIENT_H_
  18. #include <future>
  19. #include <alibabacloud/core/AsyncCallerContext.h>
  20. #include <alibabacloud/core/EndpointProvider.h>
  21. #include <alibabacloud/core/RpcServiceClient.h>
  22. #include "Eflo_controllerExport.h"
  23. #include "model/ChangeResourceGroupRequest.h"
  24. #include "model/ChangeResourceGroupResult.h"
  25. #include "model/CreateClusterRequest.h"
  26. #include "model/CreateClusterResult.h"
  27. #include "model/DeleteClusterRequest.h"
  28. #include "model/DeleteClusterResult.h"
  29. #include "model/DescribeClusterRequest.h"
  30. #include "model/DescribeClusterResult.h"
  31. #include "model/DescribeNodeRequest.h"
  32. #include "model/DescribeNodeResult.h"
  33. #include "model/DescribeRegionsRequest.h"
  34. #include "model/DescribeRegionsResult.h"
  35. #include "model/DescribeTaskRequest.h"
  36. #include "model/DescribeTaskResult.h"
  37. #include "model/DescribeZonesRequest.h"
  38. #include "model/DescribeZonesResult.h"
  39. #include "model/ExtendClusterRequest.h"
  40. #include "model/ExtendClusterResult.h"
  41. #include "model/ListClusterNodesRequest.h"
  42. #include "model/ListClusterNodesResult.h"
  43. #include "model/ListClustersRequest.h"
  44. #include "model/ListClustersResult.h"
  45. #include "model/ListFreeNodesRequest.h"
  46. #include "model/ListFreeNodesResult.h"
  47. #include "model/ListTagResourcesRequest.h"
  48. #include "model/ListTagResourcesResult.h"
  49. #include "model/RebootNodesRequest.h"
  50. #include "model/RebootNodesResult.h"
  51. #include "model/ReimageNodesRequest.h"
  52. #include "model/ReimageNodesResult.h"
  53. #include "model/ShrinkClusterRequest.h"
  54. #include "model/ShrinkClusterResult.h"
  55. #include "model/TagResourcesRequest.h"
  56. #include "model/TagResourcesResult.h"
  57. #include "model/UntagResourcesRequest.h"
  58. #include "model/UntagResourcesResult.h"
  59. namespace AlibabaCloud
  60. {
  61. namespace Eflo_controller
  62. {
  63. class ALIBABACLOUD_EFLO_CONTROLLER_EXPORT Eflo_controllerClient : public RpcServiceClient
  64. {
  65. public:
  66. typedef Outcome<Error, Model::ChangeResourceGroupResult> ChangeResourceGroupOutcome;
  67. typedef std::future<ChangeResourceGroupOutcome> ChangeResourceGroupOutcomeCallable;
  68. typedef std::function<void(const Eflo_controllerClient*, const Model::ChangeResourceGroupRequest&, const ChangeResourceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ChangeResourceGroupAsyncHandler;
  69. typedef Outcome<Error, Model::CreateClusterResult> CreateClusterOutcome;
  70. typedef std::future<CreateClusterOutcome> CreateClusterOutcomeCallable;
  71. typedef std::function<void(const Eflo_controllerClient*, const Model::CreateClusterRequest&, const CreateClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateClusterAsyncHandler;
  72. typedef Outcome<Error, Model::DeleteClusterResult> DeleteClusterOutcome;
  73. typedef std::future<DeleteClusterOutcome> DeleteClusterOutcomeCallable;
  74. typedef std::function<void(const Eflo_controllerClient*, const Model::DeleteClusterRequest&, const DeleteClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClusterAsyncHandler;
  75. typedef Outcome<Error, Model::DescribeClusterResult> DescribeClusterOutcome;
  76. typedef std::future<DescribeClusterOutcome> DescribeClusterOutcomeCallable;
  77. typedef std::function<void(const Eflo_controllerClient*, const Model::DescribeClusterRequest&, const DescribeClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterAsyncHandler;
  78. typedef Outcome<Error, Model::DescribeNodeResult> DescribeNodeOutcome;
  79. typedef std::future<DescribeNodeOutcome> DescribeNodeOutcomeCallable;
  80. typedef std::function<void(const Eflo_controllerClient*, const Model::DescribeNodeRequest&, const DescribeNodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNodeAsyncHandler;
  81. typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
  82. typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
  83. typedef std::function<void(const Eflo_controllerClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
  84. typedef Outcome<Error, Model::DescribeTaskResult> DescribeTaskOutcome;
  85. typedef std::future<DescribeTaskOutcome> DescribeTaskOutcomeCallable;
  86. typedef std::function<void(const Eflo_controllerClient*, const Model::DescribeTaskRequest&, const DescribeTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTaskAsyncHandler;
  87. typedef Outcome<Error, Model::DescribeZonesResult> DescribeZonesOutcome;
  88. typedef std::future<DescribeZonesOutcome> DescribeZonesOutcomeCallable;
  89. typedef std::function<void(const Eflo_controllerClient*, const Model::DescribeZonesRequest&, const DescribeZonesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeZonesAsyncHandler;
  90. typedef Outcome<Error, Model::ExtendClusterResult> ExtendClusterOutcome;
  91. typedef std::future<ExtendClusterOutcome> ExtendClusterOutcomeCallable;
  92. typedef std::function<void(const Eflo_controllerClient*, const Model::ExtendClusterRequest&, const ExtendClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ExtendClusterAsyncHandler;
  93. typedef Outcome<Error, Model::ListClusterNodesResult> ListClusterNodesOutcome;
  94. typedef std::future<ListClusterNodesOutcome> ListClusterNodesOutcomeCallable;
  95. typedef std::function<void(const Eflo_controllerClient*, const Model::ListClusterNodesRequest&, const ListClusterNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClusterNodesAsyncHandler;
  96. typedef Outcome<Error, Model::ListClustersResult> ListClustersOutcome;
  97. typedef std::future<ListClustersOutcome> ListClustersOutcomeCallable;
  98. typedef std::function<void(const Eflo_controllerClient*, const Model::ListClustersRequest&, const ListClustersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListClustersAsyncHandler;
  99. typedef Outcome<Error, Model::ListFreeNodesResult> ListFreeNodesOutcome;
  100. typedef std::future<ListFreeNodesOutcome> ListFreeNodesOutcomeCallable;
  101. typedef std::function<void(const Eflo_controllerClient*, const Model::ListFreeNodesRequest&, const ListFreeNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListFreeNodesAsyncHandler;
  102. typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
  103. typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
  104. typedef std::function<void(const Eflo_controllerClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
  105. typedef Outcome<Error, Model::RebootNodesResult> RebootNodesOutcome;
  106. typedef std::future<RebootNodesOutcome> RebootNodesOutcomeCallable;
  107. typedef std::function<void(const Eflo_controllerClient*, const Model::RebootNodesRequest&, const RebootNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RebootNodesAsyncHandler;
  108. typedef Outcome<Error, Model::ReimageNodesResult> ReimageNodesOutcome;
  109. typedef std::future<ReimageNodesOutcome> ReimageNodesOutcomeCallable;
  110. typedef std::function<void(const Eflo_controllerClient*, const Model::ReimageNodesRequest&, const ReimageNodesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReimageNodesAsyncHandler;
  111. typedef Outcome<Error, Model::ShrinkClusterResult> ShrinkClusterOutcome;
  112. typedef std::future<ShrinkClusterOutcome> ShrinkClusterOutcomeCallable;
  113. typedef std::function<void(const Eflo_controllerClient*, const Model::ShrinkClusterRequest&, const ShrinkClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ShrinkClusterAsyncHandler;
  114. typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
  115. typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
  116. typedef std::function<void(const Eflo_controllerClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
  117. typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
  118. typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
  119. typedef std::function<void(const Eflo_controllerClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
  120. Eflo_controllerClient(const Credentials &credentials, const ClientConfiguration &configuration);
  121. Eflo_controllerClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
  122. Eflo_controllerClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
  123. ~Eflo_controllerClient();
  124. ChangeResourceGroupOutcome changeResourceGroup(const Model::ChangeResourceGroupRequest &request)const;
  125. void changeResourceGroupAsync(const Model::ChangeResourceGroupRequest& request, const ChangeResourceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  126. ChangeResourceGroupOutcomeCallable changeResourceGroupCallable(const Model::ChangeResourceGroupRequest& request) const;
  127. CreateClusterOutcome createCluster(const Model::CreateClusterRequest &request)const;
  128. void createClusterAsync(const Model::CreateClusterRequest& request, const CreateClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  129. CreateClusterOutcomeCallable createClusterCallable(const Model::CreateClusterRequest& request) const;
  130. DeleteClusterOutcome deleteCluster(const Model::DeleteClusterRequest &request)const;
  131. void deleteClusterAsync(const Model::DeleteClusterRequest& request, const DeleteClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  132. DeleteClusterOutcomeCallable deleteClusterCallable(const Model::DeleteClusterRequest& request) const;
  133. DescribeClusterOutcome describeCluster(const Model::DescribeClusterRequest &request)const;
  134. void describeClusterAsync(const Model::DescribeClusterRequest& request, const DescribeClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  135. DescribeClusterOutcomeCallable describeClusterCallable(const Model::DescribeClusterRequest& request) const;
  136. DescribeNodeOutcome describeNode(const Model::DescribeNodeRequest &request)const;
  137. void describeNodeAsync(const Model::DescribeNodeRequest& request, const DescribeNodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  138. DescribeNodeOutcomeCallable describeNodeCallable(const Model::DescribeNodeRequest& request) const;
  139. DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
  140. void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  141. DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
  142. DescribeTaskOutcome describeTask(const Model::DescribeTaskRequest &request)const;
  143. void describeTaskAsync(const Model::DescribeTaskRequest& request, const DescribeTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  144. DescribeTaskOutcomeCallable describeTaskCallable(const Model::DescribeTaskRequest& request) const;
  145. DescribeZonesOutcome describeZones(const Model::DescribeZonesRequest &request)const;
  146. void describeZonesAsync(const Model::DescribeZonesRequest& request, const DescribeZonesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  147. DescribeZonesOutcomeCallable describeZonesCallable(const Model::DescribeZonesRequest& request) const;
  148. ExtendClusterOutcome extendCluster(const Model::ExtendClusterRequest &request)const;
  149. void extendClusterAsync(const Model::ExtendClusterRequest& request, const ExtendClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  150. ExtendClusterOutcomeCallable extendClusterCallable(const Model::ExtendClusterRequest& request) const;
  151. ListClusterNodesOutcome listClusterNodes(const Model::ListClusterNodesRequest &request)const;
  152. void listClusterNodesAsync(const Model::ListClusterNodesRequest& request, const ListClusterNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  153. ListClusterNodesOutcomeCallable listClusterNodesCallable(const Model::ListClusterNodesRequest& request) const;
  154. ListClustersOutcome listClusters(const Model::ListClustersRequest &request)const;
  155. void listClustersAsync(const Model::ListClustersRequest& request, const ListClustersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  156. ListClustersOutcomeCallable listClustersCallable(const Model::ListClustersRequest& request) const;
  157. ListFreeNodesOutcome listFreeNodes(const Model::ListFreeNodesRequest &request)const;
  158. void listFreeNodesAsync(const Model::ListFreeNodesRequest& request, const ListFreeNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  159. ListFreeNodesOutcomeCallable listFreeNodesCallable(const Model::ListFreeNodesRequest& request) const;
  160. ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
  161. void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  162. ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
  163. RebootNodesOutcome rebootNodes(const Model::RebootNodesRequest &request)const;
  164. void rebootNodesAsync(const Model::RebootNodesRequest& request, const RebootNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  165. RebootNodesOutcomeCallable rebootNodesCallable(const Model::RebootNodesRequest& request) const;
  166. ReimageNodesOutcome reimageNodes(const Model::ReimageNodesRequest &request)const;
  167. void reimageNodesAsync(const Model::ReimageNodesRequest& request, const ReimageNodesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  168. ReimageNodesOutcomeCallable reimageNodesCallable(const Model::ReimageNodesRequest& request) const;
  169. ShrinkClusterOutcome shrinkCluster(const Model::ShrinkClusterRequest &request)const;
  170. void shrinkClusterAsync(const Model::ShrinkClusterRequest& request, const ShrinkClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  171. ShrinkClusterOutcomeCallable shrinkClusterCallable(const Model::ShrinkClusterRequest& request) const;
  172. TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
  173. void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  174. TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
  175. UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
  176. void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  177. UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
  178. private:
  179. std::shared_ptr<EndpointProvider> endpointProvider_;
  180. };
  181. }
  182. }
  183. #endif // !ALIBABACLOUD_EFLO_CONTROLLER_EFLO_CONTROLLERCLIENT_H_