open-consul/api
Michael Fraenkel 093b23d0c3 Reclaim locks
- When attempting to lock with the same session that already owns the lock,
  Lock() will re-acquire the lock.
2015-04-29 10:10:24 -07:00
..
acl.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
acl_test.go api: add harnessing for tests 2015-01-06 15:52:06 -08:00
agent.go api: allow timeout field to be specified for checks 2015-02-05 23:34:30 -08:00
agent_test.go CHANGELOG update, gofmt 2015-01-22 13:42:22 -08:00
api.go Read select environment variables when generating the default configuration 2015-03-18 11:12:10 -04:00
api_test.go Read select environment variables when generating the default configuration 2015-03-18 11:12:10 -04:00
catalog.go Add 'ServiceAddress' field to 'CatalogService's truct 2015-03-04 10:29:57 +01:00
catalog_test.go api: improve reliability of catalog endpoint tests 2015-01-07 18:29:42 -08:00
event.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
event_test.go api: add harnessing for tests 2015-01-06 15:52:06 -08:00
health.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
health_test.go api: make node health test more reliable 2015-01-13 11:25:32 -08:00
kv.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
kv_test.go api: Add support for DeleteCAS 2015-01-13 13:57:48 -08:00
lock.go Reclaim locks 2015-04-29 10:10:24 -07:00
lock_test.go Reclaim locks 2015-04-29 10:10:24 -07:00
raw.go api: Refactoring into shared write logic 2015-02-18 15:15:02 -08:00
README.md api: initial import from armon/consul-api 2015-01-06 10:40:00 -08:00
semaphore.go api: Refactor to share session renew code 2015-01-19 16:53:47 -10:00
semaphore_test.go api: Detect conflicting existing values for lock/semaphore 2015-01-19 15:32:19 -10:00
session.go api: Refactoring into shared write logic 2015-02-18 15:15:02 -08:00
session_test.go api: add harnessing for tests 2015-01-06 15:52:06 -08:00
status.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
status_test.go api: simple test for unix socket connectivity 2015-01-16 10:56:47 -08:00

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.3 are supported.

Documentation

The full documentation is available on Godoc

Usage

Below is an example of using the Consul client:

// Get a new client, with KV endpoints
client, _ := api.NewClient(api.DefaultConfig())
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)