liwenjun/elm-zabbix/1.0.0

Zabbix

一个通用的Zabbix-API调用接口,帮助实现扩展Zabbix客户端应用。

数据结构

type alias RpcData a =
WebData (Response a)

基于 http 的 JsonRpc 响应结果

type alias RpcTaskData a =
TaskData (Response a)

Http Task 调用 JsonRpc 响应结果

type Data a

便于处理的返回结果

type alias Param =
{ url : String
, token : Maybe String
, method : String
, params : List ( String, Value )
}

调用参数

调用方法

call : Param -> Decoder a -> (RpcData a -> msg) -> Cmd msg

zabbix 调用方法

callTask : Param -> Decoder a -> TaskData (Response a)

zabbix Task 调用方法

辅助函数

decoder : Decoder User

用户数据解码器,用于flag加载数据

encode : User -> Value

用户数据编码器,用于port保存数据

flat : RpcData a -> Data a

将rpc调用的返回结果平面化处理

flatResponse : Response a -> Data a

返回结果平面化处理

toResult : Data a -> Result String a

将平面化处理结果转换为Result

httpErrToString : Error -> String

Http.Error转换为String

Zabbix API

type alias User =
{ username : String
, password : String
}

用户定义

用户的缺省值

{ conf : { conf | url : String }
, user : { user | username : String, password : String }
, toMsg : RpcData String -> msg
}
-> Cmd msg

登录

{ conf : { conf | url : String }
, user : { user | username : String, password : String }
}
-> RpcTaskData String

登录 Task调用方法

{ conf : { conf | url : String }
, toMsg : RpcData String -> msg
}
-> Cmd msg

ZabbixApi 版本

versionTask : { conf : { conf | url : String } } -> RpcTaskData String

ZabbixApi 版本 Task调用方法