/etcdv3client-rust

etcdv3client in rust

Primary LanguageRustMIT LicenseMIT

etcdv3client-rust

Crates.io Documentation Rust Crates.io

Overview

[etcdv3client] is a simple etcdv3 client in Rust-lang.

Example

A basic example:

use etcdv3client::{EtcdClient, EtcdClientError};

#[tokio::main]
async fn main() -> Result<(), EtcdClientError> {
    let endpoint = "http://localhost:2379";
    let auth: Option<(String, String)> = None;
    let mut client = EtcdClient::new(vec![endpoint], auth).await?;

    let key = "/hello";
    // use convenience api under EtcdClient.
    match client.get(key).await {
        Ok(v) => {
            println!("got `{}` => {:?}", key, String::from_utf8_lossy(&v));
        }
        Err(EtcdClientError::KeyNotFound) => {
            eprintln!("can not find `{}`", key);
        }
        Err(e) => {
            eprintln!("etcd get error: `{:?}`", e);
        }
    }

    Ok(())
}

More examples can be found in [examples].

Support APIs

  • KV
  • Watch
  • Lease
  • Cluster
  • Maintenance
  • Auth

License

This project is licensed under the MIT license.