-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | types for ingesting vflow data with aeson
--
-- `vflow-types` provides types suitable for ingesting vflow data with
-- aeson.
--
-- Verizon Digital's vflow is a network flow collector. Features:
--
--
-- - IPFIX RFC7011 collector
-- - sFlow v5 raw header / counters collector
-- - Netflow v5 collector
-- - Netflow v9 collector
-- - Decoding sFlow raw header L2L3L4
-- - Producer to Apache Kafka, NSQ, NATS
-- - Replicate IPFIX to 3rd party collector
-- - Support for IPv4 and IPv6
-- - Monitoring with InfluxDB and OpenTSDB backend
-- - Easy integration with JUNOS
--
--
-- Note that this is not an official Verizon Digital product.
@package vflow-types
@version 0.1
module VFlow.Types.IpFix
data IpFix
IpFix :: !IPv4 -> !Header -> [[DataSetsEltElt]] -> IpFix
[ipFixAgentID] :: IpFix -> !IPv4
[ipFixHeader] :: IpFix -> !Header
[ipFixDataSets] :: IpFix -> [[DataSetsEltElt]]
data DataSetsEltElt
DataSetsEltElt :: !IPv4 :|: HexInt -> !Int -> DataSetsEltElt
[dataSetsEltEltV] :: DataSetsEltElt -> !IPv4 :|: HexInt
[dataSetsEltEltI] :: DataSetsEltElt -> !Int
data Header
Header :: !Int -> !Int -> !Int -> !Int -> !Int -> Header
[headerLength] :: Header -> !Int
[headerSequenceNo] :: Header -> !Int
[headerExportTime] :: Header -> !Int
[headerVersion] :: Header -> !Int
[headerDomainID] :: Header -> !Int
newtype HexInt
HexInt :: Int64 -> HexInt
instance GHC.Generics.Generic VFlow.Types.IpFix.IpFix
instance GHC.Classes.Eq VFlow.Types.IpFix.IpFix
instance GHC.Show.Show VFlow.Types.IpFix.IpFix
instance GHC.Generics.Generic VFlow.Types.IpFix.Header
instance GHC.Classes.Eq VFlow.Types.IpFix.Header
instance GHC.Show.Show VFlow.Types.IpFix.Header
instance GHC.Generics.Generic VFlow.Types.IpFix.DataSetsEltElt
instance GHC.Classes.Eq VFlow.Types.IpFix.DataSetsEltElt
instance GHC.Show.Show VFlow.Types.IpFix.DataSetsEltElt
instance GHC.Show.Show VFlow.Types.IpFix.HexInt
instance GHC.Classes.Eq VFlow.Types.IpFix.HexInt
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.IpFix.IpFix
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.IpFix.IpFix
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.IpFix.Header
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.IpFix.Header
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.IpFix.DataSetsEltElt
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.IpFix.DataSetsEltElt
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.IpFix.HexInt
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.IpFix.HexInt
module VFlow.Types.NetFlow5
data NetFlow
NetFlow :: !IPv4 -> !Header -> [FlowsElt] -> NetFlow
[netflowAgentID] :: NetFlow -> !IPv4
[netflowHeader] :: NetFlow -> !Header
[netflowFlows] :: NetFlow -> [FlowsElt]
data FlowsElt
FlowsElt :: !Int -> !Int -> !Int -> !Int -> !IPv4 -> !Int -> !Int -> !IPv4 -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !IPv4 -> !Int -> FlowsElt
[flowsEltDstAsNum] :: FlowsElt -> !Int
[flowsEltStartTime] :: FlowsElt -> !Int
[flowsEltL3Octets] :: FlowsElt -> !Int
[flowsEltTCPFlags] :: FlowsElt -> !Int
[flowsEltDstAddr] :: FlowsElt -> !IPv4
[flowsEltTos] :: FlowsElt -> !Int
[flowsEltPadding1] :: FlowsElt -> !Int
[flowsEltNextHop] :: FlowsElt -> !IPv4
[flowsEltSrcPort] :: FlowsElt -> !Int
[flowsEltInput] :: FlowsElt -> !Int
[flowsEltPktCount] :: FlowsElt -> !Int
[flowsEltOutput] :: FlowsElt -> !Int
[flowsEltDstMask] :: FlowsElt -> !Int
[flowsEltDstPort] :: FlowsElt -> !Int
[flowsEltEndTime] :: FlowsElt -> !Int
[flowsEltPadding2] :: FlowsElt -> !Int
[flowsEltSrcMask] :: FlowsElt -> !Int
[flowsEltSrcAsNum] :: FlowsElt -> !Int
[flowsEltSrcAddr] :: FlowsElt -> !IPv4
[flowsEltProtType] :: FlowsElt -> !Int
data Header
Header :: !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> Header
[headerUNIXSecs] :: Header -> !Int
[headerCount] :: Header -> !Int
[headerEngType] :: Header -> !Int
[headerVersion] :: Header -> !Int
[headerSysUpTimeMSecs] :: Header -> !Int
[headerUNIXNSecs] :: Header -> !Int
[headerSmpInt] :: Header -> !Int
[headerSeqNum] :: Header -> !Int
[headerEngID] :: Header -> !Int
instance GHC.Generics.Generic VFlow.Types.NetFlow5.NetFlow
instance GHC.Classes.Eq VFlow.Types.NetFlow5.NetFlow
instance GHC.Show.Show VFlow.Types.NetFlow5.NetFlow
instance GHC.Generics.Generic VFlow.Types.NetFlow5.Header
instance GHC.Classes.Eq VFlow.Types.NetFlow5.Header
instance GHC.Show.Show VFlow.Types.NetFlow5.Header
instance GHC.Generics.Generic VFlow.Types.NetFlow5.FlowsElt
instance GHC.Classes.Eq VFlow.Types.NetFlow5.FlowsElt
instance GHC.Show.Show VFlow.Types.NetFlow5.FlowsElt
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow5.NetFlow
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow5.NetFlow
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow5.Header
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow5.Header
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow5.FlowsElt
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow5.FlowsElt
module VFlow.Types.NetFlow9
data NetFlow
NetFlow :: !IPv4 -> !Header -> [[DataSetsEltElt]] -> NetFlow
[netflowAgentID] :: NetFlow -> !IPv4
[netflowHeader] :: NetFlow -> !Header
[netflowDataSets] :: NetFlow -> [[DataSetsEltElt]]
data Header
Header :: !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> Header
[headerUNIXSecs] :: Header -> !Int
[headerSrcID] :: Header -> !Int
[headerCount] :: Header -> !Int
[headerSysUpTime] :: Header -> !Int
[headerVersion] :: Header -> !Int
[headerSeqNum] :: Header -> !Int
data DataSetsEltElt
DataSetsEltElt :: !IPv4 :|: HexInt -> !Int -> DataSetsEltElt
[dataSetsEltEltV] :: DataSetsEltElt -> !IPv4 :|: HexInt
[dataSetsEltEltI] :: DataSetsEltElt -> !Int
newtype HexInt
HexInt :: Int64 -> HexInt
instance GHC.Generics.Generic VFlow.Types.NetFlow9.NetFlow
instance GHC.Classes.Eq VFlow.Types.NetFlow9.NetFlow
instance GHC.Show.Show VFlow.Types.NetFlow9.NetFlow
instance GHC.Generics.Generic VFlow.Types.NetFlow9.Header
instance GHC.Classes.Eq VFlow.Types.NetFlow9.Header
instance GHC.Show.Show VFlow.Types.NetFlow9.Header
instance GHC.Generics.Generic VFlow.Types.NetFlow9.DataSetsEltElt
instance GHC.Classes.Eq VFlow.Types.NetFlow9.DataSetsEltElt
instance GHC.Show.Show VFlow.Types.NetFlow9.DataSetsEltElt
instance GHC.Show.Show VFlow.Types.NetFlow9.HexInt
instance GHC.Classes.Eq VFlow.Types.NetFlow9.HexInt
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow9.NetFlow
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow9.NetFlow
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow9.Header
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow9.Header
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow9.DataSetsEltElt
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow9.DataSetsEltElt
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.NetFlow9.HexInt
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.NetFlow9.HexInt
module VFlow.Types.SFlow
data SFlow
SFlow :: !IPv4 -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> [SamplesElt] -> SFlow
[sflowIPAddress] :: SFlow -> !IPv4
[sflowAgentSubID] :: SFlow -> !Int
[sflowIPVersion] :: SFlow -> !Int
[sflowSequenceNo] :: SFlow -> !Int
[sflowSysUpTime] :: SFlow -> !Int
[sflowSamplesNo] :: SFlow -> !Int
[sflowVersion] :: SFlow -> !Int
[sflowSamples] :: SFlow -> [SamplesElt]
data ExtRouter
ExtRouter :: !IPv4 -> !Int -> !Int -> ExtRouter
[extRouterNextHop] :: ExtRouter -> !IPv4
[extRouterDstMask] :: ExtRouter -> !Int
[extRouterSrcMask] :: ExtRouter -> !Int
data ExtSwitch
ExtSwitch :: !Int -> !Int -> !Int -> !Int -> ExtSwitch
[extSwitchDstPriority] :: ExtSwitch -> !Int
[extSwitchSrcVlan] :: ExtSwitch -> !Int
[extSwitchSrcPriority] :: ExtSwitch -> !Int
[extSwitchDstVlan] :: ExtSwitch -> !Int
data L2
L2 :: !Int -> !Int -> !Mac -> !Mac -> L2
[l2Vlan] :: L2 -> !Int
[l2EtherType] :: L2 -> !Int
[l2DstMAC] :: L2 -> !Mac
[l2SrcMAC] :: L2 -> !Mac
data L3
L3 :: !Int -> !Int -> !Int -> !Int -> !Int -> !IPv4 -> !Int -> !IPv4 -> !Int -> !Int -> !Int -> L3
[l3TTL] :: L3 -> !Int
[l3Flags] :: L3 -> !Int
[l3TotalLen] :: L3 -> !Int
[l3Checksum] :: L3 -> !Int
[l3TOS] :: L3 -> !Int
[l3Dst] :: L3 -> !IPv4
[l3Protocol] :: L3 -> !Int
[l3Src] :: L3 -> !IPv4
[l3Version] :: L3 -> !Int
[l3ID] :: L3 -> !Int
[l3FragOff] :: L3 -> !Int
data L4
L4 :: !Int -> !Int -> !Int -> !Int -> !Int -> L4
[l4Flags] :: L4 -> !Int
[l4DataOffset] :: L4 -> !Int
[l4SrcPort] :: L4 -> !Int
[l4Reserved] :: L4 -> !Int
[l4DstPort] :: L4 -> !Int
data RawHeader
RawHeader :: !L2 -> !L3 -> !L4 -> RawHeader
[rawHeaderL2] :: RawHeader -> !L2
[rawHeaderL3] :: RawHeader -> !L3
[rawHeaderL4] :: RawHeader -> !L4
data Records
Records :: !ExtRouter -> !ExtSwitch -> !RawHeader -> Records
[recordsExtRouter] :: Records -> !ExtRouter
[recordsExtSwitch] :: Records -> !ExtSwitch
[recordsRawHeader] :: Records -> !RawHeader
data SamplesElt
SamplesElt :: !Int -> !Int -> !Records -> !Int -> !Int -> !Int -> !Int -> !Int -> !Int -> SamplesElt
[samplesEltDrops] :: SamplesElt -> !Int
[samplesEltSourceID] :: SamplesElt -> !Int
[samplesEltRecords] :: SamplesElt -> !Records
[samplesEltInput] :: SamplesElt -> !Int
[samplesEltSequenceNo] :: SamplesElt -> !Int
[samplesEltSamplingRate] :: SamplesElt -> !Int
[samplesEltOutput] :: SamplesElt -> !Int
[samplesEltRecordsNo] :: SamplesElt -> !Int
[samplesEltSamplePool] :: SamplesElt -> !Int
instance GHC.Generics.Generic VFlow.Types.SFlow.SFlow
instance GHC.Classes.Eq VFlow.Types.SFlow.SFlow
instance GHC.Show.Show VFlow.Types.SFlow.SFlow
instance GHC.Generics.Generic VFlow.Types.SFlow.SamplesElt
instance GHC.Classes.Eq VFlow.Types.SFlow.SamplesElt
instance GHC.Show.Show VFlow.Types.SFlow.SamplesElt
instance GHC.Generics.Generic VFlow.Types.SFlow.Records
instance GHC.Classes.Eq VFlow.Types.SFlow.Records
instance GHC.Show.Show VFlow.Types.SFlow.Records
instance GHC.Generics.Generic VFlow.Types.SFlow.RawHeader
instance GHC.Classes.Eq VFlow.Types.SFlow.RawHeader
instance GHC.Show.Show VFlow.Types.SFlow.RawHeader
instance GHC.Generics.Generic VFlow.Types.SFlow.L4
instance GHC.Classes.Eq VFlow.Types.SFlow.L4
instance GHC.Show.Show VFlow.Types.SFlow.L4
instance GHC.Generics.Generic VFlow.Types.SFlow.L3
instance GHC.Classes.Eq VFlow.Types.SFlow.L3
instance GHC.Show.Show VFlow.Types.SFlow.L3
instance GHC.Generics.Generic VFlow.Types.SFlow.L2
instance GHC.Classes.Eq VFlow.Types.SFlow.L2
instance GHC.Show.Show VFlow.Types.SFlow.L2
instance GHC.Generics.Generic VFlow.Types.SFlow.ExtSwitch
instance GHC.Classes.Eq VFlow.Types.SFlow.ExtSwitch
instance GHC.Show.Show VFlow.Types.SFlow.ExtSwitch
instance GHC.Generics.Generic VFlow.Types.SFlow.ExtRouter
instance GHC.Classes.Eq VFlow.Types.SFlow.ExtRouter
instance GHC.Show.Show VFlow.Types.SFlow.ExtRouter
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.SFlow
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.SFlow
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.SamplesElt
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.SamplesElt
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.Records
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.Records
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.RawHeader
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.RawHeader
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.L4
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.L4
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.L3
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.L3
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.L2
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.L2
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.ExtSwitch
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.ExtSwitch
instance Data.Aeson.Types.FromJSON.FromJSON VFlow.Types.SFlow.ExtRouter
instance Data.Aeson.Types.ToJSON.ToJSON VFlow.Types.SFlow.ExtRouter