mirror of
https://github.com/bmc-toolbox/bmclib.git
synced 2025-06-03 05:14:43 +00:00
49 lines
915 B
Go
49 lines
915 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"time"
|
|
|
|
"github.com/bmc-toolbox/bmclib"
|
|
"github.com/bombsimon/logrusr/v2"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func main() {
|
|
ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
|
|
defer cancel()
|
|
|
|
// set BMC parameters here
|
|
host := ""
|
|
port := ""
|
|
user := ""
|
|
pass := ""
|
|
|
|
l := logrus.New()
|
|
l.Level = logrus.DebugLevel
|
|
logger := logrusr.New(l)
|
|
|
|
if host == "" || user == "" || pass == "" {
|
|
log.Fatal("required host/user/pass parameters not defined")
|
|
}
|
|
|
|
cl := bmclib.NewClient(host, port, user, pass, bmclib.WithLogger(logger))
|
|
|
|
cl.Registry.Drivers = cl.Registry.Using("redfish")
|
|
// cl.Registry.Drivers = cl.Registry.Using("vendorapi")
|
|
|
|
err := cl.Open(ctx)
|
|
if err != nil {
|
|
log.Fatal(err, "bmc login failed")
|
|
}
|
|
|
|
defer cl.Close(ctx)
|
|
|
|
_, err = cl.CreateUser(ctx, "foobar", "sekurity101", "Administrator")
|
|
if err != nil {
|
|
l.Error(err)
|
|
}
|
|
|
|
}
|