protected abstract ProgressEvent handleRequest()

in aws-sns-topic/src/main/java/software/amazon/sns/topic/BaseHandlerStd.java [40:66]


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

  protected ProgressEvent<ResourceModel, CallbackContext> addSubscription(AmazonWebServicesClientProxy proxy, ProxyClient<SnsClient> client, ProgressEvent<ResourceModel, CallbackContext> progress, Set<Subscription> subscriptions, Logger logger) {
    final ResourceModel model = progress.getResourceModel();
    final CallbackContext callbackContext = progress.getCallbackContext();

    if(subscriptions == null) {
      return ProgressEvent.progress(model, callbackContext);
    }
    for(final Subscription subscription : subscriptions) {
      final ProgressEvent<ResourceModel, CallbackContext> progressEvent = proxy
              .initiate("AWS-SNS-Topic::Subscribe-" + subscription.hashCode(), client, model, callbackContext)
              .translateToServiceRequest(model1 -> Translator.translateToSubscribeRequest(model1, subscription))
              .makeServiceCall((subscriptionRequest, proxyClient) -> proxy.injectCredentialsAndInvokeV2(subscriptionRequest, proxyClient.client()::subscribe))
              .success();

      if (!progressEvent.isSuccess()) {
        return progressEvent;
      }
    }
    return ProgressEvent.progress(model, callbackContext);
  }