Răsfoiți Sursa

ECS SDK Auto Released By zemin.lzm,Version:1.20.3

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 8 ani în urmă
părinte
comite
076567c0c7
36 a modificat fișierele cu 317 adăugiri și 1 ștergeri
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h
  4. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeImagesResult.h
  5. 9 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeRequest.h
  6. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeResult.h
  7. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h
  8. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeKeyPairsResult.h
  9. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplatesResult.h
  10. 7 0
      ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesResult.h
  11. 14 0
      ecs/include/alibabacloud/ecs/model/DescribePriceResult.h
  12. 14 0
      ecs/include/alibabacloud/ecs/model/DescribeRenewalPriceResult.h
  13. 6 0
      ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h
  14. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupAttributeResult.h
  15. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h
  16. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeSnapshotsRequest.h
  17. 1 0
      ecs/include/alibabacloud/ecs/model/DescribeSnapshotsResult.h
  18. 4 0
      ecs/include/alibabacloud/ecs/model/DescribeTagsResult.h
  19. 3 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  20. 22 0
      ecs/src/model/DescribeAvailableResourceRequest.cc
  21. 2 0
      ecs/src/model/DescribeImagesResult.cc
  22. 33 0
      ecs/src/model/DescribeInstanceAutoRenewAttributeRequest.cc
  23. 21 0
      ecs/src/model/DescribeInstanceAutoRenewAttributeResult.cc
  24. 2 0
      ecs/src/model/DescribeInstanceTypesResult.cc
  25. 12 0
      ecs/src/model/DescribeKeyPairsResult.cc
  26. 12 0
      ecs/src/model/DescribeLaunchTemplatesResult.cc
  27. 12 0
      ecs/src/model/DescribeNetworkInterfacesResult.cc
  28. 24 0
      ecs/src/model/DescribePriceResult.cc
  29. 24 0
      ecs/src/model/DescribeRenewalPriceResult.cc
  30. 22 0
      ecs/src/model/DescribeResourcesModificationRequest.cc
  31. 2 0
      ecs/src/model/DescribeSecurityGroupAttributeResult.cc
  32. 2 0
      ecs/src/model/DescribeSecurityGroupsResult.cc
  33. 11 0
      ecs/src/model/DescribeSnapshotsRequest.cc
  34. 2 0
      ecs/src/model/DescribeSnapshotsResult.cc
  35. 8 0
      ecs/src/model/DescribeTagsResult.cc
  36. 11 0
      ecs/src/model/RunInstancesRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2018-07-31 Version: 1.20.3
+1, Support describePrice for market image, add return detailInfo in interface describePrice
+
 2018-07-26 Version: 1.20.2
 1, Add BatchGetJobMetricInfo API.
 2, Add BatchGetPluginConfigInfo API.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.20.2
+1.20.3

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeAvailableResourceRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				int getMemory()const;
+				void setMemory(int memory);
 				long getCallerParentId()const;
 				void setCallerParentId(long callerParentId);
 				std::string getIoOptimized()const;
@@ -53,6 +55,8 @@ namespace AlibabaCloud
 				void setCallerType(const std::string& callerType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				int getCores()const;
+				void setCores(int cores);
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
 				std::string getRegionId()const;
@@ -104,6 +108,7 @@ namespace AlibabaCloud
 
             private:
 				long resourceOwnerId_;
+				int memory_;
 				long callerParentId_;
 				std::string ioOptimized_;
 				bool proxy_original_security_transport_;
@@ -112,6 +117,7 @@ namespace AlibabaCloud
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				int cores_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeImagesResult.h

@@ -57,6 +57,7 @@ namespace AlibabaCloud
 					std::string isSelfShared;
 					std::string architecture;
 					std::string platform;
+					std::string resourceGroupId;
 					std::string productCode;
 					int size;
 					bool isSubscribed;

+ 9 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeRequest.h

@@ -45,8 +45,14 @@ namespace AlibabaCloud
 				void setRegionId(const std::string& regionId);
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getRenewalStatus()const;
+				void setRenewalStatus(const std::string& renewalStatus);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
 
             private:
 				long resourceOwnerId_;
@@ -54,7 +60,10 @@ namespace AlibabaCloud
 				std::string resourceOwnerAccount_;
 				std::string regionId_;
 				std::string ownerAccount_;
+				std::string renewalStatus_;
+				std::string pageSize_;
 				long ownerId_;
+				std::string pageNumber_;
 
 			};
 		}

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeResult.h

@@ -45,12 +45,18 @@ namespace AlibabaCloud
 				DescribeInstanceAutoRenewAttributeResult();
 				explicit DescribeInstanceAutoRenewAttributeResult(const std::string &payload);
 				~DescribeInstanceAutoRenewAttributeResult();
+				int getTotalCount()const;
 				std::vector<InstanceRenewAttribute> getInstanceRenewAttributes()const;
+				int getPageSize()const;
+				int getPageNumber()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				int totalCount_;
 				std::vector<InstanceRenewAttribute> instanceRenewAttributes_;
+				int pageSize_;
+				int pageNumber_;
 
 			};
 		}

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesResult.h

@@ -49,6 +49,7 @@ namespace AlibabaCloud
 					std::string localStorageCategory;
 					std::string gPUSpec;
 					int baselineCredit;
+					std::string instanceFamilyLevel;
 					std::string instanceTypeId;
 				};
 

+ 7 - 0
ecs/include/alibabacloud/ecs/model/DescribeKeyPairsResult.h

@@ -34,8 +34,15 @@ namespace AlibabaCloud
 			public:
 				struct KeyPair
 				{
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string keyPairFingerPrint;
 					std::string keyPairName;
+					std::string resourceGroupId;
+					std::vector<KeyPair::Tag> tags;
 				};
 
 

+ 7 - 0
ecs/include/alibabacloud/ecs/model/DescribeLaunchTemplatesResult.h

@@ -34,13 +34,20 @@ namespace AlibabaCloud
 			public:
 				struct LaunchTemplateSet
 				{
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string launchTemplateName;
 					std::string createdBy;
 					std::string modifiedTime;
+					std::string resourceGroupId;
 					long latestVersionNumber;
 					std::string createTime;
 					std::string launchTemplateId;
 					long defaultVersionNumber;
+					std::vector<LaunchTemplateSet::Tag> tags;
 				};
 
 

+ 7 - 0
ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfacesResult.h

@@ -50,10 +50,16 @@ namespace AlibabaCloud
 						std::string privateIpAddress;
 						bool primary;
 					};
+					struct Tag
+					{
+						std::string tagKey;
+						std::string tagValue;
+					};
 					std::string status;
 					std::string privateIpAddress;
 					std::string description;
 					std::string zoneId;
+					std::string resourceGroupId;
 					std::string instanceId;
 					std::string vSwitchId;
 					std::string networkInterfaceName;
@@ -64,6 +70,7 @@ namespace AlibabaCloud
 					std::string vpcId;
 					AssociatedPublicIp associatedPublicIp;
 					std::string creationTime;
+					std::vector<NetworkInterfaceSet::Tag> tags;
 					std::vector<NetworkInterfaceSet::PrivateIpSet> privateIpSets;
 				};
 

+ 14 - 0
ecs/include/alibabacloud/ecs/model/DescribePriceResult.h

@@ -36,9 +36,23 @@ namespace AlibabaCloud
 				{
 					struct Price
 					{
+						struct ResourcePriceModel
+						{
+							struct Rule1
+							{
+								std::string description;
+								long ruleId;
+							};
+							float originalPrice;
+							float discountPrice;
+							std::vector<ResourcePriceModel::Rule1> subRules;
+							std::string resource;
+							float tradePrice;
+						};
 						float originalPrice;
 						float discountPrice;
 						std::string currency;
+						std::vector<ResourcePriceModel> detailInfos;
 						float tradePrice;
 					};
 					struct Rule

+ 14 - 0
ecs/include/alibabacloud/ecs/model/DescribeRenewalPriceResult.h

@@ -36,9 +36,23 @@ namespace AlibabaCloud
 				{
 					struct Price
 					{
+						struct ResourcePriceModel
+						{
+							struct Rule1
+							{
+								std::string description;
+								long ruleId;
+							};
+							float originalPrice;
+							float discountPrice;
+							std::vector<ResourcePriceModel::Rule1> subRules;
+							std::string resource;
+							float tradePrice;
+						};
 						float originalPrice;
 						float discountPrice;
 						std::string currency;
+						std::vector<ResourcePriceModel> detailInfos;
 						float tradePrice;
 					};
 					struct Rule

+ 6 - 0
ecs/include/alibabacloud/ecs/model/DescribeResourcesModificationRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				int getMemory()const;
+				void setMemory(int memory);
 				long getCallerParentId()const;
 				void setCallerParentId(long callerParentId);
 				bool getProxy_original_security_transport()const;
@@ -49,6 +51,8 @@ namespace AlibabaCloud
 				void setCallerType(const std::string& callerType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				int getCores()const;
+				void setCores(int cores);
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
 				std::string getRegionId()const;
@@ -94,12 +98,14 @@ namespace AlibabaCloud
 
             private:
 				long resourceOwnerId_;
+				int memory_;
 				long callerParentId_;
 				bool proxy_original_security_transport_;
 				std::string proxy_original_source_ip_;
 				std::string ownerIdLoginEmail_;
 				std::string callerType_;
 				std::string accessKeyId_;
+				int cores_;
 				std::string securityToken_;
 				std::string regionId_;
 				bool enable_;

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupAttributeResult.h

@@ -37,6 +37,7 @@ namespace AlibabaCloud
 					std::string sourceGroupId;
 					std::string policy;
 					std::string description;
+					std::string sourcePortRange;
 					std::string priority;
 					std::string createTime;
 					std::string nicType;

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeSecurityGroupsResult.h

@@ -43,6 +43,7 @@ namespace AlibabaCloud
 					std::string description;
 					std::string securityGroupName;
 					std::string vpcId;
+					std::string resourceGroupId;
 					std::string securityGroupId;
 					std::string creationTime;
 					std::vector<SecurityGroup::Tag> tags;

+ 3 - 0
ecs/include/alibabacloud/ecs/model/DescribeSnapshotsRequest.h

@@ -57,6 +57,8 @@ namespace AlibabaCloud
 				void setPageNumber(int pageNumber);
 				std::string getTag1Value()const;
 				void setTag1Value(const std::string& tag1Value);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getFilter1Key()const;
 				void setFilter1Key(const std::string& filter1Key);
 				std::string getRegionId()const;
@@ -112,6 +114,7 @@ namespace AlibabaCloud
 				std::string tag3Key_;
 				int pageNumber_;
 				std::string tag1Value_;
+				std::string resourceGroupId_;
 				std::string filter1Key_;
 				std::string regionId_;
 				int pageSize_;

+ 1 - 0
ecs/include/alibabacloud/ecs/model/DescribeSnapshotsResult.h

@@ -43,6 +43,7 @@ namespace AlibabaCloud
 					std::string progress;
 					std::string usage;
 					std::string description;
+					std::string resourceGroupId;
 					std::string productCode;
 					bool encrypted;
 					int retentionDays;

+ 4 - 0
ecs/include/alibabacloud/ecs/model/DescribeTagsResult.h

@@ -37,9 +37,13 @@ namespace AlibabaCloud
 					struct ResourceTypeCount
 					{
 						int snapshot;
+						int eni;
+						int keyPair;
 						int instance;
 						int volume;
+						int launchTemplate;
 						int securitygroup;
+						int ddh;
 						int image;
 						int disk;
 					};

+ 3 - 0
ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h

@@ -63,6 +63,8 @@ namespace AlibabaCloud
 				void setLaunchTemplateName(const std::string& launchTemplateName);
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				bool getUniqueSuffix()const;
+				void setUniqueSuffix(bool uniqueSuffix);
 				std::string getHpcClusterId()const;
 				void setHpcClusterId(const std::string& hpcClusterId);
 				long getCallerParentId()const;
@@ -195,6 +197,7 @@ namespace AlibabaCloud
             private:
 				std::string launchTemplateName_;
 				long resourceOwnerId_;
+				bool uniqueSuffix_;
 				std::string hpcClusterId_;
 				long callerParentId_;
 				std::string securityEnhancementStrategy_;

+ 22 - 0
ecs/src/model/DescribeAvailableResourceRequest.cc

@@ -36,6 +36,17 @@ void DescribeAvailableResourceRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
+int DescribeAvailableResourceRequest::getMemory()const
+{
+	return memory_;
+}
+
+void DescribeAvailableResourceRequest::setMemory(int memory)
+{
+	memory_ = memory;
+	setParameter("Memory", std::to_string(memory));
+}
+
 long DescribeAvailableResourceRequest::getCallerParentId()const
 {
 	return callerParentId_;
@@ -124,6 +135,17 @@ void DescribeAvailableResourceRequest::setAccessKeyId(const std::string& accessK
 	setParameter("AccessKeyId", accessKeyId);
 }
 
+int DescribeAvailableResourceRequest::getCores()const
+{
+	return cores_;
+}
+
+void DescribeAvailableResourceRequest::setCores(int cores)
+{
+	cores_ = cores;
+	setParameter("Cores", std::to_string(cores));
+}
+
 std::string DescribeAvailableResourceRequest::getSecurityToken()const
 {
 	return securityToken_;

+ 2 - 0
ecs/src/model/DescribeImagesResult.cc

@@ -84,6 +84,8 @@ void DescribeImagesResult::parse(const std::string &payload)
 			imagesObject.usage = value["Usage"].asString();
 		if(!value["IsCopied"].isNull())
 			imagesObject.isCopied = value["IsCopied"].asString() == "true";
+		if(!value["ResourceGroupId"].isNull())
+			imagesObject.resourceGroupId = value["ResourceGroupId"].asString();
 		auto allDiskDeviceMappings = value["DiskDeviceMappings"]["DiskDeviceMapping"];
 		for (auto value : allDiskDeviceMappings)
 		{

+ 33 - 0
ecs/src/model/DescribeInstanceAutoRenewAttributeRequest.cc

@@ -80,6 +80,28 @@ void DescribeInstanceAutoRenewAttributeRequest::setOwnerAccount(const std::strin
 	setParameter("OwnerAccount", ownerAccount);
 }
 
+std::string DescribeInstanceAutoRenewAttributeRequest::getRenewalStatus()const
+{
+	return renewalStatus_;
+}
+
+void DescribeInstanceAutoRenewAttributeRequest::setRenewalStatus(const std::string& renewalStatus)
+{
+	renewalStatus_ = renewalStatus;
+	setParameter("RenewalStatus", renewalStatus);
+}
+
+std::string DescribeInstanceAutoRenewAttributeRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeInstanceAutoRenewAttributeRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", pageSize);
+}
+
 long DescribeInstanceAutoRenewAttributeRequest::getOwnerId()const
 {
 	return ownerId_;
@@ -91,3 +113,14 @@ void DescribeInstanceAutoRenewAttributeRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
+std::string DescribeInstanceAutoRenewAttributeRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeInstanceAutoRenewAttributeRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", pageNumber);
+}
+

+ 21 - 0
ecs/src/model/DescribeInstanceAutoRenewAttributeResult.cc

@@ -56,11 +56,32 @@ void DescribeInstanceAutoRenewAttributeResult::parse(const std::string &payload)
 			instanceRenewAttributesObject.renewalStatus = value["RenewalStatus"].asString();
 		instanceRenewAttributes_.push_back(instanceRenewAttributesObject);
 	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
 
 }
 
+int DescribeInstanceAutoRenewAttributeResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
 std::vector<DescribeInstanceAutoRenewAttributeResult::InstanceRenewAttribute> DescribeInstanceAutoRenewAttributeResult::getInstanceRenewAttributes()const
 {
 	return instanceRenewAttributes_;
 }
 
+int DescribeInstanceAutoRenewAttributeResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeInstanceAutoRenewAttributeResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 2 - 0
ecs/src/model/DescribeInstanceTypesResult.cc

@@ -76,6 +76,8 @@ void DescribeInstanceTypesResult::parse(const std::string &payload)
 			instanceTypesObject.instancePpsRx = std::stol(value["InstancePpsRx"].asString());
 		if(!value["InstancePpsTx"].isNull())
 			instanceTypesObject.instancePpsTx = std::stol(value["InstancePpsTx"].asString());
+		if(!value["InstanceFamilyLevel"].isNull())
+			instanceTypesObject.instanceFamilyLevel = value["InstanceFamilyLevel"].asString();
 		instanceTypes_.push_back(instanceTypesObject);
 	}
 

+ 12 - 0
ecs/src/model/DescribeKeyPairsResult.cc

@@ -48,6 +48,18 @@ void DescribeKeyPairsResult::parse(const std::string &payload)
 			keyPairsObject.keyPairName = value["KeyPairName"].asString();
 		if(!value["KeyPairFingerPrint"].isNull())
 			keyPairsObject.keyPairFingerPrint = value["KeyPairFingerPrint"].asString();
+		if(!value["ResourceGroupId"].isNull())
+			keyPairsObject.resourceGroupId = value["ResourceGroupId"].asString();
+		auto allTags = value["Tags"]["Tag"];
+		for (auto value : allTags)
+		{
+			KeyPair::Tag tagsObject;
+			if(!value["TagKey"].isNull())
+				tagsObject.tagKey = value["TagKey"].asString();
+			if(!value["TagValue"].isNull())
+				tagsObject.tagValue = value["TagValue"].asString();
+			keyPairsObject.tags.push_back(tagsObject);
+		}
 		keyPairs_.push_back(keyPairsObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 12 - 0
ecs/src/model/DescribeLaunchTemplatesResult.cc

@@ -58,6 +58,18 @@ void DescribeLaunchTemplatesResult::parse(const std::string &payload)
 			launchTemplateSetsObject.latestVersionNumber = std::stol(value["LatestVersionNumber"].asString());
 		if(!value["CreatedBy"].isNull())
 			launchTemplateSetsObject.createdBy = value["CreatedBy"].asString();
+		if(!value["ResourceGroupId"].isNull())
+			launchTemplateSetsObject.resourceGroupId = value["ResourceGroupId"].asString();
+		auto allTags = value["Tags"]["Tag"];
+		for (auto value : allTags)
+		{
+			LaunchTemplateSet::Tag tagsObject;
+			if(!value["TagKey"].isNull())
+				tagsObject.tagKey = value["TagKey"].asString();
+			if(!value["TagValue"].isNull())
+				tagsObject.tagValue = value["TagValue"].asString();
+			launchTemplateSetsObject.tags.push_back(tagsObject);
+		}
 		launchTemplateSets_.push_back(launchTemplateSetsObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 12 - 0
ecs/src/model/DescribeNetworkInterfacesResult.cc

@@ -68,6 +68,8 @@ void DescribeNetworkInterfacesResult::parse(const std::string &payload)
 			networkInterfaceSetsObject.instanceId = value["InstanceId"].asString();
 		if(!value["CreationTime"].isNull())
 			networkInterfaceSetsObject.creationTime = value["CreationTime"].asString();
+		if(!value["ResourceGroupId"].isNull())
+			networkInterfaceSetsObject.resourceGroupId = value["ResourceGroupId"].asString();
 		auto allPrivateIpSets = value["PrivateIpSets"]["PrivateIpSet"];
 		for (auto value : allPrivateIpSets)
 		{
@@ -83,6 +85,16 @@ void DescribeNetworkInterfacesResult::parse(const std::string &payload)
 				privateIpSetsObject.associatedPublicIp1.allocationId = associatedPublicIp1Node["AllocationId"].asString();
 			networkInterfaceSetsObject.privateIpSets.push_back(privateIpSetsObject);
 		}
+		auto allTags = value["Tags"]["Tag"];
+		for (auto value : allTags)
+		{
+			NetworkInterfaceSet::Tag tagsObject;
+			if(!value["TagKey"].isNull())
+				tagsObject.tagKey = value["TagKey"].asString();
+			if(!value["TagValue"].isNull())
+				tagsObject.tagValue = value["TagValue"].asString();
+			networkInterfaceSetsObject.tags.push_back(tagsObject);
+		}
 		auto associatedPublicIpNode = value["AssociatedPublicIp"];
 		if(!associatedPublicIpNode["PublicIpAddress"].isNull())
 			networkInterfaceSetsObject.associatedPublicIp.publicIpAddress = associatedPublicIpNode["PublicIpAddress"].asString();

+ 24 - 0
ecs/src/model/DescribePriceResult.cc

@@ -60,6 +60,30 @@ void DescribePriceResult::parse(const std::string &payload)
 		priceInfo_.price.tradePrice = std::stof(priceNode["TradePrice"].asString());
 	if(!priceNode["Currency"].isNull())
 		priceInfo_.price.currency = priceNode["Currency"].asString();
+	auto allDetailInfos = value["DetailInfos"]["ResourcePriceModel"];
+	for (auto value : allDetailInfos)
+	{
+		PriceInfo::Price::ResourcePriceModel resourcePriceModelObject;
+		if(!value["Resource"].isNull())
+			resourcePriceModelObject.resource = value["Resource"].asString();
+		if(!value["OriginalPrice"].isNull())
+			resourcePriceModelObject.originalPrice = std::stof(value["OriginalPrice"].asString());
+		if(!value["DiscountPrice"].isNull())
+			resourcePriceModelObject.discountPrice = std::stof(value["DiscountPrice"].asString());
+		if(!value["TradePrice"].isNull())
+			resourcePriceModelObject.tradePrice = std::stof(value["TradePrice"].asString());
+		auto allSubRules = value["SubRules"]["Rule"];
+		for (auto value : allSubRules)
+		{
+			PriceInfo::Price::ResourcePriceModel::Rule1 subRulesObject;
+			if(!value["RuleId"].isNull())
+				subRulesObject.ruleId = std::stol(value["RuleId"].asString());
+			if(!value["Description"].isNull())
+				subRulesObject.description = value["Description"].asString();
+			resourcePriceModelObject.subRules.push_back(subRulesObject);
+		}
+		priceInfo_.price.detailInfos.push_back(resourcePriceModelObject);
+	}
 
 }
 

+ 24 - 0
ecs/src/model/DescribeRenewalPriceResult.cc

@@ -60,6 +60,30 @@ void DescribeRenewalPriceResult::parse(const std::string &payload)
 		priceInfo_.price.tradePrice = std::stof(priceNode["TradePrice"].asString());
 	if(!priceNode["Currency"].isNull())
 		priceInfo_.price.currency = priceNode["Currency"].asString();
+	auto allDetailInfos = value["DetailInfos"]["ResourcePriceModel"];
+	for (auto value : allDetailInfos)
+	{
+		PriceInfo::Price::ResourcePriceModel resourcePriceModelObject;
+		if(!value["Resource"].isNull())
+			resourcePriceModelObject.resource = value["Resource"].asString();
+		if(!value["OriginalPrice"].isNull())
+			resourcePriceModelObject.originalPrice = std::stof(value["OriginalPrice"].asString());
+		if(!value["DiscountPrice"].isNull())
+			resourcePriceModelObject.discountPrice = std::stof(value["DiscountPrice"].asString());
+		if(!value["TradePrice"].isNull())
+			resourcePriceModelObject.tradePrice = std::stof(value["TradePrice"].asString());
+		auto allSubRules = value["SubRules"]["Rule"];
+		for (auto value : allSubRules)
+		{
+			PriceInfo::Price::ResourcePriceModel::Rule1 subRulesObject;
+			if(!value["RuleId"].isNull())
+				subRulesObject.ruleId = std::stol(value["RuleId"].asString());
+			if(!value["Description"].isNull())
+				subRulesObject.description = value["Description"].asString();
+			resourcePriceModelObject.subRules.push_back(subRulesObject);
+		}
+		priceInfo_.price.detailInfos.push_back(resourcePriceModelObject);
+	}
 
 }
 

+ 22 - 0
ecs/src/model/DescribeResourcesModificationRequest.cc

@@ -36,6 +36,17 @@ void DescribeResourcesModificationRequest::setResourceOwnerId(long resourceOwner
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
+int DescribeResourcesModificationRequest::getMemory()const
+{
+	return memory_;
+}
+
+void DescribeResourcesModificationRequest::setMemory(int memory)
+{
+	memory_ = memory;
+	setParameter("Memory", std::to_string(memory));
+}
+
 long DescribeResourcesModificationRequest::getCallerParentId()const
 {
 	return callerParentId_;
@@ -102,6 +113,17 @@ void DescribeResourcesModificationRequest::setAccessKeyId(const std::string& acc
 	setParameter("AccessKeyId", accessKeyId);
 }
 
+int DescribeResourcesModificationRequest::getCores()const
+{
+	return cores_;
+}
+
+void DescribeResourcesModificationRequest::setCores(int cores)
+{
+	cores_ = cores;
+	setParameter("Cores", std::to_string(cores));
+}
+
 std::string DescribeResourcesModificationRequest::getSecurityToken()const
 {
 	return securityToken_;

+ 2 - 0
ecs/src/model/DescribeSecurityGroupAttributeResult.cc

@@ -48,6 +48,8 @@ void DescribeSecurityGroupAttributeResult::parse(const std::string &payload)
 			permissionsObject.ipProtocol = value["IpProtocol"].asString();
 		if(!value["PortRange"].isNull())
 			permissionsObject.portRange = value["PortRange"].asString();
+		if(!value["SourcePortRange"].isNull())
+			permissionsObject.sourcePortRange = value["SourcePortRange"].asString();
 		if(!value["SourceGroupId"].isNull())
 			permissionsObject.sourceGroupId = value["SourceGroupId"].asString();
 		if(!value["SourceGroupName"].isNull())

+ 2 - 0
ecs/src/model/DescribeSecurityGroupsResult.cc

@@ -58,6 +58,8 @@ void DescribeSecurityGroupsResult::parse(const std::string &payload)
 			securityGroupsObject.availableInstanceAmount = std::stoi(value["AvailableInstanceAmount"].asString());
 		if(!value["EcsCount"].isNull())
 			securityGroupsObject.ecsCount = std::stoi(value["EcsCount"].asString());
+		if(!value["ResourceGroupId"].isNull())
+			securityGroupsObject.resourceGroupId = value["ResourceGroupId"].asString();
 		auto allTags = value["Tags"]["Tag"];
 		for (auto value : allTags)
 		{

+ 11 - 0
ecs/src/model/DescribeSnapshotsRequest.cc

@@ -146,6 +146,17 @@ void DescribeSnapshotsRequest::setTag1Value(const std::string& tag1Value)
 	setParameter("Tag1Value", tag1Value);
 }
 
+std::string DescribeSnapshotsRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void DescribeSnapshotsRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
 std::string DescribeSnapshotsRequest::getFilter1Key()const
 {
 	return filter1Key_;

+ 2 - 0
ecs/src/model/DescribeSnapshotsResult.cc

@@ -74,6 +74,8 @@ void DescribeSnapshotsResult::parse(const std::string &payload)
 			snapshotsObject.sourceStorageType = value["SourceStorageType"].asString();
 		if(!value["RemainTime"].isNull())
 			snapshotsObject.remainTime = std::stoi(value["RemainTime"].asString());
+		if(!value["ResourceGroupId"].isNull())
+			snapshotsObject.resourceGroupId = value["ResourceGroupId"].asString();
 		auto allTags = value["Tags"]["Tag"];
 		for (auto value : allTags)
 		{

+ 8 - 0
ecs/src/model/DescribeTagsResult.cc

@@ -61,6 +61,14 @@ void DescribeTagsResult::parse(const std::string &payload)
 			tagsObject.resourceTypeCount.snapshot = std::stoi(resourceTypeCountNode["Snapshot"].asString());
 		if(!resourceTypeCountNode["Securitygroup"].isNull())
 			tagsObject.resourceTypeCount.securitygroup = std::stoi(resourceTypeCountNode["Securitygroup"].asString());
+		if(!resourceTypeCountNode["LaunchTemplate"].isNull())
+			tagsObject.resourceTypeCount.launchTemplate = std::stoi(resourceTypeCountNode["LaunchTemplate"].asString());
+		if(!resourceTypeCountNode["Eni"].isNull())
+			tagsObject.resourceTypeCount.eni = std::stoi(resourceTypeCountNode["Eni"].asString());
+		if(!resourceTypeCountNode["Ddh"].isNull())
+			tagsObject.resourceTypeCount.ddh = std::stoi(resourceTypeCountNode["Ddh"].asString());
+		if(!resourceTypeCountNode["KeyPair"].isNull())
+			tagsObject.resourceTypeCount.keyPair = std::stoi(resourceTypeCountNode["KeyPair"].asString());
 		tags_.push_back(tagsObject);
 	}
 	if(!value["PageSize"].isNull())

+ 11 - 0
ecs/src/model/RunInstancesRequest.cc

@@ -47,6 +47,17 @@ void RunInstancesRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
+bool RunInstancesRequest::getUniqueSuffix()const
+{
+	return uniqueSuffix_;
+}
+
+void RunInstancesRequest::setUniqueSuffix(bool uniqueSuffix)
+{
+	uniqueSuffix_ = uniqueSuffix;
+	setParameter("UniqueSuffix", std::to_string(uniqueSuffix));
+}
+
 std::string RunInstancesRequest::getHpcClusterId()const
 {
 	return hpcClusterId_;