-- 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