DescribeNetworkInterfaceAttributeResult.cc 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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/ecs/model/DescribeNetworkInterfaceAttributeResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Ecs;
  19. using namespace AlibabaCloud::Ecs::Model;
  20. DescribeNetworkInterfaceAttributeResult::DescribeNetworkInterfaceAttributeResult() :
  21. ServiceResult()
  22. {}
  23. DescribeNetworkInterfaceAttributeResult::DescribeNetworkInterfaceAttributeResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeNetworkInterfaceAttributeResult::~DescribeNetworkInterfaceAttributeResult()
  29. {}
  30. void DescribeNetworkInterfaceAttributeResult::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 allPrivateIpSetsNode = value["PrivateIpSets"]["PrivateIpSet"];
  37. for (auto valuePrivateIpSetsPrivateIpSet : allPrivateIpSetsNode)
  38. {
  39. PrivateIpSet privateIpSetsObject;
  40. if(!valuePrivateIpSetsPrivateIpSet["PrivateIpAddress"].isNull())
  41. privateIpSetsObject.privateIpAddress = valuePrivateIpSetsPrivateIpSet["PrivateIpAddress"].asString();
  42. if(!valuePrivateIpSetsPrivateIpSet["Primary"].isNull())
  43. privateIpSetsObject.primary = valuePrivateIpSetsPrivateIpSet["Primary"].asString() == "true";
  44. auto associatedPublicIp1Node = value["AssociatedPublicIp"];
  45. if(!associatedPublicIp1Node["PublicIpAddress"].isNull())
  46. privateIpSetsObject.associatedPublicIp1.publicIpAddress = associatedPublicIp1Node["PublicIpAddress"].asString();
  47. if(!associatedPublicIp1Node["AllocationId"].isNull())
  48. privateIpSetsObject.associatedPublicIp1.allocationId = associatedPublicIp1Node["AllocationId"].asString();
  49. privateIpSets_.push_back(privateIpSetsObject);
  50. }
  51. auto allIpv6SetsNode = value["Ipv6Sets"]["Ipv6Set"];
  52. for (auto valueIpv6SetsIpv6Set : allIpv6SetsNode)
  53. {
  54. Ipv6Set ipv6SetsObject;
  55. if(!valueIpv6SetsIpv6Set["Ipv6Address"].isNull())
  56. ipv6SetsObject.ipv6Address = valueIpv6SetsIpv6Set["Ipv6Address"].asString();
  57. ipv6Sets_.push_back(ipv6SetsObject);
  58. }
  59. auto allTagsNode = value["Tags"]["Tag"];
  60. for (auto valueTagsTag : allTagsNode)
  61. {
  62. Tag tagsObject;
  63. if(!valueTagsTag["TagKey"].isNull())
  64. tagsObject.tagKey = valueTagsTag["TagKey"].asString();
  65. if(!valueTagsTag["TagValue"].isNull())
  66. tagsObject.tagValue = valueTagsTag["TagValue"].asString();
  67. tags_.push_back(tagsObject);
  68. }
  69. auto associatedPublicIpNode = value["AssociatedPublicIp"];
  70. if(!associatedPublicIpNode["PublicIpAddress"].isNull())
  71. associatedPublicIp_.publicIpAddress = associatedPublicIpNode["PublicIpAddress"].asString();
  72. if(!associatedPublicIpNode["AllocationId"].isNull())
  73. associatedPublicIp_.allocationId = associatedPublicIpNode["AllocationId"].asString();
  74. auto attachmentNode = value["Attachment"];
  75. if(!attachmentNode["InstanceId"].isNull())
  76. attachment_.instanceId = attachmentNode["InstanceId"].asString();
  77. if(!attachmentNode["TrunkNetworkInterfaceId"].isNull())
  78. attachment_.trunkNetworkInterfaceId = attachmentNode["TrunkNetworkInterfaceId"].asString();
  79. if(!attachmentNode["DeviceIndex"].isNull())
  80. attachment_.deviceIndex = std::stoi(attachmentNode["DeviceIndex"].asString());
  81. auto allMemberNetworkInterfaceIds = attachmentNode["MemberNetworkInterfaceIds"]["MemberNetworkInterfaceId"];
  82. for (auto value : allMemberNetworkInterfaceIds)
  83. attachment_.memberNetworkInterfaceIds.push_back(value.asString());
  84. auto allSecurityGroupIds = value["SecurityGroupIds"]["SecurityGroupId"];
  85. for (const auto &item : allSecurityGroupIds)
  86. securityGroupIds_.push_back(item.asString());
  87. if(!value["NetworkInterfaceId"].isNull())
  88. networkInterfaceId_ = value["NetworkInterfaceId"].asString();
  89. if(!value["Status"].isNull())
  90. status_ = value["Status"].asString();
  91. if(!value["Type"].isNull())
  92. type_ = value["Type"].asString();
  93. if(!value["VpcId"].isNull())
  94. vpcId_ = value["VpcId"].asString();
  95. if(!value["VSwitchId"].isNull())
  96. vSwitchId_ = value["VSwitchId"].asString();
  97. if(!value["ZoneId"].isNull())
  98. zoneId_ = value["ZoneId"].asString();
  99. if(!value["PrivateIpAddress"].isNull())
  100. privateIpAddress_ = value["PrivateIpAddress"].asString();
  101. if(!value["MacAddress"].isNull())
  102. macAddress_ = value["MacAddress"].asString();
  103. if(!value["NetworkInterfaceName"].isNull())
  104. networkInterfaceName_ = value["NetworkInterfaceName"].asString();
  105. if(!value["Description"].isNull())
  106. description_ = value["Description"].asString();
  107. if(!value["InstanceId"].isNull())
  108. instanceId_ = value["InstanceId"].asString();
  109. if(!value["CreationTime"].isNull())
  110. creationTime_ = value["CreationTime"].asString();
  111. if(!value["ResourceGroupId"].isNull())
  112. resourceGroupId_ = value["ResourceGroupId"].asString();
  113. if(!value["ServiceID"].isNull())
  114. serviceID_ = std::stol(value["ServiceID"].asString());
  115. if(!value["ServiceManaged"].isNull())
  116. serviceManaged_ = value["ServiceManaged"].asString() == "true";
  117. if(!value["QueueNumber"].isNull())
  118. queueNumber_ = std::stoi(value["QueueNumber"].asString());
  119. if(!value["OwnerId"].isNull())
  120. ownerId_ = value["OwnerId"].asString();
  121. }
  122. std::string DescribeNetworkInterfaceAttributeResult::getStatus()const
  123. {
  124. return status_;
  125. }
  126. std::string DescribeNetworkInterfaceAttributeResult::getPrivateIpAddress()const
  127. {
  128. return privateIpAddress_;
  129. }
  130. std::string DescribeNetworkInterfaceAttributeResult::getDescription()const
  131. {
  132. return description_;
  133. }
  134. std::string DescribeNetworkInterfaceAttributeResult::getZoneId()const
  135. {
  136. return zoneId_;
  137. }
  138. std::string DescribeNetworkInterfaceAttributeResult::getResourceGroupId()const
  139. {
  140. return resourceGroupId_;
  141. }
  142. bool DescribeNetworkInterfaceAttributeResult::getServiceManaged()const
  143. {
  144. return serviceManaged_;
  145. }
  146. std::string DescribeNetworkInterfaceAttributeResult::getInstanceId()const
  147. {
  148. return instanceId_;
  149. }
  150. std::string DescribeNetworkInterfaceAttributeResult::getVSwitchId()const
  151. {
  152. return vSwitchId_;
  153. }
  154. std::string DescribeNetworkInterfaceAttributeResult::getNetworkInterfaceName()const
  155. {
  156. return networkInterfaceName_;
  157. }
  158. DescribeNetworkInterfaceAttributeResult::Attachment DescribeNetworkInterfaceAttributeResult::getAttachment()const
  159. {
  160. return attachment_;
  161. }
  162. std::string DescribeNetworkInterfaceAttributeResult::getNetworkInterfaceId()const
  163. {
  164. return networkInterfaceId_;
  165. }
  166. std::string DescribeNetworkInterfaceAttributeResult::getMacAddress()const
  167. {
  168. return macAddress_;
  169. }
  170. std::vector<std::string> DescribeNetworkInterfaceAttributeResult::getSecurityGroupIds()const
  171. {
  172. return securityGroupIds_;
  173. }
  174. long DescribeNetworkInterfaceAttributeResult::getServiceID()const
  175. {
  176. return serviceID_;
  177. }
  178. std::string DescribeNetworkInterfaceAttributeResult::getType()const
  179. {
  180. return type_;
  181. }
  182. std::vector<DescribeNetworkInterfaceAttributeResult::Ipv6Set> DescribeNetworkInterfaceAttributeResult::getIpv6Sets()const
  183. {
  184. return ipv6Sets_;
  185. }
  186. int DescribeNetworkInterfaceAttributeResult::getQueueNumber()const
  187. {
  188. return queueNumber_;
  189. }
  190. std::string DescribeNetworkInterfaceAttributeResult::getVpcId()const
  191. {
  192. return vpcId_;
  193. }
  194. std::string DescribeNetworkInterfaceAttributeResult::getOwnerId()const
  195. {
  196. return ownerId_;
  197. }
  198. DescribeNetworkInterfaceAttributeResult::AssociatedPublicIp DescribeNetworkInterfaceAttributeResult::getAssociatedPublicIp()const
  199. {
  200. return associatedPublicIp_;
  201. }
  202. std::string DescribeNetworkInterfaceAttributeResult::getCreationTime()const
  203. {
  204. return creationTime_;
  205. }
  206. std::vector<DescribeNetworkInterfaceAttributeResult::Tag> DescribeNetworkInterfaceAttributeResult::getTags()const
  207. {
  208. return tags_;
  209. }
  210. std::vector<DescribeNetworkInterfaceAttributeResult::PrivateIpSet> DescribeNetworkInterfaceAttributeResult::getPrivateIpSets()const
  211. {
  212. return privateIpSets_;
  213. }