public static GetAutoScaleConfigResponse Unmarshall(UnmarshallerContext _ctx)
        {
            GetAutoScaleConfigResponse getAutoScaleConfigResponse = new GetAutoScaleConfigResponse();

            getAutoScaleConfigResponse.HttpResponse            = _ctx.HttpResponse;
            getAutoScaleConfigResponse.RequestId               = _ctx.StringValue("GetAutoScaleConfig.RequestId");
            getAutoScaleConfigResponse.Uid                     = _ctx.StringValue("GetAutoScaleConfig.Uid");
            getAutoScaleConfigResponse.ClusterId               = _ctx.StringValue("GetAutoScaleConfig.ClusterId");
            getAutoScaleConfigResponse.ClusterType             = _ctx.StringValue("GetAutoScaleConfig.ClusterType");
            getAutoScaleConfigResponse.EnableAutoGrow          = _ctx.BooleanValue("GetAutoScaleConfig.EnableAutoGrow");
            getAutoScaleConfigResponse.EnableAutoShrink        = _ctx.BooleanValue("GetAutoScaleConfig.EnableAutoShrink");
            getAutoScaleConfigResponse.GrowIntervalInMinutes   = _ctx.IntegerValue("GetAutoScaleConfig.GrowIntervalInMinutes");
            getAutoScaleConfigResponse.ShrinkIntervalInMinutes = _ctx.IntegerValue("GetAutoScaleConfig.ShrinkIntervalInMinutes");
            getAutoScaleConfigResponse.ShrinkIdleTimes         = _ctx.IntegerValue("GetAutoScaleConfig.ShrinkIdleTimes");
            getAutoScaleConfigResponse.GrowTimeoutInMinutes    = _ctx.IntegerValue("GetAutoScaleConfig.GrowTimeoutInMinutes");
            getAutoScaleConfigResponse.ExtraNodesGrowRatio     = _ctx.IntegerValue("GetAutoScaleConfig.ExtraNodesGrowRatio");
            getAutoScaleConfigResponse.GrowRatio               = _ctx.IntegerValue("GetAutoScaleConfig.GrowRatio");
            getAutoScaleConfigResponse.MaxNodesInCluster       = _ctx.IntegerValue("GetAutoScaleConfig.MaxNodesInCluster");
            getAutoScaleConfigResponse.ExcludeNodes            = _ctx.StringValue("GetAutoScaleConfig.ExcludeNodes");
            getAutoScaleConfigResponse.SpotStrategy            = _ctx.StringValue("GetAutoScaleConfig.SpotStrategy");
            getAutoScaleConfigResponse.SpotPriceLimit          = _ctx.FloatValue("GetAutoScaleConfig.SpotPriceLimit");
            getAutoScaleConfigResponse.ImageId                 = _ctx.StringValue("GetAutoScaleConfig.ImageId");

            List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo> getAutoScaleConfigResponse_queues = new List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo>();

            for (int i = 0; i < _ctx.Length("GetAutoScaleConfig.Queues.Length"); i++)
            {
                GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo queueInfo = new GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo();
                queueInfo.QueueName        = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].QueueName");
                queueInfo.ResourceGroupId  = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].ResourceGroupId");
                queueInfo.InstanceType     = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceType");
                queueInfo.SpotStrategy     = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].SpotStrategy");
                queueInfo.SpotPriceLimit   = _ctx.FloatValue("GetAutoScaleConfig.Queues[" + i + "].SpotPriceLimit");
                queueInfo.EnableAutoGrow   = _ctx.BooleanValue("GetAutoScaleConfig.Queues[" + i + "].EnableAutoGrow");
                queueInfo.EnableAutoShrink = _ctx.BooleanValue("GetAutoScaleConfig.Queues[" + i + "].EnableAutoShrink");
                queueInfo.MaxNodesInQueue  = _ctx.IntegerValue("GetAutoScaleConfig.Queues[" + i + "].MaxNodesInQueue");
                queueInfo.MinNodesInQueue  = _ctx.IntegerValue("GetAutoScaleConfig.Queues[" + i + "].MinNodesInQueue");
                queueInfo.QueueImageId     = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].QueueImageId");

                List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo> queueInfo_instanceTypes = new List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo>();
                for (int j = 0; j < _ctx.Length("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes.Length"); j++)
                {
                    GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo instanceTypeInfo = new GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo();
                    instanceTypeInfo.InstanceType   = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].InstanceType");
                    instanceTypeInfo.SpotStrategy   = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].SpotStrategy");
                    instanceTypeInfo.SpotPriceLimit = _ctx.FloatValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].SpotPriceLimit");
                    instanceTypeInfo.ZoneId         = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].ZoneId");
                    instanceTypeInfo.VSwitchId      = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].VSwitchId");
                    instanceTypeInfo.HostNamePrefix = _ctx.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].HostNamePrefix");

                    queueInfo_instanceTypes.Add(instanceTypeInfo);
                }
                queueInfo.InstanceTypes = queueInfo_instanceTypes;

                getAutoScaleConfigResponse_queues.Add(queueInfo);
            }
            getAutoScaleConfigResponse.Queues = getAutoScaleConfigResponse_queues;

            return(getAutoScaleConfigResponse);
        }
        public static GetAutoScaleConfigResponse Unmarshall(UnmarshallerContext context)
        {
            GetAutoScaleConfigResponse getAutoScaleConfigResponse = new GetAutoScaleConfigResponse();

            getAutoScaleConfigResponse.HttpResponse            = context.HttpResponse;
            getAutoScaleConfigResponse.RequestId               = context.StringValue("GetAutoScaleConfig.RequestId");
            getAutoScaleConfigResponse.Uid                     = context.StringValue("GetAutoScaleConfig.Uid");
            getAutoScaleConfigResponse.ClusterId               = context.StringValue("GetAutoScaleConfig.ClusterId");
            getAutoScaleConfigResponse.ClusterType             = context.StringValue("GetAutoScaleConfig.ClusterType");
            getAutoScaleConfigResponse.EnableAutoGrow          = context.BooleanValue("GetAutoScaleConfig.EnableAutoGrow");
            getAutoScaleConfigResponse.EnableAutoShrink        = context.BooleanValue("GetAutoScaleConfig.EnableAutoShrink");
            getAutoScaleConfigResponse.GrowIntervalInMinutes   = context.IntegerValue("GetAutoScaleConfig.GrowIntervalInMinutes");
            getAutoScaleConfigResponse.ShrinkIntervalInMinutes = context.IntegerValue("GetAutoScaleConfig.ShrinkIntervalInMinutes");
            getAutoScaleConfigResponse.ShrinkIdleTimes         = context.IntegerValue("GetAutoScaleConfig.ShrinkIdleTimes");
            getAutoScaleConfigResponse.GrowTimeoutInMinutes    = context.IntegerValue("GetAutoScaleConfig.GrowTimeoutInMinutes");
            getAutoScaleConfigResponse.ExtraNodesGrowRatio     = context.IntegerValue("GetAutoScaleConfig.ExtraNodesGrowRatio");
            getAutoScaleConfigResponse.GrowRatio               = context.IntegerValue("GetAutoScaleConfig.GrowRatio");
            getAutoScaleConfigResponse.MaxNodesInCluster       = context.IntegerValue("GetAutoScaleConfig.MaxNodesInCluster");
            getAutoScaleConfigResponse.ExcludeNodes            = context.StringValue("GetAutoScaleConfig.ExcludeNodes");
            getAutoScaleConfigResponse.SpotStrategy            = context.StringValue("GetAutoScaleConfig.SpotStrategy");
            getAutoScaleConfigResponse.SpotPriceLimit          = context.FloatValue("GetAutoScaleConfig.SpotPriceLimit");

            List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo> getAutoScaleConfigResponse_queues = new List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo>();

            for (int i = 0; i < context.Length("GetAutoScaleConfig.Queues.Length"); i++)
            {
                GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo queueInfo = new GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo();
                queueInfo.QueueName        = context.StringValue("GetAutoScaleConfig.Queues[" + i + "].QueueName");
                queueInfo.InstanceType     = context.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceType");
                queueInfo.SpotStrategy     = context.StringValue("GetAutoScaleConfig.Queues[" + i + "].SpotStrategy");
                queueInfo.SpotPriceLimit   = context.FloatValue("GetAutoScaleConfig.Queues[" + i + "].SpotPriceLimit");
                queueInfo.EnableAutoGrow   = context.BooleanValue("GetAutoScaleConfig.Queues[" + i + "].EnableAutoGrow");
                queueInfo.EnableAutoShrink = context.BooleanValue("GetAutoScaleConfig.Queues[" + i + "].EnableAutoShrink");

                List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo> queueInfo_instanceTypes = new List <GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo>();
                for (int j = 0; j < context.Length("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes.Length"); j++)
                {
                    GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo instanceTypeInfo = new GetAutoScaleConfigResponse.GetAutoScaleConfig_QueueInfo.GetAutoScaleConfig_InstanceTypeInfo();
                    instanceTypeInfo.InstanceType   = context.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].InstanceType");
                    instanceTypeInfo.SpotStrategy   = context.StringValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].SpotStrategy");
                    instanceTypeInfo.SpotPriceLimit = context.FloatValue("GetAutoScaleConfig.Queues[" + i + "].InstanceTypes[" + j + "].SpotPriceLimit");

                    queueInfo_instanceTypes.Add(instanceTypeInfo);
                }
                queueInfo.InstanceTypes = queueInfo_instanceTypes;

                getAutoScaleConfigResponse_queues.Add(queueInfo);
            }
            getAutoScaleConfigResponse.Queues = getAutoScaleConfigResponse_queues;

            return(getAutoScaleConfigResponse);
        }