/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the batch-2016-08-10.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Xml.Serialization;
using Amazon.Batch.Model;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Transform;
using Amazon.Runtime.Internal.Util;
using ThirdParty.Json.LitJson;
namespace Amazon.Batch.Model.Internal.MarshallTransformations
{
///
/// Response Unmarshaller for ContainerDetail Object
///
public class ContainerDetailUnmarshaller : IUnmarshaller, IUnmarshaller
{
///
/// Unmarshaller the response from the service to the response class.
///
///
///
ContainerDetail IUnmarshaller.Unmarshall(XmlUnmarshallerContext context)
{
throw new NotImplementedException();
}
///
/// Unmarshaller the response from the service to the response class.
///
///
///
public ContainerDetail Unmarshall(JsonUnmarshallerContext context)
{
context.Read();
if (context.CurrentTokenType == JsonToken.Null)
return null;
ContainerDetail unmarshalledObject = new ContainerDetail();
int targetDepth = context.CurrentDepth;
while (context.ReadAtDepth(targetDepth))
{
if (context.TestExpression("command", targetDepth))
{
var unmarshaller = new ListUnmarshaller(StringUnmarshaller.Instance);
unmarshalledObject.Command = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("containerInstanceArn", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.ContainerInstanceArn = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("environment", targetDepth))
{
var unmarshaller = new ListUnmarshaller(KeyValuePairUnmarshaller.Instance);
unmarshalledObject.Environment = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("ephemeralStorage", targetDepth))
{
var unmarshaller = EphemeralStorageUnmarshaller.Instance;
unmarshalledObject.EphemeralStorage = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("executionRoleArn", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.ExecutionRoleArn = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("exitCode", targetDepth))
{
var unmarshaller = IntUnmarshaller.Instance;
unmarshalledObject.ExitCode = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("fargatePlatformConfiguration", targetDepth))
{
var unmarshaller = FargatePlatformConfigurationUnmarshaller.Instance;
unmarshalledObject.FargatePlatformConfiguration = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("image", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.Image = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("instanceType", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.InstanceType = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("jobRoleArn", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.JobRoleArn = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("linuxParameters", targetDepth))
{
var unmarshaller = LinuxParametersUnmarshaller.Instance;
unmarshalledObject.LinuxParameters = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("logConfiguration", targetDepth))
{
var unmarshaller = LogConfigurationUnmarshaller.Instance;
unmarshalledObject.LogConfiguration = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("logStreamName", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.LogStreamName = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("memory", targetDepth))
{
var unmarshaller = IntUnmarshaller.Instance;
unmarshalledObject.Memory = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("mountPoints", targetDepth))
{
var unmarshaller = new ListUnmarshaller(MountPointUnmarshaller.Instance);
unmarshalledObject.MountPoints = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("networkConfiguration", targetDepth))
{
var unmarshaller = NetworkConfigurationUnmarshaller.Instance;
unmarshalledObject.NetworkConfiguration = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("networkInterfaces", targetDepth))
{
var unmarshaller = new ListUnmarshaller(NetworkInterfaceUnmarshaller.Instance);
unmarshalledObject.NetworkInterfaces = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("privileged", targetDepth))
{
var unmarshaller = BoolUnmarshaller.Instance;
unmarshalledObject.Privileged = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("readonlyRootFilesystem", targetDepth))
{
var unmarshaller = BoolUnmarshaller.Instance;
unmarshalledObject.ReadonlyRootFilesystem = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("reason", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.Reason = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("resourceRequirements", targetDepth))
{
var unmarshaller = new ListUnmarshaller(ResourceRequirementUnmarshaller.Instance);
unmarshalledObject.ResourceRequirements = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("runtimePlatform", targetDepth))
{
var unmarshaller = RuntimePlatformUnmarshaller.Instance;
unmarshalledObject.RuntimePlatform = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("secrets", targetDepth))
{
var unmarshaller = new ListUnmarshaller(SecretUnmarshaller.Instance);
unmarshalledObject.Secrets = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("taskArn", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.TaskArn = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("ulimits", targetDepth))
{
var unmarshaller = new ListUnmarshaller(UlimitUnmarshaller.Instance);
unmarshalledObject.Ulimits = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("user", targetDepth))
{
var unmarshaller = StringUnmarshaller.Instance;
unmarshalledObject.User = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("vcpus", targetDepth))
{
var unmarshaller = IntUnmarshaller.Instance;
unmarshalledObject.Vcpus = unmarshaller.Unmarshall(context);
continue;
}
if (context.TestExpression("volumes", targetDepth))
{
var unmarshaller = new ListUnmarshaller(VolumeUnmarshaller.Instance);
unmarshalledObject.Volumes = unmarshaller.Unmarshall(context);
continue;
}
}
return unmarshalledObject;
}
private static ContainerDetailUnmarshaller _instance = new ContainerDetailUnmarshaller();
///
/// Gets the singleton.
///
public static ContainerDetailUnmarshaller Instance
{
get
{
return _instance;
}
}
}
}