consul/api
Frank Schroeder 65b5c51ec7 test: add helper for ioutil.TempDir/TempFile
This creates a simplified helper for temporary directories and files.
All path names are prefixed with the name of the current test.
All files and directories are stored either in /tmp/consul-test
or /tmp if the former could not be created.

Using the system temp dir breaks some tests on macOS where the unix
socket path becomes too long.
2017-05-12 22:12:47 +02:00
..
README.md Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
acl.go Tweaks ACL replication struct name. 2017-04-25 16:32:09 -07:00
acl_test.go API: Add ACLReplication 2017-04-25 00:39:50 +03:00
agent.go API: Add struct fields, fixes #2882 2017-04-13 11:36:19 -04:00
agent_test.go test: add helper for ioutil.TempDir/TempFile 2017-05-12 22:12:47 +02:00
api.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
api_test.go test: add helper for ioutil.TempDir/TempFile 2017-05-12 22:12:47 +02:00
catalog.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
catalog_test.go Fixes vet errors. 2017-05-09 06:48:52 -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 retry: Removes the description parameter. 2017-05-05 17:07:03 +02:00
event.go Revert "fixed: body not closed for non HTTP 200 responses" 2015-01-19 11:51:51 +09:00
event_test.go retry: Removes the description parameter. 2017-05-05 17:07:03 +02:00
health.go api: Add ServiceTags to Health state endpoint (#153) 2017-04-28 15:00:08 -07:00
health_test.go retry: Removes the description parameter. 2017-05-05 17:07:03 +02:00
kv.go Issue #2905: Add check-not-exists to TXN endpoint 2017-04-20 17:50:52 -07:00
kv_test.go Fix race condition in TestClient_WatchList and TestClient_WatchGet 2016-10-25 17:48:11 -07:00
lock.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -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 retry: Removes the description parameter. 2017-05-05 17:07:03 +02: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 retry: Removes the description parameter. 2017-05-05 17:07:03 +02:00
raw.go api: Refactoring into shared write logic 2015-02-18 15:15:02 -08:00
semaphore.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07: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)