-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | NMIS file parser
--
-- Parser for NMIS (Network Management Information System) files
-- to record type. Main module to use is Text.Nmis and
-- parseNmis function
@package nmis-parser
@version 0.1.0.1
module Text.Internal.NmisTypes
-- | Main type that holds all parsed data
data Nmis
Nmis :: Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> Maybe Integer -> Maybe String -> Maybe String -> Maybe String -> Nmis
[customer] :: Nmis -> Maybe String
[groups] :: Nmis -> Maybe String
[active] :: Nmis -> Maybe String
[advancedOptions] :: Nmis -> Maybe String
[authKey] :: Nmis -> Maybe String
[authPassword] :: Nmis -> Maybe String
[authProtocol] :: Nmis -> Maybe String
[businessService] :: Nmis -> Maybe String
[calls] :: Nmis -> Maybe String
[cbqos] :: Nmis -> Maybe String
[collect] :: Nmis -> Maybe String
[community] :: Nmis -> Maybe String
[depend] :: Nmis -> Maybe String
[display_name] :: Nmis -> Maybe String
[group] :: Nmis -> Maybe String
[host] :: Nmis -> Maybe String
[location] :: Nmis -> Maybe String
[model] :: Nmis -> Maybe String
[name] :: Nmis -> Maybe String
[netType] :: Nmis -> Maybe String
[ping] :: Nmis -> Maybe String
[port] :: Nmis -> Maybe String
[rancid] :: Nmis -> Maybe String
[roleType] :: Nmis -> Maybe String
[serviceStatus] :: Nmis -> Maybe String
[services] :: Nmis -> Maybe String
[threshold] :: Nmis -> Maybe String
[timezone] :: Nmis -> Maybe Integer
[uuid] :: Nmis -> Maybe String
[version] :: Nmis -> Maybe String
[webserver] :: Nmis -> Maybe String
instance GHC.Show.Show Text.Internal.NmisTypes.Nmis
-- | Uses megaparsec library
module Text.Internal.Helper
-- | space consumer - consume space and comments
spaceConsumer :: Parser ()
-- | hashbang line comment
lineComment :: Parser ()
-- | space consumer no 2
scn :: Parser ()
-- | lexeme
lexeme :: Parser a -> Parser a
-- | symbol
symbol :: String -> Parser String
-- | arrow - parse haskell constraint like arrow sign
parrow :: Parser String
-- | equals - parse equals sign
pequals :: Parser String
-- | parse all between parens
parens :: Parser a -> Parser a
-- | parse all between braces
braces :: Parser a -> Parser a
-- | parse until string passed as function parameter
until :: String -> Parsec Dec String String
-- | parse until newline character
untilEol :: Parsec Dec String String
-- | parse until newline character
phash :: Parser String
-- | parse quoted string with optional space in front of it
pQuotedStr :: Parser String
-- | parse undef literal
pUndefined :: Parser String
-- | combined parser for single record
pOpt :: Parser (String, String)
module Text.Nmis
-- | Parse nmis file to [Nmis]
--
-- This is a single function you will need to parse the file
parseNmis :: Parser [Nmis]
-- | Parses single record
parseSingle :: Parser Nmis
-- | This function is used to match records by group/groups field.
--
-- You have two lists with Nmis types [Nmis] [Nmis]
--
-- and you want to match group field from one to the groups field from
-- the other,
--
-- grab a customer field from first list and attach it to the second list
-- which you can save later.
--
-- This is something of practical use which I needed in the real world.
lookupInList :: [Nmis] -> Nmis -> Nmis
-- | Filters Nmis by Nodes group
filterByGroup :: Maybe String -> [Nmis] -> [Nmis]
-- | parses many single values until ');'
parseToList :: Parser [Nmis]
-- | Show maybe integer for timezone field
showMaybeInt :: Maybe Integer -> String
-- | Show Nmis list
--
-- Use for printing the [Nmis] list
showNmis :: [Nmis] -> String