DescribeSynchronizationJobStatusResult.cc 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  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. #include <alibabacloud/dts/model/DescribeSynchronizationJobStatusResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Dts;
  19. using namespace AlibabaCloud::Dts::Model;
  20. DescribeSynchronizationJobStatusResult::DescribeSynchronizationJobStatusResult() :
  21. ServiceResult()
  22. {}
  23. DescribeSynchronizationJobStatusResult::DescribeSynchronizationJobStatusResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeSynchronizationJobStatusResult::~DescribeSynchronizationJobStatusResult()
  29. {}
  30. void DescribeSynchronizationJobStatusResult::parse(const std::string &payload)
  31. {
  32. Json::Reader reader;
  33. Json::Value value;
  34. reader.parse(payload, value);
  35. setRequestId(value["RequestId"].asString());
  36. auto allSynchronizationObjectsNode = value["SynchronizationObjects"]["SynchronizationObject"];
  37. for (auto valueSynchronizationObjectsSynchronizationObject : allSynchronizationObjectsNode)
  38. {
  39. SynchronizationObject synchronizationObjectsObject;
  40. if(!valueSynchronizationObjectsSynchronizationObject["NewSchemaName"].isNull())
  41. synchronizationObjectsObject.newSchemaName = valueSynchronizationObjectsSynchronizationObject["NewSchemaName"].asString();
  42. if(!valueSynchronizationObjectsSynchronizationObject["SchemaName"].isNull())
  43. synchronizationObjectsObject.schemaName = valueSynchronizationObjectsSynchronizationObject["SchemaName"].asString();
  44. auto allTableExcludesNode = valueSynchronizationObjectsSynchronizationObject["TableExcludes"]["TableExclude"];
  45. for (auto valueSynchronizationObjectsSynchronizationObjectTableExcludesTableExclude : allTableExcludesNode)
  46. {
  47. SynchronizationObject::TableExclude tableExcludesObject;
  48. if(!valueSynchronizationObjectsSynchronizationObjectTableExcludesTableExclude["TableName"].isNull())
  49. tableExcludesObject.tableName = valueSynchronizationObjectsSynchronizationObjectTableExcludesTableExclude["TableName"].asString();
  50. synchronizationObjectsObject.tableExcludes.push_back(tableExcludesObject);
  51. }
  52. auto allTableIncludesNode = valueSynchronizationObjectsSynchronizationObject["TableIncludes"]["TableInclude"];
  53. for (auto valueSynchronizationObjectsSynchronizationObjectTableIncludesTableInclude : allTableIncludesNode)
  54. {
  55. SynchronizationObject::TableInclude tableIncludesObject;
  56. if(!valueSynchronizationObjectsSynchronizationObjectTableIncludesTableInclude["TableName"].isNull())
  57. tableIncludesObject.tableName = valueSynchronizationObjectsSynchronizationObjectTableIncludesTableInclude["TableName"].asString();
  58. synchronizationObjectsObject.tableIncludes.push_back(tableIncludesObject);
  59. }
  60. synchronizationObjects_.push_back(synchronizationObjectsObject);
  61. }
  62. auto dataInitializationStatusNode = value["DataInitializationStatus"];
  63. if(!dataInitializationStatusNode["Status"].isNull())
  64. dataInitializationStatus_.status = dataInitializationStatusNode["Status"].asString();
  65. if(!dataInitializationStatusNode["Percent"].isNull())
  66. dataInitializationStatus_.percent = dataInitializationStatusNode["Percent"].asString();
  67. if(!dataInitializationStatusNode["ErrorMessage"].isNull())
  68. dataInitializationStatus_.errorMessage = dataInitializationStatusNode["ErrorMessage"].asString();
  69. if(!dataInitializationStatusNode["Progress"].isNull())
  70. dataInitializationStatus_.progress = dataInitializationStatusNode["Progress"].asString();
  71. auto dataSynchronizationStatusNode = value["DataSynchronizationStatus"];
  72. if(!dataSynchronizationStatusNode["Status"].isNull())
  73. dataSynchronizationStatus_.status = dataSynchronizationStatusNode["Status"].asString();
  74. if(!dataSynchronizationStatusNode["Delay"].isNull())
  75. dataSynchronizationStatus_.delay = dataSynchronizationStatusNode["Delay"].asString();
  76. if(!dataSynchronizationStatusNode["Percent"].isNull())
  77. dataSynchronizationStatus_.percent = dataSynchronizationStatusNode["Percent"].asString();
  78. if(!dataSynchronizationStatusNode["ErrorMessage"].isNull())
  79. dataSynchronizationStatus_.errorMessage = dataSynchronizationStatusNode["ErrorMessage"].asString();
  80. if(!dataSynchronizationStatusNode["DelayMillis"].isNull())
  81. dataSynchronizationStatus_.delayMillis = std::stol(dataSynchronizationStatusNode["DelayMillis"].asString());
  82. if(!dataSynchronizationStatusNode["Checkpoint"].isNull())
  83. dataSynchronizationStatus_.checkpoint = dataSynchronizationStatusNode["Checkpoint"].asString();
  84. auto destinationEndpointNode = value["DestinationEndpoint"];
  85. if(!destinationEndpointNode["InstanceId"].isNull())
  86. destinationEndpoint_.instanceId = destinationEndpointNode["InstanceId"].asString();
  87. if(!destinationEndpointNode["IP"].isNull())
  88. destinationEndpoint_.iP = destinationEndpointNode["IP"].asString();
  89. if(!destinationEndpointNode["InstanceType"].isNull())
  90. destinationEndpoint_.instanceType = destinationEndpointNode["InstanceType"].asString();
  91. if(!destinationEndpointNode["Port"].isNull())
  92. destinationEndpoint_.port = destinationEndpointNode["Port"].asString();
  93. if(!destinationEndpointNode["UserName"].isNull())
  94. destinationEndpoint_.userName = destinationEndpointNode["UserName"].asString();
  95. if(!destinationEndpointNode["EngineName"].isNull())
  96. destinationEndpoint_.engineName = destinationEndpointNode["EngineName"].asString();
  97. auto performanceNode = value["Performance"];
  98. if(!performanceNode["RPS"].isNull())
  99. performance_.rPS = performanceNode["RPS"].asString();
  100. if(!performanceNode["FLOW"].isNull())
  101. performance_.fLOW = performanceNode["FLOW"].asString();
  102. auto precheckStatusNode = value["PrecheckStatus"];
  103. if(!precheckStatusNode["Status"].isNull())
  104. precheckStatus_.status = precheckStatusNode["Status"].asString();
  105. if(!precheckStatusNode["Percent"].isNull())
  106. precheckStatus_.percent = precheckStatusNode["Percent"].asString();
  107. auto allDetailNode = precheckStatusNode["Detail"]["CheckItem"];
  108. for (auto precheckStatusNodeDetailCheckItem : allDetailNode)
  109. {
  110. PrecheckStatus::CheckItem checkItemObject;
  111. if(!precheckStatusNodeDetailCheckItem["CheckStatus"].isNull())
  112. checkItemObject.checkStatus = precheckStatusNodeDetailCheckItem["CheckStatus"].asString();
  113. if(!precheckStatusNodeDetailCheckItem["ErrorMessage"].isNull())
  114. checkItemObject.errorMessage = precheckStatusNodeDetailCheckItem["ErrorMessage"].asString();
  115. if(!precheckStatusNodeDetailCheckItem["ItemName"].isNull())
  116. checkItemObject.itemName = precheckStatusNodeDetailCheckItem["ItemName"].asString();
  117. if(!precheckStatusNodeDetailCheckItem["RepairMethod"].isNull())
  118. checkItemObject.repairMethod = precheckStatusNodeDetailCheckItem["RepairMethod"].asString();
  119. precheckStatus_.detail.push_back(checkItemObject);
  120. }
  121. auto sourceEndpointNode = value["SourceEndpoint"];
  122. if(!sourceEndpointNode["InstanceId"].isNull())
  123. sourceEndpoint_.instanceId = sourceEndpointNode["InstanceId"].asString();
  124. if(!sourceEndpointNode["IP"].isNull())
  125. sourceEndpoint_.iP = sourceEndpointNode["IP"].asString();
  126. if(!sourceEndpointNode["InstanceType"].isNull())
  127. sourceEndpoint_.instanceType = sourceEndpointNode["InstanceType"].asString();
  128. if(!sourceEndpointNode["Port"].isNull())
  129. sourceEndpoint_.port = sourceEndpointNode["Port"].asString();
  130. if(!sourceEndpointNode["UserName"].isNull())
  131. sourceEndpoint_.userName = sourceEndpointNode["UserName"].asString();
  132. if(!sourceEndpointNode["EngineName"].isNull())
  133. sourceEndpoint_.engineName = sourceEndpointNode["EngineName"].asString();
  134. auto structureInitializationStatusNode = value["StructureInitializationStatus"];
  135. if(!structureInitializationStatusNode["Status"].isNull())
  136. structureInitializationStatus_.status = structureInitializationStatusNode["Status"].asString();
  137. if(!structureInitializationStatusNode["Percent"].isNull())
  138. structureInitializationStatus_.percent = structureInitializationStatusNode["Percent"].asString();
  139. if(!structureInitializationStatusNode["ErrorMessage"].isNull())
  140. structureInitializationStatus_.errorMessage = structureInitializationStatusNode["ErrorMessage"].asString();
  141. if(!structureInitializationStatusNode["Progress"].isNull())
  142. structureInitializationStatus_.progress = structureInitializationStatusNode["Progress"].asString();
  143. if(!value["SynchronizationJobName"].isNull())
  144. synchronizationJobName_ = value["SynchronizationJobName"].asString();
  145. if(!value["Status"].isNull())
  146. status_ = value["Status"].asString();
  147. if(!value["DataInitialization"].isNull())
  148. dataInitialization_ = value["DataInitialization"].asString();
  149. if(!value["Delay"].isNull())
  150. delay_ = value["Delay"].asString();
  151. if(!value["ErrorMessage"].isNull())
  152. errorMessage_ = value["ErrorMessage"].asString();
  153. if(!value["ExpireTime"].isNull())
  154. expireTime_ = value["ExpireTime"].asString();
  155. if(!value["ErrCode"].isNull())
  156. errCode_ = value["ErrCode"].asString();
  157. if(!value["Success"].isNull())
  158. success_ = value["Success"].asString();
  159. if(!value["StructureInitialization"].isNull())
  160. structureInitialization_ = value["StructureInitialization"].asString();
  161. if(!value["PayType"].isNull())
  162. payType_ = value["PayType"].asString();
  163. if(!value["ErrMessage"].isNull())
  164. errMessage_ = value["ErrMessage"].asString();
  165. if(!value["SynchronizationJobClass"].isNull())
  166. synchronizationJobClass_ = value["SynchronizationJobClass"].asString();
  167. if(!value["SynchronizationJobId"].isNull())
  168. synchronizationJobId_ = value["SynchronizationJobId"].asString();
  169. if(!value["DelayMillis"].isNull())
  170. delayMillis_ = std::stol(value["DelayMillis"].asString());
  171. if(!value["SynchronizationDirection"].isNull())
  172. synchronizationDirection_ = value["SynchronizationDirection"].asString();
  173. if(!value["TaskId"].isNull())
  174. taskId_ = value["TaskId"].asString();
  175. if(!value["Checkpoint"].isNull())
  176. checkpoint_ = value["Checkpoint"].asString();
  177. }
  178. std::vector<DescribeSynchronizationJobStatusResult::SynchronizationObject> DescribeSynchronizationJobStatusResult::getSynchronizationObjects()const
  179. {
  180. return synchronizationObjects_;
  181. }
  182. DescribeSynchronizationJobStatusResult::DataInitializationStatus DescribeSynchronizationJobStatusResult::getDataInitializationStatus()const
  183. {
  184. return dataInitializationStatus_;
  185. }
  186. std::string DescribeSynchronizationJobStatusResult::getTaskId()const
  187. {
  188. return taskId_;
  189. }
  190. std::string DescribeSynchronizationJobStatusResult::getDelay()const
  191. {
  192. return delay_;
  193. }
  194. std::string DescribeSynchronizationJobStatusResult::getSuccess()const
  195. {
  196. return success_;
  197. }
  198. long DescribeSynchronizationJobStatusResult::getDelayMillis()const
  199. {
  200. return delayMillis_;
  201. }
  202. std::string DescribeSynchronizationJobStatusResult::getDataInitialization()const
  203. {
  204. return dataInitialization_;
  205. }
  206. std::string DescribeSynchronizationJobStatusResult::getSynchronizationJobClass()const
  207. {
  208. return synchronizationJobClass_;
  209. }
  210. DescribeSynchronizationJobStatusResult::DataSynchronizationStatus DescribeSynchronizationJobStatusResult::getDataSynchronizationStatus()const
  211. {
  212. return dataSynchronizationStatus_;
  213. }
  214. std::string DescribeSynchronizationJobStatusResult::getStatus()const
  215. {
  216. return status_;
  217. }
  218. std::string DescribeSynchronizationJobStatusResult::getSynchronizationJobName()const
  219. {
  220. return synchronizationJobName_;
  221. }
  222. std::string DescribeSynchronizationJobStatusResult::getPayType()const
  223. {
  224. return payType_;
  225. }
  226. std::string DescribeSynchronizationJobStatusResult::getErrMessage()const
  227. {
  228. return errMessage_;
  229. }
  230. std::string DescribeSynchronizationJobStatusResult::getErrCode()const
  231. {
  232. return errCode_;
  233. }
  234. DescribeSynchronizationJobStatusResult::PrecheckStatus DescribeSynchronizationJobStatusResult::getPrecheckStatus()const
  235. {
  236. return precheckStatus_;
  237. }
  238. std::string DescribeSynchronizationJobStatusResult::getSynchronizationJobId()const
  239. {
  240. return synchronizationJobId_;
  241. }
  242. std::string DescribeSynchronizationJobStatusResult::getCheckpoint()const
  243. {
  244. return checkpoint_;
  245. }
  246. DescribeSynchronizationJobStatusResult::DestinationEndpoint DescribeSynchronizationJobStatusResult::getDestinationEndpoint()const
  247. {
  248. return destinationEndpoint_;
  249. }
  250. DescribeSynchronizationJobStatusResult::SourceEndpoint DescribeSynchronizationJobStatusResult::getSourceEndpoint()const
  251. {
  252. return sourceEndpoint_;
  253. }
  254. std::string DescribeSynchronizationJobStatusResult::getStructureInitialization()const
  255. {
  256. return structureInitialization_;
  257. }
  258. DescribeSynchronizationJobStatusResult::Performance DescribeSynchronizationJobStatusResult::getPerformance()const
  259. {
  260. return performance_;
  261. }
  262. std::string DescribeSynchronizationJobStatusResult::getErrorMessage()const
  263. {
  264. return errorMessage_;
  265. }
  266. std::string DescribeSynchronizationJobStatusResult::getExpireTime()const
  267. {
  268. return expireTime_;
  269. }
  270. std::string DescribeSynchronizationJobStatusResult::getSynchronizationDirection()const
  271. {
  272. return synchronizationDirection_;
  273. }
  274. DescribeSynchronizationJobStatusResult::StructureInitializationStatus DescribeSynchronizationJobStatusResult::getStructureInitializationStatus()const
  275. {
  276. return structureInitializationStatus_;
  277. }