Skip to content

zzzdong/etcdv3client-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

etcdv3client-rust

Crates.io Documentation Rust Crates.io

Overview

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

Example

A basic example:

use etcdv3client::{Client, Error};

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

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

    Ok(())
}

More examples can be found in [examples].

Support APIs

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

Supported Rust Versions

The current MSRV is 1.75.0.

License

This project is licensed under the MIT license.