h3llo cloudDOCS

Go SDK

github.com/h3llo/h3-go — официальный Go-клиент.

go get github.com/h3llo/h3-go

Минимальный пример

package main

import (
  "context"
  "fmt"
  "log"

  h3 "github.com/h3llo/h3-go"
)

func main() {
  client := h3.NewClient(h3.WithTokenFromEnv("H3_TOKEN"))
  ctx := context.Background()

  ops, err := client.Instances.List(ctx, &h3.InstanceListOptions{
    Project: "prod",
  })
  if err != nil { log.Fatal(err) }
  for _, i := range ops.Items {
    fmt.Println(i.Name, i.Network.PublicIPv4)
  }
}

Long-running operation

op, err := client.K8s.Upgrade(ctx, "prod", "1.32")
if err != nil { return err }
res, err := op.Wait(ctx)

Pagination

iter := client.Instances.Iter(ctx, nil)
for iter.Next() {
  fmt.Println(iter.Item().Name)
}
if err := iter.Err(); err != nil { log.Fatal(err) }

On this page