public static DescribeEipAddressesResponse Unmarshall(UnmarshallerContext _ctx)
        {
            DescribeEipAddressesResponse describeEipAddressesResponse = new DescribeEipAddressesResponse();

            describeEipAddressesResponse.HttpResponse = _ctx.HttpResponse;
            describeEipAddressesResponse.RequestId    = _ctx.StringValue("DescribeEipAddresses.RequestId");
            describeEipAddressesResponse.TotalCount   = _ctx.IntegerValue("DescribeEipAddresses.TotalCount");
            describeEipAddressesResponse.PageNumber   = _ctx.IntegerValue("DescribeEipAddresses.PageNumber");
            describeEipAddressesResponse.PageSize     = _ctx.IntegerValue("DescribeEipAddresses.PageSize");

            List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress> describeEipAddressesResponse_eipAddresses = new List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress>();

            for (int i = 0; i < _ctx.Length("DescribeEipAddresses.EipAddresses.Length"); i++)
            {
                DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress eipAddress = new DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress();
                eipAddress.RegionId           = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].RegionId");
                eipAddress.IpAddress          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].IpAddress");
                eipAddress.PrivateIpAddress   = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].PrivateIpAddress");
                eipAddress.AllocationId       = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].AllocationId");
                eipAddress.Status             = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Status");
                eipAddress.InstanceId         = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InstanceId");
                eipAddress.Bandwidth          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Bandwidth");
                eipAddress.EipBandwidth       = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].EipBandwidth");
                eipAddress.InternetChargeType = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InternetChargeType");
                eipAddress.AllocationTime     = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].AllocationTime");
                eipAddress.InstanceType       = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InstanceType");
                eipAddress.InstanceRegionId   = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InstanceRegionId");
                eipAddress.ChargeType         = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ChargeType");
                eipAddress.ExpiredTime        = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ExpiredTime");
                eipAddress.HDMonitorStatus    = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].HDMonitorStatus");
                eipAddress.Name                          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Name");
                eipAddress.ISP                           = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ISP");
                eipAddress.Descritpion                   = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Descritpion");
                eipAddress.BandwidthPackageId            = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].BandwidthPackageId");
                eipAddress.BandwidthPackageType          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].BandwidthPackageType");
                eipAddress.BandwidthPackageBandwidth     = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].BandwidthPackageBandwidth");
                eipAddress.ResourceGroupId               = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ResourceGroupId");
                eipAddress.HasReservationData            = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].HasReservationData");
                eipAddress.ReservationBandwidth          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ReservationBandwidth");
                eipAddress.ReservationInternetChargeType = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ReservationInternetChargeType");
                eipAddress.ReservationActiveTime         = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ReservationActiveTime");
                eipAddress.ReservationOrderType          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ReservationOrderType");
                eipAddress.Mode                          = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Mode");
                eipAddress.DeletionProtection            = _ctx.BooleanValue("DescribeEipAddresses.EipAddresses[" + i + "].DeletionProtection");
                eipAddress.SecondLimited                 = _ctx.BooleanValue("DescribeEipAddresses.EipAddresses[" + i + "].SecondLimited");
                eipAddress.SegmentInstanceId             = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].SegmentInstanceId");
                eipAddress.Netmode                       = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Netmode");
                eipAddress.ServiceManaged                = _ctx.IntegerValue("DescribeEipAddresses.EipAddresses[" + i + "].ServiceManaged");
                eipAddress.BusinessStatus                = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].BusinessStatus");

                List <string> eipAddress_availableRegions = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeEipAddresses.EipAddresses[" + i + "].AvailableRegions.Length"); j++)
                {
                    eipAddress_availableRegions.Add(_ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].AvailableRegions[" + j + "]"));
                }
                eipAddress.AvailableRegions = eipAddress_availableRegions;

                List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason> eipAddress_operationLocks = new List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason>();
                for (int j = 0; j < _ctx.Length("DescribeEipAddresses.EipAddresses[" + i + "].OperationLocks.Length"); j++)
                {
                    DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason lockReason = new DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason();
                    lockReason.LockReason = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].OperationLocks[" + j + "].LockReason");

                    eipAddress_operationLocks.Add(lockReason);
                }
                eipAddress.OperationLocks = eipAddress_operationLocks;

                List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_Tag> eipAddress_tags = new List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_Tag>();
                for (int j = 0; j < _ctx.Length("DescribeEipAddresses.EipAddresses[" + i + "].Tags.Length"); j++)
                {
                    DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_Tag tag = new DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_Tag();
                    tag.Key    = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Tags[" + j + "].Key");
                    tag._Value = _ctx.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Tags[" + j + "].Value");

                    eipAddress_tags.Add(tag);
                }
                eipAddress.Tags = eipAddress_tags;

                describeEipAddressesResponse_eipAddresses.Add(eipAddress);
            }
            describeEipAddressesResponse.EipAddresses = describeEipAddressesResponse_eipAddresses;

            return(describeEipAddressesResponse);
        }
        public static DescribeEipAddressesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeEipAddressesResponse describeEipAddressesResponse = new DescribeEipAddressesResponse();

            describeEipAddressesResponse.HttpResponse = context.HttpResponse;
            describeEipAddressesResponse.RequestId    = context.StringValue("DescribeEipAddresses.RequestId");
            describeEipAddressesResponse.TotalCount   = context.IntegerValue("DescribeEipAddresses.TotalCount");
            describeEipAddressesResponse.PageNumber   = context.IntegerValue("DescribeEipAddresses.PageNumber");
            describeEipAddressesResponse.PageSize     = context.IntegerValue("DescribeEipAddresses.PageSize");

            List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress> describeEipAddressesResponse_eipAddresses = new List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress>();

            for (int i = 0; i < context.Length("DescribeEipAddresses.EipAddresses.Length"); i++)
            {
                DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress eipAddress = new DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress();
                eipAddress.RegionId           = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].RegionId");
                eipAddress.IpAddress          = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].IpAddress");
                eipAddress.AllocationId       = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].AllocationId");
                eipAddress.Status             = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Status");
                eipAddress.InstanceId         = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InstanceId");
                eipAddress.Bandwidth          = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].Bandwidth");
                eipAddress.InternetChargeType = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InternetChargeType");
                eipAddress.AllocationTime     = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].AllocationTime");
                eipAddress.InstanceType       = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].InstanceType");
                eipAddress.ChargeType         = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ChargeType");
                eipAddress.ExpiredTime        = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].ExpiredTime");

                List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason> eipAddress_operationLocks = new List <DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason>();
                for (int j = 0; j < context.Length("DescribeEipAddresses.EipAddresses[" + i + "].OperationLocks.Length"); j++)
                {
                    DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason lockReason = new DescribeEipAddressesResponse.DescribeEipAddresses_EipAddress.DescribeEipAddresses_LockReason();
                    lockReason.LockReason = context.StringValue("DescribeEipAddresses.EipAddresses[" + i + "].OperationLocks[" + j + "].LockReason");

                    eipAddress_operationLocks.Add(lockReason);
                }
                eipAddress.OperationLocks = eipAddress_operationLocks;

                describeEipAddressesResponse_eipAddresses.Add(eipAddress);
            }
            describeEipAddressesResponse.EipAddresses = describeEipAddressesResponse_eipAddresses;

            return(describeEipAddressesResponse);
        }