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


-- | A consul client for Haskell
--   
--   A consul client for Haskell
--   
--   Requires consul 0.5 or later.
@package consul-haskell
@version 0.4.2

module Network.Consul.Types
data Check
Check :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> HealthCheckStatus -> Text -> Maybe Text -> Check
[cNode] :: Check -> Text
[cCheckId] :: Check -> Text
[cName] :: Check -> Maybe Text
[cNotes] :: Check -> Maybe Text
[cServiceId] :: Check -> Maybe Text
[cStatus] :: Check -> HealthCheckStatus
[cOutput] :: Check -> Text
[cServiceName] :: Check -> Maybe Text
data Config
Config :: Bool -> Bool -> Datacenter -> Text -> Text -> Config
[cBootstrap] :: Config -> Bool
[cServer] :: Config -> Bool
[cDatacenter] :: Config -> Datacenter
[cDataDir] :: Config -> Text
[cClientAddr] :: Config -> Text
data Consistency
Consistent :: Consistency
Default :: Consistency
Stale :: Consistency
data ConsulClient
ConsulClient :: Manager -> Text -> PortNumber -> Bool -> ConsulClient
[ccManager] :: ConsulClient -> Manager
[ccHostname] :: ConsulClient -> Text
[ccPort] :: ConsulClient -> PortNumber
[ccWithTls] :: ConsulClient -> Bool
data Datacenter
Datacenter :: Text -> Datacenter
data Health
Health :: Node -> Service -> [Check] -> Health
[hNode] :: Health -> Node
[hService] :: Health -> Service
[hChecks] :: Health -> [Check]
data HealthCheck
Script :: Text -> Text -> HealthCheck
Ttl :: Text -> HealthCheck
Http :: Text -> HealthCheck
data HealthCheckStatus
Critical :: HealthCheckStatus
Passing :: HealthCheckStatus
Unknown :: HealthCheckStatus
Warning :: HealthCheckStatus
data KeyValue
KeyValue :: Word64 -> Word64 -> Word64 -> Maybe ByteString -> Word64 -> Maybe Text -> Text -> KeyValue
[kvCreateIndex] :: KeyValue -> Word64
[kvLockIndex] :: KeyValue -> Word64
[kvModifyIndex] :: KeyValue -> Word64
[kvValue] :: KeyValue -> Maybe ByteString
[kvFlags] :: KeyValue -> Word64
[kvSession] :: KeyValue -> Maybe Text
[kvKey] :: KeyValue -> Text
data KeyValuePut
KeyValuePut :: Text -> ByteString -> Maybe Word64 -> Maybe Word64 -> KeyValuePut
[kvpKey] :: KeyValuePut -> Text
[kvpValue] :: KeyValuePut -> ByteString
[kvpCasIndex] :: KeyValuePut -> Maybe Word64
[kvpFlags] :: KeyValuePut -> Maybe Word64
data Member
Member :: Text -> Text -> Int -> Object -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Member
[mName] :: Member -> Text
[mAddress] :: Member -> Text
[mPort] :: Member -> Int
[mTags] :: Member -> Object
[mStatus] :: Member -> Int
[mProtocolMin] :: Member -> Int
[mProtocolMax] :: Member -> Int
[mProtocolCur] :: Member -> Int
[mDelegateMin] :: Member -> Int
[mDelegateMax] :: Member -> Int
[mDelegateCur] :: Member -> Int
data Node
Node :: Text -> Text -> Node
[nNode] :: Node -> Text
[nAddress] :: Node -> Text
data RegisterRequest
RegisterRequest :: Maybe Datacenter -> Text -> Text -> Maybe Service -> Maybe Check -> RegisterRequest
[rrDatacenter] :: RegisterRequest -> Maybe Datacenter
[rrNode] :: RegisterRequest -> Text
[rrAddress] :: RegisterRequest -> Text
[rrService] :: RegisterRequest -> Maybe Service
[rrCheck] :: RegisterRequest -> Maybe Check
data RegisterHealthCheck
RegisterHealthCheck :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> RegisterHealthCheck
[rhcId] :: RegisterHealthCheck -> Text
[rhcName] :: RegisterHealthCheck -> Text
[rhcNotes] :: RegisterHealthCheck -> Text
[rhcScript] :: RegisterHealthCheck -> Maybe Text
[rhcInterval] :: RegisterHealthCheck -> Maybe Text
[rhcTtl] :: RegisterHealthCheck -> Maybe Text
data RegisterService
RegisterService :: Maybe Text -> Text -> [Text] -> Maybe Int16 -> Maybe HealthCheck -> RegisterService
[rsId] :: RegisterService -> Maybe Text
[rsName] :: RegisterService -> Text
[rsTags] :: RegisterService -> [Text]
[rsPort] :: RegisterService -> Maybe Int16
[rsCheck] :: RegisterService -> Maybe HealthCheck
data Self
Self :: Member -> Self
[sMember] :: Self -> Member
data Service
Service :: Text -> Text -> [Text] -> Maybe Text -> Maybe Int -> Service
[seId] :: Service -> Text
[seService] :: Service -> Text
[seTags] :: Service -> [Text]
[seAddress] :: Service -> Maybe Text
[sePort] :: Service -> Maybe Int
data ServiceResult
ServiceResult :: Text -> Text -> Text -> Text -> [Text] -> Maybe Text -> Maybe Int -> ServiceResult
[srrNode] :: ServiceResult -> Text
[srrAddress] :: ServiceResult -> Text
[srrServiceId] :: ServiceResult -> Text
[srrServiceName] :: ServiceResult -> Text
[srrServiceTags] :: ServiceResult -> [Text]
[srrServiceAddress] :: ServiceResult -> Maybe Text
[srrServicePort] :: ServiceResult -> Maybe Int
data Session
Session :: Text -> Maybe Word64 -> Session
[sId] :: Session -> Text
[sCreateIndex] :: Session -> Maybe Word64
data SessionBehavior
Release :: SessionBehavior
Delete :: SessionBehavior
data SessionInfo
SessionInfo :: Maybe Word64 -> [Text] -> Text -> Text -> Maybe SessionBehavior -> Word64 -> Maybe Text -> Maybe Text -> SessionInfo
[siLockDelay] :: SessionInfo -> Maybe Word64
[siChecks] :: SessionInfo -> [Text]
[siNode] :: SessionInfo -> Text
[siId] :: SessionInfo -> Text
[siBehavior] :: SessionInfo -> Maybe SessionBehavior
[siCreateIndex] :: SessionInfo -> Word64
[siName] :: SessionInfo -> Maybe Text
[siTtl] :: SessionInfo -> Maybe Text
data SessionRequest
SessionRequest :: Maybe Text -> Maybe Text -> Maybe Node -> [Text] -> Maybe SessionBehavior -> Maybe Text -> SessionRequest
[srLockDelay] :: SessionRequest -> Maybe Text
[srName] :: SessionRequest -> Maybe Text
[srNode] :: SessionRequest -> Maybe Node
[srChecks] :: SessionRequest -> [Text]
[srBehavor] :: SessionRequest -> Maybe SessionBehavior
[srTtl] :: SessionRequest -> Maybe Text
data Sequencer
Sequencer :: Text -> Word64 -> Session -> Sequencer
[sKey] :: Sequencer -> Text
[sLockIndex] :: Sequencer -> Word64
[sSession] :: Sequencer -> Session
instance GHC.Show.Show Network.Consul.Types.Health
instance GHC.Show.Show Network.Consul.Types.Self
instance GHC.Show.Show Network.Consul.Types.Member
instance GHC.Show.Show Network.Consul.Types.Node
instance GHC.Show.Show Network.Consul.Types.Check
instance GHC.Show.Show Network.Consul.Types.ServiceResult
instance GHC.Show.Show Network.Consul.Types.Service
instance GHC.Show.Show Network.Consul.Types.SessionInfo
instance GHC.Classes.Eq Network.Consul.Types.SessionInfo
instance GHC.Show.Show Network.Consul.Types.Session
instance GHC.Classes.Eq Network.Consul.Types.KeyValue
instance GHC.Show.Show Network.Consul.Types.KeyValue
instance GHC.Classes.Ord Network.Consul.Types.HealthCheck
instance GHC.Show.Show Network.Consul.Types.HealthCheck
instance GHC.Classes.Eq Network.Consul.Types.HealthCheck
instance GHC.Classes.Ord Network.Consul.Types.SessionBehavior
instance GHC.Enum.Enum Network.Consul.Types.SessionBehavior
instance GHC.Show.Show Network.Consul.Types.SessionBehavior
instance GHC.Classes.Eq Network.Consul.Types.SessionBehavior
instance GHC.Classes.Ord Network.Consul.Types.HealthCheckStatus
instance GHC.Enum.Enum Network.Consul.Types.HealthCheckStatus
instance GHC.Show.Show Network.Consul.Types.HealthCheckStatus
instance GHC.Classes.Eq Network.Consul.Types.HealthCheckStatus
instance GHC.Classes.Ord Network.Consul.Types.Consistency
instance GHC.Enum.Enum Network.Consul.Types.Consistency
instance GHC.Show.Show Network.Consul.Types.Consistency
instance GHC.Classes.Eq Network.Consul.Types.Consistency
instance GHC.Classes.Ord Network.Consul.Types.Datacenter
instance GHC.Show.Show Network.Consul.Types.Datacenter
instance GHC.Classes.Eq Network.Consul.Types.Datacenter
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Health
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Self
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Member
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Config
instance Data.Aeson.Types.ToJSON.ToJSON Network.Consul.Types.RegisterService
instance Data.Aeson.Types.ToJSON.ToJSON Network.Consul.Types.RegisterHealthCheck
instance Data.Aeson.Types.ToJSON.ToJSON Network.Consul.Types.SessionRequest
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Node
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Check
instance Data.Aeson.Types.ToJSON.ToJSON Network.Consul.Types.ServiceResult
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.ServiceResult
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Service
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.SessionInfoList
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.SessionInfo
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Session
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.KeyValue
instance Data.Aeson.Types.ToJSON.ToJSON Network.Consul.Types.HealthCheck
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.SessionBehavior
instance Data.Aeson.Types.ToJSON.ToJSON Network.Consul.Types.SessionBehavior
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.HealthCheckStatus
instance Data.Aeson.Types.FromJSON.FromJSON Network.Consul.Types.Datacenter

module Network.Consul.Internal
hostWithScheme :: ConsulClient -> Text
deleteKey :: MonadIO m => Manager -> Text -> PortNumber -> Text -> Bool -> Maybe Datacenter -> m Bool
getKey :: MonadIO m => Manager -> Text -> PortNumber -> Text -> Maybe Word64 -> Maybe Consistency -> Maybe Datacenter -> m (Maybe KeyValue)
getKeys :: MonadIO m => Manager -> Text -> PortNumber -> Text -> Maybe Word64 -> Maybe Consistency -> Maybe Datacenter -> m [KeyValue]
listKeys :: MonadIO m => Manager -> Text -> PortNumber -> Text -> Maybe Word64 -> Maybe Consistency -> Maybe Datacenter -> m [Text]
putKey :: MonadIO m => Manager -> Text -> PortNumber -> KeyValuePut -> Maybe Datacenter -> m Bool
putKeyAcquireLock :: MonadIO m => Manager -> Text -> PortNumber -> KeyValuePut -> Session -> Maybe Datacenter -> m Bool
putKeyReleaseLock :: MonadIO m => Manager -> Text -> PortNumber -> KeyValuePut -> Session -> Maybe Datacenter -> m Bool
deregisterHealthCheck :: MonadIO m => Manager -> Text -> PortNumber -> Text -> m ()
deregisterService :: MonadIO m => Manager -> Text -> PortNumber -> Text -> m ()
failHealthCheck :: MonadIO m => Manager -> Text -> PortNumber -> Text -> m ()
getSelf :: MonadIO m => Manager -> Text -> PortNumber -> m (Maybe Self)
passHealthCheck :: MonadIO m => Manager -> Text -> PortNumber -> Text -> Maybe Datacenter -> m ()
registerHealthCheck :: MonadIO m => Manager -> Text -> PortNumber -> RegisterHealthCheck -> m ()
registerService :: MonadIO m => Manager -> Text -> PortNumber -> RegisterService -> Maybe Datacenter -> m Bool
warnHealthCheck :: MonadIO m => Manager -> Text -> PortNumber -> Text -> m ()
getServiceChecks :: MonadIO m => Manager -> Text -> PortNumber -> Text -> m [Check]
getServiceHealth :: MonadIO m => Manager -> Text -> PortNumber -> Text -> m (Maybe [Health])
createSession :: MonadIO m => Manager -> Text -> PortNumber -> SessionRequest -> Maybe Datacenter -> m (Maybe Session)
destroySession :: MonadIO m => Manager -> Text -> PortNumber -> Session -> Maybe Datacenter -> m ()
getSessionInfo :: MonadIO m => Manager -> Text -> PortNumber -> Session -> Maybe Datacenter -> m (Maybe [SessionInfo])
renewSession :: MonadIO m => Manager -> Text -> PortNumber -> Session -> Maybe Datacenter -> m Bool
getDatacenters :: MonadIO m => Manager -> Text -> PortNumber -> m [Datacenter]
getService :: MonadIO m => Manager -> Text -> PortNumber -> Text -> Maybe Text -> Maybe Datacenter -> m (Maybe [ServiceResult])
getServices :: MonadIO m => Manager -> Text -> PortNumber -> Maybe Text -> Maybe Datacenter -> m [Text]

module Network.Consul
createSession :: MonadIO m => ConsulClient -> SessionRequest -> Maybe Datacenter -> m (Maybe Session)
deleteKey :: MonadIO m => ConsulClient -> Text -> Bool -> Maybe Datacenter -> m Bool
destroySession :: MonadIO m => ConsulClient -> Session -> Maybe Datacenter -> m ()
deregisterService :: MonadIO m => ConsulClient -> Text -> m ()
getKey :: MonadIO m => ConsulClient -> Text -> Maybe Word64 -> Maybe Consistency -> Maybe Datacenter -> m (Maybe KeyValue)
getKeys :: MonadIO m => ConsulClient -> Text -> Maybe Word64 -> Maybe Consistency -> Maybe Datacenter -> m [KeyValue]
getSelf :: MonadIO m => ConsulClient -> m (Maybe Self)
getService :: MonadIO m => ConsulClient -> Text -> Maybe Text -> Maybe Datacenter -> m (Maybe [ServiceResult])
getServices :: MonadIO m => ConsulClient -> Maybe Text -> Maybe Datacenter -> m [Text]
getServiceHealth :: MonadIO m => ConsulClient -> Text -> m (Maybe [Health])
getSessionInfo :: MonadIO m => ConsulClient -> Session -> Maybe Datacenter -> m (Maybe [SessionInfo])
getSequencerForLock :: MonadIO m => ConsulClient -> Text -> Session -> Maybe Datacenter -> m (Maybe Sequencer)
initializeConsulClient :: MonadIO m => Text -> PortNumber -> Maybe Manager -> m ConsulClient
initializeTlsConsulClient :: MonadIO m => Text -> PortNumber -> Maybe Manager -> m ConsulClient
isValidSequencer :: MonadIO m => ConsulClient -> Sequencer -> Maybe Datacenter -> m Bool
listKeys :: MonadIO m => ConsulClient -> Text -> Maybe Word64 -> Maybe Consistency -> Maybe Datacenter -> m [Text]
passHealthCheck :: MonadIO m => ConsulClient -> Text -> Maybe Datacenter -> m ()
putKey :: MonadIO m => ConsulClient -> KeyValuePut -> Maybe Datacenter -> m Bool
putKeyAcquireLock :: MonadIO m => ConsulClient -> KeyValuePut -> Session -> Maybe Datacenter -> m Bool
putKeyReleaseLock :: MonadIO m => ConsulClient -> KeyValuePut -> Session -> Maybe Datacenter -> m Bool
registerService :: MonadIO m => ConsulClient -> RegisterService -> Maybe Datacenter -> m Bool
renewSession :: MonadIO m => ConsulClient -> Session -> Maybe Datacenter -> m Bool
runService :: (MonadBaseControl IO m, MonadIO m) => ConsulClient -> RegisterService -> m () -> Maybe Datacenter -> m ()
withSession :: forall m a. (MonadBaseControl IO m, MonadIO m, MonadMask m) => ConsulClient -> Maybe Text -> Int -> Session -> (Session -> m a) -> m a -> m a
