public static DescribeRouterInterfacesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeRouterInterfacesResponse describeRouterInterfacesResponse = new DescribeRouterInterfacesResponse();

            describeRouterInterfacesResponse.HttpResponse = context.HttpResponse;
            describeRouterInterfacesResponse.RequestId    = context.StringValue("DescribeRouterInterfaces.RequestId");
            describeRouterInterfacesResponse.PageNumber   = context.IntegerValue("DescribeRouterInterfaces.PageNumber");
            describeRouterInterfacesResponse.PageSize     = context.IntegerValue("DescribeRouterInterfaces.PageSize");
            describeRouterInterfacesResponse.TotalCount   = context.IntegerValue("DescribeRouterInterfaces.TotalCount");

            List <DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType> describeRouterInterfacesResponse_routerInterfaceSet = new List <DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType>();

            for (int i = 0; i < context.Length("DescribeRouterInterfaces.RouterInterfaceSet.Length"); i++)
            {
                DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType routerInterfaceType = new DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType();
                routerInterfaceType.RouterInterfaceId = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].RouterInterfaceId");
                routerInterfaceType.OppositeRegionId  = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeRegionId");
                routerInterfaceType.Role                            = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Role");
                routerInterfaceType.Spec                            = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Spec");
                routerInterfaceType.Name                            = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Name");
                routerInterfaceType.Description                     = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Description");
                routerInterfaceType.RouterId                        = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].RouterId");
                routerInterfaceType.RouterType                      = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].RouterType");
                routerInterfaceType.CreationTime                    = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].CreationTime");
                routerInterfaceType.EndTime                         = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].EndTime");
                routerInterfaceType.ChargeType                      = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ChargeType");
                routerInterfaceType.Status                          = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Status");
                routerInterfaceType.BusinessStatus                  = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].BusinessStatus");
                routerInterfaceType.ConnectedTime                   = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ConnectedTime");
                routerInterfaceType.OppositeInterfaceId             = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceId");
                routerInterfaceType.OppositeInterfaceSpec           = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceSpec");
                routerInterfaceType.OppositeInterfaceStatus         = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceStatus");
                routerInterfaceType.OppositeInterfaceBusinessStatus = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceBusinessStatus");
                routerInterfaceType.OppositeRouterId                = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeRouterId");
                routerInterfaceType.OppositeRouterType              = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeRouterType");
                routerInterfaceType.OppositeInterfaceOwnerId        = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceOwnerId");
                routerInterfaceType.AccessPointId                   = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].AccessPointId");
                routerInterfaceType.OppositeAccessPointId           = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeAccessPointId");
                routerInterfaceType.HealthCheckSourceIp             = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HealthCheckSourceIp");
                routerInterfaceType.HealthCheckTargetIp             = context.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HealthCheckTargetIp");

                describeRouterInterfacesResponse_routerInterfaceSet.Add(routerInterfaceType);
            }
            describeRouterInterfacesResponse.RouterInterfaceSet = describeRouterInterfacesResponse_routerInterfaceSet;

            return(describeRouterInterfacesResponse);
        }
        public static DescribeRouterInterfacesResponse Unmarshall(UnmarshallerContext _ctx)
        {
            DescribeRouterInterfacesResponse describeRouterInterfacesResponse = new DescribeRouterInterfacesResponse();

            describeRouterInterfacesResponse.HttpResponse = _ctx.HttpResponse;
            describeRouterInterfacesResponse.RequestId    = _ctx.StringValue("DescribeRouterInterfaces.RequestId");
            describeRouterInterfacesResponse.PageNumber   = _ctx.IntegerValue("DescribeRouterInterfaces.PageNumber");
            describeRouterInterfacesResponse.PageSize     = _ctx.IntegerValue("DescribeRouterInterfaces.PageSize");
            describeRouterInterfacesResponse.TotalCount   = _ctx.IntegerValue("DescribeRouterInterfaces.TotalCount");

            List <DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType> describeRouterInterfacesResponse_routerInterfaceSet = new List <DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType>();

            for (int i = 0; i < _ctx.Length("DescribeRouterInterfaces.RouterInterfaceSet.Length"); i++)
            {
                DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType routerInterfaceType = new DescribeRouterInterfacesResponse.DescribeRouterInterfaces_RouterInterfaceType();
                routerInterfaceType.RouterInterfaceId = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].RouterInterfaceId");
                routerInterfaceType.OppositeRegionId  = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeRegionId");
                routerInterfaceType.Role                            = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Role");
                routerInterfaceType.Spec                            = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Spec");
                routerInterfaceType.Name                            = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Name");
                routerInterfaceType.Description                     = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Description");
                routerInterfaceType.RouterId                        = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].RouterId");
                routerInterfaceType.RouterType                      = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].RouterType");
                routerInterfaceType.CreationTime                    = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].CreationTime");
                routerInterfaceType.EndTime                         = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].EndTime");
                routerInterfaceType.ChargeType                      = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ChargeType");
                routerInterfaceType.Status                          = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Status");
                routerInterfaceType.BusinessStatus                  = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].BusinessStatus");
                routerInterfaceType.ConnectedTime                   = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ConnectedTime");
                routerInterfaceType.OppositeInterfaceId             = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceId");
                routerInterfaceType.OppositeInterfaceSpec           = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceSpec");
                routerInterfaceType.OppositeInterfaceStatus         = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceStatus");
                routerInterfaceType.OppositeInterfaceBusinessStatus = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceBusinessStatus");
                routerInterfaceType.OppositeRouterId                = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeRouterId");
                routerInterfaceType.OppositeRouterType              = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeRouterType");
                routerInterfaceType.OppositeInterfaceOwnerId        = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeInterfaceOwnerId");
                routerInterfaceType.AccessPointId                   = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].AccessPointId");
                routerInterfaceType.OppositeAccessPointId           = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeAccessPointId");
                routerInterfaceType.HealthCheckSourceIp             = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HealthCheckSourceIp");
                routerInterfaceType.HealthCheckTargetIp             = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HealthCheckTargetIp");
                routerInterfaceType.OppositeVpcInstanceId           = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeVpcInstanceId");
                routerInterfaceType.Bandwidth                       = _ctx.IntegerValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].Bandwidth");
                routerInterfaceType.VpcInstanceId                   = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].VpcInstanceId");
                routerInterfaceType.OppositeBandwidth               = _ctx.IntegerValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].OppositeBandwidth");
                routerInterfaceType.HasReservationData              = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HasReservationData");
                routerInterfaceType.ReservationBandwidth            = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ReservationBandwidth");
                routerInterfaceType.ReservationInternetChargeType   = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ReservationInternetChargeType");
                routerInterfaceType.ReservationActiveTime           = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ReservationActiveTime");
                routerInterfaceType.ReservationOrderType            = _ctx.StringValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].ReservationOrderType");
                routerInterfaceType.CrossBorder                     = _ctx.BooleanValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].CrossBorder");
                routerInterfaceType.HcThreshold                     = _ctx.IntegerValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HcThreshold");
                routerInterfaceType.HcRate                          = _ctx.IntegerValue("DescribeRouterInterfaces.RouterInterfaceSet[" + i + "].HcRate");

                describeRouterInterfacesResponse_routerInterfaceSet.Add(routerInterfaceType);
            }
            describeRouterInterfacesResponse.RouterInterfaceSet = describeRouterInterfacesResponse_routerInterfaceSet;

            return(describeRouterInterfacesResponse);
        }