open-consul/api
2016-08-02 16:54:59 -04:00
..
acl.go
acl_test.go
agent.go Correct a small typo 2016-04-23 20:18:19 -07:00
agent_test.go Update Check API to use constants 2016-04-23 16:01:59 -07:00
api.go Use header to send Consul token rather than query param. 2016-08-02 16:54:59 -04:00
api_test.go Use header to send Consul token rather than query param. 2016-08-02 16:54:59 -04:00
catalog.go
catalog_test.go Update Check API to use constants 2016-04-23 16:01:59 -07:00
coordinate.go
coordinate_test.go
event.go
event_test.go
health.go
health_test.go
kv.go Adds a get-tree verb to KV transaction operations. 2016-05-13 16:57:39 -07:00
kv_test.go Adds a read-only optimized path for transactions. 2016-05-13 00:34:05 -07:00
lock.go
lock_test.go
prepared_query.go api: add query templates 2016-07-02 16:05:41 -07:00
prepared_query_test.go
raw.go
README.md
semaphore.go
semaphore_test.go
session.go
session_test.go
status.go
status_test.go

Consul API client

This package provides the api package which attempts to provide programmatic access to the full Consul API.

Currently, all of the Consul APIs included in version 0.6.0 are supported.

Documentation

The full documentation is available on Godoc

Usage

Below is an example of using the Consul client:

// Get a new client
client, err := api.NewClient(api.DefaultConfig())
if err != nil {
    panic(err)
}

// Get a handle to the KV API
kv := client.KV()

// PUT a new KV pair
p := &api.KVPair{Key: "foo", Value: []byte("test")}
_, err = kv.Put(p, nil)
if err != nil {
    panic(err)
}

// Lookup the pair
pair, _, err := kv.Get("foo", nil)
if err != nil {
    panic(err)
}
fmt.Printf("KV: %v", pair)