Safe Haskell | None |
---|
- data Config = Config {}
- data Credentials = Credentials {
- credsUser :: !Text
- credsPassword :: !Text
- rootCreds :: Credentials
- data Server = Server {
- serverHost :: !Text
- serverPort :: !Int
- serverSsl :: !Bool
- localServer :: Server
- data TimePrecision
- post :: Config -> Text -> SeriesT IO a -> IO a
- postWithPrecision :: Config -> Text -> TimePrecision -> SeriesT IO a -> IO a
- data SeriesT m a
- data PointT p m a
- writeSeries :: (Monad m, ToSeriesData a) => Text -> a -> SeriesT m ()
- withSeries :: forall m a. (Monad m, ToSeriesData a) => Text -> PointT a m () -> SeriesT m ()
- writePoints :: (Monad m, ToSeriesData a) => a -> PointT a m ()
- deleteSeries :: Config -> Text -> Text -> IO ()
- query :: FromSeries a => Config -> Text -> Text -> IO [a]
- data Stream m a
- queryChunked :: FromSeries a => Config -> Text -> Text -> (Stream IO a -> IO b) -> IO b
- listDatabases :: Config -> IO [Database]
- createDatabase :: Config -> Text -> IO ()
- dropDatabase :: Config -> Text -> IO ()
- listClusterAdmins :: Config -> IO [Admin]
- authenticateClusterAdmin :: Config -> IO ()
- addClusterAdmin :: Config -> Text -> Text -> IO Admin
- updateClusterAdminPassword :: Config -> Admin -> Text -> IO ()
- deleteClusterAdmin :: Config -> Admin -> IO ()
- listDatabaseUsers :: Config -> Text -> IO [User]
- authenticateDatabaseUser :: Config -> Text -> IO ()
- addDatabaseUser :: Config -> Text -> Text -> Text -> IO ()
- updateDatabaseUserPassword :: Config -> Text -> Text -> Text -> IO ()
- deleteDatabaseUser :: Config -> Text -> Text -> IO ()
- grantAdminPrivilegeTo :: Config -> Text -> Text -> IO ()
- revokeAdminPrivilegeFrom :: Config -> Text -> Text -> IO ()
- ping :: Config -> IO Ping
- listInterfaces :: Config -> IO [Text]
- isInSync :: Config -> IO Bool
Documentation
Configurations for HTTP API client.
Config | |
|
rootCreds :: CredentialsSource
Default credentials.
Server location.
Server | |
|
Default server location.
Writing Data
Updating Points
post :: Config -> Text -> SeriesT IO a -> IO aSource
Post a bunch of writes for (possibly multiple) series into a database.
Post a bunch of writes for (possibly multiple) series into a database like
post
but with time precision.
Monad transformer to batch up multiple writes of series to speed up insertions.
MonadTrans SeriesT | |
Monad m => Monad (SeriesT m) | |
Functor m => Functor (SeriesT m) | |
Applicative m => Applicative (SeriesT m) | |
MonadIO m => MonadIO (SeriesT m) | |
Monad m => MonadWriter (DList Series) (SeriesT m) |
Monad transformer to batch up multiple writes of points to speed up insertions.
MonadTrans (PointT p) | |
Monad m => MonadWriter (DList (Vector Value)) (PointT p m) | |
Monad m => Monad (PointT p m) | |
Functor m => Functor (PointT p m) | |
Applicative m => Applicative (PointT p m) | |
MonadIO m => MonadIO (PointT p m) |
:: (Monad m, ToSeriesData a) | |
=> Text | Series name |
-> a | Series data |
-> SeriesT m () |
Write a single series data.
:: forall m a . (Monad m, ToSeriesData a) | |
=> Text | Series name |
-> PointT a m () | |
-> SeriesT m () |
Write a bunch of data for a single series. Columns for the points don't
need to be specified because they can be inferred from the type of a
.
writePoints :: (Monad m, ToSeriesData a) => a -> PointT a m ()Source
Write a data into a series.
Deleting Points
One Time Deletes
Regularly Scheduled Deletes (not implemented)
Querying Data
:: FromSeries a | |
=> Config | |
-> Text | Database name |
-> Text | Query text |
-> IO [a] |
Query a specified database.
The query format is specified in the InfluxDB Query Language.
Effectful stream
:: FromSeries a | |
=> Config | |
-> Text | Database name |
-> Text | Query text |
-> (Stream IO a -> IO b) | Action to handle the resulting stream of series |
-> IO b |
Query a specified database like query
but in a streaming fashion.
Administration & Security
Creating and Dropping Databases
listDatabases :: Config -> IO [Database]Source
List existing databases.
createDatabase :: Config -> Text -> IO ()Source
Create a new database. Requires cluster admin privileges.
Drop a database. Requires cluster admin privileges.
Security
Cluster admin
listClusterAdmins :: Config -> IO [Admin]Source
List cluster administrators.
authenticateClusterAdmin :: Config -> IO ()Source
Add a new cluster administrator. Requires cluster admin privilege.
updateClusterAdminPasswordSource
Update a cluster administrator's password. Requires cluster admin privilege.
deleteClusterAdmin :: Config -> Admin -> IO ()Source
Delete a cluster administrator. Requires cluster admin privilege.
Database user
Add an user to the database users.
updateDatabaseUserPasswordSource
Update password for the database user.
Delete an user from the database users.
Give admin privilege to the user.
revokeAdminPrivilegeFromSource
Remove admin privilege from the user.
Other API
listInterfaces :: Config -> IO [Text]Source
Fetch current list of available interfaces