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