DescribeLoadBalancerAttributeResult.cc 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  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/slb/model/DescribeLoadBalancerAttributeResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Slb;
  19. using namespace AlibabaCloud::Slb::Model;
  20. DescribeLoadBalancerAttributeResult::DescribeLoadBalancerAttributeResult() :
  21. ServiceResult()
  22. {}
  23. DescribeLoadBalancerAttributeResult::DescribeLoadBalancerAttributeResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeLoadBalancerAttributeResult::~DescribeLoadBalancerAttributeResult()
  29. {}
  30. void DescribeLoadBalancerAttributeResult::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 allListenerPortsAndProtocalNode = value["ListenerPortsAndProtocal"]["ListenerPortAndProtocal"];
  37. for (auto valueListenerPortsAndProtocalListenerPortAndProtocal : allListenerPortsAndProtocalNode)
  38. {
  39. ListenerPortAndProtocal listenerPortsAndProtocalObject;
  40. if(!valueListenerPortsAndProtocalListenerPortAndProtocal["ListenerPort"].isNull())
  41. listenerPortsAndProtocalObject.listenerPort = std::stoi(valueListenerPortsAndProtocalListenerPortAndProtocal["ListenerPort"].asString());
  42. if(!valueListenerPortsAndProtocalListenerPortAndProtocal["ListenerProtocal"].isNull())
  43. listenerPortsAndProtocalObject.listenerProtocal = valueListenerPortsAndProtocalListenerPortAndProtocal["ListenerProtocal"].asString();
  44. listenerPortsAndProtocal_.push_back(listenerPortsAndProtocalObject);
  45. }
  46. auto allListenerPortsAndProtocolNode = value["ListenerPortsAndProtocol"]["ListenerPortAndProtocol"];
  47. for (auto valueListenerPortsAndProtocolListenerPortAndProtocol : allListenerPortsAndProtocolNode)
  48. {
  49. ListenerPortAndProtocol listenerPortsAndProtocolObject;
  50. if(!valueListenerPortsAndProtocolListenerPortAndProtocol["ListenerPort"].isNull())
  51. listenerPortsAndProtocolObject.listenerPort = std::stoi(valueListenerPortsAndProtocolListenerPortAndProtocol["ListenerPort"].asString());
  52. if(!valueListenerPortsAndProtocolListenerPortAndProtocol["ListenerProtocol"].isNull())
  53. listenerPortsAndProtocolObject.listenerProtocol = valueListenerPortsAndProtocolListenerPortAndProtocol["ListenerProtocol"].asString();
  54. if(!valueListenerPortsAndProtocolListenerPortAndProtocol["ListenerForward"].isNull())
  55. listenerPortsAndProtocolObject.listenerForward = valueListenerPortsAndProtocolListenerPortAndProtocol["ListenerForward"].asString();
  56. if(!valueListenerPortsAndProtocolListenerPortAndProtocol["ForwardPort"].isNull())
  57. listenerPortsAndProtocolObject.forwardPort = std::stoi(valueListenerPortsAndProtocolListenerPortAndProtocol["ForwardPort"].asString());
  58. if(!valueListenerPortsAndProtocolListenerPortAndProtocol["Description"].isNull())
  59. listenerPortsAndProtocolObject.description = valueListenerPortsAndProtocolListenerPortAndProtocol["Description"].asString();
  60. listenerPortsAndProtocol_.push_back(listenerPortsAndProtocolObject);
  61. }
  62. auto allBackendServersNode = value["BackendServers"]["BackendServer"];
  63. for (auto valueBackendServersBackendServer : allBackendServersNode)
  64. {
  65. BackendServer backendServersObject;
  66. if(!valueBackendServersBackendServer["ServerId"].isNull())
  67. backendServersObject.serverId = valueBackendServersBackendServer["ServerId"].asString();
  68. if(!valueBackendServersBackendServer["Weight"].isNull())
  69. backendServersObject.weight = std::stoi(valueBackendServersBackendServer["Weight"].asString());
  70. if(!valueBackendServersBackendServer["Type"].isNull())
  71. backendServersObject.type = valueBackendServersBackendServer["Type"].asString();
  72. if(!valueBackendServersBackendServer["ServerIp"].isNull())
  73. backendServersObject.serverIp = valueBackendServersBackendServer["ServerIp"].asString();
  74. if(!valueBackendServersBackendServer["VpcId"].isNull())
  75. backendServersObject.vpcId = valueBackendServersBackendServer["VpcId"].asString();
  76. if(!valueBackendServersBackendServer["Description"].isNull())
  77. backendServersObject.description = valueBackendServersBackendServer["Description"].asString();
  78. backendServers_.push_back(backendServersObject);
  79. }
  80. auto allListenerPorts = value["ListenerPorts"]["ListenerPort"];
  81. for (const auto &item : allListenerPorts)
  82. listenerPorts_.push_back(item.asString());
  83. if(!value["LoadBalancerId"].isNull())
  84. loadBalancerId_ = value["LoadBalancerId"].asString();
  85. if(!value["ResourceGroupId"].isNull())
  86. resourceGroupId_ = value["ResourceGroupId"].asString();
  87. if(!value["LoadBalancerName"].isNull())
  88. loadBalancerName_ = value["LoadBalancerName"].asString();
  89. if(!value["LoadBalancerStatus"].isNull())
  90. loadBalancerStatus_ = value["LoadBalancerStatus"].asString();
  91. if(!value["RegionId"].isNull())
  92. regionId_ = value["RegionId"].asString();
  93. if(!value["RegionIdAlias"].isNull())
  94. regionIdAlias_ = value["RegionIdAlias"].asString();
  95. if(!value["Address"].isNull())
  96. address_ = value["Address"].asString();
  97. if(!value["AddressType"].isNull())
  98. addressType_ = value["AddressType"].asString();
  99. if(!value["VpcId"].isNull())
  100. vpcId_ = value["VpcId"].asString();
  101. if(!value["VSwitchId"].isNull())
  102. vSwitchId_ = value["VSwitchId"].asString();
  103. if(!value["NetworkType"].isNull())
  104. networkType_ = value["NetworkType"].asString();
  105. if(!value["InternetChargeType"].isNull())
  106. internetChargeType_ = value["InternetChargeType"].asString();
  107. if(!value["AutoReleaseTime"].isNull())
  108. autoReleaseTime_ = std::stol(value["AutoReleaseTime"].asString());
  109. if(!value["Bandwidth"].isNull())
  110. bandwidth_ = std::stoi(value["Bandwidth"].asString());
  111. if(!value["LoadBalancerSpec"].isNull())
  112. loadBalancerSpec_ = value["LoadBalancerSpec"].asString();
  113. if(!value["CreateTime"].isNull())
  114. createTime_ = value["CreateTime"].asString();
  115. if(!value["CreateTimeStamp"].isNull())
  116. createTimeStamp_ = std::stol(value["CreateTimeStamp"].asString());
  117. if(!value["EndTime"].isNull())
  118. endTime_ = value["EndTime"].asString();
  119. if(!value["EndTimeStamp"].isNull())
  120. endTimeStamp_ = std::stol(value["EndTimeStamp"].asString());
  121. if(!value["PayType"].isNull())
  122. payType_ = value["PayType"].asString();
  123. if(!value["MasterZoneId"].isNull())
  124. masterZoneId_ = value["MasterZoneId"].asString();
  125. if(!value["SlaveZoneId"].isNull())
  126. slaveZoneId_ = value["SlaveZoneId"].asString();
  127. if(!value["AddressIPVersion"].isNull())
  128. addressIPVersion_ = value["AddressIPVersion"].asString();
  129. if(!value["CloudType"].isNull())
  130. cloudType_ = value["CloudType"].asString();
  131. if(!value["RenewalDuration"].isNull())
  132. renewalDuration_ = std::stoi(value["RenewalDuration"].asString());
  133. if(!value["RenewalStatus"].isNull())
  134. renewalStatus_ = value["RenewalStatus"].asString();
  135. if(!value["RenewalCycUnit"].isNull())
  136. renewalCycUnit_ = value["RenewalCycUnit"].asString();
  137. if(!value["HasReservedInfo"].isNull())
  138. hasReservedInfo_ = value["HasReservedInfo"].asString();
  139. if(!value["ReservedInfoOrderType"].isNull())
  140. reservedInfoOrderType_ = value["ReservedInfoOrderType"].asString();
  141. if(!value["ReservedInfoInternetChargeType"].isNull())
  142. reservedInfoInternetChargeType_ = value["ReservedInfoInternetChargeType"].asString();
  143. if(!value["ReservedInfoBandwidth"].isNull())
  144. reservedInfoBandwidth_ = value["ReservedInfoBandwidth"].asString();
  145. if(!value["ReservedInfoActiveTime"].isNull())
  146. reservedInfoActiveTime_ = value["ReservedInfoActiveTime"].asString();
  147. if(!value["DeleteProtection"].isNull())
  148. deleteProtection_ = value["DeleteProtection"].asString();
  149. if(!value["CloudInstanceType"].isNull())
  150. cloudInstanceType_ = value["CloudInstanceType"].asString();
  151. if(!value["CloudInstanceId"].isNull())
  152. cloudInstanceId_ = value["CloudInstanceId"].asString();
  153. if(!value["TunnelType"].isNull())
  154. tunnelType_ = value["TunnelType"].asString();
  155. if(!value["CloudInstanceUid"].isNull())
  156. cloudInstanceUid_ = std::stol(value["CloudInstanceUid"].asString());
  157. }
  158. int DescribeLoadBalancerAttributeResult::getRenewalDuration()const
  159. {
  160. return renewalDuration_;
  161. }
  162. std::vector<DescribeLoadBalancerAttributeResult::ListenerPortAndProtocal> DescribeLoadBalancerAttributeResult::getListenerPortsAndProtocal()const
  163. {
  164. return listenerPortsAndProtocal_;
  165. }
  166. std::string DescribeLoadBalancerAttributeResult::getResourceGroupId()const
  167. {
  168. return resourceGroupId_;
  169. }
  170. std::string DescribeLoadBalancerAttributeResult::getAddress()const
  171. {
  172. return address_;
  173. }
  174. std::string DescribeLoadBalancerAttributeResult::getEndTime()const
  175. {
  176. return endTime_;
  177. }
  178. std::string DescribeLoadBalancerAttributeResult::getAddressIPVersion()const
  179. {
  180. return addressIPVersion_;
  181. }
  182. std::vector<DescribeLoadBalancerAttributeResult::ListenerPortAndProtocol> DescribeLoadBalancerAttributeResult::getListenerPortsAndProtocol()const
  183. {
  184. return listenerPortsAndProtocol_;
  185. }
  186. std::string DescribeLoadBalancerAttributeResult::getLoadBalancerId()const
  187. {
  188. return loadBalancerId_;
  189. }
  190. std::vector<DescribeLoadBalancerAttributeResult::BackendServer> DescribeLoadBalancerAttributeResult::getBackendServers()const
  191. {
  192. return backendServers_;
  193. }
  194. std::string DescribeLoadBalancerAttributeResult::getHasReservedInfo()const
  195. {
  196. return hasReservedInfo_;
  197. }
  198. std::string DescribeLoadBalancerAttributeResult::getReservedInfoBandwidth()const
  199. {
  200. return reservedInfoBandwidth_;
  201. }
  202. std::string DescribeLoadBalancerAttributeResult::getLoadBalancerSpec()const
  203. {
  204. return loadBalancerSpec_;
  205. }
  206. std::string DescribeLoadBalancerAttributeResult::getNetworkType()const
  207. {
  208. return networkType_;
  209. }
  210. int DescribeLoadBalancerAttributeResult::getBandwidth()const
  211. {
  212. return bandwidth_;
  213. }
  214. std::vector<std::string> DescribeLoadBalancerAttributeResult::getListenerPorts()const
  215. {
  216. return listenerPorts_;
  217. }
  218. std::string DescribeLoadBalancerAttributeResult::getMasterZoneId()const
  219. {
  220. return masterZoneId_;
  221. }
  222. std::string DescribeLoadBalancerAttributeResult::getTunnelType()const
  223. {
  224. return tunnelType_;
  225. }
  226. std::string DescribeLoadBalancerAttributeResult::getCloudType()const
  227. {
  228. return cloudType_;
  229. }
  230. std::string DescribeLoadBalancerAttributeResult::getCloudInstanceType()const
  231. {
  232. return cloudInstanceType_;
  233. }
  234. std::string DescribeLoadBalancerAttributeResult::getVSwitchId()const
  235. {
  236. return vSwitchId_;
  237. }
  238. std::string DescribeLoadBalancerAttributeResult::getCreateTime()const
  239. {
  240. return createTime_;
  241. }
  242. std::string DescribeLoadBalancerAttributeResult::getRenewalStatus()const
  243. {
  244. return renewalStatus_;
  245. }
  246. long DescribeLoadBalancerAttributeResult::getCloudInstanceUid()const
  247. {
  248. return cloudInstanceUid_;
  249. }
  250. std::string DescribeLoadBalancerAttributeResult::getRenewalCycUnit()const
  251. {
  252. return renewalCycUnit_;
  253. }
  254. std::string DescribeLoadBalancerAttributeResult::getPayType()const
  255. {
  256. return payType_;
  257. }
  258. std::string DescribeLoadBalancerAttributeResult::getReservedInfoActiveTime()const
  259. {
  260. return reservedInfoActiveTime_;
  261. }
  262. std::string DescribeLoadBalancerAttributeResult::getCloudInstanceId()const
  263. {
  264. return cloudInstanceId_;
  265. }
  266. std::string DescribeLoadBalancerAttributeResult::getSlaveZoneId()const
  267. {
  268. return slaveZoneId_;
  269. }
  270. std::string DescribeLoadBalancerAttributeResult::getInternetChargeType()const
  271. {
  272. return internetChargeType_;
  273. }
  274. std::string DescribeLoadBalancerAttributeResult::getRegionIdAlias()const
  275. {
  276. return regionIdAlias_;
  277. }
  278. std::string DescribeLoadBalancerAttributeResult::getReservedInfoInternetChargeType()const
  279. {
  280. return reservedInfoInternetChargeType_;
  281. }
  282. std::string DescribeLoadBalancerAttributeResult::getLoadBalancerName()const
  283. {
  284. return loadBalancerName_;
  285. }
  286. std::string DescribeLoadBalancerAttributeResult::getVpcId()const
  287. {
  288. return vpcId_;
  289. }
  290. std::string DescribeLoadBalancerAttributeResult::getDeleteProtection()const
  291. {
  292. return deleteProtection_;
  293. }
  294. long DescribeLoadBalancerAttributeResult::getEndTimeStamp()const
  295. {
  296. return endTimeStamp_;
  297. }
  298. std::string DescribeLoadBalancerAttributeResult::getRegionId()const
  299. {
  300. return regionId_;
  301. }
  302. std::string DescribeLoadBalancerAttributeResult::getReservedInfoOrderType()const
  303. {
  304. return reservedInfoOrderType_;
  305. }
  306. std::string DescribeLoadBalancerAttributeResult::getAddressType()const
  307. {
  308. return addressType_;
  309. }
  310. std::string DescribeLoadBalancerAttributeResult::getLoadBalancerStatus()const
  311. {
  312. return loadBalancerStatus_;
  313. }
  314. long DescribeLoadBalancerAttributeResult::getCreateTimeStamp()const
  315. {
  316. return createTimeStamp_;
  317. }
  318. long DescribeLoadBalancerAttributeResult::getAutoReleaseTime()const
  319. {
  320. return autoReleaseTime_;
  321. }