Просмотр исходного кода

由荣旸发起的TESLAMAXCOMPUTE SDK自动发布, BUILD_ID=338, 版本号:1.3.6

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 8 лет назад
Родитель
Сommit
a1ba8b4381
22 измененных файлов с 879 добавлено и 913 удалено
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 35 35
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetClusterInstanceResult.h
  4. 11 11
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetInstancesStatusCountResult.h
  5. 35 35
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetProjectInstanceResult.h
  6. 56 56
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetQuotaHistoryInfoResult.h
  7. 6 0
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetQuotaInstanceRequest.h
  8. 35 35
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetQuotaInstanceResult.h
  9. 35 35
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetUserInstanceResult.h
  10. 28 28
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h
  11. 32 32
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryResourceInventoryResult.h
  12. 28 28
      teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryTopologyResult.h
  13. 70 75
      teslamaxcompute/src/model/GetClusterInstanceResult.cc
  14. 29 29
      teslamaxcompute/src/model/GetInstancesStatusCountResult.cc
  15. 70 75
      teslamaxcompute/src/model/GetProjectInstanceResult.cc
  16. 70 105
      teslamaxcompute/src/model/GetQuotaHistoryInfoResult.cc
  17. 22 0
      teslamaxcompute/src/model/GetQuotaInstanceRequest.cc
  18. 70 75
      teslamaxcompute/src/model/GetQuotaInstanceResult.cc
  19. 70 75
      teslamaxcompute/src/model/GetUserInstanceResult.cc
  20. 54 59
      teslamaxcompute/src/model/QueryCustomerSaleInfoResult.cc
  21. 60 65
      teslamaxcompute/src/model/QueryResourceInventoryResult.cc
  22. 59 59
      teslamaxcompute/src/model/QueryTopologyResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2018-03-27 Version: 1.3.6
+1, Rename QueryCustomerSaleInfo to RegionName.
+
 2018-03-27 Version: 1.3.5
 1, publish Project API.
 2, publish Service API.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.3.5
+1.3.6

+ 35 - 35
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetClusterInstanceResult.h

@@ -32,50 +32,50 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT GetClusterInstanceResult : public ServiceResult
 			{
 			public:
-				struct Data
-				{
-					struct Instance
-					{
-						std::string status;
-						int quotaId;
-						float cpuUsedRatioMin;
-						std::string runTime;
-						std::string skynetId;
-						long memRequest;
-						std::string instanceId;
-						std::string cluster;
-						float memUsedRatioMax;
-						std::string nickName;
-						long memUsedTotal;
-						float cpuUsedRatioMax;
-						std::string project;
-						std::string quotaName;
-						long memUsed;
-						long cpuUsedTotal;
-						std::string taskType;
-						float memUsedRatioMin;
-						long cpuUsed;
-						std::string userAccount;
-						long cpuRequest;
-					};
-					int total;
-					std::vector<Instance> detail;
-				};
+				struct Data
+				{
+					struct Instance
+					{
+						std::string status;
+						int quotaId;
+						float cpuUsedRatioMin;
+						std::string runTime;
+						std::string skynetId;
+						long memRequest;
+						std::string instanceId;
+						std::string cluster;
+						float memUsedRatioMax;
+						std::string nickName;
+						long memUsedTotal;
+						float cpuUsedRatioMax;
+						std::string project;
+						std::string quotaName;
+						long memUsed;
+						long cpuUsedTotal;
+						std::string taskType;
+						float memUsedRatioMin;
+						long cpuUsed;
+						std::string userAccount;
+						long cpuRequest;
+					};
+					int total;
+					std::vector<Instance> detail;
+				};
 
 
 				GetClusterInstanceResult();
 				explicit GetClusterInstanceResult(const std::string &payload);
 				~GetClusterInstanceResult();
-				std::string getMessage()const;
-				std::vector<Data> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<Data> data_;
-				int code_;
+				std::string message_;
+				Data data_;
+				int code_;
 
 			};
 		}

+ 11 - 11
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetInstancesStatusCountResult.h

@@ -32,26 +32,26 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT GetInstancesStatusCountResult : public ServiceResult
 			{
 			public:
-				struct DataItem
-				{
-					std::string status;
-					int size;
-				};
+				struct DataItem
+				{
+					std::string status;
+					int size;
+				};
 
 
 				GetInstancesStatusCountResult();
 				explicit GetInstancesStatusCountResult(const std::string &payload);
 				~GetInstancesStatusCountResult();
-				std::string getMessage()const;
-				std::vector<DataItem> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				std::vector<DataItem> getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<DataItem> data_;
-				int code_;
+				std::string message_;
+				std::vector<DataItem> data_;
+				int code_;
 
 			};
 		}

+ 35 - 35
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetProjectInstanceResult.h

@@ -32,50 +32,50 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT GetProjectInstanceResult : public ServiceResult
 			{
 			public:
-				struct Data
-				{
-					struct Instance
-					{
-						std::string status;
-						int quotaId;
-						float cpuUsedRatioMin;
-						std::string runTime;
-						std::string skynetId;
-						long memRequest;
-						std::string instanceId;
-						std::string cluster;
-						float memUsedRatioMax;
-						std::string nickName;
-						long memUsedTotal;
-						float cpuUsedRatioMax;
-						std::string project;
-						std::string quotaName;
-						long memUsed;
-						long cpuUsedTotal;
-						std::string taskType;
-						float memUsedRatioMin;
-						long cpuUsed;
-						std::string userAccount;
-						long cpuRequest;
-					};
-					int total;
-					std::vector<Instance> detail;
-				};
+				struct Data
+				{
+					struct Instance
+					{
+						std::string status;
+						int quotaId;
+						float cpuUsedRatioMin;
+						std::string runTime;
+						std::string skynetId;
+						long memRequest;
+						std::string instanceId;
+						std::string cluster;
+						float memUsedRatioMax;
+						std::string nickName;
+						long memUsedTotal;
+						float cpuUsedRatioMax;
+						std::string project;
+						std::string quotaName;
+						long memUsed;
+						long cpuUsedTotal;
+						std::string taskType;
+						float memUsedRatioMin;
+						long cpuUsed;
+						std::string userAccount;
+						long cpuRequest;
+					};
+					int total;
+					std::vector<Instance> detail;
+				};
 
 
 				GetProjectInstanceResult();
 				explicit GetProjectInstanceResult(const std::string &payload);
 				~GetProjectInstanceResult();
-				std::string getMessage()const;
-				std::vector<Data> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<Data> data_;
-				int code_;
+				std::string message_;
+				Data data_;
+				int code_;
 
 			};
 		}

+ 56 - 56
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetQuotaHistoryInfoResult.h

@@ -32,71 +32,71 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT GetQuotaHistoryInfoResult : public ServiceResult
 			{
 			public:
-				struct DataItem
-				{
-					struct Point
-					{
-						struct CpuMaxQuota
-						{
-							float min;
-							float avg;
-							float max;
-						};
-						struct CpuMinQuota
-						{
-							float min;
-							float avg;
-							float max;
-						};
-						struct MemUsed
-						{
-							float min;
-							float avg;
-							float max;
-						};
-						struct CpuUsed
-						{
-							float min;
-							float avg;
-							float max;
-						};
-						struct MemMaxQuota
-						{
-							float min;
-							float avg;
-							float max;
-						};
-						struct MemMinQuota
-						{
-							float min;
-							float avg;
-							float max;
-						};
-						std::vector<CpuMinQuota> cpuMinQuota;
-						std::vector<MemUsed> memUsed;
-						std::vector<MemMaxQuota> memMaxQuota;
-						std::vector<CpuMaxQuota> cpuMaxQuota;
-						std::vector<MemMinQuota> memMinQuota;
-						std::vector<CpuUsed> cpuUsed;
-					};
-					int times;
-					std::vector<Point> point;
-				};
+				struct DataItem
+				{
+					struct Point
+					{
+						struct CpuMaxQuota
+						{
+							float min;
+							float avg;
+							float max;
+						};
+						struct CpuMinQuota
+						{
+							float min;
+							float avg;
+							float max;
+						};
+						struct MemUsed
+						{
+							float min;
+							float avg;
+							float max;
+						};
+						struct CpuUsed
+						{
+							float min;
+							float avg;
+							float max;
+						};
+						struct MemMaxQuota
+						{
+							float min;
+							float avg;
+							float max;
+						};
+						struct MemMinQuota
+						{
+							float min;
+							float avg;
+							float max;
+						};
+						CpuMinQuota cpuMinQuota;
+						MemUsed memUsed;
+						MemMaxQuota memMaxQuota;
+						CpuMaxQuota cpuMaxQuota;
+						MemMinQuota memMinQuota;
+						CpuUsed cpuUsed;
+					};
+					int times;
+					Point point;
+				};
 
 
 				GetQuotaHistoryInfoResult();
 				explicit GetQuotaHistoryInfoResult(const std::string &payload);
 				~GetQuotaHistoryInfoResult();
-				std::string getMessage()const;
-				std::vector<DataItem> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				std::vector<DataItem> getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<DataItem> data_;
-				int code_;
+				std::string message_;
+				std::vector<DataItem> data_;
+				int code_;
 
 			};
 		}

+ 6 - 0
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetQuotaInstanceRequest.h

@@ -43,6 +43,10 @@ namespace AlibabaCloud
 				void setQuotaId(const std::string& quotaId);
 				int getPageNum()const;
 				void setPageNum(int pageNum);
+				std::string getRegion()const;
+				void setRegion(const std::string& region);
+				std::string getQuotaName()const;
+				void setQuotaName(const std::string& quotaName);
 				std::string getStatus()const;
 				void setStatus(const std::string& status);
 
@@ -51,6 +55,8 @@ namespace AlibabaCloud
 				int pageSize_;
 				std::string quotaId_;
 				int pageNum_;
+				std::string region_;
+				std::string quotaName_;
 				std::string status_;
 
 			};

+ 35 - 35
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetQuotaInstanceResult.h

@@ -32,50 +32,50 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT GetQuotaInstanceResult : public ServiceResult
 			{
 			public:
-				struct Data
-				{
-					struct Instance
-					{
-						std::string status;
-						int quotaId;
-						float cpuUsedRatioMin;
-						std::string runTime;
-						std::string skynetId;
-						long memRequest;
-						std::string instanceId;
-						std::string cluster;
-						float memUsedRatioMax;
-						std::string nickName;
-						long memUsedTotal;
-						float cpuUsedRatioMax;
-						std::string project;
-						std::string quotaName;
-						long memUsed;
-						long cpuUsedTotal;
-						std::string taskType;
-						float memUsedRatioMin;
-						long cpuUsed;
-						std::string userAccount;
-						long cpuRequest;
-					};
-					int total;
-					std::vector<Instance> detail;
-				};
+				struct Data
+				{
+					struct Instance
+					{
+						std::string status;
+						int quotaId;
+						float cpuUsedRatioMin;
+						std::string runTime;
+						std::string skynetId;
+						long memRequest;
+						std::string instanceId;
+						std::string cluster;
+						float memUsedRatioMax;
+						std::string nickName;
+						long memUsedTotal;
+						float cpuUsedRatioMax;
+						std::string project;
+						std::string quotaName;
+						long memUsed;
+						long cpuUsedTotal;
+						std::string taskType;
+						float memUsedRatioMin;
+						long cpuUsed;
+						std::string userAccount;
+						long cpuRequest;
+					};
+					int total;
+					std::vector<Instance> detail;
+				};
 
 
 				GetQuotaInstanceResult();
 				explicit GetQuotaInstanceResult(const std::string &payload);
 				~GetQuotaInstanceResult();
-				std::string getMessage()const;
-				std::vector<Data> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<Data> data_;
-				int code_;
+				std::string message_;
+				Data data_;
+				int code_;
 
 			};
 		}

+ 35 - 35
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/GetUserInstanceResult.h

@@ -32,50 +32,50 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT GetUserInstanceResult : public ServiceResult
 			{
 			public:
-				struct Data
-				{
-					struct Instance
-					{
-						std::string status;
-						int quotaId;
-						float cpuUsedRatioMin;
-						std::string runTime;
-						std::string skynetId;
-						long memRequest;
-						std::string instanceId;
-						std::string cluster;
-						float memUsedRatioMax;
-						std::string nickName;
-						long memUsedTotal;
-						float cpuUsedRatioMax;
-						std::string project;
-						std::string quotaName;
-						long memUsed;
-						long cpuUsedTotal;
-						std::string taskType;
-						float memUsedRatioMin;
-						long cpuUsed;
-						std::string userAccount;
-						long cpuRequest;
-					};
-					int total;
-					std::vector<Instance> detail;
-				};
+				struct Data
+				{
+					struct Instance
+					{
+						std::string status;
+						int quotaId;
+						float cpuUsedRatioMin;
+						std::string runTime;
+						std::string skynetId;
+						long memRequest;
+						std::string instanceId;
+						std::string cluster;
+						float memUsedRatioMax;
+						std::string nickName;
+						long memUsedTotal;
+						float cpuUsedRatioMax;
+						std::string project;
+						std::string quotaName;
+						long memUsed;
+						long cpuUsedTotal;
+						std::string taskType;
+						float memUsedRatioMin;
+						long cpuUsed;
+						std::string userAccount;
+						long cpuRequest;
+					};
+					int total;
+					std::vector<Instance> detail;
+				};
 
 
 				GetUserInstanceResult();
 				explicit GetUserInstanceResult(const std::string &payload);
 				~GetUserInstanceResult();
-				std::string getMessage()const;
-				std::vector<Data> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<Data> data_;
-				int code_;
+				std::string message_;
+				Data data_;
+				int code_;
 
 			};
 		}

+ 28 - 28
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryCustomerSaleInfoResult.h

@@ -32,43 +32,43 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT QueryCustomerSaleInfoResult : public ServiceResult
 			{
 			public:
-				struct Data
-				{
-					struct Cluster
-					{
-						struct SaleInfo
-						{
-							std::string uid;
-							std::string queryDate;
-							std::string owner;
-							long mem;
-							std::string saleMode;
-							long cpu;
-							std::string bizCategory;
-						};
-						std::string cluster;
-						std::string region;
-						std::vector<Cluster::SaleInfo> saleInfos;
-						std::string machineRoom;
-					};
-					std::string lastUpdate;
-					std::vector<Cluster> clusters;
-				};
+				struct Data
+				{
+					struct Cluster
+					{
+						struct SaleInfo
+						{
+							std::string uid;
+							std::string queryDate;
+							std::string owner;
+							long mem;
+							std::string saleMode;
+							long cpu;
+							std::string bizCategory;
+						};
+						std::string cluster;
+						std::string region;
+						std::vector<Cluster::SaleInfo> saleInfos;
+						std::string machineRoom;
+					};
+					std::string lastUpdate;
+					std::vector<Cluster> clusters;
+				};
 
 
 				QueryCustomerSaleInfoResult();
 				explicit QueryCustomerSaleInfoResult(const std::string &payload);
 				~QueryCustomerSaleInfoResult();
-				std::string getMessage()const;
-				std::vector<Data> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<Data> data_;
-				int code_;
+				std::string message_;
+				Data data_;
+				int code_;
 
 			};
 		}

+ 32 - 32
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryResourceInventoryResult.h

@@ -32,47 +32,47 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT QueryResourceInventoryResult : public ServiceResult
 			{
 			public:
-				struct Data
-				{
-					struct Cluster
-					{
-						struct ResourceParameter
-						{
-							std::string paraName;
-							std::string paraValue;
-						};
-						struct ResourceInventory
-						{
-							long used;
-							long total;
-							long available;
-							std::string resourceType;
-						};
-						std::string status;
-						std::vector<Cluster::ResourceInventory> resourceInventories;
-						std::string cluster;
-						std::string region;
-						std::string machineRoom;
-						std::vector<Cluster::ResourceParameter> resourceParameters;
-					};
-					std::string lastUpdate;
-					std::vector<Cluster> clusters;
-				};
+				struct Data
+				{
+					struct Cluster
+					{
+						struct ResourceParameter
+						{
+							std::string paraName;
+							std::string paraValue;
+						};
+						struct ResourceInventory
+						{
+							long used;
+							long total;
+							long available;
+							std::string resourceType;
+						};
+						std::string status;
+						std::vector<Cluster::ResourceInventory> resourceInventories;
+						std::string cluster;
+						std::string region;
+						std::string machineRoom;
+						std::vector<Cluster::ResourceParameter> resourceParameters;
+					};
+					std::string lastUpdate;
+					std::vector<Cluster> clusters;
+				};
 
 
 				QueryResourceInventoryResult();
 				explicit QueryResourceInventoryResult(const std::string &payload);
 				~QueryResourceInventoryResult();
-				std::string getMessage()const;
-				std::vector<Data> getData()const;
-				int getCode()const;
+				std::string getMessage()const;
+				Data getData()const;
+				int getCode()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				std::vector<Data> data_;
-				int code_;
+				std::string message_;
+				Data data_;
+				int code_;
 
 			};
 		}

+ 28 - 28
teslamaxcompute/include/alibabacloud/teslamaxcompute/model/QueryTopologyResult.h

@@ -32,43 +32,43 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_TESLAMAXCOMPUTE_EXPORT QueryTopologyResult : public ServiceResult
 			{
 			public:
-				struct ResultItem
-				{
-					struct RegionItem
-					{
-						struct ClusterItem
-						{
-							std::string netArch;
-							std::string netCode;
-							std::string cluster;
-							std::string machineRoom;
-							std::string productClass;
-							std::string productLine;
-							std::string business;
-						};
-						std::vector<RegionItem::ClusterItem> clusters;
-						std::string regionEnName;
-						std::string region;
-						std::string regionCnName;
-					};
-					std::string lastUpdate;
-					std::vector<ResultItem::RegionItem> regions;
-				};
+				struct ResultItem
+				{
+					struct RegionItem
+					{
+						struct ClusterItem
+						{
+							std::string netArch;
+							std::string netCode;
+							std::string cluster;
+							std::string machineRoom;
+							std::string productClass;
+							std::string productLine;
+							std::string business;
+						};
+						std::vector<RegionItem::ClusterItem> clusters;
+						std::string regionEnName;
+						std::string region;
+						std::string regionCnName;
+					};
+					std::string lastUpdate;
+					std::vector<ResultItem::RegionItem> regions;
+				};
 
 
 				QueryTopologyResult();
 				explicit QueryTopologyResult(const std::string &payload);
 				~QueryTopologyResult();
-				std::string getMessage()const;
-				int getCode()const;
-				std::vector<ResultItem> getResult()const;
+				std::string getMessage()const;
+				int getCode()const;
+				std::vector<ResultItem> getResult()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string message_;
-				int code_;
-				std::vector<ResultItem> result_;
+				std::string message_;
+				int code_;
+				std::vector<ResultItem> result_;
 
 			};
 		}

+ 70 - 75
teslamaxcompute/src/model/GetClusterInstanceResult.cc

@@ -40,81 +40,76 @@ void GetClusterInstanceResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"];
-	for (auto value : allData)
-	{
-		Data dataObject;
-		if(!value["Total"].isNull())
-			dataObject.total = std::stoi(value["Total"].asString());
-		auto allDetail = value["Detail"]["instance"];
-		for (auto value : allDetail)
-		{
-			Data::Instance instanceObject;
-			if(!value["Project"].isNull())
-				instanceObject.project = value["Project"].asString();
-			if(!value["InstanceId"].isNull())
-				instanceObject.instanceId = value["InstanceId"].asString();
-			if(!value["Status"].isNull())
-				instanceObject.status = value["Status"].asString();
-			if(!value["UserAccount"].isNull())
-				instanceObject.userAccount = value["UserAccount"].asString();
-			if(!value["NickName"].isNull())
-				instanceObject.nickName = value["NickName"].asString();
-			if(!value["Cluster"].isNull())
-				instanceObject.cluster = value["Cluster"].asString();
-			if(!value["RunTime"].isNull())
-				instanceObject.runTime = value["RunTime"].asString();
-			if(!value["CpuUsed"].isNull())
-				instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
-			if(!value["CpuRequest"].isNull())
-				instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
-			if(!value["CpuUsedTotal"].isNull())
-				instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
-			if(!value["CpuUsedRatioMax"].isNull())
-				instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
-			if(!value["CpuUsedRatioMin"].isNull())
-				instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
-			if(!value["MemUsed"].isNull())
-				instanceObject.memUsed = std::stol(value["MemUsed"].asString());
-			if(!value["MemRequest"].isNull())
-				instanceObject.memRequest = std::stol(value["MemRequest"].asString());
-			if(!value["MemUsedTotal"].isNull())
-				instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
-			if(!value["MemUsedRatioMax"].isNull())
-				instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
-			if(!value["MemUsedRatioMin"].isNull())
-				instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
-			if(!value["TaskType"].isNull())
-				instanceObject.taskType = value["TaskType"].asString();
-			if(!value["SkynetId"].isNull())
-				instanceObject.skynetId = value["SkynetId"].asString();
-			if(!value["QuotaName"].isNull())
-				instanceObject.quotaName = value["QuotaName"].asString();
-			if(!value["QuotaId"].isNull())
-				instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
-			dataObject.detail.push_back(instanceObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto dataNode = value["Data"];
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allDetail = value["Detail"]["instance"];
+	for (auto value : allDetail)
+	{
+		Data::Instance instanceObject;
+		if(!value["Project"].isNull())
+			instanceObject.project = value["Project"].asString();
+		if(!value["InstanceId"].isNull())
+			instanceObject.instanceId = value["InstanceId"].asString();
+		if(!value["Status"].isNull())
+			instanceObject.status = value["Status"].asString();
+		if(!value["UserAccount"].isNull())
+			instanceObject.userAccount = value["UserAccount"].asString();
+		if(!value["NickName"].isNull())
+			instanceObject.nickName = value["NickName"].asString();
+		if(!value["Cluster"].isNull())
+			instanceObject.cluster = value["Cluster"].asString();
+		if(!value["RunTime"].isNull())
+			instanceObject.runTime = value["RunTime"].asString();
+		if(!value["CpuUsed"].isNull())
+			instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
+		if(!value["CpuRequest"].isNull())
+			instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
+		if(!value["CpuUsedTotal"].isNull())
+			instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
+		if(!value["CpuUsedRatioMax"].isNull())
+			instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
+		if(!value["CpuUsedRatioMin"].isNull())
+			instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
+		if(!value["MemUsed"].isNull())
+			instanceObject.memUsed = std::stol(value["MemUsed"].asString());
+		if(!value["MemRequest"].isNull())
+			instanceObject.memRequest = std::stol(value["MemRequest"].asString());
+		if(!value["MemUsedTotal"].isNull())
+			instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
+		if(!value["MemUsedRatioMax"].isNull())
+			instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
+		if(!value["MemUsedRatioMin"].isNull())
+			instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
+		if(!value["TaskType"].isNull())
+			instanceObject.taskType = value["TaskType"].asString();
+		if(!value["SkynetId"].isNull())
+			instanceObject.skynetId = value["SkynetId"].asString();
+		if(!value["QuotaName"].isNull())
+			instanceObject.quotaName = value["QuotaName"].asString();
+		if(!value["QuotaId"].isNull())
+			instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
+		data_.detail.push_back(instanceObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string GetClusterInstanceResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<GetClusterInstanceResult::Data> GetClusterInstanceResult::getData()const
-{
-	return data_;
-}
-
-int GetClusterInstanceResult::getCode()const
-{
-	return code_;
-}
-
+std::string GetClusterInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+GetClusterInstanceResult::Data GetClusterInstanceResult::getData()const
+{
+	return data_;
+}
+
+int GetClusterInstanceResult::getCode()const
+{
+	return code_;
+}
+

+ 29 - 29
teslamaxcompute/src/model/GetInstancesStatusCountResult.cc

@@ -40,35 +40,35 @@ void GetInstancesStatusCountResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"]["DataItem"];
-	for (auto value : allData)
-	{
-		DataItem dataObject;
-		if(!value["Status"].isNull())
-			dataObject.status = value["Status"].asString();
-		if(!value["Size"].isNull())
-			dataObject.size = std::stoi(value["Size"].asString());
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto allData = value["Data"]["DataItem"];
+	for (auto value : allData)
+	{
+		DataItem dataObject;
+		if(!value["Status"].isNull())
+			dataObject.status = value["Status"].asString();
+		if(!value["Size"].isNull())
+			dataObject.size = std::stoi(value["Size"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string GetInstancesStatusCountResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<GetInstancesStatusCountResult::DataItem> GetInstancesStatusCountResult::getData()const
-{
-	return data_;
-}
-
-int GetInstancesStatusCountResult::getCode()const
-{
-	return code_;
-}
-
+std::string GetInstancesStatusCountResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetInstancesStatusCountResult::DataItem> GetInstancesStatusCountResult::getData()const
+{
+	return data_;
+}
+
+int GetInstancesStatusCountResult::getCode()const
+{
+	return code_;
+}
+

+ 70 - 75
teslamaxcompute/src/model/GetProjectInstanceResult.cc

@@ -40,81 +40,76 @@ void GetProjectInstanceResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"];
-	for (auto value : allData)
-	{
-		Data dataObject;
-		if(!value["Total"].isNull())
-			dataObject.total = std::stoi(value["Total"].asString());
-		auto allDetail = value["Detail"]["instance"];
-		for (auto value : allDetail)
-		{
-			Data::Instance instanceObject;
-			if(!value["Project"].isNull())
-				instanceObject.project = value["Project"].asString();
-			if(!value["InstanceId"].isNull())
-				instanceObject.instanceId = value["InstanceId"].asString();
-			if(!value["Status"].isNull())
-				instanceObject.status = value["Status"].asString();
-			if(!value["UserAccount"].isNull())
-				instanceObject.userAccount = value["UserAccount"].asString();
-			if(!value["NickName"].isNull())
-				instanceObject.nickName = value["NickName"].asString();
-			if(!value["Cluster"].isNull())
-				instanceObject.cluster = value["Cluster"].asString();
-			if(!value["RunTime"].isNull())
-				instanceObject.runTime = value["RunTime"].asString();
-			if(!value["CpuUsed"].isNull())
-				instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
-			if(!value["CpuRequest"].isNull())
-				instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
-			if(!value["CpuUsedTotal"].isNull())
-				instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
-			if(!value["CpuUsedRatioMax"].isNull())
-				instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
-			if(!value["CpuUsedRatioMin"].isNull())
-				instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
-			if(!value["MemUsed"].isNull())
-				instanceObject.memUsed = std::stol(value["MemUsed"].asString());
-			if(!value["MemRequest"].isNull())
-				instanceObject.memRequest = std::stol(value["MemRequest"].asString());
-			if(!value["MemUsedTotal"].isNull())
-				instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
-			if(!value["MemUsedRatioMax"].isNull())
-				instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
-			if(!value["MemUsedRatioMin"].isNull())
-				instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
-			if(!value["TaskType"].isNull())
-				instanceObject.taskType = value["TaskType"].asString();
-			if(!value["SkynetId"].isNull())
-				instanceObject.skynetId = value["SkynetId"].asString();
-			if(!value["QuotaName"].isNull())
-				instanceObject.quotaName = value["QuotaName"].asString();
-			if(!value["QuotaId"].isNull())
-				instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
-			dataObject.detail.push_back(instanceObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto dataNode = value["Data"];
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allDetail = value["Detail"]["instance"];
+	for (auto value : allDetail)
+	{
+		Data::Instance instanceObject;
+		if(!value["Project"].isNull())
+			instanceObject.project = value["Project"].asString();
+		if(!value["InstanceId"].isNull())
+			instanceObject.instanceId = value["InstanceId"].asString();
+		if(!value["Status"].isNull())
+			instanceObject.status = value["Status"].asString();
+		if(!value["UserAccount"].isNull())
+			instanceObject.userAccount = value["UserAccount"].asString();
+		if(!value["NickName"].isNull())
+			instanceObject.nickName = value["NickName"].asString();
+		if(!value["Cluster"].isNull())
+			instanceObject.cluster = value["Cluster"].asString();
+		if(!value["RunTime"].isNull())
+			instanceObject.runTime = value["RunTime"].asString();
+		if(!value["CpuUsed"].isNull())
+			instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
+		if(!value["CpuRequest"].isNull())
+			instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
+		if(!value["CpuUsedTotal"].isNull())
+			instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
+		if(!value["CpuUsedRatioMax"].isNull())
+			instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
+		if(!value["CpuUsedRatioMin"].isNull())
+			instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
+		if(!value["MemUsed"].isNull())
+			instanceObject.memUsed = std::stol(value["MemUsed"].asString());
+		if(!value["MemRequest"].isNull())
+			instanceObject.memRequest = std::stol(value["MemRequest"].asString());
+		if(!value["MemUsedTotal"].isNull())
+			instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
+		if(!value["MemUsedRatioMax"].isNull())
+			instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
+		if(!value["MemUsedRatioMin"].isNull())
+			instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
+		if(!value["TaskType"].isNull())
+			instanceObject.taskType = value["TaskType"].asString();
+		if(!value["SkynetId"].isNull())
+			instanceObject.skynetId = value["SkynetId"].asString();
+		if(!value["QuotaName"].isNull())
+			instanceObject.quotaName = value["QuotaName"].asString();
+		if(!value["QuotaId"].isNull())
+			instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
+		data_.detail.push_back(instanceObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string GetProjectInstanceResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<GetProjectInstanceResult::Data> GetProjectInstanceResult::getData()const
-{
-	return data_;
-}
-
-int GetProjectInstanceResult::getCode()const
-{
-	return code_;
-}
-
+std::string GetProjectInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+GetProjectInstanceResult::Data GetProjectInstanceResult::getData()const
+{
+	return data_;
+}
+
+int GetProjectInstanceResult::getCode()const
+{
+	return code_;
+}
+

+ 70 - 105
teslamaxcompute/src/model/GetQuotaHistoryInfoResult.cc

@@ -40,111 +40,76 @@ void GetQuotaHistoryInfoResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"]["DataItem"];
-	for (auto value : allData)
-	{
-		DataItem dataObject;
-		if(!value["Times"].isNull())
-			dataObject.times = std::stoi(value["Times"].asString());
-		auto allPoint = value["Point"];
-		for (auto value : allPoint)
-		{
-			DataItem::Point pointObject;
-			auto allCpuMaxQuota = value["CpuMaxQuota"];
-			for (auto value : allCpuMaxQuota)
-			{
-				DataItem::Point::CpuMaxQuota cpuMaxQuotaObject;
-				if(!value["Min"].isNull())
-					cpuMaxQuotaObject.min = std::stof(value["Min"].asString());
-				if(!value["Max"].isNull())
-					cpuMaxQuotaObject.max = std::stof(value["Max"].asString());
-				if(!value["Avg"].isNull())
-					cpuMaxQuotaObject.avg = std::stof(value["Avg"].asString());
-				pointObject.cpuMaxQuota.push_back(cpuMaxQuotaObject);
-			}
-			auto allCpuMinQuota = value["CpuMinQuota"];
-			for (auto value : allCpuMinQuota)
-			{
-				DataItem::Point::CpuMinQuota cpuMinQuotaObject;
-				if(!value["Min"].isNull())
-					cpuMinQuotaObject.min = std::stof(value["Min"].asString());
-				if(!value["Max"].isNull())
-					cpuMinQuotaObject.max = std::stof(value["Max"].asString());
-				if(!value["Avg"].isNull())
-					cpuMinQuotaObject.avg = std::stof(value["Avg"].asString());
-				pointObject.cpuMinQuota.push_back(cpuMinQuotaObject);
-			}
-			auto allMemUsed = value["MemUsed"];
-			for (auto value : allMemUsed)
-			{
-				DataItem::Point::MemUsed memUsedObject;
-				if(!value["Min"].isNull())
-					memUsedObject.min = std::stof(value["Min"].asString());
-				if(!value["Max"].isNull())
-					memUsedObject.max = std::stof(value["Max"].asString());
-				if(!value["Avg"].isNull())
-					memUsedObject.avg = std::stof(value["Avg"].asString());
-				pointObject.memUsed.push_back(memUsedObject);
-			}
-			auto allCpuUsed = value["CpuUsed"];
-			for (auto value : allCpuUsed)
-			{
-				DataItem::Point::CpuUsed cpuUsedObject;
-				if(!value["Min"].isNull())
-					cpuUsedObject.min = std::stof(value["Min"].asString());
-				if(!value["Max"].isNull())
-					cpuUsedObject.max = std::stof(value["Max"].asString());
-				if(!value["Avg"].isNull())
-					cpuUsedObject.avg = std::stof(value["Avg"].asString());
-				pointObject.cpuUsed.push_back(cpuUsedObject);
-			}
-			auto allMemMaxQuota = value["MemMaxQuota"];
-			for (auto value : allMemMaxQuota)
-			{
-				DataItem::Point::MemMaxQuota memMaxQuotaObject;
-				if(!value["Min"].isNull())
-					memMaxQuotaObject.min = std::stof(value["Min"].asString());
-				if(!value["Max"].isNull())
-					memMaxQuotaObject.max = std::stof(value["Max"].asString());
-				if(!value["Avg"].isNull())
-					memMaxQuotaObject.avg = std::stof(value["Avg"].asString());
-				pointObject.memMaxQuota.push_back(memMaxQuotaObject);
-			}
-			auto allMemMinQuota = value["MemMinQuota"];
-			for (auto value : allMemMinQuota)
-			{
-				DataItem::Point::MemMinQuota memMinQuotaObject;
-				if(!value["Min"].isNull())
-					memMinQuotaObject.min = std::stof(value["Min"].asString());
-				if(!value["Max"].isNull())
-					memMinQuotaObject.max = std::stof(value["Max"].asString());
-				if(!value["Avg"].isNull())
-					memMinQuotaObject.avg = std::stof(value["Avg"].asString());
-				pointObject.memMinQuota.push_back(memMinQuotaObject);
-			}
-			dataObject.point.push_back(pointObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto allData = value["Data"]["DataItem"];
+	for (auto value : allData)
+	{
+		DataItem dataObject;
+		if(!value["Times"].isNull())
+			dataObject.times = std::stoi(value["Times"].asString());
+		auto pointNode = value["Point"];
+		auto cpuMaxQuotaNode = pointNode["CpuMaxQuota"];
+		if(!cpuMaxQuotaNode["Min"].isNull())
+			dataObject.point.cpuMaxQuota.min = std::stof(cpuMaxQuotaNode["Min"].asString());
+		if(!cpuMaxQuotaNode["Max"].isNull())
+			dataObject.point.cpuMaxQuota.max = std::stof(cpuMaxQuotaNode["Max"].asString());
+		if(!cpuMaxQuotaNode["Avg"].isNull())
+			dataObject.point.cpuMaxQuota.avg = std::stof(cpuMaxQuotaNode["Avg"].asString());
+		auto cpuMinQuotaNode = pointNode["CpuMinQuota"];
+		if(!cpuMinQuotaNode["Min"].isNull())
+			dataObject.point.cpuMinQuota.min = std::stof(cpuMinQuotaNode["Min"].asString());
+		if(!cpuMinQuotaNode["Max"].isNull())
+			dataObject.point.cpuMinQuota.max = std::stof(cpuMinQuotaNode["Max"].asString());
+		if(!cpuMinQuotaNode["Avg"].isNull())
+			dataObject.point.cpuMinQuota.avg = std::stof(cpuMinQuotaNode["Avg"].asString());
+		auto memUsedNode = pointNode["MemUsed"];
+		if(!memUsedNode["Min"].isNull())
+			dataObject.point.memUsed.min = std::stof(memUsedNode["Min"].asString());
+		if(!memUsedNode["Max"].isNull())
+			dataObject.point.memUsed.max = std::stof(memUsedNode["Max"].asString());
+		if(!memUsedNode["Avg"].isNull())
+			dataObject.point.memUsed.avg = std::stof(memUsedNode["Avg"].asString());
+		auto cpuUsedNode = pointNode["CpuUsed"];
+		if(!cpuUsedNode["Min"].isNull())
+			dataObject.point.cpuUsed.min = std::stof(cpuUsedNode["Min"].asString());
+		if(!cpuUsedNode["Max"].isNull())
+			dataObject.point.cpuUsed.max = std::stof(cpuUsedNode["Max"].asString());
+		if(!cpuUsedNode["Avg"].isNull())
+			dataObject.point.cpuUsed.avg = std::stof(cpuUsedNode["Avg"].asString());
+		auto memMaxQuotaNode = pointNode["MemMaxQuota"];
+		if(!memMaxQuotaNode["Min"].isNull())
+			dataObject.point.memMaxQuota.min = std::stof(memMaxQuotaNode["Min"].asString());
+		if(!memMaxQuotaNode["Max"].isNull())
+			dataObject.point.memMaxQuota.max = std::stof(memMaxQuotaNode["Max"].asString());
+		if(!memMaxQuotaNode["Avg"].isNull())
+			dataObject.point.memMaxQuota.avg = std::stof(memMaxQuotaNode["Avg"].asString());
+		auto memMinQuotaNode = pointNode["MemMinQuota"];
+		if(!memMinQuotaNode["Min"].isNull())
+			dataObject.point.memMinQuota.min = std::stof(memMinQuotaNode["Min"].asString());
+		if(!memMinQuotaNode["Max"].isNull())
+			dataObject.point.memMinQuota.max = std::stof(memMinQuotaNode["Max"].asString());
+		if(!memMinQuotaNode["Avg"].isNull())
+			dataObject.point.memMinQuota.avg = std::stof(memMinQuotaNode["Avg"].asString());
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string GetQuotaHistoryInfoResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<GetQuotaHistoryInfoResult::DataItem> GetQuotaHistoryInfoResult::getData()const
-{
-	return data_;
-}
-
-int GetQuotaHistoryInfoResult::getCode()const
-{
-	return code_;
-}
-
+std::string GetQuotaHistoryInfoResult::getMessage()const
+{
+	return message_;
+}
+
+std::vector<GetQuotaHistoryInfoResult::DataItem> GetQuotaHistoryInfoResult::getData()const
+{
+	return data_;
+}
+
+int GetQuotaHistoryInfoResult::getCode()const
+{
+	return code_;
+}
+

+ 22 - 0
teslamaxcompute/src/model/GetQuotaInstanceRequest.cc

@@ -69,6 +69,28 @@ void GetQuotaInstanceRequest::setPageNum(int pageNum)
 	setParameter("PageNum", std::to_string(pageNum));
 }
 
+std::string GetQuotaInstanceRequest::getRegion()const
+{
+	return region_;
+}
+
+void GetQuotaInstanceRequest::setRegion(const std::string& region)
+{
+	region_ = region;
+	setParameter("Region", region);
+}
+
+std::string GetQuotaInstanceRequest::getQuotaName()const
+{
+	return quotaName_;
+}
+
+void GetQuotaInstanceRequest::setQuotaName(const std::string& quotaName)
+{
+	quotaName_ = quotaName;
+	setParameter("QuotaName", quotaName);
+}
+
 std::string GetQuotaInstanceRequest::getStatus()const
 {
 	return status_;

+ 70 - 75
teslamaxcompute/src/model/GetQuotaInstanceResult.cc

@@ -40,81 +40,76 @@ void GetQuotaInstanceResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"];
-	for (auto value : allData)
-	{
-		Data dataObject;
-		if(!value["Total"].isNull())
-			dataObject.total = std::stoi(value["Total"].asString());
-		auto allDetail = value["Detail"]["instance"];
-		for (auto value : allDetail)
-		{
-			Data::Instance instanceObject;
-			if(!value["Project"].isNull())
-				instanceObject.project = value["Project"].asString();
-			if(!value["InstanceId"].isNull())
-				instanceObject.instanceId = value["InstanceId"].asString();
-			if(!value["Status"].isNull())
-				instanceObject.status = value["Status"].asString();
-			if(!value["UserAccount"].isNull())
-				instanceObject.userAccount = value["UserAccount"].asString();
-			if(!value["NickName"].isNull())
-				instanceObject.nickName = value["NickName"].asString();
-			if(!value["Cluster"].isNull())
-				instanceObject.cluster = value["Cluster"].asString();
-			if(!value["RunTime"].isNull())
-				instanceObject.runTime = value["RunTime"].asString();
-			if(!value["CpuUsed"].isNull())
-				instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
-			if(!value["CpuRequest"].isNull())
-				instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
-			if(!value["CpuUsedTotal"].isNull())
-				instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
-			if(!value["CpuUsedRatioMax"].isNull())
-				instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
-			if(!value["CpuUsedRatioMin"].isNull())
-				instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
-			if(!value["MemUsed"].isNull())
-				instanceObject.memUsed = std::stol(value["MemUsed"].asString());
-			if(!value["MemRequest"].isNull())
-				instanceObject.memRequest = std::stol(value["MemRequest"].asString());
-			if(!value["MemUsedTotal"].isNull())
-				instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
-			if(!value["MemUsedRatioMax"].isNull())
-				instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
-			if(!value["MemUsedRatioMin"].isNull())
-				instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
-			if(!value["TaskType"].isNull())
-				instanceObject.taskType = value["TaskType"].asString();
-			if(!value["SkynetId"].isNull())
-				instanceObject.skynetId = value["SkynetId"].asString();
-			if(!value["QuotaName"].isNull())
-				instanceObject.quotaName = value["QuotaName"].asString();
-			if(!value["QuotaId"].isNull())
-				instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
-			dataObject.detail.push_back(instanceObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto dataNode = value["Data"];
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allDetail = value["Detail"]["instance"];
+	for (auto value : allDetail)
+	{
+		Data::Instance instanceObject;
+		if(!value["Project"].isNull())
+			instanceObject.project = value["Project"].asString();
+		if(!value["InstanceId"].isNull())
+			instanceObject.instanceId = value["InstanceId"].asString();
+		if(!value["Status"].isNull())
+			instanceObject.status = value["Status"].asString();
+		if(!value["UserAccount"].isNull())
+			instanceObject.userAccount = value["UserAccount"].asString();
+		if(!value["NickName"].isNull())
+			instanceObject.nickName = value["NickName"].asString();
+		if(!value["Cluster"].isNull())
+			instanceObject.cluster = value["Cluster"].asString();
+		if(!value["RunTime"].isNull())
+			instanceObject.runTime = value["RunTime"].asString();
+		if(!value["CpuUsed"].isNull())
+			instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
+		if(!value["CpuRequest"].isNull())
+			instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
+		if(!value["CpuUsedTotal"].isNull())
+			instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
+		if(!value["CpuUsedRatioMax"].isNull())
+			instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
+		if(!value["CpuUsedRatioMin"].isNull())
+			instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
+		if(!value["MemUsed"].isNull())
+			instanceObject.memUsed = std::stol(value["MemUsed"].asString());
+		if(!value["MemRequest"].isNull())
+			instanceObject.memRequest = std::stol(value["MemRequest"].asString());
+		if(!value["MemUsedTotal"].isNull())
+			instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
+		if(!value["MemUsedRatioMax"].isNull())
+			instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
+		if(!value["MemUsedRatioMin"].isNull())
+			instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
+		if(!value["TaskType"].isNull())
+			instanceObject.taskType = value["TaskType"].asString();
+		if(!value["SkynetId"].isNull())
+			instanceObject.skynetId = value["SkynetId"].asString();
+		if(!value["QuotaName"].isNull())
+			instanceObject.quotaName = value["QuotaName"].asString();
+		if(!value["QuotaId"].isNull())
+			instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
+		data_.detail.push_back(instanceObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string GetQuotaInstanceResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<GetQuotaInstanceResult::Data> GetQuotaInstanceResult::getData()const
-{
-	return data_;
-}
-
-int GetQuotaInstanceResult::getCode()const
-{
-	return code_;
-}
-
+std::string GetQuotaInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+GetQuotaInstanceResult::Data GetQuotaInstanceResult::getData()const
+{
+	return data_;
+}
+
+int GetQuotaInstanceResult::getCode()const
+{
+	return code_;
+}
+

+ 70 - 75
teslamaxcompute/src/model/GetUserInstanceResult.cc

@@ -40,81 +40,76 @@ void GetUserInstanceResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"];
-	for (auto value : allData)
-	{
-		Data dataObject;
-		if(!value["Total"].isNull())
-			dataObject.total = std::stoi(value["Total"].asString());
-		auto allDetail = value["Detail"]["instance"];
-		for (auto value : allDetail)
-		{
-			Data::Instance instanceObject;
-			if(!value["Project"].isNull())
-				instanceObject.project = value["Project"].asString();
-			if(!value["InstanceId"].isNull())
-				instanceObject.instanceId = value["InstanceId"].asString();
-			if(!value["Status"].isNull())
-				instanceObject.status = value["Status"].asString();
-			if(!value["UserAccount"].isNull())
-				instanceObject.userAccount = value["UserAccount"].asString();
-			if(!value["NickName"].isNull())
-				instanceObject.nickName = value["NickName"].asString();
-			if(!value["Cluster"].isNull())
-				instanceObject.cluster = value["Cluster"].asString();
-			if(!value["RunTime"].isNull())
-				instanceObject.runTime = value["RunTime"].asString();
-			if(!value["CpuUsed"].isNull())
-				instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
-			if(!value["CpuRequest"].isNull())
-				instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
-			if(!value["CpuUsedTotal"].isNull())
-				instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
-			if(!value["CpuUsedRatioMax"].isNull())
-				instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
-			if(!value["CpuUsedRatioMin"].isNull())
-				instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
-			if(!value["MemUsed"].isNull())
-				instanceObject.memUsed = std::stol(value["MemUsed"].asString());
-			if(!value["MemRequest"].isNull())
-				instanceObject.memRequest = std::stol(value["MemRequest"].asString());
-			if(!value["MemUsedTotal"].isNull())
-				instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
-			if(!value["MemUsedRatioMax"].isNull())
-				instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
-			if(!value["MemUsedRatioMin"].isNull())
-				instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
-			if(!value["TaskType"].isNull())
-				instanceObject.taskType = value["TaskType"].asString();
-			if(!value["SkynetId"].isNull())
-				instanceObject.skynetId = value["SkynetId"].asString();
-			if(!value["QuotaName"].isNull())
-				instanceObject.quotaName = value["QuotaName"].asString();
-			if(!value["QuotaId"].isNull())
-				instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
-			dataObject.detail.push_back(instanceObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto dataNode = value["Data"];
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allDetail = value["Detail"]["instance"];
+	for (auto value : allDetail)
+	{
+		Data::Instance instanceObject;
+		if(!value["Project"].isNull())
+			instanceObject.project = value["Project"].asString();
+		if(!value["InstanceId"].isNull())
+			instanceObject.instanceId = value["InstanceId"].asString();
+		if(!value["Status"].isNull())
+			instanceObject.status = value["Status"].asString();
+		if(!value["UserAccount"].isNull())
+			instanceObject.userAccount = value["UserAccount"].asString();
+		if(!value["NickName"].isNull())
+			instanceObject.nickName = value["NickName"].asString();
+		if(!value["Cluster"].isNull())
+			instanceObject.cluster = value["Cluster"].asString();
+		if(!value["RunTime"].isNull())
+			instanceObject.runTime = value["RunTime"].asString();
+		if(!value["CpuUsed"].isNull())
+			instanceObject.cpuUsed = std::stol(value["CpuUsed"].asString());
+		if(!value["CpuRequest"].isNull())
+			instanceObject.cpuRequest = std::stol(value["CpuRequest"].asString());
+		if(!value["CpuUsedTotal"].isNull())
+			instanceObject.cpuUsedTotal = std::stol(value["CpuUsedTotal"].asString());
+		if(!value["CpuUsedRatioMax"].isNull())
+			instanceObject.cpuUsedRatioMax = std::stof(value["CpuUsedRatioMax"].asString());
+		if(!value["CpuUsedRatioMin"].isNull())
+			instanceObject.cpuUsedRatioMin = std::stof(value["CpuUsedRatioMin"].asString());
+		if(!value["MemUsed"].isNull())
+			instanceObject.memUsed = std::stol(value["MemUsed"].asString());
+		if(!value["MemRequest"].isNull())
+			instanceObject.memRequest = std::stol(value["MemRequest"].asString());
+		if(!value["MemUsedTotal"].isNull())
+			instanceObject.memUsedTotal = std::stol(value["MemUsedTotal"].asString());
+		if(!value["MemUsedRatioMax"].isNull())
+			instanceObject.memUsedRatioMax = std::stof(value["MemUsedRatioMax"].asString());
+		if(!value["MemUsedRatioMin"].isNull())
+			instanceObject.memUsedRatioMin = std::stof(value["MemUsedRatioMin"].asString());
+		if(!value["TaskType"].isNull())
+			instanceObject.taskType = value["TaskType"].asString();
+		if(!value["SkynetId"].isNull())
+			instanceObject.skynetId = value["SkynetId"].asString();
+		if(!value["QuotaName"].isNull())
+			instanceObject.quotaName = value["QuotaName"].asString();
+		if(!value["QuotaId"].isNull())
+			instanceObject.quotaId = std::stoi(value["QuotaId"].asString());
+		data_.detail.push_back(instanceObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string GetUserInstanceResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<GetUserInstanceResult::Data> GetUserInstanceResult::getData()const
-{
-	return data_;
-}
-
-int GetUserInstanceResult::getCode()const
-{
-	return code_;
-}
-
+std::string GetUserInstanceResult::getMessage()const
+{
+	return message_;
+}
+
+GetUserInstanceResult::Data GetUserInstanceResult::getData()const
+{
+	return data_;
+}
+
+int GetUserInstanceResult::getCode()const
+{
+	return code_;
+}
+

+ 54 - 59
teslamaxcompute/src/model/QueryCustomerSaleInfoResult.cc

@@ -40,65 +40,60 @@ void QueryCustomerSaleInfoResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"];
-	for (auto value : allData)
-	{
-		Data dataObject;
-		if(!value["LastUpdate"].isNull())
-			dataObject.lastUpdate = value["LastUpdate"].asString();
-		auto allClusters = value["Clusters"]["cluster"];
-		for (auto value : allClusters)
-		{
-			Data::Cluster clusterObject;
-			if(!value["Cluster"].isNull())
-				clusterObject.cluster = value["Cluster"].asString();
-			if(!value["Region"].isNull())
-				clusterObject.region = value["Region"].asString();
-			if(!value["MachineRoom"].isNull())
-				clusterObject.machineRoom = value["MachineRoom"].asString();
-			auto allSaleInfos = value["SaleInfos"]["saleInfo"];
-			for (auto value : allSaleInfos)
-			{
-				Data::Cluster::SaleInfo saleInfosObject;
-				if(!value["SaleMode"].isNull())
-					saleInfosObject.saleMode = value["SaleMode"].asString();
-				if(!value["Uid"].isNull())
-					saleInfosObject.uid = value["Uid"].asString();
-				if(!value["Mem"].isNull())
-					saleInfosObject.mem = std::stol(value["Mem"].asString());
-				if(!value["Cpu"].isNull())
-					saleInfosObject.cpu = std::stol(value["Cpu"].asString());
-				if(!value["BizCategory"].isNull())
-					saleInfosObject.bizCategory = value["BizCategory"].asString();
-				if(!value["Owner"].isNull())
-					saleInfosObject.owner = value["Owner"].asString();
-				if(!value["QueryDate"].isNull())
-					saleInfosObject.queryDate = value["QueryDate"].asString();
-				clusterObject.saleInfos.push_back(saleInfosObject);
-			}
-			dataObject.clusters.push_back(clusterObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto dataNode = value["Data"];
+	if(!dataNode["LastUpdate"].isNull())
+		data_.lastUpdate = dataNode["LastUpdate"].asString();
+	auto allClusters = value["Clusters"]["cluster"];
+	for (auto value : allClusters)
+	{
+		Data::Cluster clusterObject;
+		if(!value["Cluster"].isNull())
+			clusterObject.cluster = value["Cluster"].asString();
+		if(!value["Region"].isNull())
+			clusterObject.region = value["Region"].asString();
+		if(!value["MachineRoom"].isNull())
+			clusterObject.machineRoom = value["MachineRoom"].asString();
+		auto allSaleInfos = value["SaleInfos"]["saleInfo"];
+		for (auto value : allSaleInfos)
+		{
+			Data::Cluster::SaleInfo saleInfosObject;
+			if(!value["SaleMode"].isNull())
+				saleInfosObject.saleMode = value["SaleMode"].asString();
+			if(!value["Uid"].isNull())
+				saleInfosObject.uid = value["Uid"].asString();
+			if(!value["Mem"].isNull())
+				saleInfosObject.mem = std::stol(value["Mem"].asString());
+			if(!value["Cpu"].isNull())
+				saleInfosObject.cpu = std::stol(value["Cpu"].asString());
+			if(!value["BizCategory"].isNull())
+				saleInfosObject.bizCategory = value["BizCategory"].asString();
+			if(!value["Owner"].isNull())
+				saleInfosObject.owner = value["Owner"].asString();
+			if(!value["QueryDate"].isNull())
+				saleInfosObject.queryDate = value["QueryDate"].asString();
+			clusterObject.saleInfos.push_back(saleInfosObject);
+		}
+		data_.clusters.push_back(clusterObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string QueryCustomerSaleInfoResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<QueryCustomerSaleInfoResult::Data> QueryCustomerSaleInfoResult::getData()const
-{
-	return data_;
-}
-
-int QueryCustomerSaleInfoResult::getCode()const
-{
-	return code_;
-}
-
+std::string QueryCustomerSaleInfoResult::getMessage()const
+{
+	return message_;
+}
+
+QueryCustomerSaleInfoResult::Data QueryCustomerSaleInfoResult::getData()const
+{
+	return data_;
+}
+
+int QueryCustomerSaleInfoResult::getCode()const
+{
+	return code_;
+}
+

+ 60 - 65
teslamaxcompute/src/model/QueryResourceInventoryResult.cc

@@ -40,71 +40,66 @@ void QueryResourceInventoryResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allData = value["Data"];
-	for (auto value : allData)
-	{
-		Data dataObject;
-		if(!value["LastUpdate"].isNull())
-			dataObject.lastUpdate = value["LastUpdate"].asString();
-		auto allClusters = value["Clusters"]["cluster"];
-		for (auto value : allClusters)
-		{
-			Data::Cluster clusterObject;
-			if(!value["Status"].isNull())
-				clusterObject.status = value["Status"].asString();
-			if(!value["Cluster"].isNull())
-				clusterObject.cluster = value["Cluster"].asString();
-			if(!value["MachineRoom"].isNull())
-				clusterObject.machineRoom = value["MachineRoom"].asString();
-			if(!value["Region"].isNull())
-				clusterObject.region = value["Region"].asString();
-			auto allResourceParameters = value["ResourceParameters"]["resourceParameter"];
-			for (auto value : allResourceParameters)
-			{
-				Data::Cluster::ResourceParameter resourceParametersObject;
-				if(!value["ParaName"].isNull())
-					resourceParametersObject.paraName = value["ParaName"].asString();
-				if(!value["ParaValue"].isNull())
-					resourceParametersObject.paraValue = value["ParaValue"].asString();
-				clusterObject.resourceParameters.push_back(resourceParametersObject);
-			}
-			auto allResourceInventories = value["ResourceInventories"]["resourceInventory"];
-			for (auto value : allResourceInventories)
-			{
-				Data::Cluster::ResourceInventory resourceInventoriesObject;
-				if(!value["Total"].isNull())
-					resourceInventoriesObject.total = std::stol(value["Total"].asString());
-				if(!value["Available"].isNull())
-					resourceInventoriesObject.available = std::stol(value["Available"].asString());
-				if(!value["Used"].isNull())
-					resourceInventoriesObject.used = std::stol(value["Used"].asString());
-				if(!value["ResourceType"].isNull())
-					resourceInventoriesObject.resourceType = value["ResourceType"].asString();
-				clusterObject.resourceInventories.push_back(resourceInventoriesObject);
-			}
-			dataObject.clusters.push_back(clusterObject);
-		}
-		data_.push_back(dataObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto dataNode = value["Data"];
+	if(!dataNode["LastUpdate"].isNull())
+		data_.lastUpdate = dataNode["LastUpdate"].asString();
+	auto allClusters = value["Clusters"]["cluster"];
+	for (auto value : allClusters)
+	{
+		Data::Cluster clusterObject;
+		if(!value["Status"].isNull())
+			clusterObject.status = value["Status"].asString();
+		if(!value["Cluster"].isNull())
+			clusterObject.cluster = value["Cluster"].asString();
+		if(!value["MachineRoom"].isNull())
+			clusterObject.machineRoom = value["MachineRoom"].asString();
+		if(!value["Region"].isNull())
+			clusterObject.region = value["Region"].asString();
+		auto allResourceParameters = value["ResourceParameters"]["resourceParameter"];
+		for (auto value : allResourceParameters)
+		{
+			Data::Cluster::ResourceParameter resourceParametersObject;
+			if(!value["ParaName"].isNull())
+				resourceParametersObject.paraName = value["ParaName"].asString();
+			if(!value["ParaValue"].isNull())
+				resourceParametersObject.paraValue = value["ParaValue"].asString();
+			clusterObject.resourceParameters.push_back(resourceParametersObject);
+		}
+		auto allResourceInventories = value["ResourceInventories"]["resourceInventory"];
+		for (auto value : allResourceInventories)
+		{
+			Data::Cluster::ResourceInventory resourceInventoriesObject;
+			if(!value["Total"].isNull())
+				resourceInventoriesObject.total = std::stol(value["Total"].asString());
+			if(!value["Available"].isNull())
+				resourceInventoriesObject.available = std::stol(value["Available"].asString());
+			if(!value["Used"].isNull())
+				resourceInventoriesObject.used = std::stol(value["Used"].asString());
+			if(!value["ResourceType"].isNull())
+				resourceInventoriesObject.resourceType = value["ResourceType"].asString();
+			clusterObject.resourceInventories.push_back(resourceInventoriesObject);
+		}
+		data_.clusters.push_back(clusterObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string QueryResourceInventoryResult::getMessage()const
-{
-	return message_;
-}
-
-std::vector<QueryResourceInventoryResult::Data> QueryResourceInventoryResult::getData()const
-{
-	return data_;
-}
-
-int QueryResourceInventoryResult::getCode()const
-{
-	return code_;
-}
-
+std::string QueryResourceInventoryResult::getMessage()const
+{
+	return message_;
+}
+
+QueryResourceInventoryResult::Data QueryResourceInventoryResult::getData()const
+{
+	return data_;
+}
+
+int QueryResourceInventoryResult::getCode()const
+{
+	return code_;
+}
+

+ 59 - 59
teslamaxcompute/src/model/QueryTopologyResult.cc

@@ -40,65 +40,65 @@ void QueryTopologyResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto allResult = value["Result"]["resultItem"];
-	for (auto value : allResult)
-	{
-		ResultItem resultObject;
-		if(!value["LastUpdate"].isNull())
-			resultObject.lastUpdate = value["LastUpdate"].asString();
-		auto allRegions = value["Regions"]["regionItem"];
-		for (auto value : allRegions)
-		{
-			ResultItem::RegionItem regionsObject;
-			if(!value["Region"].isNull())
-				regionsObject.region = value["Region"].asString();
-			if(!value["RegionEnName"].isNull())
-				regionsObject.regionEnName = value["RegionEnName"].asString();
-			if(!value["RegionCnName"].isNull())
-				regionsObject.regionCnName = value["RegionCnName"].asString();
-			auto allClusters = value["Clusters"]["clusterItem"];
-			for (auto value : allClusters)
-			{
-				ResultItem::RegionItem::ClusterItem clustersObject;
-				if(!value["Cluster"].isNull())
-					clustersObject.cluster = value["Cluster"].asString();
-				if(!value["ProductLine"].isNull())
-					clustersObject.productLine = value["ProductLine"].asString();
-				if(!value["ProductClass"].isNull())
-					clustersObject.productClass = value["ProductClass"].asString();
-				if(!value["NetCode"].isNull())
-					clustersObject.netCode = value["NetCode"].asString();
-				if(!value["Business"].isNull())
-					clustersObject.business = value["Business"].asString();
-				if(!value["MachineRoom"].isNull())
-					clustersObject.machineRoom = value["MachineRoom"].asString();
-				if(!value["NetArch"].isNull())
-					clustersObject.netArch = value["NetArch"].asString();
-				regionsObject.clusters.push_back(clustersObject);
-			}
-			resultObject.regions.push_back(regionsObject);
-		}
-		result_.push_back(resultObject);
-	}
-	if(!value["Code"].isNull())
-		code_ = std::stoi(value["Code"].asString());
-	if(!value["Message"].isNull())
-		message_ = value["Message"].asString();
+	auto allResult = value["Result"]["resultItem"];
+	for (auto value : allResult)
+	{
+		ResultItem resultObject;
+		if(!value["LastUpdate"].isNull())
+			resultObject.lastUpdate = value["LastUpdate"].asString();
+		auto allRegions = value["Regions"]["regionItem"];
+		for (auto value : allRegions)
+		{
+			ResultItem::RegionItem regionsObject;
+			if(!value["Region"].isNull())
+				regionsObject.region = value["Region"].asString();
+			if(!value["RegionEnName"].isNull())
+				regionsObject.regionEnName = value["RegionEnName"].asString();
+			if(!value["RegionCnName"].isNull())
+				regionsObject.regionCnName = value["RegionCnName"].asString();
+			auto allClusters = value["Clusters"]["clusterItem"];
+			for (auto value : allClusters)
+			{
+				ResultItem::RegionItem::ClusterItem clustersObject;
+				if(!value["Cluster"].isNull())
+					clustersObject.cluster = value["Cluster"].asString();
+				if(!value["ProductLine"].isNull())
+					clustersObject.productLine = value["ProductLine"].asString();
+				if(!value["ProductClass"].isNull())
+					clustersObject.productClass = value["ProductClass"].asString();
+				if(!value["NetCode"].isNull())
+					clustersObject.netCode = value["NetCode"].asString();
+				if(!value["Business"].isNull())
+					clustersObject.business = value["Business"].asString();
+				if(!value["MachineRoom"].isNull())
+					clustersObject.machineRoom = value["MachineRoom"].asString();
+				if(!value["NetArch"].isNull())
+					clustersObject.netArch = value["NetArch"].asString();
+				regionsObject.clusters.push_back(clustersObject);
+			}
+			resultObject.regions.push_back(regionsObject);
+		}
+		result_.push_back(resultObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = std::stoi(value["Code"].asString());
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
 
 }
 
-std::string QueryTopologyResult::getMessage()const
-{
-	return message_;
-}
-
-int QueryTopologyResult::getCode()const
-{
-	return code_;
-}
-
-std::vector<QueryTopologyResult::ResultItem> QueryTopologyResult::getResult()const
-{
-	return result_;
-}
-
+std::string QueryTopologyResult::getMessage()const
+{
+	return message_;
+}
+
+int QueryTopologyResult::getCode()const
+{
+	return code_;
+}
+
+std::vector<QueryTopologyResult::ResultItem> QueryTopologyResult::getResult()const
+{
+	return result_;
+}
+