in index.js [300:342]
function verifyDeliveryStreamMapping(streamName, shouldFailbackToDefaultDeliveryStream, context, event, callback) {
if (debug) {
console.log('Verifying delivery stream');
}
if (!deliveryStreamMapping[streamName]) {
if (shouldFailbackToDefaultDeliveryStream) {
/*
* No delivery stream has been specified, probably as it's not
* configured in stream tags. Using default delivery stream. To
* prevent accidental forwarding of streams to a firehose set
* USE_DEFAULT_DELIVERY_STREAMS = false.
*/
deliveryStreamMapping[streamName] = deliveryStreamMapping['DEFAULT'];
} else {
/*
* Fail as no delivery stream mapping has been specified and we have
* not configured to use a default. Kinesis Streams should be tagged
* with ForwardToFirehoseStream = <DeliveryStreamName>
*/
exports.onCompletion(context, event, undefined, ERROR, "Warning: Kinesis Stream " + streamName + " not tagged for Firehose delivery with Tag name " + FORWARD_TO_FIREHOSE_STREAM);
}
}
// validate the delivery stream name provided
var params = {
DeliveryStreamName: deliveryStreamMapping[streamName]
};
exports.firehose.describeDeliveryStream(params, function (err, data) {
if (err) {
if (shouldFailbackToDefaultDeliveryStream) {
deliveryStreamMapping[streamName] = deliveryStreamMapping['DEFAULT'];
exports.verifyDeliveryStreamMapping(streamName, false, context, event, callback);
} else {
exports.onCompletion(context, event, undefined, ERROR, "Could not find suitable delivery stream for " + streamName + " and the " + "default delivery stream ("
+ deliveryStreamMapping['DEFAULT'] + ") either doesn't exist or is disabled.");
}
} else {
// call the specified callback - should have
// already
// been prepared by the calling function
callback();
}
});
}