CreateOmsOpenAPIProjectRequest.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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_OCEANBASEPRO_MODEL_CREATEOMSOPENAPIPROJECTREQUEST_H_
  17. #define ALIBABACLOUD_OCEANBASEPRO_MODEL_CREATEOMSOPENAPIPROJECTREQUEST_H_
  18. #include <alibabacloud/oceanbasepro/OceanBaseProExport.h>
  19. #include <alibabacloud/core/RpcServiceRequest.h>
  20. #include <string>
  21. #include <vector>
  22. #include <map>
  23. namespace AlibabaCloud {
  24. namespace OceanBasePro {
  25. namespace Model {
  26. class ALIBABACLOUD_OCEANBASEPRO_EXPORT CreateOmsOpenAPIProjectRequest : public RpcServiceRequest {
  27. public:
  28. struct DestConfig {
  29. long sendMsgTimeout;
  30. long sequenceStartTimestamp;
  31. int partition;
  32. std::string serializerType;
  33. std::string endpointType;
  34. std::string endpointId;
  35. bool sequenceEnable;
  36. std::string partitionMode;
  37. bool enableMsgTrace;
  38. std::string topicType;
  39. std::string msgTags;
  40. std::string producerGroup;
  41. };
  42. struct TransferMapping {
  43. std::string mode;
  44. struct DatabasesItem {
  45. std::string mappedName;
  46. struct TablesItem {
  47. std::string mappedName;
  48. std::string string;
  49. std::vector<std::string> filterColumns;
  50. struct AdbTableSchema {
  51. std::string string;
  52. std::vector<std::string> primaryKeys;
  53. std::string partitionStatement;
  54. int partitionLifeCycle;
  55. std::string string;
  56. std::vector<std::string> distributedKeys;
  57. };
  58. AdbTableSchema adbTableSchema;
  59. std::string tableId;
  60. std::string whereClause;
  61. std::string string;
  62. std::vector<std::string> shardColumns;
  63. std::string tableName;
  64. std::string type;
  65. };
  66. TablesItem tablesItem;
  67. std::vector<TablesItem> tables;
  68. std::string databaseName;
  69. std::string tenantName;
  70. std::string databaseId;
  71. std::string type;
  72. };
  73. DatabasesItem databasesItem;
  74. std::vector<DatabasesItem> databases;
  75. };
  76. struct TransferStepConfig {
  77. struct IncrSyncStepTransferConfig {
  78. bool storeTransactionEnabled;
  79. std::string string;
  80. std::vector<std::string> recordTypeList;
  81. std::string transferStepType;
  82. long storeLogKeptHour;
  83. long startTimestamp;
  84. };
  85. IncrSyncStepTransferConfig incrSyncStepTransferConfig;
  86. bool enableFullSync;
  87. bool enableIncrSync;
  88. bool enableStructSync;
  89. };
  90. struct SourceConfig {
  91. long sendMsgTimeout;
  92. long sequenceStartTimestamp;
  93. int partition;
  94. std::string serializerType;
  95. std::string endpointType;
  96. std::string endpointId;
  97. bool sequenceEnable;
  98. std::string partitionMode;
  99. bool enableMsgTrace;
  100. std::string topicType;
  101. std::string msgTags;
  102. std::string producerGroup;
  103. };
  104. CreateOmsOpenAPIProjectRequest();
  105. ~CreateOmsOpenAPIProjectRequest();
  106. DestConfig getDestConfig() const;
  107. void setDestConfig(const DestConfig &destConfig);
  108. int getPageNumber() const;
  109. void setPageNumber(int pageNumber);
  110. int getPageSize() const;
  111. void setPageSize(int pageSize);
  112. TransferMapping getTransferMapping() const;
  113. void setTransferMapping(const TransferMapping &transferMapping);
  114. TransferStepConfig getTransferStepConfig() const;
  115. void setTransferStepConfig(const TransferStepConfig &transferStepConfig);
  116. std::string getWorkerGradeId() const;
  117. void setWorkerGradeId(const std::string &workerGradeId);
  118. std::string getProjectName() const;
  119. void setProjectName(const std::string &projectName);
  120. SourceConfig getSourceConfig() const;
  121. void setSourceConfig(const SourceConfig &sourceConfig);
  122. std::string getBusinessName() const;
  123. void setBusinessName(const std::string &businessName);
  124. std::vector<std::string> getLabelIds() const;
  125. void setLabelIds(const std::vector<std::string> &labelIds);
  126. private:
  127. DestConfig destConfig_;
  128. int pageNumber_;
  129. int pageSize_;
  130. TransferMapping transferMapping_;
  131. TransferStepConfig transferStepConfig_;
  132. std::string workerGradeId_;
  133. std::string projectName_;
  134. SourceConfig sourceConfig_;
  135. std::string businessName_;
  136. std::vector<std::string> labelIds_;
  137. };
  138. } // namespace Model
  139. } // namespace OceanBasePro
  140. } // namespace AlibabaCloud
  141. #endif // !ALIBABACLOUD_OCEANBASEPRO_MODEL_CREATEOMSOPENAPIPROJECTREQUEST_H_