IMPORTANT: This SDK is under heavy development and will have constant breaking changes.
The Go API client for administrating an Oxide rack.
To contribute to this repository make sure you read the contributing documentation.
Make sure you have installed Go 1.21.x or above.
Use go get inside your module dependencies directory
go get github.com/oxidecomputer/oxide.go@latestpackage main
import (
	"fmt"
	"github.com/oxidecomputer/oxide.go/oxide"
)
func main() {
	cfg := oxide.Config{
		Host:  "https://api.oxide.computer",
		Token: "oxide-abc123",
	}
	client, err := oxide.NewClient(&cfg)
	if err != nil {
		panic(err)
	}
	ctx := context.Background()
	params := oxide.ProjectCreateParams{
		Body: &oxide.ProjectCreate{
			Description: "A sample project",
			Name:        oxide.Name("my-project"),
		},
	}
	resp, err := client.ProjectCreate(ctx, params)
	if err != nil {
		panic(err)
	}
	fmt.Printf("%+v\n", resp)
}