hrobot-go

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2024 License: MIT

README

hrobot - A go library for the Hetzner Robot API

The package hrobot is a libary for the Hetzner Robot API. The public API documentation is available robot.your-server.de

Please note this is not an official Hetzner product, the author is not in any way affiliated with Hetzner use at own risk!

Hrobot is used for the Robot Interface (Dedicated Servers at Hetzner)

If you are looking for the Hetzner Cloud go library you can check out the official hcloud-go package maintained by Hetzner.

Getting started

package main

import (
	"context"
	"fmt"
    "os"
	"log"

	"github.com/Mats4k/hrobot-go/hrobot"
)

func main() {

    //export HETZNER_TOKEN=USERNAME:PASSWORD
    client := hrobot.NewClient(hrobot.WithToken(os.Getenv("HETZNER_TOKEN")))
    
    // get list of server
    serverlist, _, err := client.Server.List(context.Background())

    if err != nil {
        log.Fatalf("error retrieving server list: %s\n", err)
    }
    fmt.Printf("%+v\n", serverlist[0])

    // retriev information for specific server id
    server, _, err := client.Server.GetServerById(context.Background(), "1337")

    if err != nil {
        log.Fatalf("error retrieving server: %s\n", err)
    }
    fmt.Printf("%+v\n", server)
}

Authentication

To authenticate the client we can use two different inbuild methods:

  1. Use the WithBasicAuth method which takes in (username, password) as string parameters.
client := hrobot.WithBasicAuth(username, password)
  1. By "Token" eg as an environment variable:
client := hrobot.NewClient(hrobot.WithToken(os.Getenv("HETZNER_TOKEN")))

The "Token" has the following structure: "username:password".

To use the Token as an enviroment variable as in the example above you can export a variable: export HETZNER_TOKEN="username:password" in your terminal. To make it persitent on your system you can put the export command in your ~/.profile file.

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL