1#![cfg_attr(docsrs, feature(doc_cfg))]
56
57mod auth;
58mod channel;
59mod client;
60mod error;
61mod namespace;
62mod openssl_tls;
63mod rpc;
64mod vec;
65
66pub use crate::client::{Client, ConnectOptions};
67pub use crate::error::Error;
68pub use crate::namespace::{KvClientPrefix, LeaseClientPrefix};
69pub use crate::rpc::auth::{
70 AuthClient, AuthDisableResponse, AuthEnableResponse, AuthenticateResponse, Permission,
71 PermissionType, RoleAddResponse, RoleDeleteResponse, RoleGetResponse,
72 RoleGrantPermissionResponse, RoleListResponse, RoleRevokePermissionOptions,
73 RoleRevokePermissionResponse, UserAddOptions, UserAddResponse, UserChangePasswordResponse,
74 UserDeleteResponse, UserGetResponse, UserGrantRoleResponse, UserListResponse,
75 UserRevokeRoleResponse,
76};
77pub use crate::rpc::cluster::{
78 ClusterClient, Member, MemberAddOptions, MemberAddResponse, MemberListResponse,
79 MemberPromoteResponse, MemberRemoveResponse, MemberUpdateResponse,
80};
81pub use crate::rpc::election::{
82 CampaignResponse, ElectionClient, LeaderKey, LeaderResponse, ObserveStream, ProclaimOptions,
83 ProclaimResponse, ResignOptions, ResignResponse,
84};
85pub use crate::rpc::kv::{
86 CompactionOptions, CompactionResponse, Compare, CompareOp, DeleteOptions, DeleteResponse,
87 GetOptions, GetResponse, KvClient, PutOptions, PutResponse, SortOrder, SortTarget, Txn, TxnOp,
88 TxnOpResponse, TxnResponse,
89};
90pub use crate::rpc::lease::{
91 LeaseClient, LeaseGrantOptions, LeaseGrantResponse, LeaseKeepAliveResponse,
92 LeaseKeepAliveStream, LeaseKeeper, LeaseLeasesResponse, LeaseRevokeResponse, LeaseStatus,
93 LeaseTimeToLiveOptions, LeaseTimeToLiveResponse,
94};
95pub use crate::rpc::lock::{LockClient, LockOptions, LockResponse, UnlockResponse};
96pub use crate::rpc::maintenance::{
97 AlarmAction, AlarmMember, AlarmOptions, AlarmResponse, AlarmType, DefragmentResponse,
98 HashKvResponse, HashResponse, MaintenanceClient, MoveLeaderResponse, SnapshotResponse,
99 SnapshotStreaming, StatusResponse,
100};
101pub use crate::rpc::watch::{
102 Event, EventType, WatchClient, WatchFilterType, WatchOptions, WatchResponse, WatchStream,
103 Watcher,
104};
105pub use crate::rpc::{KeyValue, ResponseHeader};
106
107#[cfg(feature = "tls")]
108#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
109pub use tonic::transport::{Certificate, ClientTlsConfig as TlsOptions, Identity};
110
111#[cfg(feature = "tls-openssl")]
112#[cfg_attr(docsrs, doc(cfg(feature = "tls-openssl")))]
113pub use crate::openssl_tls::{OpenSslClientConfig, OpenSslResult, SslConnectorBuilder};
114
115#[cfg(feature = "pub-response-field")]
117#[cfg_attr(docsrs, doc(cfg(feature = "pub-response-field")))]
118pub mod proto {
119 pub use crate::rpc::pb::etcdserverpb::AlarmMember as PbAlarmMember;
120 pub use crate::rpc::pb::etcdserverpb::{
121 AlarmResponse as PbAlarmResponse, AuthDisableResponse as PbAuthDisableResponse,
122 AuthEnableResponse as PbAuthEnableResponse, AuthRoleAddResponse as PbAuthRoleAddResponse,
123 AuthRoleDeleteResponse as PbAuthRoleDeleteResponse,
124 AuthRoleGetResponse as PbAuthRoleGetResponse,
125 AuthRoleGrantPermissionResponse as PbAuthRoleGrantPermissionResponse,
126 AuthRoleListResponse as PbAuthRoleListResponse,
127 AuthRoleRevokePermissionResponse as PbAuthRoleRevokePermissionResponse,
128 AuthUserAddResponse as PbAuthUserAddResponse,
129 AuthUserChangePasswordResponse as PbAuthUserChangePasswordResponse,
130 AuthUserDeleteResponse as PbAuthUserDeleteResponse,
131 AuthUserGetResponse as PbAuthUserGetResponse,
132 AuthUserGrantRoleResponse as PbAuthUserGrantRoleResponse,
133 AuthUserListResponse as PbAuthUserListResponse,
134 AuthUserRevokeRoleResponse as PbAuthUserRevokeRoleResponse,
135 AuthenticateResponse as PbAuthenticateResponse, CompactionResponse as PbCompactionResponse,
136 Compare as PbCompare, DefragmentResponse as PbDefragmentResponse,
137 DeleteRangeResponse as PbDeleteResponse, HashKvResponse as PbHashKvResponse,
138 HashResponse as PbHashResponse, LeaseGrantResponse as PbLeaseGrantResponse,
139 LeaseKeepAliveResponse as PbLeaseKeepAliveResponse,
140 LeaseLeasesResponse as PbLeaseLeasesResponse, LeaseRevokeResponse as PbLeaseRevokeResponse,
141 LeaseStatus as PbLeaseStatus, LeaseTimeToLiveResponse as PbLeaseTimeToLiveResponse,
142 Member as PbMember, MemberAddResponse as PbMemberAddResponse,
143 MemberListResponse as PbMemberListResponse,
144 MemberPromoteResponse as PbMemberPromoteResponse,
145 MemberRemoveResponse as PbMemberRemoveResponse,
146 MemberUpdateResponse as PbMemberUpdateResponse, MoveLeaderResponse as PbMoveLeaderResponse,
147 PutResponse as PbPutResponse, RangeResponse as PbRangeResponse,
148 ResponseHeader as PbResponseHeader, SnapshotResponse as PbSnapshotResponse,
149 StatusResponse as PbStatusResponse, TxnResponse as PbTxnResponse,
150 WatchResponse as PbWatchResponse,
151 };
152 pub use crate::rpc::pb::mvccpb::Event as PbEvent;
153 pub use crate::rpc::pb::mvccpb::KeyValue as PbKeyValue;
154 pub use crate::rpc::pb::v3electionpb::{
155 CampaignResponse as PbCampaignResponse, LeaderKey as PbLeaderKey,
156 LeaderResponse as PbLeaderResponse, ProclaimResponse as PbProclaimResponse,
157 ResignResponse as PbResignResponse,
158 };
159 pub use crate::rpc::pb::v3lockpb::{
160 LockResponse as PbLockResponse, UnlockResponse as PbUnlockResponse,
161 };
162}