protected abstract ProgressEvent handleRequest()

in aws-memorydb-user/src/main/java/software/amazon/memorydb/user/BaseHandlerStd.java [46:79]


  protected abstract ProgressEvent<ResourceModel, CallbackContext> handleRequest(
    final AmazonWebServicesClientProxy proxy,
    final ResourceHandlerRequest<ResourceModel> request,
    final CallbackContext callbackContext,
    final ProxyClient<MemoryDbClient> proxyClient,
    final Logger logger);


  protected boolean isUserStabilized(
      final ProxyClient<MemoryDbClient> proxyClient,
      final ResourceModel model,
      Logger logger) {

    logger.log("isUserStabilized");
    try {
      final Optional<User> user =
          proxyClient.injectCredentialsAndInvokeV2(
              Translator.translateToReadRequest(model), proxyClient.client()::describeUsers
          ).users().stream().findFirst();

      if (!user.isPresent()) {
        throw UserNotFoundException.builder().build();
      }

      logger.log("Stable status: " + user.get().name() + " " + user.get().status());
      return "ACTIVE".equalsIgnoreCase(user.get().status());
    } catch (UserNotFoundException e) {
      throw new CfnNotFoundException(ResourceModel.TYPE_NAME, e.getMessage());
    } catch (Exception e) {
      logger.log(
          e.toString() + " " + e.getMessage() + " " + e.getCause() + "\n" + Throwables.getStackTraceAsString(e));
      throw new CfnNotStabilizedException(MESSAGE_FORMAT_FAILED_TO_STABILIZE, model.getUserName(), e);
    }
  }