DescribeTenantResult.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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_DESCRIBETENANTRESULT_H_
  17. #define ALIBABACLOUD_OCEANBASEPRO_MODEL_DESCRIBETENANTRESULT_H_
  18. #include <string>
  19. #include <vector>
  20. #include <utility>
  21. #include <alibabacloud/core/ServiceResult.h>
  22. #include <alibabacloud/oceanbasepro/OceanBaseProExport.h>
  23. namespace AlibabaCloud
  24. {
  25. namespace OceanBasePro
  26. {
  27. namespace Model
  28. {
  29. class ALIBABACLOUD_OCEANBASEPRO_EXPORT DescribeTenantResult : public ServiceResult
  30. {
  31. public:
  32. struct Tenant
  33. {
  34. struct TenantResource
  35. {
  36. struct Cpu
  37. {
  38. float unitCpu;
  39. float totalCpu;
  40. float usedCpu;
  41. };
  42. struct Memory
  43. {
  44. float usedMemory;
  45. float unitMemory;
  46. float totalMemory;
  47. };
  48. struct DiskSize
  49. {
  50. float usedDiskSize;
  51. };
  52. struct CapacityUnit
  53. {
  54. int usedCapacit;
  55. int maxCapacityUnit;
  56. int minCapacityUnit;
  57. };
  58. struct LogDiskSize
  59. {
  60. int totalLogDisk;
  61. int unitLogDisk;
  62. };
  63. CapacityUnit capacityUnit;
  64. Memory memory;
  65. int unitNum;
  66. DiskSize diskSize;
  67. Cpu cpu;
  68. LogDiskSize logDiskSize;
  69. };
  70. struct ReadOnlyResource
  71. {
  72. struct Cpu1
  73. {
  74. float unitCpu;
  75. float totalCpu;
  76. float usedCpu;
  77. };
  78. struct Memory2
  79. {
  80. float usedMemory;
  81. float unitMemory;
  82. float totalMemory;
  83. };
  84. struct DiskSize3
  85. {
  86. float usedDiskSize;
  87. };
  88. struct CapacityUnit4
  89. {
  90. int usedCapacit;
  91. int maxCapacityUnit;
  92. int minCapacityUnit;
  93. };
  94. struct LogDiskSize5
  95. {
  96. int totalLogDisk;
  97. int unitLogDisk;
  98. };
  99. LogDiskSize5 logDiskSize5;
  100. int unitNum;
  101. Cpu1 cpu1;
  102. DiskSize3 diskSize3;
  103. CapacityUnit4 capacityUnit4;
  104. Memory2 memory2;
  105. };
  106. struct TenantConnectionsItem
  107. {
  108. std::string intranetAddressStatus;
  109. std::vector<std::string> connectionZones;
  110. std::string internetAddress;
  111. std::string intranetAddressSlaveZoneId;
  112. long internetMaxConnectionNum;
  113. int internetPort;
  114. bool transactionSplit;
  115. bool enableTransactionSplit;
  116. std::string proxyClusterId;
  117. int intranetPort;
  118. long parallelQueryDegree;
  119. std::string intranetAddressServiceType;
  120. int internetSqlPort;
  121. int internetRpcPort;
  122. std::string connectionReplicaType;
  123. std::string internetAddressStatus;
  124. long maxConnectionNum;
  125. long maxConnectionLimit;
  126. std::string vSwitchId;
  127. std::string tenantEndpointId;
  128. std::string intranetAddressMasterZoneId;
  129. long internetMaxConnectionLimit;
  130. int intranetRpcPort;
  131. std::string odpVersion;
  132. std::string internetAddressServiceType;
  133. std::string intranetAddress;
  134. std::string vpcId;
  135. std::vector<std::string> connectionLogicalZones;
  136. int intranetSqlPort;
  137. std::string addressType;
  138. };
  139. struct TenantZonesItem
  140. {
  141. struct TenantZoneReplicasItem
  142. {
  143. std::string readOnlyReplicaType;
  144. long zoneNodes;
  145. int zoneCopyId;
  146. std::string logicZoneName;
  147. std::string readOnlyCopyId;
  148. std::string zoneReplicaType;
  149. int fullCopyId;
  150. };
  151. std::string tenantZoneRole;
  152. std::vector<TenantZonesItem::TenantZoneReplicasItem> tenantZoneReplicas;
  153. std::string tenantZoneId;
  154. std::string region;
  155. };
  156. std::string deployType;
  157. std::string parameterTemplate;
  158. ReadOnlyResource readOnlyResource;
  159. std::string description;
  160. long maxParallelQueryDegree;
  161. std::string dataMergeTime;
  162. bool enableReadOnlyReplica;
  163. std::string masterIntranetAddressZone;
  164. std::vector<std::string> availableZones;
  165. std::string diskType;
  166. std::string primaryZoneDeployType;
  167. std::string deployMode;
  168. std::string version;
  169. std::vector<TenantZonesItem> tenantZones;
  170. std::string primaryZone;
  171. std::string instanceType;
  172. std::string tenantMode;
  173. int lowerCaseTableNames;
  174. std::string status;
  175. std::string recycleBinStatus;
  176. bool enableClogService;
  177. std::string tenantName;
  178. bool enableParallelQuery;
  179. std::string createTime;
  180. std::string clogServiceStatus;
  181. std::string charset;
  182. std::string payType;
  183. std::string odpVersion;
  184. int iops;
  185. std::string collation;
  186. bool enableInternetAddressService;
  187. bool enableReadWriteSplit;
  188. std::vector<TenantConnectionsItem> tenantConnections;
  189. std::string series;
  190. std::string tenantId;
  191. bool enableBinlogService;
  192. std::string timeZone;
  193. TenantResource tenantResource;
  194. std::string vpcId;
  195. long tenantMaxConnections;
  196. };
  197. DescribeTenantResult();
  198. explicit DescribeTenantResult(const std::string &payload);
  199. ~DescribeTenantResult();
  200. Tenant getTenant()const;
  201. protected:
  202. void parse(const std::string &payload);
  203. private:
  204. Tenant tenant_;
  205. };
  206. }
  207. }
  208. }
  209. #endif // !ALIBABACLOUD_OCEANBASEPRO_MODEL_DESCRIBETENANTRESULT_H_