public static DescribeZonesResponse Unmarshall(UnmarshallerContext context) { DescribeZonesResponse describeZonesResponse = new DescribeZonesResponse(); describeZonesResponse.HttpResponse = context.HttpResponse; describeZonesResponse.RequestId = context.StringValue("DescribeZones.RequestId"); List<DescribeZonesResponse.Zone> zones = new List<DescribeZonesResponse.Zone>(); for (int i = 0; i < context.Length("DescribeZones.Zones.Length"); i++) { DescribeZonesResponse.Zone zone = new DescribeZonesResponse.Zone(); zone.ZoneId = context.StringValue("DescribeZones.Zones["+ i +"].ZoneId"); zone.LocalName = context.StringValue("DescribeZones.Zones["+ i +"].LocalName"); List<string> availableResourceCreation = new List<string>(); for (int j = 0; j < context.Length("DescribeZones.Zones["+ i +"].AvailableResourceCreation.Length"); j++) { availableResourceCreation.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResourceCreation["+ j +"]")); } zone.AvailableResourceCreation = availableResourceCreation; List<string> availableDiskCategories = new List<string>(); for (int j = 0; j < context.Length("DescribeZones.Zones["+ i +"].AvailableDiskCategories.Length"); j++) { availableDiskCategories.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableDiskCategories["+ j +"]")); } zone.AvailableDiskCategories = availableDiskCategories; List<string> availableInstanceTypes = new List<string>(); for (int j = 0; j < context.Length("DescribeZones.Zones["+ i +"].AvailableInstanceTypes.Length"); j++) { availableInstanceTypes.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableInstanceTypes["+ j +"]")); } zone.AvailableInstanceTypes = availableInstanceTypes; List<DescribeZonesResponse.Zone.ResourcesInfo> availableResources = new List<DescribeZonesResponse.Zone.ResourcesInfo>(); for (int j = 0; j < context.Length("DescribeZones.Zones["+ i +"].AvailableResources.Length"); j++) { DescribeZonesResponse.Zone.ResourcesInfo resourcesInfo = new DescribeZonesResponse.Zone.ResourcesInfo(); resourcesInfo.IoOptimized = context.BooleanValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].IoOptimized"); List<string> systemDiskCategories = new List<string>(); for (int k = 0; k < context.Length("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].SystemDiskCategories.Length"); k++) { systemDiskCategories.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].SystemDiskCategories["+ k +"]")); } resourcesInfo.SystemDiskCategories = systemDiskCategories; List<string> dataDiskCategories = new List<string>(); for (int k = 0; k < context.Length("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].DataDiskCategories.Length"); k++) { dataDiskCategories.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].DataDiskCategories["+ k +"]")); } resourcesInfo.DataDiskCategories = dataDiskCategories; List<string> networkTypes = new List<string>(); for (int k = 0; k < context.Length("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].NetworkTypes.Length"); k++) { networkTypes.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].NetworkTypes["+ k +"]")); } resourcesInfo.NetworkTypes = networkTypes; List<string> instanceTypes = new List<string>(); for (int k = 0; k < context.Length("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].InstanceTypes.Length"); k++) { instanceTypes.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].InstanceTypes["+ k +"]")); } resourcesInfo.InstanceTypes = instanceTypes; List<string> instanceTypeFamilies = new List<string>(); for (int k = 0; k < context.Length("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].InstanceTypeFamilies.Length"); k++) { instanceTypeFamilies.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].InstanceTypeFamilies["+ k +"]")); } resourcesInfo.InstanceTypeFamilies = instanceTypeFamilies; List<string> instanceGenerations = new List<string>(); for (int k = 0; k < context.Length("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].InstanceGenerations.Length"); k++) { instanceGenerations.Add(context.StringValue("DescribeZones.Zones["+ i +"].AvailableResources["+ j +"].InstanceGenerations["+ k +"]")); } resourcesInfo.InstanceGenerations = instanceGenerations; availableResources.Add(resourcesInfo); } zone.AvailableResources = availableResources; zones.Add(zone); } describeZonesResponse.Zones = zones; return describeZonesResponse; }