一个通用的Zabbix-API调用接口,帮助实现扩展Zabbix客户端应用。
WebData (Response a)
基于 http 的 JsonRpc 响应结果
TaskData (Response a)
Http Task 调用 JsonRpc 响应结果
便于处理的返回结果
{ url : String
, token : Maybe String
, method : String
, params : List ( String
, Json.Encode.Value )
}
调用参数
call : Param -> Json.Decode.Decoder a -> (RpcData a -> msg) -> Platform.Cmd.Cmd msg
zabbix 调用方法
callTask : Param -> Json.Decode.Decoder a -> TaskData (Response a)
zabbix Task 调用方法
decoder : Json.Decode.Decoder User
用户数据解码器,用于flag加载数据
encode : User -> Json.Encode.Value
用户数据编码器,用于port保存数据
flat : RpcData a -> Data a
将rpc调用的返回结果平面化处理
flatResponse : Response a -> Data a
返回结果平面化处理
toResult : Data a -> Result String a
将平面化处理结果转换为Result
httpErrToString : Http.Error -> String
Http.Error转换为String
{ username : String
, password : String
}
用户定义
defaultUser : User
用户的缺省值
login : { conf : { conf | url : String }, user : { user | username : String, password : String }, toMsg : RpcData String -> msg } -> Platform.Cmd.Cmd msg
登录
loginTask : { conf : { conf | url : String }, user : { user | username : String, password : String } } -> RpcTaskData String
登录 Task调用方法
version : { conf : { conf | url : String }, toMsg : RpcData String -> msg } -> Platform.Cmd.Cmd msg
ZabbixApi 版本
versionTask : { conf : { conf | url : String } } -> RpcTaskData String
ZabbixApi 版本 Task调用方法