influxdb-0.9.1.2: Haskell client library for InfluxDB

Safe HaskellNone
LanguageHaskell2010

Database.InfluxDB.Http

Contents

Synopsis

Documentation

data Config Source

Configurations for HTTP API client.

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.

writeSeriesData Source

Arguments

:: Monad m 
=> Text

Series name

-> SeriesData

Series data

-> SeriesT m () 

Write a single series data.

withSeries Source

Arguments

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