open-consul/api
Matt Keeler 0a365b1a4f
Merge pull request #4374 from hashicorp/feature/proxy-env-vars
Setup managed proxy environment with API client env vars
2018-07-12 09:13:54 -04:00
..
acl.go
acl_test.go
agent.go
agent_test.go Fix test broken by final telemetry PR change! 2018-06-25 12:25:40 -07:00
api.go PR Updates 2018-07-11 09:44:54 -04:00
api_test.go Add some tests for GenerateEnv 2018-07-12 07:43:51 -04:00
catalog.go
catalog_test.go
connect.go
connect_ca.go connect: fix two CA tests that were broken in a previous PR (#60) 2018-06-25 12:25:10 -07:00
connect_ca_test.go revert go changes to hide rotation config 2018-06-25 12:26:18 -07:00
connect_intention.go agent: 400 error on invalid UUID format, api handles errors properly 2018-06-27 07:40:06 +02:00
connect_intention_test.go agent: 400 error on invalid UUID format, api handles errors properly 2018-06-27 07:40:06 +02:00
coordinate.go
coordinate_test.go
event.go
event_test.go
health.go Misc comment cleanups 2018-06-25 12:24:16 -07:00
health_test.go Misc comment cleanups 2018-06-25 12:24:16 -07:00
kv.go
kv_test.go
lock.go Fix lock and semaphore timeouts 2018-07-06 10:55:25 +01:00
lock_test.go
operator.go
operator_area.go
operator_autopilot.go
operator_autopilot_test.go
operator_keyring.go
operator_keyring_test.go
operator_raft.go
operator_raft_test.go
operator_segment.go
prepared_query.go
prepared_query_test.go
raw.go
README.md
semaphore.go Fix lock and semaphore timeouts 2018-07-06 10:55:25 +01:00
semaphore_test.go
session.go
session_test.go
snapshot.go
snapshot_test.go
status.go
status_test.go

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)