consul/api
Frank Schröder c40621ae10 Add datacenter to catalog node API (#2917)
This patch stores the datacenter of a node in memdb
and exposes it via the API in all places where a Node
structure is returned.

 * /catalog/nodes
 * /catalog/node/:node
 * /catalog/service/:service
 * /health/service/:service
 * /query/:uuid/execute
2017-04-18 05:02:24 -07:00
..
README.md Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05: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: run ACL tests by default 2015-06-13 23:51:30 +02:00
agent.go API: Add struct fields, fixes #2882 2017-04-13 11:36:19 -04:00
agent_test.go Tweaks the agent leave test to patch an occasional local failure. 2017-03-22 09:56:53 -07:00
api.go Add tls client options to api/cli 2017-04-14 13:37:29 -07:00
api_test.go Add tls client options to api/cli 2017-04-14 13:37:29 -07:00
catalog.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
catalog_test.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
coordinate.go Adds router into RPC paths with work in progress on coordinates. 2017-03-16 16:42:18 -07:00
coordinate_test.go Use new APIs 2017-03-23 18:48:13 -04:00
event.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
event_test.go Use new APIs 2017-03-23 18:48:13 -04:00
health.go Return the correct type 2016-11-29 21:17:00 -05:00
health_test.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
kv.go fix KVOp types 2016-11-24 20:43:41 +01:00
kv_test.go Fix race condition in TestClient_WatchList and TestClient_WatchGet 2016-10-25 17:48:11 -07:00
lock.go Adds comment about SessionOpts. 2016-10-05 17:53:27 -07:00
lock_test.go More flaky unit test fixes (#2449) 2016-10-31 09:59:20 -07:00
operator.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_area.go Adds missing area API. 2017-03-21 23:11:15 -07:00
operator_autopilot.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_autopilot_test.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_keyring.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_keyring_test.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_raft.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_raft_test.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
prepared_query.go Add tests for node meta in prepared queries and update docs 2017-01-23 19:17:30 -05:00
prepared_query_test.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
raw.go api: Refactoring into shared write logic 2015-02-18 15:15:02 -08:00
semaphore.go Factors server error checking into a new function. 2016-01-06 11:35:16 -08:00
semaphore_test.go Makes the timeout behavior more intuitive. 2016-01-06 09:40:20 -08:00
session.go Merge pull request #1041 from rboyer/api-fix-session-renew 2015-09-25 13:15:54 -07:00
session_test.go Correct the Session.Renew{,Periodic} to handle session expiration better 2015-09-14 08:52:32 -05:00
snapshot.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07:00
snapshot_test.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07: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: run tests in parallel 2015-05-08 10:27:24 -07:00

README.md

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)