1#![cfg_attr(docsrs, feature(doc_cfg))]
60
61mod channel;
62mod client;
63mod error;
64mod intercept;
65mod lock;
66mod namespace;
67mod openssl_tls;
68mod rpc;
69mod vec;
70
71pub use crate::channel::{BalancedChannelBuilder, Channel};
72pub use crate::client::{Client, ConnectOptions};
73pub use crate::error::Error;
74pub use crate::namespace::{KvClientPrefix, LeaseClientPrefix};
75pub use crate::rpc::auth::{
76 AuthClient, AuthDisableResponse, AuthEnableResponse, AuthenticateResponse, Permission,
77 PermissionType, RoleAddResponse, RoleDeleteResponse, RoleGetResponse,
78 RoleGrantPermissionResponse, RoleListResponse, RoleRevokePermissionOptions,
79 RoleRevokePermissionResponse, UserAddOptions, UserAddResponse, UserChangePasswordResponse,
80 UserDeleteResponse, UserGetResponse, UserGrantRoleResponse, UserListResponse,
81 UserRevokeRoleResponse,
82};
83pub use crate::rpc::cluster::{
84 ClusterClient, Member, MemberAddOptions, MemberAddResponse, MemberListResponse,
85 MemberPromoteResponse, MemberRemoveResponse, MemberUpdateResponse,
86};
87pub use crate::rpc::election::{
88 CampaignResponse, ElectionClient, LeaderKey, LeaderResponse, ObserveStream, ProclaimOptions,
89 ProclaimResponse, ResignOptions, ResignResponse,
90};
91pub use crate::rpc::kv::{
92 CompactionOptions, CompactionResponse, Compare, CompareOp, DeleteOptions, DeleteResponse,
93 GetOptions, GetResponse, KvClient, PutOptions, PutResponse, SortOrder, SortTarget, Txn, TxnOp,
94 TxnOpResponse, TxnResponse,
95};
96pub use crate::rpc::lease::{
97 LeaseClient, LeaseGrantOptions, LeaseGrantResponse, LeaseKeepAliveResponse,
98 LeaseKeepAliveStream, LeaseKeeper, LeaseLeasesResponse, LeaseRevokeResponse, LeaseStatus,
99 LeaseTimeToLiveOptions, LeaseTimeToLiveResponse,
100};
101pub use crate::rpc::lock::{LockClient, LockOptions, LockResponse, UnlockResponse};
102pub use crate::rpc::maintenance::{
103 AlarmAction, AlarmMember, AlarmOptions, AlarmResponse, AlarmType, DefragmentResponse,
104 HashKvResponse, HashResponse, MaintenanceClient, MoveLeaderResponse, SnapshotResponse,
105 SnapshotStreaming, StatusResponse,
106};
107pub use crate::rpc::watch::{
108 Event, EventType, WatchClient, WatchFilterType, WatchOptions, WatchRequestSender,
109 WatchResponse, WatchResponseStream, WatchStream,
110};
111pub use crate::rpc::{KeyValue, ResponseHeader};
112
113#[cfg(feature = "tls")]
114#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
115pub use tonic::transport::{Certificate, ClientTlsConfig as TlsOptions, Identity};
116
117#[cfg(feature = "tls-openssl")]
118#[cfg_attr(docsrs, doc(cfg(feature = "tls-openssl")))]
119pub use crate::openssl_tls::{OpenSslClientConfig, OpenSslResult, SslConnectorBuilder};
120
121#[cfg(feature = "pub-response-field")]
123#[cfg_attr(docsrs, doc(cfg(feature = "pub-response-field")))]
124pub mod proto {
125 pub use crate::rpc::pb::etcdserverpb::compare::{
126 CompareTarget as PbCompareTarget, TargetUnion as PbTargetUnion,
127 };
128 pub use crate::rpc::pb::etcdserverpb::AlarmMember as PbAlarmMember;
129 pub use crate::rpc::pb::etcdserverpb::{
130 request_op::Request as PbTxnOpRequest, response_op::Response as PbTxnOpResponse,
131 AlarmResponse as PbAlarmResponse, AuthDisableResponse as PbAuthDisableResponse,
132 AuthEnableResponse as PbAuthEnableResponse, AuthRoleAddResponse as PbAuthRoleAddResponse,
133 AuthRoleDeleteResponse as PbAuthRoleDeleteResponse,
134 AuthRoleGetResponse as PbAuthRoleGetResponse,
135 AuthRoleGrantPermissionResponse as PbAuthRoleGrantPermissionResponse,
136 AuthRoleListResponse as PbAuthRoleListResponse,
137 AuthRoleRevokePermissionResponse as PbAuthRoleRevokePermissionResponse,
138 AuthUserAddResponse as PbAuthUserAddResponse,
139 AuthUserChangePasswordResponse as PbAuthUserChangePasswordResponse,
140 AuthUserDeleteResponse as PbAuthUserDeleteResponse,
141 AuthUserGetResponse as PbAuthUserGetResponse,
142 AuthUserGrantRoleResponse as PbAuthUserGrantRoleResponse,
143 AuthUserListResponse as PbAuthUserListResponse,
144 AuthUserRevokeRoleResponse as PbAuthUserRevokeRoleResponse,
145 AuthenticateResponse as PbAuthenticateResponse, CompactionResponse as PbCompactionResponse,
146 Compare as PbCompare, DefragmentResponse as PbDefragmentResponse,
147 DeleteRangeResponse as PbDeleteResponse, HashKvResponse as PbHashKvResponse,
148 HashResponse as PbHashResponse, LeaseGrantResponse as PbLeaseGrantResponse,
149 LeaseKeepAliveResponse as PbLeaseKeepAliveResponse,
150 LeaseLeasesResponse as PbLeaseLeasesResponse, LeaseRevokeResponse as PbLeaseRevokeResponse,
151 LeaseStatus as PbLeaseStatus, LeaseTimeToLiveResponse as PbLeaseTimeToLiveResponse,
152 Member as PbMember, MemberAddResponse as PbMemberAddResponse,
153 MemberListResponse as PbMemberListResponse,
154 MemberPromoteResponse as PbMemberPromoteResponse,
155 MemberRemoveResponse as PbMemberRemoveResponse,
156 MemberUpdateResponse as PbMemberUpdateResponse, MoveLeaderResponse as PbMoveLeaderResponse,
157 PutResponse as PbPutResponse, RangeResponse as PbRangeResponse,
158 RequestOp as PbTxnRequestOp, ResponseHeader as PbResponseHeader,
159 ResponseOp as PbResponseOp, SnapshotResponse as PbSnapshotResponse,
160 StatusResponse as PbStatusResponse, TxnRequest as PbTxnRequest,
161 TxnResponse as PbTxnResponse, WatchResponse as PbWatchResponse,
162 };
163 pub use crate::rpc::pb::mvccpb::Event as PbEvent;
164 pub use crate::rpc::pb::mvccpb::KeyValue as PbKeyValue;
165 pub use crate::rpc::pb::v3electionpb::{
166 CampaignResponse as PbCampaignResponse, LeaderKey as PbLeaderKey,
167 LeaderResponse as PbLeaderResponse, ProclaimResponse as PbProclaimResponse,
168 ResignResponse as PbResignResponse,
169 };
170 pub use crate::rpc::pb::v3lockpb::{
171 LockResponse as PbLockResponse, UnlockResponse as PbUnlockResponse,
172 };
173
174 #[cfg(feature = "build-server")]
175 pub use crate::rpc::pb::etcdserverpb::{
176 auth_server::{Auth as PbAuthService, AuthServer as PbAuthServer},
177 cluster_server::{Cluster as PbClusterService, ClusterServer as PbClusterServer},
178 kv_server::{Kv as PbKvService, KvServer as PbKvServer},
179 lease_server::{Lease as PbLeaseService, LeaseServer as PbLeaseServer},
180 maintenance_server::{
181 Maintenance as PbMaintenanceService, MaintenanceServer as PbMaintenanceServer,
182 },
183 watch_server::{Watch as PbWatchService, WatchServer as PbWatchServer},
184 };
185
186 #[cfg(feature = "build-server")]
187 pub use crate::rpc::pb::etcdserverpb::{
188 AlarmRequest as PbAlarmRequest, AuthDisableRequest as PbAuthDisableRequest,
189 AuthEnableRequest as PbAuthEnableRequest, AuthRoleAddRequest as PbAuthRoleAddRequest,
190 AuthRoleDeleteRequest as PbAuthRoleDeleteRequest,
191 AuthRoleGetRequest as PbAuthRoleGetRequest,
192 AuthRoleGrantPermissionRequest as PbAuthRoleGrantPermissionRequest,
193 AuthRoleListRequest as PbAuthRoleListRequest,
194 AuthRoleRevokePermissionRequest as PbAuthRoleRevokePermissionRequest,
195 AuthUserAddRequest as PbAuthUserAddRequest,
196 AuthUserChangePasswordRequest as PbAuthUserChangePasswordRequest,
197 AuthUserDeleteRequest as PbAuthUserDeleteRequest,
198 AuthUserGetRequest as PbAuthUserGetRequest,
199 AuthUserGrantRoleRequest as PbAuthUserGrantRoleRequest,
200 AuthUserListRequest as PbAuthUserListRequest,
201 AuthUserRevokeRoleRequest as PbAuthUserRevokeRoleRequest,
202 AuthenticateRequest as PbAuthenticateRequest, CompactionRequest as PbCompactionRequest,
203 DefragmentRequest as PbDefragmentRequest, DeleteRangeRequest as PbDeleteRequest,
204 HashKvRequest as PbHashKvRequest, HashRequest as PbHashRequest,
205 LeaseGrantRequest as PbLeaseGrantRequest, LeaseKeepAliveRequest as PbLeaseKeepAliveRequest,
206 LeaseLeasesRequest as PbLeaseLeasesRequest, LeaseRevokeRequest as PbLeaseRevokeRequest,
207 LeaseTimeToLiveRequest as PbLeaseTimeToLiveRequest, MemberAddRequest as PbMemberAddRequest,
208 MemberListRequest as PbMemberListRequest, MemberPromoteRequest as PbMemberPromoteRequest,
209 MemberRemoveRequest as PbMemberRemoveRequest, MemberUpdateRequest as PbMemberUpdateRequest,
210 MoveLeaderRequest as PbMoveLeaderRequest, PutRequest as PbPutRequest,
211 RangeRequest as PbRangeRequest, SnapshotRequest as PbSnapshotRequest,
212 StatusRequest as PbStatusRequest, WatchRequest as PbWatchRequest,
213 };
214
215 #[cfg(feature = "build-server")]
216 pub use crate::rpc::pb::etcdserverpb::watch_request::RequestUnion as PbWatchRequestUnion;
217}