見出し画像

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なのでドキュメントをちゃんと書こうと思って、ソースコードのコメントを整理しました。

を参考にしました。サンプルコードも書きました。
次のバージョンをリリースしたら、

に反映されると思います。
ローカルでの表示は

です。

TWSNMP FCの修正は、一段落なので、リリースしようと思います。

明日に続く


いいなと思ったら応援しよう!

twsnmp
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。