Browse Source

Update API DescribeCenAttachedChildInstanceAttribute support returning VPC Cidrs.

sdk-team 3 years ago
parent
commit
fa17bc470e

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1547
+1.36.1548

+ 14 - 0
cbn/include/alibabacloud/cbn/model/DescribeCenAttachedChildInstanceAttributeResult.h

@@ -32,6 +32,18 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_CBN_EXPORT DescribeCenAttachedChildInstanceAttributeResult : public ServiceResult
 			{
 			public:
+				struct ChildInstanceAttributes
+				{
+					struct Ipv6CidrBlock
+					{
+						std::string ipv6Isp;
+						std::string ipv6CidrBlock;
+					};
+					std::vector<std::string> secondaryCidrBlocks;
+					std::string cidrBlock;
+					std::vector<Ipv6CidrBlock> ipv6CidrBlocks;
+					std::string ipv6CidrBlock;
+				};
 				struct ChildInstanceRouteTable
 				{
 					std::string routeTableId;
@@ -45,6 +57,7 @@ namespace AlibabaCloud
 				std::string getStatus()const;
 				std::vector<ChildInstanceRouteTable> getChildInstanceRouteTables()const;
 				std::string getChildInstanceType()const;
+				ChildInstanceAttributes getChildInstanceAttributes()const;
 				std::string getIpv6StatusInCen()const;
 				std::string getCenId()const;
 				std::string getChildInstanceAttachTime()const;
@@ -59,6 +72,7 @@ namespace AlibabaCloud
 				std::string status_;
 				std::vector<ChildInstanceRouteTable> childInstanceRouteTables_;
 				std::string childInstanceType_;
+				ChildInstanceAttributes childInstanceAttributes_;
 				std::string ipv6StatusInCen_;
 				std::string cenId_;
 				std::string childInstanceAttachTime_;

+ 23 - 0
cbn/src/model/DescribeCenAttachedChildInstanceAttributeResult.cc

@@ -49,6 +49,24 @@ void DescribeCenAttachedChildInstanceAttributeResult::parse(const std::string &p
 			childInstanceRouteTablesObject.routeTableType = valueChildInstanceRouteTablesChildInstanceRouteTable["RouteTableType"].asString();
 		childInstanceRouteTables_.push_back(childInstanceRouteTablesObject);
 	}
+	auto childInstanceAttributesNode = value["ChildInstanceAttributes"];
+	if(!childInstanceAttributesNode["CidrBlock"].isNull())
+		childInstanceAttributes_.cidrBlock = childInstanceAttributesNode["CidrBlock"].asString();
+	if(!childInstanceAttributesNode["Ipv6CidrBlock"].isNull())
+		childInstanceAttributes_.ipv6CidrBlock = childInstanceAttributesNode["Ipv6CidrBlock"].asString();
+	auto allIpv6CidrBlocksNode = childInstanceAttributesNode["Ipv6CidrBlocks"]["ipv6CidrBlock"];
+	for (auto childInstanceAttributesNodeIpv6CidrBlocksipv6CidrBlock : allIpv6CidrBlocksNode)
+	{
+		ChildInstanceAttributes::Ipv6CidrBlock ipv6CidrBlockObject;
+		if(!childInstanceAttributesNodeIpv6CidrBlocksipv6CidrBlock["Ipv6Isp"].isNull())
+			ipv6CidrBlockObject.ipv6Isp = childInstanceAttributesNodeIpv6CidrBlocksipv6CidrBlock["Ipv6Isp"].asString();
+		if(!childInstanceAttributesNodeIpv6CidrBlocksipv6CidrBlock["Ipv6CidrBlock"].isNull())
+			ipv6CidrBlockObject.ipv6CidrBlock = childInstanceAttributesNodeIpv6CidrBlocksipv6CidrBlock["Ipv6CidrBlock"].asString();
+		childInstanceAttributes_.ipv6CidrBlocks.push_back(ipv6CidrBlockObject);
+	}
+		auto allSecondaryCidrBlocks = childInstanceAttributesNode["SecondaryCidrBlocks"]["secondaryCidrBlock"];
+		for (auto value : allSecondaryCidrBlocks)
+			childInstanceAttributes_.secondaryCidrBlocks.push_back(value.asString());
 	if(!value["Status"].isNull())
 		status_ = value["Status"].asString();
 	if(!value["ChildInstanceType"].isNull())
@@ -85,6 +103,11 @@ std::string DescribeCenAttachedChildInstanceAttributeResult::getChildInstanceTyp
 	return childInstanceType_;
 }
 
+DescribeCenAttachedChildInstanceAttributeResult::ChildInstanceAttributes DescribeCenAttachedChildInstanceAttributeResult::getChildInstanceAttributes()const
+{
+	return childInstanceAttributes_;
+}
+
 std::string DescribeCenAttachedChildInstanceAttributeResult::getIpv6StatusInCen()const
 {
 	return ipv6StatusInCen_;