![見出し画像](https://assets.st-note.com/production/uploads/images/152558840/rectangle_large_type_2_a9d0c74a03e99cd19f39b43bb0544059.png?width=1200)
TWSNMP FCのAPIのドキュメントを書いています
今日も12時半に助手の猫さんが起こしにきました。ご飯をあげて寝ました。自力で起きたのは4時半ぐらいでした。
TWSNMP FCのAPIの実装が終わりました。
package main
import (
"fmt"
"log"
"github.com/twsnmp/twsnmpfc/client"
)
func main() {
c := client.NewClient("http://127.0.0.1:8080")
err := c.Login("twsnmp", "twsnmp")
if err != nil {
log.Fatal(err)
}
nodes, err := c.GetNodes()
if err != nil {
log.Fatal(err)
}
for _, n := range nodes {
fmt.Printf("%+v\n", n)
}
r, err := c.GetPollings()
if err != nil {
log.Fatal(err)
}
for _, p := range r.Pollings {
if p.LogMode > 0 {
logs, err := c.GetPollingLogs(p.ID, &client.TimeFilter{})
if err != nil {
log.Fatal(err)
}
for _, l := range logs {
fmt.Printf("%+v\n", l)
}
}
}
}
のようなテストプログラムで登録されているノードの一覧と、全ポーリングのログを取得できます。
現時点(2024/08/31)でも、
go get github.com/twsnmp/twsnmpfc/client@0ad096d64f0af88b88cf606354fab27af794ff78
のようにパッケージのコミット番号を指定すれば、上のテストプログラムは試せると思います。次のバージョンをリリースしたら、コミット番号はないでOKになります。
他の人も使うかもしれないAPIなのでドキュメントをちゃんと書こうと思って、ソースコードのコメントを整理しました。
を参考にしました。サンプルコードも書きました。
次のバージョンをリリースしたら、
に反映されると思います。
ローカルでの表示は
![](https://assets.st-note.com/img/1725054112013-KuvJls4alp.png?width=1200)
![](https://assets.st-note.com/img/1725054140799-rDECpeCqNf.png?width=1200)
です。
TWSNMP FCの修正は、一段落なので、リリースしようと思います。
明日に続く
いいなと思ったら応援しよう!
![twsnmp](https://assets.st-note.com/production/uploads/images/14333815/profile_ee1accba5615957e5029db85d57fdb0a.jpg?width=600&crop=1:1,smart)