Skip to content

Go言語向け さくらのクラウド モニタリングスイート APIライブラリ

License

Notifications You must be signed in to change notification settings

sacloud/monitoring-suite-api-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

monitoring-suite-api-go

Go Reference Tests Go Report Card

さくらのクラウド「モニタリングスイート」APIのGoクライアントライブラリ

概要

このライブラリは、さくらのクラウド「モニタリングスイート」APIをGo言語から利用するためのクライアントです。 OpenAPI仕様から自動生成された型安全なAPIクライアントと、それをラップして使い勝手を向上させたクライアントを提供します。

Warning

v1.0に達するまでは互換性のない形で変更される可能性がありますのでご注意ください。

インストール

go get github.com/sacloud/monitoring-suite-api-go

使い方

package 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の詳細はGoDocapis/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/openapi.jsonモニタリングスイート API ドキュメントからダウンロードしたものを一部加工しています。

$ jq 'del(.paths.[].[].requestBody.content.["application/x-www-form-urlencoded", "multipart/form-data"])' openapi.json

開発

ビルドやテストはMakefile経由で実行できます。

make
make test

ライセンス

Copyright (C) 2022-2025 The sacloud/monitoring-suite-api-go Authors. このプロジェクトはApache 2.0 Licenseの下で公開されています。

About

Go言語向け さくらのクラウド モニタリングスイート APIライブラリ

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •