hcloud: 用于Hetzner Cloud API的Go语言库
hcloud包是一个用于Hetzner Cloud API的库。
该库的文档可在pkg.go.dev上找到, 公共API文档可在docs.hetzner.cloud上查阅。
安装
go get github.com/hetznercloud/hcloud-go/v2/hcloud
示例
package main
import (
"context"
"fmt"
"log"
"github.com/hetznercloud/hcloud-go/v2/hcloud"
)
func main() {
client := hcloud.NewClient(hcloud.WithToken("token"))
server, _, err := client.Server.GetByID(context.Background(), 1)
if err != nil {
log.Fatalf("获取服务器时出错:%s\n", err)
}
if server != nil {
fmt.Printf("服务器1的名称是 %q\n", server.Name)
} else {
fmt.Println("未找到服务器1")
}
}
升级
支持
v2
由Hetzner Cloud积极维护v1
将支持到2023年9月1日,在此之前将继续接收新功能。详见 #263。
从v1升级到v2
发布版本2.0.0是因为我们将所有ID
字段的数据类型从int
更改为int64
。
要迁移到新版本,请将所有导入替换为引用新的模块路径:
import (
- "github.com/hetznercloud/hcloud-go/hcloud"
+ "github.com/hetznercloud/hcloud-go/v2/hcloud"
)
当您编译代码时,它会显示需要修复的代码中任何无效的int
用法。在更新我们的集成时,我们通常发现以下变更:
strconv.Atoi(idString)
(解析整数)需要替换为strconv.ParseInt(idString, 10, 64)
strconv.Itoa(id)
(格式化整数)需要替换为strconv.FormatInt(id, 10)
Go版本支持
该库支持最新的两个Go次要版本,例如在Go 1.19发布时,它支持Go 1.18和1.19。
这与官方的Go发布政策相符。
当最低要求的Go版本发生变更时,会在该版本的发布说明中公布。
许可证
MIT许可证