さくらのクラウド「モニタリングスイート」APIのGoクライアントライブラリ
このライブラリは、さくらのクラウド「モニタリングスイート」APIをGo言語から利用するためのクライアントです。 OpenAPI仕様から自動生成された型安全なAPIクライアントと、それをラップして使い勝手を向上させたクライアントを提供します。
Warning
v1.0に達するまでは互換性のない形で変更される可能性がありますのでご注意ください。
go get github.com/sacloud/monitoring-suite-api-gopackage main
import (
"context"
monitoringsuite "github.com/sacloud/monitoring-suite-api-go"
)
func main() {
ctx := context.Background()
client, err := monitoringsuite.NewClient()
if err != nil {
// エラーハンドリング
}
// 例: アラートプロジェクト一覧取得
projects, err := monitoringsuite.NewAlertProjectOp(client).List(ctx, nil, nil)
if err != nil {
// エラーハンドリング
}
}APIの詳細はGoDocやapis/v1/配下の型定義を参照してください。
APIを実行するには認証が必要です。インタラクティブな環境の場合おすすめは usacloud を使って設定ファイルを作成することです。たとえば
usacloud config create --name is1aにて作成したプロファイル is1a があるとすると、SDKとしては、
import (
monitoringsuite "github.com/sacloud/monitoring-suite-api-go"
client "github.com/sacloud/api-client-go"
)
func main() {
client, err := monitoringsuite.NewClient(client.WithProfile("is1a"))
// 以下略
}のようにして読み込むことができます。
一方でCI環境のようにファイルに書き出すのが適切ではない場合、環境変数経由で
import (
"os"
monitoringsuite "github.com/sacloud/monitoring-suite-api-go"
client "github.com/sacloud/api-client-go"
)
func main() {
client, err := monitoringsuite.NewClient(client.WithApiKeys(
os.Getenv("SAKURACLOUD_ACCESS_TOKEN"),
os.Getenv("SAKURACLOUD_ACCESS_TOKEN_SECRET"),
))
// 以下略
}のように指定できます。
openapi/openapi.jsonはモニタリングスイート API ドキュメントからダウンロードしたものを一部加工しています。
$ jq 'del(.paths.[].[].requestBody.content.["application/x-www-form-urlencoded", "multipart/form-data"])' openapi.jsonビルドやテストはMakefile経由で実行できます。
make
make testCopyright (C) 2022-2025 The sacloud/monitoring-suite-api-go Authors. このプロジェクトはApache 2.0 Licenseの下で公開されています。