diff --git a/VERSION b/VERSION index 6e20ade86..d72c06938 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1946 \ No newline at end of file +1.36.1947 \ No newline at end of file diff --git a/oceanbasepro/include/alibabacloud/oceanbasepro/model/DescribeInstanceTopologyResult.h b/oceanbasepro/include/alibabacloud/oceanbasepro/model/DescribeInstanceTopologyResult.h index 346acbedc..41414430b 100644 --- a/oceanbasepro/include/alibabacloud/oceanbasepro/model/DescribeInstanceTopologyResult.h +++ b/oceanbasepro/include/alibabacloud/oceanbasepro/model/DescribeInstanceTopologyResult.h @@ -85,7 +85,7 @@ namespace AlibabaCloud }; struct NodesItem { - struct NodeResourceItem + struct NodeResource { struct Cpu { @@ -106,7 +106,7 @@ namespace AlibabaCloud DiskSize diskSize; Cpu cpu; }; - std::vector nodeResource; + NodeResource nodeResource; std::string replicaType; std::string nodeId; std::string logicalZone; diff --git a/oceanbasepro/src/model/DescribeInstanceTopologyResult.cc b/oceanbasepro/src/model/DescribeInstanceTopologyResult.cc index 011a2db31..16ac6ebbd 100644 --- a/oceanbasepro/src/model/DescribeInstanceTopologyResult.cc +++ b/oceanbasepro/src/model/DescribeInstanceTopologyResult.cc @@ -140,27 +140,22 @@ void DescribeInstanceTopologyResult::parse(const std::string &payload) nodesObject.readOnlyCopyId = std::stol(instanceTopologyNodeZonesZonesItemNodesNodesItem["ReadOnlyCopyId"].asString()); if(!instanceTopologyNodeZonesZonesItemNodesNodesItem["LogicalZone"].isNull()) nodesObject.logicalZone = instanceTopologyNodeZonesZonesItemNodesNodesItem["LogicalZone"].asString(); - auto allNodeResourceNode = instanceTopologyNodeZonesZonesItemNodesNodesItem["NodeResource"]["NodeResourceItem"]; - for (auto instanceTopologyNodeZonesZonesItemNodesNodesItemNodeResourceNodeResourceItem : allNodeResourceNode) - { - InstanceTopology::ZonesItem::NodesItem::NodeResourceItem nodeResourceObject; - auto cpuNode = value["Cpu"]; - if(!cpuNode["UsedCpu"].isNull()) - nodeResourceObject.cpu.usedCpu = std::stof(cpuNode["UsedCpu"].asString()); - if(!cpuNode["TotalCpu"].isNull()) - nodeResourceObject.cpu.totalCpu = std::stoi(cpuNode["TotalCpu"].asString()); - auto memoryNode = value["Memory"]; - if(!memoryNode["UsedMemory"].isNull()) - nodeResourceObject.memory.usedMemory = std::stof(memoryNode["UsedMemory"].asString()); - if(!memoryNode["TotalMemory"].isNull()) - nodeResourceObject.memory.totalMemory = std::stol(memoryNode["TotalMemory"].asString()); - auto diskSizeNode = value["DiskSize"]; - if(!diskSizeNode["TotalDiskSize"].isNull()) - nodeResourceObject.diskSize.totalDiskSize = diskSizeNode["TotalDiskSize"].asString(); - if(!diskSizeNode["UsedDiskSize"].isNull()) - nodeResourceObject.diskSize.usedDiskSize = diskSizeNode["UsedDiskSize"].asString(); - nodesObject.nodeResource.push_back(nodeResourceObject); - } + auto nodeResourceNode = value["NodeResource"]; + auto cpuNode = nodeResourceNode["Cpu"]; + if(!cpuNode["UsedCpu"].isNull()) + nodesObject.nodeResource.cpu.usedCpu = std::stof(cpuNode["UsedCpu"].asString()); + if(!cpuNode["TotalCpu"].isNull()) + nodesObject.nodeResource.cpu.totalCpu = std::stoi(cpuNode["TotalCpu"].asString()); + auto memoryNode = nodeResourceNode["Memory"]; + if(!memoryNode["UsedMemory"].isNull()) + nodesObject.nodeResource.memory.usedMemory = std::stof(memoryNode["UsedMemory"].asString()); + if(!memoryNode["TotalMemory"].isNull()) + nodesObject.nodeResource.memory.totalMemory = std::stol(memoryNode["TotalMemory"].asString()); + auto diskSizeNode = nodeResourceNode["DiskSize"]; + if(!diskSizeNode["TotalDiskSize"].isNull()) + nodesObject.nodeResource.diskSize.totalDiskSize = diskSizeNode["TotalDiskSize"].asString(); + if(!diskSizeNode["UsedDiskSize"].isNull()) + nodesObject.nodeResource.diskSize.usedDiskSize = diskSizeNode["UsedDiskSize"].asString(); zonesItemObject.nodes.push_back(nodesObject); } auto zoneResourceNode = value["ZoneResource"];