Crate etcd_rs[−][src]
Expand description
An asynchronously etcd client for Rust.
etcd-rs supports etcd v3 API and async/await syntax.
Examples
A simple key-value read and write operation:
use etcd_rs::*;
#[tokio::main]
async fn main() -> Result<()> {
let client = Client::connect(ClientConfig {
endpoints: vec!["http://127.0.0.1:2379".to_owned()],
auth: None,
tls: None,
}).await?;
let key = "foo";
let value = "bar";
// Put a key-value pair
let resp = client.kv().put(PutRequest::new(key, value)).await?;
println!("Put Response: {:?}", resp);
// Get the key-value pair
let resp = client
.kv()
.range(RangeRequest::new(KeyRange::key(key)))
.await?;
println!("Range Response: {:?}", resp);
// Delete the key-valeu pair
let resp = client
.kv()
.delete(DeleteRequest::new(KeyRange::key(key)))
.await?;
println!("Delete Response: {:?}", resp);
Ok(())
}Structs
Auth client.
Request for authenticating.
Client is an abstraction for grouping etcd operations and managing underlying network communications.
Config for establishing etcd client.
Request for deleting key-value pairs.
Every change to every key is represented with Event messages.
KeyRange is an abstraction for describing etcd key of various types.
Key-Value pair.
Key-Value client.
Lease client.
Request for granting lease.
Request for refreshing lease.
Request for revoking lease.
Request for putting key-value.
Request for fetching key-value pairs.
Request for performing transaction operations.
Watch client.
Request for canceling a watch.
Request for creating watch.
Enums
The kind of event.
Transaction Comparation.
Transaction Operation.
Response transaction operation.
