Skip to content

miton18/ovh

Repository files navigation

OVH SDK

PkgGoDev License

Full featured OVH SDK

This project heavily rely on auto-generated OVH API models source code repository.

Getting started

Install the SDK

go get -u github.com/miton18/ovh

Keys

To contact OVH API, we need 3 keys, applicationKey, applicationSecret, consumerKey You can craft them on the official page: CreateToken

First call

Make our first call, let's try to list all our cloud projects

package main

import (
	"context"
	"fmt"

	"github.com/miton18/ovh"
)

func main() {
	client, err := ovh.New(ovh.OVH_EU, "<APPLICATION_KEY>", "<APPLICATION_SECRET>", "<CONSUMER_KEY>")
	if err != nil {
		panic(err.Error())
	}

    cloudProjectList, err := client.Cloud().Project().List(context.Background())
	if err != nil {
		panic(err.Error())
	}

	fmt.Printf("Projects %#v", cloudProjectList)
}

Contribute

The method you want is not implemented

You can request a new method by creating a new method issue

You want to code a new method ?

See CONTRIBUTING

Tips

Observability

Each SDK action is observed, so you can find a list of metrics in the metrics package. This is up to you to register them.

TODO: Tracing

Examples

Get a loadbalancer

package main

import (
	"context"
	"fmt"

	"github.com/miton18/ovh"
)

func main() {
	client := ovh.MustNewFromEnv()

	loadbalancer, err := client.
	    Cloud().
	    Project().
	    Loadbalancer("<PROJECT_ID>").
	    Get(context.Background(), "<LOADBALANCER_ID>")
	

	if err != nil {
		panic(err.Error())
	}

	fmt.Printf("RES %#v", test)
}

About

Full featured OVH SDK

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages