consul/api
Kyle Havlovitz 62102a537e
Organize segments for a cleaner split between enterprise and OSS
2017-08-31 17:39:46 -07:00
..
README.md Use HTTPS + www. where appropriate 2016-01-13 17:44:01 -05:00
acl.go Adds a new /v1/acl/bootstrap API (#3349) 2017-08-02 17:05:18 -07:00
acl_test.go Adds a new /v1/acl/bootstrap API (#3349) 2017-08-02 17:05:18 -07:00
agent.go Organize segments for a cleaner split between enterprise and OSS 2017-08-31 17:39:46 -07:00
agent_test.go Organize segments for a cleaner split between enterprise and OSS 2017-08-31 17:39:46 -07:00
api.go Add rpc_listener option to segment config 2017-08-30 11:58:29 -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 Adds open source side of network segments (feature is Enterprise-only). 2017-08-30 11:58:29 -07:00
coordinate.go Adds open source side of network segments (feature is Enterprise-only). 2017-08-30 11:58:29 -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
operator_segment.go Adds open source side of network segments (feature is Enterprise-only). 2017-08-30 11:58:29 -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 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
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

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)