DBFSClient.h 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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_DBFS_DBFSCLIENT_H_
  17. #define ALIBABACLOUD_DBFS_DBFSCLIENT_H_
  18. #include <future>
  19. #include <alibabacloud/core/AsyncCallerContext.h>
  20. #include <alibabacloud/core/EndpointProvider.h>
  21. #include <alibabacloud/core/RpcServiceClient.h>
  22. #include "DBFSExport.h"
  23. #include "model/AttachDbfsRequest.h"
  24. #include "model/AttachDbfsResult.h"
  25. #include "model/CreateDbfsRequest.h"
  26. #include "model/CreateDbfsResult.h"
  27. #include "model/DeleteDbfsRequest.h"
  28. #include "model/DeleteDbfsResult.h"
  29. #include "model/DetachDbfsRequest.h"
  30. #include "model/DetachDbfsResult.h"
  31. #include "model/GetDbfsRequest.h"
  32. #include "model/GetDbfsResult.h"
  33. #include "model/ListDbfsRequest.h"
  34. #include "model/ListDbfsResult.h"
  35. #include "model/ResizeDbfsRequest.h"
  36. #include "model/ResizeDbfsResult.h"
  37. namespace AlibabaCloud
  38. {
  39. namespace DBFS
  40. {
  41. class ALIBABACLOUD_DBFS_EXPORT DBFSClient : public RpcServiceClient
  42. {
  43. public:
  44. typedef Outcome<Error, Model::AttachDbfsResult> AttachDbfsOutcome;
  45. typedef std::future<AttachDbfsOutcome> AttachDbfsOutcomeCallable;
  46. typedef std::function<void(const DBFSClient*, const Model::AttachDbfsRequest&, const AttachDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachDbfsAsyncHandler;
  47. typedef Outcome<Error, Model::CreateDbfsResult> CreateDbfsOutcome;
  48. typedef std::future<CreateDbfsOutcome> CreateDbfsOutcomeCallable;
  49. typedef std::function<void(const DBFSClient*, const Model::CreateDbfsRequest&, const CreateDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDbfsAsyncHandler;
  50. typedef Outcome<Error, Model::DeleteDbfsResult> DeleteDbfsOutcome;
  51. typedef std::future<DeleteDbfsOutcome> DeleteDbfsOutcomeCallable;
  52. typedef std::function<void(const DBFSClient*, const Model::DeleteDbfsRequest&, const DeleteDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDbfsAsyncHandler;
  53. typedef Outcome<Error, Model::DetachDbfsResult> DetachDbfsOutcome;
  54. typedef std::future<DetachDbfsOutcome> DetachDbfsOutcomeCallable;
  55. typedef std::function<void(const DBFSClient*, const Model::DetachDbfsRequest&, const DetachDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachDbfsAsyncHandler;
  56. typedef Outcome<Error, Model::GetDbfsResult> GetDbfsOutcome;
  57. typedef std::future<GetDbfsOutcome> GetDbfsOutcomeCallable;
  58. typedef std::function<void(const DBFSClient*, const Model::GetDbfsRequest&, const GetDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDbfsAsyncHandler;
  59. typedef Outcome<Error, Model::ListDbfsResult> ListDbfsOutcome;
  60. typedef std::future<ListDbfsOutcome> ListDbfsOutcomeCallable;
  61. typedef std::function<void(const DBFSClient*, const Model::ListDbfsRequest&, const ListDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListDbfsAsyncHandler;
  62. typedef Outcome<Error, Model::ResizeDbfsResult> ResizeDbfsOutcome;
  63. typedef std::future<ResizeDbfsOutcome> ResizeDbfsOutcomeCallable;
  64. typedef std::function<void(const DBFSClient*, const Model::ResizeDbfsRequest&, const ResizeDbfsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeDbfsAsyncHandler;
  65. DBFSClient(const Credentials &credentials, const ClientConfiguration &configuration);
  66. DBFSClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
  67. DBFSClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
  68. ~DBFSClient();
  69. AttachDbfsOutcome attachDbfs(const Model::AttachDbfsRequest &request)const;
  70. void attachDbfsAsync(const Model::AttachDbfsRequest& request, const AttachDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  71. AttachDbfsOutcomeCallable attachDbfsCallable(const Model::AttachDbfsRequest& request) const;
  72. CreateDbfsOutcome createDbfs(const Model::CreateDbfsRequest &request)const;
  73. void createDbfsAsync(const Model::CreateDbfsRequest& request, const CreateDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  74. CreateDbfsOutcomeCallable createDbfsCallable(const Model::CreateDbfsRequest& request) const;
  75. DeleteDbfsOutcome deleteDbfs(const Model::DeleteDbfsRequest &request)const;
  76. void deleteDbfsAsync(const Model::DeleteDbfsRequest& request, const DeleteDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  77. DeleteDbfsOutcomeCallable deleteDbfsCallable(const Model::DeleteDbfsRequest& request) const;
  78. DetachDbfsOutcome detachDbfs(const Model::DetachDbfsRequest &request)const;
  79. void detachDbfsAsync(const Model::DetachDbfsRequest& request, const DetachDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  80. DetachDbfsOutcomeCallable detachDbfsCallable(const Model::DetachDbfsRequest& request) const;
  81. GetDbfsOutcome getDbfs(const Model::GetDbfsRequest &request)const;
  82. void getDbfsAsync(const Model::GetDbfsRequest& request, const GetDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  83. GetDbfsOutcomeCallable getDbfsCallable(const Model::GetDbfsRequest& request) const;
  84. ListDbfsOutcome listDbfs(const Model::ListDbfsRequest &request)const;
  85. void listDbfsAsync(const Model::ListDbfsRequest& request, const ListDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  86. ListDbfsOutcomeCallable listDbfsCallable(const Model::ListDbfsRequest& request) const;
  87. ResizeDbfsOutcome resizeDbfs(const Model::ResizeDbfsRequest &request)const;
  88. void resizeDbfsAsync(const Model::ResizeDbfsRequest& request, const ResizeDbfsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
  89. ResizeDbfsOutcomeCallable resizeDbfsCallable(const Model::ResizeDbfsRequest& request) const;
  90. private:
  91. std::shared_ptr<EndpointProvider> endpointProvider_;
  92. };
  93. }
  94. }
  95. #endif // !ALIBABACLOUD_DBFS_DBFSCLIENT_H_