public static PutEvaluationsResponse Unmarshall(UnmarshallerContext context)
        {
            PutEvaluationsResponse putEvaluationsResponse = new PutEvaluationsResponse();

            putEvaluationsResponse.HttpResponse = context.HttpResponse;
            putEvaluationsResponse.RequestId    = context.StringValue("PutEvaluations.RequestId");
            putEvaluationsResponse.Result       = context.BooleanValue("PutEvaluations.Result");

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

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

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("FailedEvaluations", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <Evaluation, EvaluationUnmarshaller>(EvaluationUnmarshaller.Instance);
                    response.FailedEvaluations = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
예제 #3
0
        // Sends the evaluation results to AWS Config.
        private async Task DoPutEvaluations(AmazonConfigServiceClient configClient, ConfigEvent configEvent, Evaluation evaluation)
        {
            Console.WriteLine("inside DoPutEvaluations...");
            PutEvaluationsRequest req = new PutEvaluationsRequest();

            req.Evaluations.Add(evaluation);
            req.ResultToken = configEvent.ResultToken;


            Task <PutEvaluationsResponse> taskResp = configClient.PutEvaluationsAsync(req);
            PutEvaluationsResponse        response = await taskResp;

            // Ends the function execution if any evaluation results are not successfully reported.
            if (response.FailedEvaluations.Count > 0)
            {
                throw new Exception(String.Format(
                                        "The following evaluations were not successfully reported to AWS Config: %s",
                                        response.FailedEvaluations));
            }
        }