-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Read the configuration file of the standard LXD client.
--   
--   This package can read the configuration file of the standard LXD
--   client.
--   
--   It can for example extract information about the configured LXD
--   remotes on your system.
@package lxd-client-config
@version 0.1.0.1

module System.LXD.Client.Config

-- | Return the file path of the default configuration file.
defaultFile :: IO FilePath

-- | Parse the default configuration file
--   
--   Throws an IO exception or a <tt>ParseException</tt>
parseDefaultFile :: IO Config

-- | Parse the given configuration file.
--   
--   Throws an IO exception or a <tt>ParseException</tt>
parseFile :: FilePath -> IO Config

-- | The main configuration of the default LXD client.
--   
--   Represents the file at <tt>~/.config/lxc/config.yml</tt>.
data Config
Config :: Text -> Map Text Remote -> Map Text Text -> Config
[configDefaultRemote] :: Config -> Text
[configRemotes] :: Config -> Map Text Remote
[configAliases] :: Config -> Map Text Text

-- | The configuration of a remote.
--   
--   Used by <a>Config</a>.
data Remote
Remote :: Text -> Bool -> Maybe Text -> Remote
[remoteAddr] :: Remote -> Text
[remotePublic] :: Remote -> Bool
[remoteProtocol] :: Remote -> Maybe Text
instance GHC.Show.Show System.LXD.Client.Config.Config
instance GHC.Classes.Eq System.LXD.Client.Config.Config
instance GHC.Show.Show System.LXD.Client.Config.Remote
instance GHC.Classes.Eq System.LXD.Client.Config.Remote
instance Data.Aeson.Types.FromJSON.FromJSON System.LXD.Client.Config.Config
instance Data.Aeson.Types.ToJSON.ToJSON System.LXD.Client.Config.Config
instance Data.Aeson.Types.FromJSON.FromJSON System.LXD.Client.Config.Remote
instance Data.Aeson.Types.ToJSON.ToJSON System.LXD.Client.Config.Remote
