Skip to content

sacloud/cloudhsm-api-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

cloudhsm-api-go

Go Reference Tests Go Report Card

さくらのクラウド「クラウドHSM」APIのGoクライアントライブラリ

概要

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

Warning

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

インストール

go get github.com/sacloud/cloudhsm-api-go

使い方

事前準備

SDKを利用開始するにはさくらのクラウド「クラウドHSM」自体を利用開始する必要があります。執筆時点ではさくらのクラウドの利用申請とは別途クラウドHSMの利用申請も必要です。申請手順の詳細に関してはクラウドHSMマニュアルをご参照ください。

認証情報

APIを実行するには認証が必要です。インタラクティブな環境の場合おすすめは usacloud を使って設定ファイルを作成することです。たとえば

usacloud config create --name is1a

にて作成したプロファイル is1a があるとすると、SDKとしては、

import (
    "github.com/sacloud/cloudhsm-api-go"
    "github.com/sacloud/saclient-go"
)

var theClient saclient.Client

func main() {
    _ = theClient.SetEnviron([]string{"SAKURA_PROFILE=is1a"})
    client, err := cloudhsm.NewClient(&theClient)

    // 以下略
}

のようにして読み込むことができます。

一方でCI環境のようにファイルに書き出すのが適切ではない場合、環境変数経由で

import (
    "os"

    "github.com/sacloud/cloudhsm-api-go"
    "github.com/sacloud/saclient-go"
)

var theClient saclient.Client

func main() {
    _ = theClient.SetEnviron([]string{
        "SAKURA_ZONE=is1a",
        "SAKURA_SERVICE_PRINCIPAL_ID=something",
        // 他、 os.Environ()から必要な環境変数を追加
    })
    client, err := cloudhsm.NewClient(&theClient)

    // 以下略
}

のように指定できます。

SDK

package main

import (
    "context"

    "github.com/sacloud/cloudhsm-api-go"
    v1 "github.com/sacloud/cloudhsm-api-go/apis/v1"
)

func Logic(ctx context.Context, client *v1.Client) {
    // 例: ライセンス一覧取得
    licenses, err := cloudhsm.NewLicenseOp(client).List(ctx)
    if err != nil {
        // エラーハンドリング
    }
}

APIの詳細はGoDocapis/v1/配下の型定義を参照してください。

OpenAPI仕様について

openapi/openapi.jsonKMS/SecretManager/CloudHSM APIからダウンロードしたものを一部加工しています。

開発

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

make
make test

ライセンス

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

About

Go言語向け さくらのクラウド クラウドHSM APIライブラリ

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license.go

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from sacloud/go-template