UNPKG

@infrascan/aws-kinesis-scanner

Version:

Infrascan scanner definition for AWS Kinesis

42 lines (41 loc) 1.18 kB
// src/generated/graph.ts import { evaluateSelectorGlobally, filterState, formatEdge } from "@infrascan/core"; import debug from "debug"; var edgesDebug = debug("kinesis:edges"); async function getEdges(stateConnector) { edgesDebug("Fetching edges"); const edges = []; edgesDebug("Evaluating Kinesis|ListStreamConsumers|[]"); const ListStreamConsumersState1 = await evaluateSelectorGlobally( "Kinesis|ListStreamConsumers|[]", stateConnector ); const ListStreamConsumersEdges1 = ListStreamConsumersState1.flatMap( (state) => { const source = filterState(state, "_parameters.StreamARN"); const target = filterState( state, "_result.Consumers[].{target:ConsumerARN,name:ConsumerName}" ); if (!target || !source) { return []; } if (Array.isArray(target)) { return target.map((edgeTarget) => formatEdge(source, edgeTarget)); } return formatEdge(source, target); } ); edgesDebug( `Evaluated Kinesis|ListStreamConsumers|[]: ${ListStreamConsumersEdges1.length} Edges found` ); edges.push(...ListStreamConsumersEdges1); return edges; } export { getEdges };