Aliyun.Acs.Ecs.Transform.V20140526.DescribeInstancesResponseUnmarshaller.Unmarshall C# (CSharp) Метод

Unmarshall() публичный статический Метод

public static Unmarshall ( UnmarshallerContext context ) : DescribeInstancesResponse
context UnmarshallerContext
Результат Aliyun.Acs.Ecs.Model.V20140526.DescribeInstancesResponse
        public static DescribeInstancesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeInstancesResponse describeInstancesResponse = new DescribeInstancesResponse();

            describeInstancesResponse.HttpResponse = context.HttpResponse;
            describeInstancesResponse.RequestId = context.StringValue("DescribeInstances.RequestId");
            describeInstancesResponse.TotalCount = context.IntegerValue("DescribeInstances.TotalCount");
            describeInstancesResponse.PageNumber = context.IntegerValue("DescribeInstances.PageNumber");
            describeInstancesResponse.PageSize = context.IntegerValue("DescribeInstances.PageSize");

            List<DescribeInstancesResponse.Instance> instances = new List<DescribeInstancesResponse.Instance>();
            for (int i = 0; i < context.Length("DescribeInstances.Instances.Length"); i++) {
                DescribeInstancesResponse.Instance instance = new DescribeInstancesResponse.Instance();
                instance.InstanceId = context.StringValue("DescribeInstances.Instances["+ i +"].InstanceId");
                instance.InstanceName = context.StringValue("DescribeInstances.Instances["+ i +"].InstanceName");
                instance.Description = context.StringValue("DescribeInstances.Instances["+ i +"].Description");
                instance.ImageId = context.StringValue("DescribeInstances.Instances["+ i +"].ImageId");
                instance.RegionId = context.StringValue("DescribeInstances.Instances["+ i +"].RegionId");
                instance.ZoneId = context.StringValue("DescribeInstances.Instances["+ i +"].ZoneId");
                instance.ClusterId = context.StringValue("DescribeInstances.Instances["+ i +"].ClusterId");
                instance.InstanceType = context.StringValue("DescribeInstances.Instances["+ i +"].InstanceType");
                instance.Cpu = context.IntegerValue("DescribeInstances.Instances["+ i +"].Cpu");
                instance.Memory = context.IntegerValue("DescribeInstances.Instances["+ i +"].Memory");
                instance.HostName = context.StringValue("DescribeInstances.Instances["+ i +"].HostName");
                instance.Status = context.EnumValue<DescribeInstancesResponse.Instance.StatusEnum>("DescribeInstances.Instances["+ i +"].Status");
                instance.SerialNumber = context.StringValue("DescribeInstances.Instances["+ i +"].SerialNumber");
                instance.InternetChargeType = context.StringValue("DescribeInstances.Instances["+ i +"].InternetChargeType");
                instance.InternetMaxBandwidthIn = context.IntegerValue("DescribeInstances.Instances["+ i +"].InternetMaxBandwidthIn");
                instance.InternetMaxBandwidthOut = context.IntegerValue("DescribeInstances.Instances["+ i +"].InternetMaxBandwidthOut");
                instance.VlanId = context.StringValue("DescribeInstances.Instances["+ i +"].VlanId");
                instance.CreationTime = context.StringValue("DescribeInstances.Instances["+ i +"].CreationTime");
                instance.InstanceNetworkType = context.StringValue("DescribeInstances.Instances["+ i +"].InstanceNetworkType");
                instance.InstanceChargeType = context.StringValue("DescribeInstances.Instances["+ i +"].InstanceChargeType");
                instance.ExpiredTime = context.StringValue("DescribeInstances.Instances["+ i +"].ExpiredTime");
                instance.IoOptimized = context.BooleanValue("DescribeInstances.Instances["+ i +"].IoOptimized");
                instance.DeviceAvailable = context.BooleanValue("DescribeInstances.Instances["+ i +"].DeviceAvailable");
                instance.InstanceTypeFamily = context.StringValue("DescribeInstances.Instances["+ i +"].InstanceTypeFamily");

                List<string> securityGroupIds = new List<string>();
                for (int j = 0; j < context.Length("DescribeInstances.Instances["+ i +"].SecurityGroupIds.Length"); j++) {
                    securityGroupIds.Add(context.StringValue("DescribeInstances.Instances["+ i +"].SecurityGroupIds["+ j +"]"));
                }
                instance.SecurityGroupIds = securityGroupIds;

                List<string> publicIpAddress = new List<string>();
                for (int j = 0; j < context.Length("DescribeInstances.Instances["+ i +"].PublicIpAddress.Length"); j++) {
                    publicIpAddress.Add(context.StringValue("DescribeInstances.Instances["+ i +"].PublicIpAddress["+ j +"]"));
                }
                instance.PublicIpAddress = publicIpAddress;

                List<string> innerIpAddress = new List<string>();
                for (int j = 0; j < context.Length("DescribeInstances.Instances["+ i +"].InnerIpAddress.Length"); j++) {
                    innerIpAddress.Add(context.StringValue("DescribeInstances.Instances["+ i +"].InnerIpAddress["+ j +"]"));
                }
                instance.InnerIpAddress = innerIpAddress;

                DescribeInstancesResponse.Instance.VpcAttributes_ vpcAttributes = new DescribeInstancesResponse.Instance.VpcAttributes_();
                vpcAttributes.VpcId = context.StringValue("DescribeInstances.Instances["+ i +"].VpcAttributes.VpcId");
                vpcAttributes.VSwitchId = context.StringValue("DescribeInstances.Instances["+ i +"].VpcAttributes.VSwitchId");
                vpcAttributes.NatIpAddress = context.StringValue("DescribeInstances.Instances["+ i +"].VpcAttributes.NatIpAddress");

                List<string> privateIpAddress = new List<string>();
                for (int j = 0; j < context.Length("DescribeInstances.Instances["+ i +"].VpcAttributes.PrivateIpAddress.Length"); j++) {
                    privateIpAddress.Add(context.StringValue("DescribeInstances.Instances["+ i +"].VpcAttributes.PrivateIpAddress["+ j +"]"));
                }
                vpcAttributes.PrivateIpAddress = privateIpAddress;
                instance.VpcAttributes = vpcAttributes;

                DescribeInstancesResponse.Instance.EipAddress_ eipAddress = new DescribeInstancesResponse.Instance.EipAddress_();
                eipAddress.AllocationId = context.StringValue("DescribeInstances.Instances["+ i +"].EipAddress.AllocationId");
                eipAddress.IpAddress = context.StringValue("DescribeInstances.Instances["+ i +"].EipAddress.IpAddress");
                eipAddress.Bandwidth = context.IntegerValue("DescribeInstances.Instances["+ i +"].EipAddress.Bandwidth");
                eipAddress.InternetChargeType = context.StringValue("DescribeInstances.Instances["+ i +"].EipAddress.InternetChargeType");
                instance.EipAddress = eipAddress;

                List<DescribeInstancesResponse.Instance.LockReason> operationLocks = new List<DescribeInstancesResponse.Instance.LockReason>();
                for (int j = 0; j < context.Length("DescribeInstances.Instances["+ i +"].OperationLocks.Length"); j++) {
                    DescribeInstancesResponse.Instance.LockReason lockReason = new DescribeInstancesResponse.Instance.LockReason();
                    lockReason.LockReason_ = context.StringValue("DescribeInstances.Instances["+ i +"].OperationLocks["+ j +"].LockReason");

                    operationLocks.Add(lockReason);
                }
                instance.OperationLocks = operationLocks;

                List<DescribeInstancesResponse.Instance.Tag> tags = new List<DescribeInstancesResponse.Instance.Tag>();
                for (int j = 0; j < context.Length("DescribeInstances.Instances["+ i +"].Tags.Length"); j++) {
                    DescribeInstancesResponse.Instance.Tag tag = new DescribeInstancesResponse.Instance.Tag();
                    tag.TagKey = context.StringValue("DescribeInstances.Instances["+ i +"].Tags["+ j +"].TagKey");
                    tag.TagValue = context.StringValue("DescribeInstances.Instances["+ i +"].Tags["+ j +"].TagValue");

                    tags.Add(tag);
                }
                instance.Tags = tags;

                instances.Add(instance);
            }
            describeInstancesResponse.Instances = instances;

            return describeInstancesResponse;
        }
DescribeInstancesResponseUnmarshaller