public static DescribeDomainResponse Unmarshall()

in aliyun-net-sdk-waf-openapi/Waf_openapi/Transform/V20190910/DescribeDomainResponseUnmarshaller.cs [29:132]


        public static DescribeDomainResponse Unmarshall(UnmarshallerContext _ctx)
        {
			DescribeDomainResponse describeDomainResponse = new DescribeDomainResponse();

			describeDomainResponse.HttpResponse = _ctx.HttpResponse;
			describeDomainResponse.RequestId = _ctx.StringValue("DescribeDomain.RequestId");

			DescribeDomainResponse.DescribeDomain_Domain domain = new DescribeDomainResponse.DescribeDomain_Domain();
			domain.HttpToUserIp = _ctx.IntegerValue("DescribeDomain.Domain.HttpToUserIp");
			domain.SniStatus = _ctx.IntegerValue("DescribeDomain.Domain.SniStatus");
			domain.IsAccessProduct = _ctx.IntegerValue("DescribeDomain.Domain.IsAccessProduct");
			domain.AccessHeaderMode = _ctx.IntegerValue("DescribeDomain.Domain.AccessHeaderMode");
			domain.HttpsRedirect = _ctx.IntegerValue("DescribeDomain.Domain.HttpsRedirect");
			domain.IpFollowStatus = _ctx.IntegerValue("DescribeDomain.Domain.IpFollowStatus");
			domain.LoadBalancing = _ctx.IntegerValue("DescribeDomain.Domain.LoadBalancing");
			domain.AccessType = _ctx.StringValue("DescribeDomain.Domain.AccessType");
			domain.Version = _ctx.LongValue("DescribeDomain.Domain.Version");
			domain.ClusterType = _ctx.IntegerValue("DescribeDomain.Domain.ClusterType");
			domain.ReadTime = _ctx.IntegerValue("DescribeDomain.Domain.ReadTime");
			domain.WriteTime = _ctx.IntegerValue("DescribeDomain.Domain.WriteTime");
			domain.SniHost = _ctx.StringValue("DescribeDomain.Domain.SniHost");
			domain.ResourceGroupId = _ctx.StringValue("DescribeDomain.Domain.ResourceGroupId");
			domain.Cname = _ctx.StringValue("DescribeDomain.Domain.Cname");
			domain.ConnectionTime = _ctx.IntegerValue("DescribeDomain.Domain.ConnectionTime");
			domain.Retry = _ctx.BooleanValue("DescribeDomain.Domain.Retry");
			domain.Keepalive = _ctx.BooleanValue("DescribeDomain.Domain.Keepalive");
			domain.KeepaliveRequests = _ctx.IntegerValue("DescribeDomain.Domain.KeepaliveRequests");
			domain.KeepaliveTimeout = _ctx.IntegerValue("DescribeDomain.Domain.KeepaliveTimeout");

			List<string> domain_httpPort = new List<string>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.HttpPort.Length"); i++) {
				domain_httpPort.Add(_ctx.StringValue("DescribeDomain.Domain.HttpPort["+ i +"]"));
			}
			domain.HttpPort = domain_httpPort;

			List<string> domain_http2Port = new List<string>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.Http2Port.Length"); i++) {
				domain_http2Port.Add(_ctx.StringValue("DescribeDomain.Domain.Http2Port["+ i +"]"));
			}
			domain.Http2Port = domain_http2Port;

			List<string> domain_sourceIps = new List<string>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.SourceIps.Length"); i++) {
				domain_sourceIps.Add(_ctx.StringValue("DescribeDomain.Domain.SourceIps["+ i +"]"));
			}
			domain.SourceIps = domain_sourceIps;

			List<string> domain_httpsPort = new List<string>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.HttpsPort.Length"); i++) {
				domain_httpsPort.Add(_ctx.StringValue("DescribeDomain.Domain.HttpsPort["+ i +"]"));
			}
			domain.HttpsPort = domain_httpsPort;

			List<string> domain_accessHeaders = new List<string>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.AccessHeaders.Length"); i++) {
				domain_accessHeaders.Add(_ctx.StringValue("DescribeDomain.Domain.AccessHeaders["+ i +"]"));
			}
			domain.AccessHeaders = domain_accessHeaders;

			List<DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_LogHeader> domain_logHeaders = new List<DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_LogHeader>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.LogHeaders.Length"); i++) {
				DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_LogHeader logHeader = new DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_LogHeader();
				logHeader.K = _ctx.StringValue("DescribeDomain.Domain.LogHeaders["+ i +"].k");
				logHeader.V = _ctx.StringValue("DescribeDomain.Domain.LogHeaders["+ i +"].v");

				domain_logHeaders.Add(logHeader);
			}
			domain.LogHeaders = domain_logHeaders;

			List<DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem> domain_cloudNativeInstances = new List<DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem>();
			for (int i = 0; i < _ctx.Length("DescribeDomain.Domain.CloudNativeInstances.Length"); i++) {
				DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem cloudNativeInstancesItem = new DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem();
				cloudNativeInstancesItem.RedirectionTypeName = _ctx.StringValue("DescribeDomain.Domain.CloudNativeInstances["+ i +"].RedirectionTypeName");
				cloudNativeInstancesItem.CloudNativeProductName = _ctx.StringValue("DescribeDomain.Domain.CloudNativeInstances["+ i +"].CloudNativeProductName");
				cloudNativeInstancesItem.InstanceId = _ctx.StringValue("DescribeDomain.Domain.CloudNativeInstances["+ i +"].InstanceId");

				List<string> cloudNativeInstancesItem_iPAddressList = new List<string>();
				for (int j = 0; j < _ctx.Length("DescribeDomain.Domain.CloudNativeInstances["+ i +"].IPAddressList.Length"); j++) {
					cloudNativeInstancesItem_iPAddressList.Add(_ctx.StringValue("DescribeDomain.Domain.CloudNativeInstances["+ i +"].IPAddressList["+ j +"]"));
				}
				cloudNativeInstancesItem.IPAddressList = cloudNativeInstancesItem_iPAddressList;

				List<DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem.DescribeDomain_ProtocolPortConfigsItem> cloudNativeInstancesItem_protocolPortConfigs = new List<DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem.DescribeDomain_ProtocolPortConfigsItem>();
				for (int j = 0; j < _ctx.Length("DescribeDomain.Domain.CloudNativeInstances["+ i +"].ProtocolPortConfigs.Length"); j++) {
					DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem.DescribeDomain_ProtocolPortConfigsItem protocolPortConfigsItem = new DescribeDomainResponse.DescribeDomain_Domain.DescribeDomain_CloudNativeInstancesItem.DescribeDomain_ProtocolPortConfigsItem();
					protocolPortConfigsItem.Protocol = _ctx.StringValue("DescribeDomain.Domain.CloudNativeInstances["+ i +"].ProtocolPortConfigs["+ j +"].Protocol");

					List<string> protocolPortConfigsItem_ports = new List<string>();
					for (int k = 0; k < _ctx.Length("DescribeDomain.Domain.CloudNativeInstances["+ i +"].ProtocolPortConfigs["+ j +"].Ports.Length"); k++) {
						protocolPortConfigsItem_ports.Add(_ctx.StringValue("DescribeDomain.Domain.CloudNativeInstances["+ i +"].ProtocolPortConfigs["+ j +"].Ports["+ k +"]"));
					}
					protocolPortConfigsItem.Ports = protocolPortConfigsItem_ports;

					cloudNativeInstancesItem_protocolPortConfigs.Add(protocolPortConfigsItem);
				}
				cloudNativeInstancesItem.ProtocolPortConfigs = cloudNativeInstancesItem_protocolPortConfigs;

				domain_cloudNativeInstances.Add(cloudNativeInstancesItem);
			}
			domain.CloudNativeInstances = domain_cloudNativeInstances;
			describeDomainResponse.Domain = domain;
        
			return describeDomainResponse;
        }