/* * 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 ecs-2014-11-13.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.ECS.Model; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Transform; using Amazon.Runtime.Internal.Util; using ThirdParty.Json.LitJson; namespace Amazon.ECS.Model.Internal.MarshallTransformations { /// <summary> /// Response Unmarshaller for TaskDefinition Object /// </summary> public class TaskDefinitionUnmarshaller : IUnmarshaller<TaskDefinition, XmlUnmarshallerContext>, IUnmarshaller<TaskDefinition, JsonUnmarshallerContext> { /// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> TaskDefinition IUnmarshaller<TaskDefinition, XmlUnmarshallerContext>.Unmarshall(XmlUnmarshallerContext context) { throw new NotImplementedException(); } /// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public TaskDefinition Unmarshall(JsonUnmarshallerContext context) { context.Read(); if (context.CurrentTokenType == JsonToken.Null) return null; TaskDefinition unmarshalledObject = new TaskDefinition(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("compatibilities", targetDepth)) { var unmarshaller = new ListUnmarshaller<string, StringUnmarshaller>(StringUnmarshaller.Instance); unmarshalledObject.Compatibilities = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("containerDefinitions", targetDepth)) { var unmarshaller = new ListUnmarshaller<ContainerDefinition, ContainerDefinitionUnmarshaller>(ContainerDefinitionUnmarshaller.Instance); unmarshalledObject.ContainerDefinitions = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("cpu", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.Cpu = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("deregisteredAt", targetDepth)) { var unmarshaller = DateTimeUnmarshaller.Instance; unmarshalledObject.DeregisteredAt = 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("family", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.Family = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("inferenceAccelerators", targetDepth)) { var unmarshaller = new ListUnmarshaller<InferenceAccelerator, InferenceAcceleratorUnmarshaller>(InferenceAcceleratorUnmarshaller.Instance); unmarshalledObject.InferenceAccelerators = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("ipcMode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.IpcMode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("memory", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.Memory = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("networkMode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.NetworkMode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("pidMode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.PidMode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("placementConstraints", targetDepth)) { var unmarshaller = new ListUnmarshaller<TaskDefinitionPlacementConstraint, TaskDefinitionPlacementConstraintUnmarshaller>(TaskDefinitionPlacementConstraintUnmarshaller.Instance); unmarshalledObject.PlacementConstraints = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("proxyConfiguration", targetDepth)) { var unmarshaller = ProxyConfigurationUnmarshaller.Instance; unmarshalledObject.ProxyConfiguration = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("registeredAt", targetDepth)) { var unmarshaller = DateTimeUnmarshaller.Instance; unmarshalledObject.RegisteredAt = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("registeredBy", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.RegisteredBy = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("requiresAttributes", targetDepth)) { var unmarshaller = new ListUnmarshaller<Attribute, AttributeUnmarshaller>(AttributeUnmarshaller.Instance); unmarshalledObject.RequiresAttributes = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("requiresCompatibilities", targetDepth)) { var unmarshaller = new ListUnmarshaller<string, StringUnmarshaller>(StringUnmarshaller.Instance); unmarshalledObject.RequiresCompatibilities = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("revision", targetDepth)) { var unmarshaller = IntUnmarshaller.Instance; unmarshalledObject.Revision = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("runtimePlatform", targetDepth)) { var unmarshaller = RuntimePlatformUnmarshaller.Instance; unmarshalledObject.RuntimePlatform = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("status", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.Status = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("taskDefinitionArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.TaskDefinitionArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("taskRoleArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; unmarshalledObject.TaskRoleArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("volumes", targetDepth)) { var unmarshaller = new ListUnmarshaller<Volume, VolumeUnmarshaller>(VolumeUnmarshaller.Instance); unmarshalledObject.Volumes = unmarshaller.Unmarshall(context); continue; } } return unmarshalledObject; } private static TaskDefinitionUnmarshaller _instance = new TaskDefinitionUnmarshaller(); /// <summary> /// Gets the singleton. /// </summary> public static TaskDefinitionUnmarshaller Instance { get { return _instance; } } } }