open-consul/api
James Phillips 6e794ea1b3 Adds support for agent-side ACL token management via API instead of config files. (#3324)
* Adds token store and removes all runtime use of config for ACL tokens.
* Adds a new API for changing agent tokens on the fly.
2017-07-26 11:03:43 -07:00
..
acl.go Tweaks ACL replication struct name. 2017-04-25 16:32:09 -07:00
acl_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
agent.go Adds support for agent-side ACL token management via API instead of config files. (#3324) 2017-07-26 11:03:43 -07:00
agent_test.go Adds support for agent-side ACL token management via API instead of config files. (#3324) 2017-07-26 11:03:43 -07:00
api.go Expands and rework context support in the API client. (#3273) 2017-07-14 17:30:08 -07:00
api_test.go api: refactor: prefix all API tests with API_ 2017-07-07 09:22:34 +02:00
catalog.go Add datacenter to catalog node API (#2917) 2017-04-18 05:02:24 -07:00
catalog_test.go api: fix TestAPI_CatalogNodes test 2017-07-07 09:22:34 +02: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 api: refactor: unify naming of API tests 2017-07-07 09:22:34 +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 api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
health.go api: Add ServiceTags to Health state endpoint (#153) 2017-04-28 15:00:08 -07:00
health_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
kv.go Issue #2905: Add check-not-exists to TXN endpoint 2017-04-20 17:50:52 -07:00
kv_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
lock.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
lock_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02: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 Add UpgradeVersionTag to autopilot config 2017-07-18 13:35:41 -07:00
operator_autopilot_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +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 api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
operator_raft.go Moves operator sub-functions into their own files. 2017-03-30 12:35:50 -07:00
operator_raft_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02: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 api: refactor: prefix all API tests with API_ 2017-07-07 09:22:34 +02:00
raw.go api: Refactoring into shared write logic 2015-02-18 15:15:02 -08:00
README.md Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
semaphore.go golint: Untangle if blocks with return in else 2017-04-25 09:26:13 -07:00
semaphore_test.go api: refactor: unify naming of API tests 2017-07-07 09:22:34 +02:00
session.go Expands and rework context support in the API client. (#3273) 2017-07-14 17:30:08 -07:00
session_test.go Expands and rework context support in the API client. (#3273) 2017-07-14 17:30:08 -07:00
snapshot.go Adds support for snapshots and restores. (#2396) 2016-10-25 19:20:24 -07:00
snapshot_test.go api: refactor: prefix all API tests with API_ 2017-07-07 09:22:34 +02: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: refactor: prefix all API tests with API_ 2017-07-07 09:22:34 +02: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.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)