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;
}