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, WatchResponse, WatchStream,
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::compare::{
125 CompareTarget as PbCompareTarget, TargetUnion as PbTargetUnion,
126 };
127 pub use crate::rpc::pb::etcdserverpb::AlarmMember as PbAlarmMember;
128 pub use crate::rpc::pb::etcdserverpb::{
129 request_op::Request as PbTxnOpRequest, response_op::Response as PbTxnOpResponse,
130 AlarmResponse as PbAlarmResponse, AuthDisableResponse as PbAuthDisableResponse,
131 AuthEnableResponse as PbAuthEnableResponse, AuthRoleAddResponse as PbAuthRoleAddResponse,
132 AuthRoleDeleteResponse as PbAuthRoleDeleteResponse,
133 AuthRoleGetResponse as PbAuthRoleGetResponse,
134 AuthRoleGrantPermissionResponse as PbAuthRoleGrantPermissionResponse,
135 AuthRoleListResponse as PbAuthRoleListResponse,
136 AuthRoleRevokePermissionResponse as PbAuthRoleRevokePermissionResponse,
137 AuthUserAddResponse as PbAuthUserAddResponse,
138 AuthUserChangePasswordResponse as PbAuthUserChangePasswordResponse,
139 AuthUserDeleteResponse as PbAuthUserDeleteResponse,
140 AuthUserGetResponse as PbAuthUserGetResponse,
141 AuthUserGrantRoleResponse as PbAuthUserGrantRoleResponse,
142 AuthUserListResponse as PbAuthUserListResponse,
143 AuthUserRevokeRoleResponse as PbAuthUserRevokeRoleResponse,
144 AuthenticateResponse as PbAuthenticateResponse, CompactionResponse as PbCompactionResponse,
145 Compare as PbCompare, DefragmentResponse as PbDefragmentResponse,
146 DeleteRangeResponse as PbDeleteResponse, HashKvResponse as PbHashKvResponse,
147 HashResponse as PbHashResponse, LeaseGrantResponse as PbLeaseGrantResponse,
148 LeaseKeepAliveResponse as PbLeaseKeepAliveResponse,
149 LeaseLeasesResponse as PbLeaseLeasesResponse, LeaseRevokeResponse as PbLeaseRevokeResponse,
150 LeaseStatus as PbLeaseStatus, LeaseTimeToLiveResponse as PbLeaseTimeToLiveResponse,
151 Member as PbMember, MemberAddResponse as PbMemberAddResponse,
152 MemberListResponse as PbMemberListResponse,
153 MemberPromoteResponse as PbMemberPromoteResponse,
154 MemberRemoveResponse as PbMemberRemoveResponse,
155 MemberUpdateResponse as PbMemberUpdateResponse, MoveLeaderResponse as PbMoveLeaderResponse,
156 PutResponse as PbPutResponse, RangeResponse as PbRangeResponse,
157 RequestOp as PbTxnRequestOp, ResponseHeader as PbResponseHeader,
158 ResponseOp as PbResponseOp, SnapshotResponse as PbSnapshotResponse,
159 StatusResponse as PbStatusResponse, TxnRequest as PbTxnRequest,
160 TxnResponse as PbTxnResponse, WatchResponse as PbWatchResponse,
161 };
162 pub use crate::rpc::pb::mvccpb::Event as PbEvent;
163 pub use crate::rpc::pb::mvccpb::KeyValue as PbKeyValue;
164 pub use crate::rpc::pb::v3electionpb::{
165 CampaignResponse as PbCampaignResponse, LeaderKey as PbLeaderKey,
166 LeaderResponse as PbLeaderResponse, ProclaimResponse as PbProclaimResponse,
167 ResignResponse as PbResignResponse,
168 };
169 pub use crate::rpc::pb::v3lockpb::{
170 LockResponse as PbLockResponse, UnlockResponse as PbUnlockResponse,
171 };
172
173 #[cfg(feature = "build-server")]
174 pub use crate::rpc::pb::etcdserverpb::{
175 auth_server::{Auth as PbAuthService, AuthServer as PbAuthServer},
176 cluster_server::{Cluster as PbClusterService, ClusterServer as PbClusterServer},
177 kv_server::{Kv as PbKvService, KvServer as PbKvServer},
178 lease_server::{Lease as PbLeaseService, LeaseServer as PbLeaseServer},
179 maintenance_server::{
180 Maintenance as PbMaintenanceService, MaintenanceServer as PbMaintenanceServer,
181 },
182 watch_server::{Watch as PbWatchService, WatchServer as PbWatchServer},
183 };
184
185 #[cfg(feature = "build-server")]
186 pub use crate::rpc::pb::etcdserverpb::{
187 AlarmRequest as PbAlarmRequest, AuthDisableRequest as PbAuthDisableRequest,
188 AuthEnableRequest as PbAuthEnableRequest, AuthRoleAddRequest as PbAuthRoleAddRequest,
189 AuthRoleDeleteRequest as PbAuthRoleDeleteRequest,
190 AuthRoleGetRequest as PbAuthRoleGetRequest,
191 AuthRoleGrantPermissionRequest as PbAuthRoleGrantPermissionRequest,
192 AuthRoleListRequest as PbAuthRoleListRequest,
193 AuthRoleRevokePermissionRequest as PbAuthRoleRevokePermissionRequest,
194 AuthUserAddRequest as PbAuthUserAddRequest,
195 AuthUserChangePasswordRequest as PbAuthUserChangePasswordRequest,
196 AuthUserDeleteRequest as PbAuthUserDeleteRequest,
197 AuthUserGetRequest as PbAuthUserGetRequest,
198 AuthUserGrantRoleRequest as PbAuthUserGrantRoleRequest,
199 AuthUserListRequest as PbAuthUserListRequest,
200 AuthUserRevokeRoleRequest as PbAuthUserRevokeRoleRequest,
201 AuthenticateRequest as PbAuthenticateRequest, CompactionRequest as PbCompactionRequest,
202 DefragmentRequest as PbDefragmentRequest, DeleteRangeRequest as PbDeleteRequest,
203 HashKvRequest as PbHashKvRequest, HashRequest as PbHashRequest,
204 LeaseGrantRequest as PbLeaseGrantRequest, LeaseKeepAliveRequest as PbLeaseKeepAliveRequest,
205 LeaseLeasesRequest as PbLeaseLeasesRequest, LeaseRevokeRequest as PbLeaseRevokeRequest,
206 LeaseTimeToLiveRequest as PbLeaseTimeToLiveRequest, MemberAddRequest as PbMemberAddRequest,
207 MemberListRequest as PbMemberListRequest, MemberPromoteRequest as PbMemberPromoteRequest,
208 MemberRemoveRequest as PbMemberRemoveRequest, MemberUpdateRequest as PbMemberUpdateRequest,
209 MoveLeaderRequest as PbMoveLeaderRequest, PutRequest as PbPutRequest,
210 RangeRequest as PbRangeRequest, SnapshotRequest as PbSnapshotRequest,
211 StatusRequest as PbStatusRequest, WatchRequest as PbWatchRequest,
212 };
213}