public static DescribeAvailableResourceResponse Unmarshall()

in aliyun-net-sdk-adb/Adb/Transform/V20190315/DescribeAvailableResourceResponseUnmarshaller.cs [29:148]


        public static DescribeAvailableResourceResponse Unmarshall(UnmarshallerContext _ctx)
        {
			DescribeAvailableResourceResponse describeAvailableResourceResponse = new DescribeAvailableResourceResponse();

			describeAvailableResourceResponse.HttpResponse = _ctx.HttpResponse;
			describeAvailableResourceResponse.RegionId = _ctx.StringValue("DescribeAvailableResource.RegionId");
			describeAvailableResourceResponse.RequestId = _ctx.StringValue("DescribeAvailableResource.RequestId");

			List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone> describeAvailableResourceResponse_availableZoneList = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone>();
			for (int i = 0; i < _ctx.Length("DescribeAvailableResource.AvailableZoneList.Length"); i++) {
				DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone availableZone = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone();
				availableZone.ZoneId = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].ZoneId");

				List<string> availableZone_supportedComputeResource = new List<string>();
				for (int j = 0; j < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedComputeResource.Length"); j++) {
					availableZone_supportedComputeResource.Add(_ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedComputeResource["+ j +"]"));
				}
				availableZone.SupportedComputeResource = availableZone_supportedComputeResource;

				List<string> availableZone_supportedStorageResource = new List<string>();
				for (int j = 0; j < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedStorageResource.Length"); j++) {
					availableZone_supportedStorageResource.Add(_ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedStorageResource["+ j +"]"));
				}
				availableZone.SupportedStorageResource = availableZone_supportedStorageResource;

				List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem> availableZone_supportedMode = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem>();
				for (int j = 0; j < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode.Length"); j++) {
					DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem supportedModeItem = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem();
					supportedModeItem.Mode = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].Mode");

					List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem> supportedModeItem_supportedSerialList = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem>();
					for (int k = 0; k < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList.Length"); k++) {
						DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem supportedSerialListItem = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem();
						supportedSerialListItem.Serial = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].Serial");

						List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedFlexibleResourceItem> supportedSerialListItem_supportedFlexibleResource = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedFlexibleResourceItem>();
						for (int l = 0; l < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource.Length"); l++) {
							DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedFlexibleResourceItem supportedFlexibleResourceItem = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedFlexibleResourceItem();
							supportedFlexibleResourceItem.StorageType = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].StorageType");

							List<string> supportedFlexibleResourceItem_supportedComputeResource1 = new List<string>();
							for (int m = 0; m < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedComputeResource.Length"); m++) {
								supportedFlexibleResourceItem_supportedComputeResource1.Add(_ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedComputeResource["+ m +"]"));
							}
							supportedFlexibleResourceItem.SupportedComputeResource1 = supportedFlexibleResourceItem_supportedComputeResource1;

							List<string> supportedFlexibleResourceItem_supportedStorageResource2 = new List<string>();
							for (int m = 0; m < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedStorageResource.Length"); m++) {
								supportedFlexibleResourceItem_supportedStorageResource2.Add(_ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedStorageResource["+ m +"]"));
							}
							supportedFlexibleResourceItem.SupportedStorageResource2 = supportedFlexibleResourceItem_supportedStorageResource2;

							DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedFlexibleResourceItem.DescribeAvailableResource_SupportedElasticIOResource supportedElasticIOResource = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedFlexibleResourceItem.DescribeAvailableResource_SupportedElasticIOResource();
							supportedElasticIOResource.Step = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedElasticIOResource.Step");
							supportedElasticIOResource.MinCount = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedElasticIOResource.MinCount");
							supportedElasticIOResource.MaxCount = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedFlexibleResource["+ l +"].SupportedElasticIOResource.MaxCount");
							supportedFlexibleResourceItem.SupportedElasticIOResource = supportedElasticIOResource;

							supportedSerialListItem_supportedFlexibleResource.Add(supportedFlexibleResourceItem);
						}
						supportedSerialListItem.SupportedFlexibleResource = supportedSerialListItem_supportedFlexibleResource;

						List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass> supportedSerialListItem_supportedInstanceClassList = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass>();
						for (int l = 0; l < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList.Length"); l++) {
							DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass supportedInstanceClass = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass();
							supportedInstanceClass.InstanceClass = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].InstanceClass");
							supportedInstanceClass.Tips = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].Tips");

							List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedNodeCount> supportedInstanceClass_supportedNodeCountList = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedNodeCount>();
							for (int m = 0; m < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedNodeCountList.Length"); m++) {
								DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedNodeCount supportedNodeCount = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedNodeCount();

								List<string> supportedNodeCount_storageSize = new List<string>();
								for (int n = 0; n < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedNodeCountList["+ m +"].StorageSize.Length"); n++) {
									supportedNodeCount_storageSize.Add(_ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedNodeCountList["+ m +"].StorageSize["+ n +"]"));
								}
								supportedNodeCount.StorageSize = supportedNodeCount_storageSize;

								DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedNodeCount.DescribeAvailableResource_NodeCount nodeCount = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedNodeCount.DescribeAvailableResource_NodeCount();
								nodeCount.Step = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedNodeCountList["+ m +"].NodeCount.Step");
								nodeCount.MinCount = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedNodeCountList["+ m +"].NodeCount.MinCount");
								nodeCount.MaxCount = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedNodeCountList["+ m +"].NodeCount.MaxCount");
								supportedNodeCount.NodeCount = nodeCount;

								supportedInstanceClass_supportedNodeCountList.Add(supportedNodeCount);
							}
							supportedInstanceClass.SupportedNodeCountList = supportedInstanceClass_supportedNodeCountList;

							List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedExecutor> supportedInstanceClass_supportedExecutorList = new List<DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedExecutor>();
							for (int m = 0; m < _ctx.Length("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedExecutorList.Length"); m++) {
								DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedExecutor supportedExecutor = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedExecutor();

								DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedExecutor.DescribeAvailableResource_NodeCount3 nodeCount3 = new DescribeAvailableResourceResponse.DescribeAvailableResource_AvailableZone.DescribeAvailableResource_SupportedModeItem.DescribeAvailableResource_SupportedSerialListItem.DescribeAvailableResource_SupportedInstanceClass.DescribeAvailableResource_SupportedExecutor.DescribeAvailableResource_NodeCount3();
								nodeCount3.Step = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedExecutorList["+ m +"].NodeCount.Step");
								nodeCount3.MinCount = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedExecutorList["+ m +"].NodeCount.MinCount");
								nodeCount3.MaxCount = _ctx.StringValue("DescribeAvailableResource.AvailableZoneList["+ i +"].SupportedMode["+ j +"].SupportedSerialList["+ k +"].SupportedInstanceClassList["+ l +"].SupportedExecutorList["+ m +"].NodeCount.MaxCount");
								supportedExecutor.NodeCount3 = nodeCount3;

								supportedInstanceClass_supportedExecutorList.Add(supportedExecutor);
							}
							supportedInstanceClass.SupportedExecutorList = supportedInstanceClass_supportedExecutorList;

							supportedSerialListItem_supportedInstanceClassList.Add(supportedInstanceClass);
						}
						supportedSerialListItem.SupportedInstanceClassList = supportedSerialListItem_supportedInstanceClassList;

						supportedModeItem_supportedSerialList.Add(supportedSerialListItem);
					}
					supportedModeItem.SupportedSerialList = supportedModeItem_supportedSerialList;

					availableZone_supportedMode.Add(supportedModeItem);
				}
				availableZone.SupportedMode = availableZone_supportedMode;

				describeAvailableResourceResponse_availableZoneList.Add(availableZone);
			}
			describeAvailableResourceResponse.AvailableZoneList = describeAvailableResourceResponse_availableZoneList;
        
			return describeAvailableResourceResponse;
        }