in aws-sns-topic/src/main/java/software/amazon/sns/topic/BaseHandlerStd.java [68:91]
protected ProgressEvent<ResourceModel, CallbackContext> removeSubscription(AmazonWebServicesClientProxy proxy, ProxyClient<SnsClient> client, ProgressEvent<ResourceModel, CallbackContext> progress, Logger logger) {
final ResourceModel model = progress.getResourceModel();
final CallbackContext callbackContext = progress.getCallbackContext();
final List<String> unsubscribeArnList = callbackContext.getSubscriptionArnToUnsubscribe();
if(unsubscribeArnList == null) {
return ProgressEvent.progress(model, callbackContext);
}
for(final String subscriptionArn : unsubscribeArnList) {
if(!"PendingConfirmation".equals(subscriptionArn)) {
final ProgressEvent<ResourceModel, CallbackContext> progressEvent = proxy
.initiate("AWS-SNS-Topic::Unsubscribe-" + subscriptionArn.hashCode(), client, model, callbackContext)
.translateToServiceRequest(model1 -> Translator.translateToUnsubscribe(subscriptionArn))
.makeServiceCall((subscriptionRequest, proxyClient) -> proxy.injectCredentialsAndInvokeV2(subscriptionRequest, proxyClient.client()::unsubscribe))
.success();
if (!progressEvent.isSuccess()) {
return progressEvent;
}
}
}
return ProgressEvent.progress(model, callbackContext);
}