さくらのクラウド「Add-on」APIのGoクライアントライブラリ
このライブラリは、さくらのクラウド「Add-on」APIをGo言語から利用するためのクライアントです。 OpenAPI仕様から自動生成された型安全なAPIクライアントと、それをラップして使い勝手を向上させたクライアントを提供します。
Warning
v1.0に達するまでは互換性のない形で変更される可能性がありますのでご注意ください。
go get github.com/sacloud/addon-api-goSDKを利用開始するにはさくらのクラウド「Add-on」自体を利用開始する必要があります。執筆時点ではさくらのクラウドの利用申請とは別途Add-onの利用申請も必要です。申請手順の詳細に関してはAdd-onマニュアルをご参照ください。
またSDKを利用するにはAPIキーが必要ですが、これには「Add-on」のアクセスレベルを付与してください。アクセスレベルに関してはアクセスレベル マニュアルをご参照ください。
package main
import (
"context"
"os"
"github.com/sacloud/addon-api-go"
"github.com/sacloud/saclient-go"
)
var theClient saclient.Client
func main() {
err := theClient.FlagSet(flag.PanicOnError).Parse(os.Args[1:])
if err != nil {
// エラーハンドリング
}
err = theClient.SetEnviron(os.Environ())
if err != nil {
// エラーハンドリング
}
client, err := addon.NewClient(&theClient)
if err != nil {
// エラーハンドリング
}
// 例: データレーク一覧取得
ctx := context.Background()
lakes, err := addon.NewDataLakeOp(client).List(ctx)
if err != nil {
// エラーハンドリング
}
}APIの詳細はGoDocやapis/v1/配下の型定義を参照してください。
APIを実行するには認証が必要です。インタラクティブな環境の場合おすすめは usacloud を使って設定ファイルを作成することです。たとえば
usacloud config create --name productionにて作成したプロファイル production があるとすると、上記のmain関数をもつバイナリは
./a.out --profile=productionのようにして設定を読み込むことができます。
一方でCI環境のようにファイルに書き出すのが適切ではない場合、環境変数経由で
export SAKURA_ACCESS_TOKEN=TOKEN
export SAKURA_ACCESS_TOKEN_SECRET=SECRET
./a.outのように指定できます。
openapi/openapi.jsonはAdd-on APIからダウンロードしたものを一部加工しています。
ビルドやテストはMakefile経由で実行できます。
make
make testCopyright (C) 2025- The sacloud/addon-api-go Authors. このプロジェクトはApache 2.0 Licenseの下で公開されています。