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);
}