in deliverystream/src/main/java/com/amazonaws/kinesisfirehose/deliverystream/ListHandler.java [22:53]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
val firehoseAPIWrapper = FirehoseAPIWrapper.builder().firehoseClient(firehoseClient)
.clientProxy(proxy)
.build();
List<ResourceModel> models = new ArrayList<>();
try {
val response = firehoseAPIWrapper.listDeliveryStreams(request.getNextToken(), LIST_RESULT_LIMIT);
val deliveryStreams = response.deliveryStreamNames();
models.addAll(deliveryStreams.stream()
.map(deliverystream ->
ResourceModel.builder().deliveryStreamName(deliverystream).build())
.collect(Collectors.toList()));
if (response.deliveryStreamNames().size() == 0 || !response.hasMoreDeliveryStreams()) {
request.setNextToken(null);
} else {
request.setNextToken(deliveryStreams.get(deliveryStreams.size() - 1));
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.nextToken(request.getNextToken())
.status(OperationStatus.SUCCESS)
.build();
} catch (Exception e) {
return ProgressEvent.defaultFailureHandler(e, ExceptionMapper.mapToHandlerErrorCode(e, HandlerType.LIST));
}
}