influxdb-0.7.1.1: Haskell client library for InfluxDB

Safe HaskellNone
LanguageHaskell2010

Database.InfluxDB.Http

Contents

Synopsis

Documentation

data Config Source

Configurations for HTTP API client.

Constructors

Config 

data Credentials Source

User credentials.

Constructors

Credentials 

Fields

credsUser :: !Text
 
credsPassword :: !Text
 

rootCreds :: Credentials Source

Default credentials.

data Server Source

Server location.

Constructors

Server 

Fields

serverHost :: !Text

Hostname or IP address

serverPort :: !Int
 
serverSsl :: !Bool

SSL is enabled or not in the server side

localServer :: Server Source

Default server location.

Writing Data

Updating Points

post :: Config -> Text -> SeriesT IO a -> IO a Source

Post a bunch of writes for (possibly multiple) series into a database.

postWithPrecision Source

Arguments

:: Config 
-> Text

Database name

-> TimePrecision 
-> SeriesT IO a 
-> IO a 

Post a bunch of writes for (possibly multiple) series into a database like post but with time precision.

data SeriesT m a Source

Monad transformer to batch up multiple writes of series to speed up insertions.

data PointT p m a Source

Monad transformer to batch up multiple writes of points to speed up insertions.

Instances

writeSeries Source

Arguments

:: (Monad m, ToSeriesData a) 
=> Text

Series name

-> a

Series data

-> SeriesT m () 

Write a single series data.

withSeries Source

Arguments

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

deleteSeries Source

Arguments

:: Config 
-> Text

Database name

-> Text

Series name

-> IO () 

Querying Data

query Source

Arguments

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

data Stream m a Source

Effectful stream

Constructors

Yield a (m (Stream m a))

Yield a value. The stream will be continued.

Done

The end of the stream.

queryChunked Source

Arguments

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

dropDatabase Source

Arguments

:: Config 
-> Text

Database name

-> IO () 

Drop a database. Requires cluster admin privileges.

configureDatabase Source

Arguments

:: Config 
-> Text

Database name

-> DatabaseRequest 
-> IO () 

Security

Shard spaces

listShardSpaces :: Config -> IO [ShardSpace] Source

List shard spaces.

createShardSpace Source

Arguments

:: Config 
-> Text

Database

-> ShardSpaceRequest 
-> IO () 

Create a shard space.

dropShardSpace Source

Arguments

:: Config 
-> Text

Database name

-> Text

Shard space name

-> IO () 

Cluster admin

listClusterAdmins :: Config -> IO [Admin] Source

List cluster administrators.

addClusterAdmin Source

Arguments

:: Config 
-> Text

Admin name

-> Text

Password

-> IO Admin 

Add a new cluster administrator. Requires cluster admin privilege.

updateClusterAdminPassword Source

Arguments

:: Config 
-> Admin 
-> Text

New password

-> IO () 

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

listDatabaseUsers :: Config -> Text -> IO [User] Source

List database users.

authenticateDatabaseUser Source

Arguments

:: Config 
-> Text

Database name

-> IO () 

addDatabaseUser Source

Arguments

:: Config 
-> Text

Database name

-> Text

User name

-> Text

Password

-> IO () 

Add an user to the database users.

updateDatabaseUserPassword Source

Arguments

:: Config 
-> Text

Database name

-> Text

User name

-> Text

New password

-> IO () 

Update password for the database user.

deleteDatabaseUser Source

Arguments

:: Config 
-> Text

Database name

-> Text

User name

-> IO () 

Delete an user from the database users.

grantAdminPrivilegeTo Source

Arguments

:: Config 
-> Text

Database name

-> Text

User name

-> IO () 

Give admin privilege to the user.

revokeAdminPrivilegeFrom Source

Arguments

:: Config 
-> Text

Database name

-> Text

User name

-> IO () 

Remove admin privilege from the user.

Other API

listInterfaces :: Config -> IO [Text] Source

Fetch current list of available interfaces