Crate etcd_rs[][src]

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

Auth client.

AuthenticateRequest

Request for authenticating.

AuthenticateResponse
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
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
PutRequest

Request for putting key-value.

PutResponse
RangeRequest

Request for fetching key-value pairs.

RangeResponse
ResponseHeader
TxnRequest

Request for performing transaction operations.

TxnResponse
Watch

Watch client.

WatchCancelRequest

Request for canceling a watch.

WatchCreateRequest

Request for creating watch.

WatchResponse

Enums

Error
EventType

The kind of event.

TxnCmp

Transaction Comparation.

TxnOp

Transaction Operation.

TxnOpResponse

Response transaction operation.

Type Definitions

Result