ops-manager

module
v0.13.1 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2020 License: Apache-2.0

README

MongoDB Ops Manager Go Client

GoDoc Build Status Go Report Card

A go client for Ops Manager and Cloud Manager API.

Note that ops-manager only supports the two most recent major versions of Go.

Usage

import "go.mongodb.org/ops-manager/opsmngr"

Construct a new Ops Manager client, then use the various services on the client to access different parts of the Ops Manager API. For example:

client := opsmngr.NewClient(nil)

The services of a client divide the API into logical chunks and correspond to the structure of the Ops Manager API documentation at https://docs.opsmanager.mongodb.com/v4.2/reference/api/.

NOTE: Using the context package, one can easily pass cancellation signals and deadlines to various services of the client for handling a request. In case there is no context available, then context.Background() can be used as a starting point.

Authentication

The ops-manager library does not directly handle authentication. Instead, when creating a new client, pass an http.Client that can handle Digest Access authentication for you. The easiest way to do this is using the digest library, but you can always use any other library that provides an http.Client. If you have a private and public API token pair, you can use it with the digest library using:

import (
    "context"
    "log"

    "github.com/mongodb-forks/digest"
    "go.mongodb.org/ops-manager/opsmngr"
)

func main() {
    t := digest.NewTransport("your public key", "your private key")
    tc, err := t.Client()
    if err != nil {
        log.Fatalf(err.Error())
    }

    client := opsmngr.NewClient(tc)
    orgs, _, err := client.Organizations.List(context.Background(), nil)
}

Note that when using an authenticated Client, all calls made by the client will include the specified tokens. Therefore, authenticated clients should almost never be shared between different users.

To get your API Keys please refer to our docs for, Ops Manager, or Cloud Manager.

Roadmap

This library is being initially developed for mongocli, so API methods will likely be implemented in the order that they are needed by that application.

Contributing

See our CONTRIBUTING.md Guide.

License

MongoDB Ops Manager Go Client is released under the Apache 2.0 license. See LICENSE

Directories

Path Synopsis
Package atmcfg provides helpers for updating Ops Manager automation config.
Package atmcfg provides helpers for updating Ops Manager automation config.
Package opsmngr provides a client for using the MongoDB Ops Manager and Cloud Manager API.
Package opsmngr provides a client for using the MongoDB Ops Manager and Cloud Manager API.
Package search provides primitives for searching Ops Manager related collections.
Package search provides primitives for searching Ops Manager related collections.

Jump to

Keyboard shortcuts

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