public final ProgressEvent handleRequest()

in aws-ssmincidents-replicationset/src/main/java/software/amazon/ssmincidents/replicationset/BaseHandlerStd.java [49:99]


  public final ProgressEvent<ResourceModel, CallbackContext> handleRequest(
      AmazonWebServicesClientProxy proxy,
      ResourceHandlerRequest<ResourceModel> request,
      CallbackContext callbackContext,
      Logger logger) {
    try {
      logger.log("Request from CFN: " + objectMapper.writeValueAsString(redactRequest(request)));
      logger.log("Callback content: " + objectMapper.writeValueAsString(callbackContext));
    } catch (JsonProcessingException e) {
      StringWriter sw = new StringWriter();
      e.printStackTrace(new PrintWriter(sw));
      logger.log("Exception: " + sw);
    }
    ProgressEvent<ResourceModel, CallbackContext> res;
    try {
      res = handleRequest(
          proxy,
          request,
          callbackContext != null ? callbackContext : new CallbackContext(),
          proxy.newProxy(ClientBuilder::getClient),
          logger
      );
    } catch (Exception e) {
      StringWriter sw = new StringWriter();
      e.printStackTrace(new PrintWriter(sw));
      logger.log("Unhandled exception in handler: " + sw);
      res = ProgressEvent.defaultFailureHandler(e, HandlerErrorCode.ServiceInternalError);
    }
    try {
      logger.log("Returning status: " + res.getStatus().name());
      if (res.getResourceModel() != null) {
        logger.log("Returning model definition: " +
            objectMapper.writeValueAsString(redactModel(res.getResourceModel()))
        );
      }
      if (res.getCallbackContext() != null) {
        logger.log("Returning callback content: " + objectMapper.writeValueAsString(res.getCallbackContext()));
      }
      if (res.getErrorCode() != null) {
        logger.log("Returning errorCode: " + res.getErrorCode().name());
      }
      if (res.getResourceModels() != null) {
        logger.log("Returning models: " + res.getResourceModels());
      }
    } catch (JsonProcessingException e) {
      StringWriter sw = new StringWriter();
      e.printStackTrace(new PrintWriter(sw));
      logger.log("Exception: " + sw);
    }
    return res;
  }