ganeti

Safe HaskellNone

Ganeti.DataCollectors.Types

Description

Implementation of the Ganeti data collector types.

Synopsis

Documentation

data DCCategory Source

The possible classes a data collector can belong to.

Instances

Eq DCCategory 
Show DCCategory 
JSON DCCategory

The JSON instance for DCCategory.

data DCStatusCode Source

The possible status codes of a data collector.

Constructors

DCSCOk

Everything is OK

DCSCTempBad

Bad, but being automatically fixed

DCSCUnknown

Unable to determine the status

DCSCBad

Bad. External intervention required

Instances

Eq DCStatusCode 
Ord DCStatusCode 
Show DCStatusCode 
JSON DCStatusCode

The JSON instance for CollectorStatus.

data DCStatus Source

The status of a "status reporting data collector".

Constructors

DCStatus 

Instances

Eq DCStatus 
Show DCStatus 
JSON DCStatus 

loadDCStatus :: JSValue -> Result DCStatusSource

toDictDCStatus :: DCStatus -> [(String, JSValue)]Source

data DCKind Source

The type representing the kind of the collector.

Constructors

DCKPerf

Performance reporting collector

DCKStatus

Status reporting collector

Instances

Eq DCKind 
Show DCKind 
JSON DCKind

The JSON instance for CollectorKind.

data DCVersion Source

Type representing the version number of a data collector.

Constructors

DCVerBuiltin 
DCVersion String 

Instances

Eq DCVersion 
Show DCVersion 
JSON DCVersion

The JSON instance for DCVersion.

data DCReport Source

This is the format of the report produced by each data collector.

Instances

Eq DCReport 
Show DCReport 
JSON DCReport 

loadDCReport :: JSValue -> Result DCReportSource

toDictDCReport :: DCReport -> [(String, JSValue)]Source

addStatus :: DCStatus -> JSValue -> JSValueSource

Add the data collector status information to the JSON representation of the collector data.

mergeStatuses :: (DCStatusCode, String) -> (DCStatusCode, [String]) -> (DCStatusCode, [String])Source

Helper function for merging statuses.

buildReport :: String -> DCVersion -> Int -> Maybe DCCategory -> DCKind -> JSValue -> IO DCReportSource

Utility function for building a report automatically adding the current timestamp (rounded up to seconds). If the version is not specified, it will be set to the value indicating a builtin collector.