Files
aliyun-openapi-cpp-sdk/cbn/src/model/DescribeCenRouteMapsResult.cc
2021-12-21 11:55:45 +00:00

163 lines
7.8 KiB
C++

/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <alibabacloud/cbn/model/DescribeCenRouteMapsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Cbn;
using namespace AlibabaCloud::Cbn::Model;
DescribeCenRouteMapsResult::DescribeCenRouteMapsResult() :
ServiceResult()
{}
DescribeCenRouteMapsResult::DescribeCenRouteMapsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeCenRouteMapsResult::~DescribeCenRouteMapsResult()
{}
void DescribeCenRouteMapsResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allRouteMapsNode = value["RouteMaps"]["RouteMap"];
for (auto valueRouteMapsRouteMap : allRouteMapsNode)
{
RouteMap routeMapsObject;
if(!valueRouteMapsRouteMap["RouteMapId"].isNull())
routeMapsObject.routeMapId = valueRouteMapsRouteMap["RouteMapId"].asString();
if(!valueRouteMapsRouteMap["Status"].isNull())
routeMapsObject.status = valueRouteMapsRouteMap["Status"].asString();
if(!valueRouteMapsRouteMap["TransmitDirection"].isNull())
routeMapsObject.transmitDirection = valueRouteMapsRouteMap["TransmitDirection"].asString();
if(!valueRouteMapsRouteMap["SourceInstanceIdsReverseMatch"].isNull())
routeMapsObject.sourceInstanceIdsReverseMatch = valueRouteMapsRouteMap["SourceInstanceIdsReverseMatch"].asString() == "true";
if(!valueRouteMapsRouteMap["CenRegionId"].isNull())
routeMapsObject.cenRegionId = valueRouteMapsRouteMap["CenRegionId"].asString();
if(!valueRouteMapsRouteMap["CenId"].isNull())
routeMapsObject.cenId = valueRouteMapsRouteMap["CenId"].asString();
if(!valueRouteMapsRouteMap["Priority"].isNull())
routeMapsObject.priority = std::stoi(valueRouteMapsRouteMap["Priority"].asString());
if(!valueRouteMapsRouteMap["TransitRouterRouteTableId"].isNull())
routeMapsObject.transitRouterRouteTableId = valueRouteMapsRouteMap["TransitRouterRouteTableId"].asString();
if(!valueRouteMapsRouteMap["CommunityOperateMode"].isNull())
routeMapsObject.communityOperateMode = valueRouteMapsRouteMap["CommunityOperateMode"].asString();
if(!valueRouteMapsRouteMap["MapResult"].isNull())
routeMapsObject.mapResult = valueRouteMapsRouteMap["MapResult"].asString();
if(!valueRouteMapsRouteMap["CommunityMatchMode"].isNull())
routeMapsObject.communityMatchMode = valueRouteMapsRouteMap["CommunityMatchMode"].asString();
if(!valueRouteMapsRouteMap["Description"].isNull())
routeMapsObject.description = valueRouteMapsRouteMap["Description"].asString();
if(!valueRouteMapsRouteMap["AsPathMatchMode"].isNull())
routeMapsObject.asPathMatchMode = valueRouteMapsRouteMap["AsPathMatchMode"].asString();
if(!valueRouteMapsRouteMap["Preference"].isNull())
routeMapsObject.preference = std::stoi(valueRouteMapsRouteMap["Preference"].asString());
if(!valueRouteMapsRouteMap["DestinationInstanceIdsReverseMatch"].isNull())
routeMapsObject.destinationInstanceIdsReverseMatch = valueRouteMapsRouteMap["DestinationInstanceIdsReverseMatch"].asString() == "true";
if(!valueRouteMapsRouteMap["CidrMatchMode"].isNull())
routeMapsObject.cidrMatchMode = valueRouteMapsRouteMap["CidrMatchMode"].asString();
if(!valueRouteMapsRouteMap["NextPriority"].isNull())
routeMapsObject.nextPriority = std::stoi(valueRouteMapsRouteMap["NextPriority"].asString());
if(!valueRouteMapsRouteMap["MatchAddressType"].isNull())
routeMapsObject.matchAddressType = valueRouteMapsRouteMap["MatchAddressType"].asString();
if(!valueRouteMapsRouteMap["GatewayZoneId"].isNull())
routeMapsObject.gatewayZoneId = valueRouteMapsRouteMap["GatewayZoneId"].asString();
auto allSourceRegionIds = value["SourceRegionIds"]["SourceRegionId"];
for (auto value : allSourceRegionIds)
routeMapsObject.sourceRegionIds.push_back(value.asString());
auto allSourceChildInstanceTypes = value["SourceChildInstanceTypes"]["SourceChildInstanceType"];
for (auto value : allSourceChildInstanceTypes)
routeMapsObject.sourceChildInstanceTypes.push_back(value.asString());
auto allDestinationRouteTableIds = value["DestinationRouteTableIds"]["DestinationRouteTableId"];
for (auto value : allDestinationRouteTableIds)
routeMapsObject.destinationRouteTableIds.push_back(value.asString());
auto allSourceInstanceIds = value["SourceInstanceIds"]["SourceInstanceId"];
for (auto value : allSourceInstanceIds)
routeMapsObject.sourceInstanceIds.push_back(value.asString());
auto allDestinationCidrBlocks = value["DestinationCidrBlocks"]["DestinationCidrBlock"];
for (auto value : allDestinationCidrBlocks)
routeMapsObject.destinationCidrBlocks.push_back(value.asString());
auto allDestinationRegionIds = value["DestinationRegionIds"]["DestinationRegionId"];
for (auto value : allDestinationRegionIds)
routeMapsObject.destinationRegionIds.push_back(value.asString());
auto allSourceRouteTableIds = value["SourceRouteTableIds"]["SourceRouteTableId"];
for (auto value : allSourceRouteTableIds)
routeMapsObject.sourceRouteTableIds.push_back(value.asString());
auto allMatchCommunitySet = value["MatchCommunitySet"]["MatchCommunity"];
for (auto value : allMatchCommunitySet)
routeMapsObject.matchCommunitySet.push_back(value.asString());
auto allPrependAsPath = value["PrependAsPath"]["AsPath"];
for (auto value : allPrependAsPath)
routeMapsObject.prependAsPath.push_back(value.asString());
auto allRouteTypes = value["RouteTypes"]["RouteType"];
for (auto value : allRouteTypes)
routeMapsObject.routeTypes.push_back(value.asString());
auto allOriginalRouteTableIds = value["OriginalRouteTableIds"]["OriginalRouteTableId"];
for (auto value : allOriginalRouteTableIds)
routeMapsObject.originalRouteTableIds.push_back(value.asString());
auto allDestinationChildInstanceTypes = value["DestinationChildInstanceTypes"]["DestinationChildInstanceType"];
for (auto value : allDestinationChildInstanceTypes)
routeMapsObject.destinationChildInstanceTypes.push_back(value.asString());
auto allDestinationInstanceIds = value["DestinationInstanceIds"]["DestinationInstanceId"];
for (auto value : allDestinationInstanceIds)
routeMapsObject.destinationInstanceIds.push_back(value.asString());
auto allMatchAsns = value["MatchAsns"]["MatchAsn"];
for (auto value : allMatchAsns)
routeMapsObject.matchAsns.push_back(value.asString());
auto allOperateCommunitySet = value["OperateCommunitySet"]["OperateCommunity"];
for (auto value : allOperateCommunitySet)
routeMapsObject.operateCommunitySet.push_back(value.asString());
auto allSrcZoneIds = value["SrcZoneIds"]["SrcZoneId"];
for (auto value : allSrcZoneIds)
routeMapsObject.srcZoneIds.push_back(value.asString());
routeMaps_.push_back(routeMapsObject);
}
if(!value["PageSize"].isNull())
pageSize_ = std::stoi(value["PageSize"].asString());
if(!value["PageNumber"].isNull())
pageNumber_ = std::stoi(value["PageNumber"].asString());
if(!value["TotalCount"].isNull())
totalCount_ = std::stoi(value["TotalCount"].asString());
}
int DescribeCenRouteMapsResult::getTotalCount()const
{
return totalCount_;
}
int DescribeCenRouteMapsResult::getPageSize()const
{
return pageSize_;
}
int DescribeCenRouteMapsResult::getPageNumber()const
{
return pageNumber_;
}
std::vector<DescribeCenRouteMapsResult::RouteMap> DescribeCenRouteMapsResult::getRouteMaps()const
{
return routeMaps_;
}