public static DescribeZonesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse();

            describeZonesResponse.HttpResponse = context.HttpResponse;
            describeZonesResponse.RequestId    = context.StringValue("DescribeZones.RequestId");
            describeZonesResponse.TotalItems   = context.IntegerValue("DescribeZones.TotalItems");
            describeZonesResponse.TotalPages   = context.IntegerValue("DescribeZones.TotalPages");
            describeZonesResponse.PageSize     = context.IntegerValue("DescribeZones.PageSize");
            describeZonesResponse.PageNumber   = context.IntegerValue("DescribeZones.PageNumber");

            List <DescribeZonesResponse.DescribeZones_Zone> describeZonesResponse_zones = new List <DescribeZonesResponse.DescribeZones_Zone>();

            for (int i = 0; i < context.Length("DescribeZones.Zones.Length"); i++)
            {
                DescribeZonesResponse.DescribeZones_Zone zone = new DescribeZonesResponse.DescribeZones_Zone();
                zone.ZoneId          = context.StringValue("DescribeZones.Zones[" + i + "].ZoneId");
                zone.ZoneName        = context.StringValue("DescribeZones.Zones[" + i + "].ZoneName");
                zone.Remark          = context.StringValue("DescribeZones.Zones[" + i + "].Remark");
                zone.RecordCount     = context.IntegerValue("DescribeZones.Zones[" + i + "].RecordCount");
                zone.CreateTime      = context.StringValue("DescribeZones.Zones[" + i + "].CreateTime");
                zone.CreateTimestamp = context.LongValue("DescribeZones.Zones[" + i + "].CreateTimestamp");
                zone.UpdateTime      = context.StringValue("DescribeZones.Zones[" + i + "].UpdateTime");
                zone.UpdateTimestamp = context.LongValue("DescribeZones.Zones[" + i + "].UpdateTimestamp");
                zone.IsPtr           = context.BooleanValue("DescribeZones.Zones[" + i + "].IsPtr");
                zone.ProxyPattern    = context.StringValue("DescribeZones.Zones[" + i + "].ProxyPattern");

                describeZonesResponse_zones.Add(zone);
            }
            describeZonesResponse.Zones = describeZonesResponse_zones;

            return(describeZonesResponse);
        }
        public static DescribeZonesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse();

            describeZonesResponse.HttpResponse = context.HttpResponse;
            describeZonesResponse.RequestId    = context.StringValue("DescribeZones.RequestId");

            List <DescribeZonesResponse.DescribeZones_Zone> describeZonesResponse_zones = new List <DescribeZonesResponse.DescribeZones_Zone>();

            for (int i = 0; i < context.Length("DescribeZones.Zones.Length"); i++)
            {
                DescribeZonesResponse.DescribeZones_Zone zone = new DescribeZonesResponse.DescribeZones_Zone();
                zone.ZoneId = context.StringValue("DescribeZones.Zones[" + i + "].ZoneId");

                List <string> zone_capacity = new List <string>();
                for (int j = 0; j < context.Length("DescribeZones.Zones[" + i + "].Capacity.Length"); j++)
                {
                    zone_capacity.Add(context.StringValue("DescribeZones.Zones[" + i + "].Capacity[" + j + "]"));
                }
                zone.Capacity = zone_capacity;

                List <string> zone_performance = new List <string>();
                for (int j = 0; j < context.Length("DescribeZones.Zones[" + i + "].Performance.Length"); j++)
                {
                    zone_performance.Add(context.StringValue("DescribeZones.Zones[" + i + "].Performance[" + j + "]"));
                }
                zone.Performance = zone_performance;

                describeZonesResponse_zones.Add(zone);
            }
            describeZonesResponse.Zones = describeZonesResponse_zones;

            return(describeZonesResponse);
        }
        public static DescribeZonesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse();

            describeZonesResponse.HttpResponse = context.HttpResponse;
            describeZonesResponse.RequestId    = context.StringValue("DescribeZones.RequestId");

            List <DescribeZonesResponse.DescribeZones_Zone> describeZonesResponse_zones = new List <DescribeZonesResponse.DescribeZones_Zone>();

            for (int i = 0; i < context.Length("DescribeZones.Zones.Length"); i++)
            {
                DescribeZonesResponse.DescribeZones_Zone zone = new DescribeZonesResponse.DescribeZones_Zone();
                zone.ZoneId    = context.StringValue("DescribeZones.Zones[" + i + "].ZoneId");
                zone.LocalName = context.StringValue("DescribeZones.Zones[" + i + "].LocalName");

                List <DescribeZonesResponse.DescribeZones_Zone.DescribeZones_SlaveZone> zone_slaveZones = new List <DescribeZonesResponse.DescribeZones_Zone.DescribeZones_SlaveZone>();
                for (int j = 0; j < context.Length("DescribeZones.Zones[" + i + "].SlaveZones.Length"); j++)
                {
                    DescribeZonesResponse.DescribeZones_Zone.DescribeZones_SlaveZone slaveZone = new DescribeZonesResponse.DescribeZones_Zone.DescribeZones_SlaveZone();
                    slaveZone.ZoneId    = context.StringValue("DescribeZones.Zones[" + i + "].SlaveZones[" + j + "].ZoneId");
                    slaveZone.LocalName = context.StringValue("DescribeZones.Zones[" + i + "].SlaveZones[" + j + "].LocalName");

                    zone_slaveZones.Add(slaveZone);
                }
                zone.SlaveZones = zone_slaveZones;

                describeZonesResponse_zones.Add(zone);
            }
            describeZonesResponse.Zones = describeZonesResponse_zones;

            return(describeZonesResponse);
        }
        public static DescribeZonesResponse Unmarshall(UnmarshallerContext _ctx)
        {
            DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse();

            describeZonesResponse.HttpResponse = _ctx.HttpResponse;
            describeZonesResponse.RequestId    = _ctx.StringValue("DescribeZones.RequestId");

            List <DescribeZonesResponse.DescribeZones_Zone> describeZonesResponse_zones = new List <DescribeZonesResponse.DescribeZones_Zone>();

            for (int i = 0; i < _ctx.Length("DescribeZones.Zones.Length"); i++)
            {
                DescribeZonesResponse.DescribeZones_Zone zone = new DescribeZonesResponse.DescribeZones_Zone();
                zone.ZoneId    = _ctx.StringValue("DescribeZones.Zones[" + i + "].ZoneId");
                zone.LocalName = _ctx.StringValue("DescribeZones.Zones[" + i + "].LocalName");

                describeZonesResponse_zones.Add(zone);
            }
            describeZonesResponse.Zones = describeZonesResponse_zones;

            return(describeZonesResponse);
        }
        public static DescribeZonesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse();

            describeZonesResponse.HttpResponse = context.HttpResponse;
            describeZonesResponse.RequestId    = context.StringValue("DescribeZones.RequestId");
            describeZonesResponse.Success      = context.BooleanValue("DescribeZones.Success");
            describeZonesResponse.Code         = context.StringValue("DescribeZones.Code");
            describeZonesResponse.Message      = context.StringValue("DescribeZones.Message");

            List <DescribeZonesResponse.DescribeZones_Zone> describeZonesResponse_zones = new List <DescribeZonesResponse.DescribeZones_Zone>();

            for (int i = 0; i < context.Length("DescribeZones.Zones.Length"); i++)
            {
                DescribeZonesResponse.DescribeZones_Zone zone = new DescribeZonesResponse.DescribeZones_Zone();
                zone.ZoneId = context.StringValue("DescribeZones.Zones[" + i + "].ZoneId");

                describeZonesResponse_zones.Add(zone);
            }
            describeZonesResponse.Zones = describeZonesResponse_zones;

            return(describeZonesResponse);
        }
        public static DescribeZonesResponse Unmarshall(UnmarshallerContext _ctx)
        {
            DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse();

            describeZonesResponse.HttpResponse = _ctx.HttpResponse;
            describeZonesResponse.RequestId    = _ctx.StringValue("DescribeZones.RequestId");

            List <DescribeZonesResponse.DescribeZones_Zone> describeZonesResponse_zones = new List <DescribeZonesResponse.DescribeZones_Zone>();

            for (int i = 0; i < _ctx.Length("DescribeZones.Zones.Length"); i++)
            {
                DescribeZonesResponse.DescribeZones_Zone zone = new DescribeZonesResponse.DescribeZones_Zone();
                zone.ZoneId    = _ctx.StringValue("DescribeZones.Zones[" + i + "].ZoneId");
                zone.LocalName = _ctx.StringValue("DescribeZones.Zones[" + i + "].LocalName");

                List <string> zone_availableResourceCreation = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResourceCreation.Length"); j++)
                {
                    zone_availableResourceCreation.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResourceCreation[" + j + "]"));
                }
                zone.AvailableResourceCreation = zone_availableResourceCreation;

                List <string> zone_availableDiskCategories = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableDiskCategories.Length"); j++)
                {
                    zone_availableDiskCategories.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableDiskCategories[" + j + "]"));
                }
                zone.AvailableDiskCategories = zone_availableDiskCategories;

                List <string> zone_availableInstanceTypes = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableInstanceTypes.Length"); j++)
                {
                    zone_availableInstanceTypes.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableInstanceTypes[" + j + "]"));
                }
                zone.AvailableInstanceTypes = zone_availableInstanceTypes;

                List <string> zone_availableVolumeCategories = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableVolumeCategories.Length"); j++)
                {
                    zone_availableVolumeCategories.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableVolumeCategories[" + j + "]"));
                }
                zone.AvailableVolumeCategories = zone_availableVolumeCategories;

                List <string> zone_availableDedicatedHostTypes = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableDedicatedHostTypes.Length"); j++)
                {
                    zone_availableDedicatedHostTypes.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableDedicatedHostTypes[" + j + "]"));
                }
                zone.AvailableDedicatedHostTypes = zone_availableDedicatedHostTypes;

                List <string> zone_dedicatedHostGenerations = new List <string>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].DedicatedHostGenerations.Length"); j++)
                {
                    zone_dedicatedHostGenerations.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].DedicatedHostGenerations[" + j + "]"));
                }
                zone.DedicatedHostGenerations = zone_dedicatedHostGenerations;

                List <DescribeZonesResponse.DescribeZones_Zone.DescribeZones_ResourcesInfo> zone_availableResources = new List <DescribeZonesResponse.DescribeZones_Zone.DescribeZones_ResourcesInfo>();
                for (int j = 0; j < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources.Length"); j++)
                {
                    DescribeZonesResponse.DescribeZones_Zone.DescribeZones_ResourcesInfo resourcesInfo = new DescribeZonesResponse.DescribeZones_Zone.DescribeZones_ResourcesInfo();
                    resourcesInfo.IoOptimized = _ctx.BooleanValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].IoOptimized");

                    List <string> resourcesInfo_systemDiskCategories = new List <string>();
                    for (int k = 0; k < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].SystemDiskCategories.Length"); k++)
                    {
                        resourcesInfo_systemDiskCategories.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].SystemDiskCategories[" + k + "]"));
                    }
                    resourcesInfo.SystemDiskCategories = resourcesInfo_systemDiskCategories;

                    List <string> resourcesInfo_dataDiskCategories = new List <string>();
                    for (int k = 0; k < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].DataDiskCategories.Length"); k++)
                    {
                        resourcesInfo_dataDiskCategories.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].DataDiskCategories[" + k + "]"));
                    }
                    resourcesInfo.DataDiskCategories = resourcesInfo_dataDiskCategories;

                    List <string> resourcesInfo_networkTypes = new List <string>();
                    for (int k = 0; k < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].NetworkTypes.Length"); k++)
                    {
                        resourcesInfo_networkTypes.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].NetworkTypes[" + k + "]"));
                    }
                    resourcesInfo.NetworkTypes = resourcesInfo_networkTypes;

                    List <string> resourcesInfo_instanceTypes = new List <string>();
                    for (int k = 0; k < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].InstanceTypes.Length"); k++)
                    {
                        resourcesInfo_instanceTypes.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].InstanceTypes[" + k + "]"));
                    }
                    resourcesInfo.InstanceTypes = resourcesInfo_instanceTypes;

                    List <string> resourcesInfo_instanceTypeFamilies = new List <string>();
                    for (int k = 0; k < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].InstanceTypeFamilies.Length"); k++)
                    {
                        resourcesInfo_instanceTypeFamilies.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].InstanceTypeFamilies[" + k + "]"));
                    }
                    resourcesInfo.InstanceTypeFamilies = resourcesInfo_instanceTypeFamilies;

                    List <string> resourcesInfo_instanceGenerations = new List <string>();
                    for (int k = 0; k < _ctx.Length("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].InstanceGenerations.Length"); k++)
                    {
                        resourcesInfo_instanceGenerations.Add(_ctx.StringValue("DescribeZones.Zones[" + i + "].AvailableResources[" + j + "].InstanceGenerations[" + k + "]"));
                    }
                    resourcesInfo.InstanceGenerations = resourcesInfo_instanceGenerations;

                    zone_availableResources.Add(resourcesInfo);
                }
                zone.AvailableResources = zone_availableResources;

                describeZonesResponse_zones.Add(zone);
            }
            describeZonesResponse.Zones = describeZonesResponse_zones;

            return(describeZonesResponse);
        }