[][src]Crate etcd_rs

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,
    }).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

Auth client.

AuthenticateRequest

Request for authenticating.

AuthenticateResponse

Response for authenticating.

Client

Client is an abstraction for grouping etcd operations and managing underlying network communications.

ClientConfig

Config for establishing etcd client.

DeleteRequest

Request for deleting key-value pairs.

DeleteResponse

Response for DeleteRequest.

Event

Every change to every key is represented with Event messages.

KeyRange

KeyRange is an abstraction for describing etcd key of various types.

KeyValue

Key-Value pair.

Kv

Key-Value client.

Lease

Lease client.

LeaseGrantRequest

Request for granting lease.

LeaseGrantResponse
LeaseKeepAliveRequest

Request for refreshing lease.

LeaseKeepAliveResponse
LeaseRevokeRequest

Request for revoking lease.

LeaseRevokeResponse

Response for revoking lease.

PutRequest

Request for putting key-value.

PutResponse

Response for putting key-value.

RangeRequest

Request for fetching key-value pairs.

RangeResponse

Response for RangeRequest.

ResponseHeader

Response header.

TxnRequest

Request for performing transaction operations.

TxnResponse

Response for transaction.

Watch

Watch client.

WatchRequest

Request for creating or canceling watch.

WatchResponse

Enums

EventType

The kind of event.

TxnCmp

Transaction Comparation.

Type Definitions

Result