/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            DescribeCreateAccountStatusResponse response = new DescribeCreateAccountStatusResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("CreateAccountStatus", targetDepth))
                {
                    var unmarshaller = CreateAccountStatusUnmarshaller.Instance;
                    response.CreateAccountStatus = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
        public JObject FunctionHandler(JObject input)
        {
            LambdaLogger.Log(input.ToString());
            string requestId = input.SelectToken("CreateAccountStatus.CreateAccountStatus.Id").ToString();

            AmazonOrganizationsClient          client  = new AmazonOrganizationsClient();
            DescribeCreateAccountStatusRequest request = new DescribeCreateAccountStatusRequest()
            {
                CreateAccountRequestId = requestId
            };

            DescribeCreateAccountStatusResponse response = client.DescribeCreateAccountStatusAsync(request).Result;

            JObject outputObject = new JObject();

            outputObject.Add("CreateAccountStatus", JObject.FromObject(response));
            outputObject.Add("EventData", input.SelectToken("EventData"));

            return(outputObject);
        }