Довідник API

Ця довідник API автоматично згенерована з вказаних файлів .proto.

service Auth (api/etcdserverpb/rpc.proto)
МетодТип запитуТип відповідіОпис
AuthEnableAuthEnableRequestAuthEnableResponseAuthEnable вмикає автентифікацію.
AuthDisableAuthDisableRequestAuthDisableResponseAuthDisable вимикає автентифікацію.
AuthStatusAuthStatusRequestAuthStatusResponseAuthStatus показує статус автентифікації.
AuthenticateAuthenticateRequestAuthenticateResponseAuthenticate обробляє запит автентифікації.
UserAddAuthUserAddRequestAuthUserAddResponseUserAdd додає нового користувача. Імʼя користувача не може бути порожнім.
UserGetAuthUserGetRequestAuthUserGetResponseUserGet отримує детальну інформацію про користувача.
UserListAuthUserListRequestAuthUserListResponseUserList отримує список всіх користувачів.
UserDeleteAuthUserDeleteRequestAuthUserDeleteResponseUserDelete видаляє вказаного користувача.
UserChangePasswordAuthUserChangePasswordRequestAuthUserChangePasswordResponseUserChangePassword змінює пароль вказаного користувача.
UserGrantRoleAuthUserGrantRoleRequestAuthUserGrantRoleResponseUserGrant надає роль вказаному користувачу.
UserRevokeRoleAuthUserRevokeRoleRequestAuthUserRevokeRoleResponseUserRevokeRole відкликає роль вказаного користувача.
RoleAddAuthRoleAddRequestAuthRoleAddResponseRoleAdd додає нову роль. Імʼя ролі не може бути порожнім.
RoleGetAuthRoleGetRequestAuthRoleGetResponseRoleGet отримує детальну інформацію про роль.
RoleListAuthRoleListRequestAuthRoleListResponseRoleList отримує список всіх ролей.
RoleDeleteAuthRoleDeleteRequestAuthRoleDeleteResponseRoleDelete видаляє вказану роль.
RoleGrantPermissionAuthRoleGrantPermissionRequestAuthRoleGrantPermissionResponseRoleGrantPermission надає дозвіл на вказаний ключ або діапазон вказаній ролі.
RoleRevokePermissionAuthRoleRevokePermissionRequestAuthRoleRevokePermissionResponseRoleRevokePermission відкликає дозвіл на ключ або діапазон вказаної ролі.
service Cluster (api/etcdserverpb/rpc.proto)
МетодТип запитуТип відповідіОпис
MemberAddMemberAddRequestMemberAddResponseMemberAdd додає учасника до кластера.
MemberRemoveMemberRemoveRequestMemberRemoveResponseMemberRemove видаляє існуючого учасника з кластера.
MemberUpdateMemberUpdateRequestMemberUpdateResponseMemberUpdate оновлює конфігурацію учасника.
MemberListMemberListRequestMemberListResponseMemberList показує всіх учасників кластера.
MemberPromoteMemberPromoteRequestMemberPromoteResponseMemberPromote підвищує учасника з raft learner (без права голосу) до raft учасника з правом голосу.
service KV (api/etcdserverpb/rpc.proto)
МетодТип запитуТип відповідіОпис
RangeRangeRequestRangeResponseRange отримує ключі в діапазоні з сховища ключ-значення.
PutPutRequestPutResponsePut вставляє вказаний ключ у сховище ключ-значення. Запит на вставку збільшує ревізію сховища ключ-значення і генерує одну подію в історії подій.
DeleteRangeDeleteRangeRequestDeleteRangeResponseDeleteRange видаляє вказаний діапазон зі сховища ключ-значення. Запит на видалення збільшує ревізію сховища ключ-значення і генерує подію видалення в історії подій для кожного видаленого ключа.
TxnTxnRequestTxnResponseTxn обробляє кілька запитів в одній транзакції. Запит на транзакцію збільшує ревізію сховища ключ-значення і генерує події з тією ж ревізією для кожного завершеного запиту. Не дозволяється змінювати один і той самий ключ кілька разів в одній транзакції.
CompactCompactionRequestCompactionResponseCompact стискає історію подій у сховищі ключ-значення etcd. Сховище ключ-значення повинно періодично стискатися, інакше історія подій буде рости нескінченно.
service Lease (api/etcdserverpb/rpc.proto)
МетодТип запитуТип відповідіОпис
LeaseGrantLeaseGrantRequestLeaseGrantResponseLeaseGrant створює лізинг, який закінчується, якщо сервер не отримує keepAlive протягом заданого періоду часу. Всі ключі, прикріплені до лізингу, будуть видалені після закінчення терміну дії лізингу. Кожен видалений ключ генерує подію видалення в історії подій.
LeaseRevokeLeaseRevokeRequestLeaseRevokeResponseLeaseRevoke відкликає лізинг. Всі ключі, прикріплені до лізингу, будуть видалені.
LeaseKeepAliveLeaseKeepAliveRequestLeaseKeepAliveResponseLeaseKeepAlive підтримує лізинг активним, передаючи запити keep alive від клієнта до сервера і відповіді keep alive від сервера до клієнта.
LeaseTimeToLiveLeaseTimeToLiveRequestLeaseTimeToLiveResponseLeaseTimeToLive отримує інформацію про лізинг.
LeaseLeasesLeaseLeasesRequestLeaseLeasesResponseLeaseLeases показує всі існуючі лізинги.
service Maintenance (api/etcdserverpb/rpc.proto)
МетодТип запитуТип відповідіОпис
AlarmAlarmRequestAlarmResponseAlarm активує, деактивує та запитує тривоги щодо справності кластера.
StatusStatusRequestStatusResponseStatus отримує статус учасника.
DefragmentDefragmentRequestDefragmentResponseDefragment дефрагментує бекенд бази даних учасника для відновлення місця для зберігання.
HashHashRequestHashResponseHash обчислює хеш всього бекенду ключового простору, включаючи ключі, лізинги та інші сегменти в сховищі. Це призначено ТІЛЬКИ для тестування! Не покладайтеся на це у промисловій експлуатації з поточними транзакціями, оскільки операція Hash не утримує блокування MVCC. Використовуйте API “HashKV” замість цього для перевірки узгодженості сегмента “ключ”.
HashKVHashKVRequestHashKVResponseHashKV обчислює хеш всіх ключів MVCC до вказаної ревізії. Він ітерує тільки сегмент “ключ” в бекенді сховища.
SnapshotSnapshotRequestSnapshotResponseSnapshot надсилає знімок всього бекенду від учасника через потік до клієнта.
MoveLeaderMoveLeaderRequestMoveLeaderResponseMoveLeader запитує поточного лідера вузла передати своє лідерство іншому вузлу.
DowngradeDowngradeRequestDowngradeResponseDowngrade запитує зниження, перевіряє можливість або скасовує зниження версії кластера. Підтримується з версії etcd 3.5.
service Watch (api/etcdserverpb/rpc.proto)
МетодТип запитуТип відповідіОпис
WatchWatchRequestWatchResponseWatch спостерігає за подіями, що відбуваються або вже відбулися. Вхідний і вихідний потоки; вхідний потік створює і скасовує спостерігачів, а вихідний потік надсилає події. Один запит на спостереження може спостерігати за кількома діапазонами ключів, передаючи події для кількох спостережень одночасно. Вся історія подій може бути переглянута, починаючи з останньої ревізії стиснення.
message AlarmMember (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
memberIDmemberID - це ID учасника, повʼязаного з піднятою тривогою.uint64
alarmalarm - це тип тривоги, яка була піднята.AlarmType
message AlarmRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
actionaction - це тип запиту на тривогу. Дія може бути GET для отримання статусів тривог, ACTIVATE для активації тривоги або DEACTIVATE для деактивації піднятої тривоги.AlarmAction
memberIDmemberID - це ID учасника, повʼязаного з тривогою. Якщо memberID дорівнює 0, запит на тривогу охоплює всіх учасників.uint64
alarmalarm - це тип тривоги, яку слід розглянути для цього запиту.AlarmType
message AlarmResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
alarmsalarms - це список тривог, повʼязаних із запитом на тривогу.(slice of) AlarmMember
message AuthDisableRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message AuthDisableResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthEnableRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message AuthEnableResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthRoleAddRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namename - це імʼя ролі, яку потрібно додати до системи автентифікації.string
message AuthRoleAddResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthRoleDeleteRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
rolestring
message AuthRoleDeleteResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthRoleGetRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
rolestring
message AuthRoleGetResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
headerResponseHeader
perm(slice of) authpb.Permission
message AuthRoleGrantPermissionRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namename - це імʼя ролі, якій буде надано дозвіл.string
permperm - це дозвіл, який буде надано ролі.authpb.Permission
message AuthRoleGrantPermissionResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthRoleListRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message AuthRoleListResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
roles(slice of) string
message AuthRoleRevokePermissionRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
rolestring
keybytes
range_endbytes
message AuthRoleRevokePermissionResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthStatusRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message AuthStatusResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
enabledbool
authRevisionauthRevision - це поточна ревізія сховища автентифікаціїuint64
message AuthUserAddRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namestring
passwordstring
optionsauthpb.UserAddOptions
hashedPasswordstring
message AuthUserAddResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthUserChangePasswordRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namename - це імʼя користувача, пароль якого змінюється.string
passwordpassword - це новий пароль для користувача. Зверніть увагу, що це поле буде видалено на рівні API.string
hashedPasswordhashedPassword - це новий пароль для користувача. Зверніть увагу, що це поле буде ініціалізовано на рівні API.string
message AuthUserChangePasswordResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthUserDeleteRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namename - це імʼя користувача, якого потрібно видалити.string
message AuthUserDeleteResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthUserGetRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namestring
message AuthUserGetResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
roles(slice of) string
message AuthUserGrantRoleRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
useruser - це імʼя користувача, якому слід надати вказану роль.string
rolerole - це імʼя ролі, яку слід надати користувачу.string
message AuthUserGrantRoleResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthUserListRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message AuthUserListResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
users(slice of) string
message AuthUserRevokeRoleRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namestring
rolestring
message AuthUserRevokeRoleResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message AuthenticateRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
namestring
passwordstring
message AuthenticateResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
tokentoken - це авторизований токен, який можна використовувати в наступних RPCstring
message CompactionRequest (api/etcdserverpb/rpc.proto)

CompactionRequest стискає сховище ключ-значення до вказаної ревізії. Всі замінені ключі з ревізією менше ревізії стиснення будуть видалені.

ПолеОписТип
(versionpb.etcd_version_msg)option
revisionrevision - це ревізія сховища ключ-значення для операції стиснення.int64
physicalphysical встановлюється так, щоб RPC чекало, поки стиснення фізично не буде застосовано до локальної бази даних, щоб стиснені записи були повністю видалені з бекенду бази даних.bool
message CompactionResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message Compare (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
resultresult - це логічна операція порівняння для цього порівняння.CompareResult
targettarget - це поле ключ-значення для перевірки порівняння.CompareTarget
keykey - це ключ для операції порівняння.bytes
target_uniononeof
versionversion - це версія вказаного ключаint64
create_revisioncreate_revision - це ревізія створення вказаного ключаint64
mod_revisionmod_revision - це остання модифікована ревізія вказаного ключа.int64
valuevalue - це значення вказаного ключа, в байтах.bytes
leaselease - це ID лізингу вказаного ключа.int64
range_endrange_end порівнює вказаний target з усіма ключами в діапазоні [key, range_end). Дивіться RangeRequest для отримання додаткової інформації про діапазони ключів.bytes
message DefragmentRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message DefragmentResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message DeleteRangeRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
keykey - це перший ключ для видалення в діапазоні.bytes
range_endrange_end - це ключ, що слідує за останнім ключем для видалення в діапазоні [key, range_end). Якщо range_end не вказано, діапазон визначається тільки ключем. Якщо range_end на один біт більше, ніж вказаний ключ, то діапазон включає всі ключі з префіксом (вказаний ключ). Якщо range_end дорівнює ‘\0’, діапазон включає всі ключі, більші або рівні ключу.bytes
prev_kvЯкщо prev_kv встановлено, etcd отримує попередні пари ключ-значення перед їх видаленням. Попередні пари ключ-значення будуть повернуті у відповіді на видалення.bool
message DeleteRangeResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
deleteddeleted - це кількість ключів, видалених за запитом на видалення діапазону.int64
prev_kvsякщо prev_kv встановлено в запиті, попередні пари ключ-значення будуть повернуті.(slice of) mvccpb.KeyValue
message DowngradeInfo (api/etcdserverpb/rpc.proto)
ПолеОписТип
enabledenabled вказує, чи кластер увімкнено для зниження версії.bool
targetVersiontargetVersion - це цільова версія зниження.string
message DowngradeRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
actionaction - це тип запиту на зниження. Дія може бути VALIDATE для перевірки цільової версії, DOWNGRADE для зниження версії кластера або CANCEL для скасування поточного завдання зниження.DowngradeAction
versionversion - це цільова версія для зниження.string
message DowngradeResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
versionversion - це поточна версія кластера.string
message DowngradeVersionTestRequest (api/etcdserverpb/rpc.proto)

DowngradeVersionTestRequest використовується лише для тестування. Версія в цьому запиті буде прочитана як версія запису WAL. Якщо цільова версія зниження менша за цю версію, то зниження (онлайн) або міграція (офлайн) не є безпечними, тому не повинні бути дозволені.

ПолеОписТип
(versionpb.etcd_version_msg)option
verstring
message HashKVRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
revisionrevision - це ревізія сховища ключ-значення для операції хешування.int64
message HashKVResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
hashhash - це значення хешу, обчислене з ключів MVCC до вказаної ревізії.uint32
compact_revisioncompact_revision - це стиснута ревізія сховища ключ-значення на момент початку хешування.int64
hash_revisionhash_revision - це ревізія, до якої обчислюється хеш.int64
message HashRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message HashResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
hashhash - це значення хешу, обчислене з бекенду KV.uint32
message LeaseCheckpoint (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID лізингу для контрольної точки.int64
remaining_TTLRemaining_TTL - це залишковий час до закінчення терміну дії лізингу.int64
message LeaseCheckpointRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
checkpoints(slice of) LeaseCheckpoint
message LeaseCheckpointResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message LeaseGrantRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
TTLTTL - це рекомендований час життя в секундах. Закінчений лізинг поверне -1.int64
IDID - це запитуваний ID для лізингу. Якщо ID встановлено на 0, вибір ID здійснюється орендодавцем.int64
message LeaseGrantResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
IDID - це ID лізингу для наданого лізингу.int64
TTLTTL - це час життя лізингу, вибраний сервером, в секундах.int64
errorstring
message LeaseKeepAliveRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID лізингу для підтримки активності.int64
message LeaseKeepAliveResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
IDID - це ID лізингу з запиту на підтримку активності.int64
TTLTTL - це новий час життя для лізингу.int64
message LeaseLeasesRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message LeaseLeasesResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
leases(slice of) LeaseStatus
message LeaseRevokeRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID лізингу для відкликання. Коли ID відкликано, всі повʼязані ключі будуть видалені.int64
message LeaseRevokeResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message LeaseStatus (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDint64
message LeaseTimeToLiveRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID лізингу.int64
keyskeys - це true для запиту всіх ключів, прикріплених до цього лізингу.bool
message LeaseTimeToLiveResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
IDID - це ID лізингу з запиту на підтримку активності.int64
TTLTTL - це залишковий час життя в секундах для лізингу; лізинг закінчиться через TTL+1 секунд.int64
grantedTTLGrantedTTL - це початковий наданий час в секундах при створенні/оновленні лізингу.int64
keysKeys - це список ключів, прикріплених до цього лізингу.(slice of) bytes
message Member (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID учасника для цього учасника.uint64
namename - це імʼя учасника, яке можна прочитати. Якщо учасник не запущений, імʼя буде порожнім рядком.string
peerURLspeerURLs - це список URL-адрес, які учасник використовує для спілкування з кластером.(slice of) string
clientURLsclientURLs - це список URL-адрес, які учасник використовує для спілкування з клієнтами. Якщо учасник не запущений, clientURLs будуть порожніми.(slice of) string
isLearnerisLearner вказує, чи є учасник raft learner.bool
message MemberAddRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
peerURLspeerURLs - це список URL-адрес, які доданий учасник буде використовувати для спілкування з кластером.(slice of) string
isLearnerisLearner вказує, чи є доданий учасник raft learner.bool
message MemberAddResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membermember - це інформація про доданого учасника.Member
membersmembers - це список всіх учасників після додавання нового учасника.(slice of) Member
message MemberListRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
linearizablebool
message MemberListResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers - це список всіх учасників, повʼязаних з кластером.(slice of) Member
message MemberPromoteRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID учасника, якого потрібно підвищити.uint64
message MemberPromoteResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers - це список всіх учасників після підвищення учасника.(slice of) Member
message MemberRemoveRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID учасника, якого потрібно видалити.uint64
message MemberRemoveResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers - це список всіх учасників після видалення учасника.(slice of) Member
message MemberUpdateRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
IDID - це ID учасника, якого потрібно оновити.uint64
peerURLspeerURLs - це новий список URL-адрес, які учасник буде використовувати для спілкування з кластером.(slice of) string
message MemberUpdateResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers - це список всіх учасників після оновлення учасника.(slice of) Member
message MoveLeaderRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
targetIDtargetID - це ID вузла для нового лідера.uint64
message MoveLeaderResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
message PutRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
keykey - це ключ, в байтах, для вставки в сховище ключ-значення.bytes
valuevalue - це значення, в байтах, для асоціації з ключем у сховищі ключ-значення.bytes
leaselease - це ID лізингу для асоціації з ключем у сховищі ключ-значення. Значення лізингу 0 вказує на відсутність лізингу.int64
prev_kvЯкщо prev_kv встановлено, etcd отримує попередню пару ключ-значення перед її зміною. Попередня пара ключ-значення буде повернута у відповіді на вставку.bool
ignore_valueЯкщо ignore_value встановлено, etcd оновлює ключ, використовуючи його поточне значення. Повертає помилку, якщо ключ не існує.bool
ignore_leaseЯкщо ignore_lease встановлено, etcd оновлює ключ, використовуючи його поточний лізинг. Повертає помилку, якщо ключ не існує.bool
message PutResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
prev_kvякщо prev_kv встановлено в запиті, попередня пара ключ-значення буде повернута.mvccpb.KeyValue
message RangeRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
keykey - це перший ключ для діапазону. Якщо range_end не вказано, запит шукає тільки ключ.bytes
range_endrange_end - це верхня межа запитуваного діапазону [key, range_end). Якщо range_end дорівнює ‘\0’, діапазон включає всі ключі >= key. Якщо range_end дорівнює ключу плюс один (наприклад, “aa”+1 == “ab”, “a\xff”+1 == “b”), то запит на діапазон отримує всі ключі з префіксом key. Якщо обидва key і range_end дорівнюють ‘\0’, то запит на діапазон повертає всі ключі.bytes
limitlimit - це обмеження на кількість ключів, що повертаються за запитом. Коли limit встановлено на 0, це розглядається як відсутність обмеження.int64
revisionrevision - це точка в часі сховища ключ-значення для використання в діапазоні. Якщо revision менше або дорівнює нулю, діапазон охоплює найновіше сховище ключ-значення. Якщо ревізія була стиснута, ErrCompacted повертається як відповідь.int64
sort_ordersort_order - це порядок для повернутих відсортованих результатів.SortOrder
sort_targetsort_target - це поле ключ-значення для використання при сортуванні.SortTarget
serializableserializable встановлює запит на діапазон для використання серіалізованих локальних читань учасника. Запити на діапазон стандартно є лінійними; лінійні запити мають вищу затримку і нижчу пропускну здатність, ніж серіалізовані запити, але відображають поточний консенсус кластера. Для кращої продуктивності, в обмін на можливі застарілі читання, серіалізований запит на діапазон обслуговується локально без необхідності досягати консенсусу з іншими вузлами в кластері.bool
keys_onlykeys_only при встановленні повертає тільки ключі, а не значення.bool
count_onlycount_only при встановленні повертає тільки кількість ключів у діапазоні.bool
min_mod_revisionmin_mod_revision - це нижня межа для повернутих модифікацій ключів; всі ключі з меншими модифікаціями будуть відфільтровані.int64
max_mod_revisionmax_mod_revision - це верхня межа для повернутих модифікацій ключів; всі ключі з більшими модифікаціями будуть відфільтровані.int64
min_create_revisionmin_create_revision - це нижня межа для повернутих ревізій створення ключів; всі ключі з меншими ревізіями створення будуть відфільтровані.int64
max_create_revisionmax_create_revision - це верхня межа для повернутих ревізій створення ключів; всі ключі з більшими ревізіями створення будуть відфільтровані.int64
message RangeResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
kvskvs - це список пар ключ-значення, що відповідають запиту на діапазон. kvs порожній, коли запитується кількість.(slice of) mvccpb.KeyValue
moremore вказує, чи є ще ключі для повернення в запитуваному діапазоні.bool
countcount встановлюється на фактичну кількість ключів у діапазоні, коли запитується. На відміну від Kvs, на нього не впливають обмеження та фільтри (наприклад, Min/Max, Create/Modify, Revisions), і він відображає повну кількість у вказаному діапазоні.int64
message RequestOp (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
requestrequest - це обʼєднання типів запитів, прийнятих транзакцією.oneof
request_rangeRangeRequest
request_putPutRequest
request_delete_rangeDeleteRangeRequest
request_txnTxnRequest
message ResponseHeader (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
cluster_idcluster_id - це ID кластера, який надіслав відповідь.uint64
member_idmember_id - це ID учасника, який надіслав відповідь.uint64
revisionrevision - це ревізія сховища ключ-значення, коли запит був застосований, і вона не встановлена (тобто 0) у випадку викликів, які не взаємодіють зі сховищем ключ-значення. Для відповідей на прогрес спостереження, header.revision вказує на прогрес. Всі майбутні події, отримані в цьому потоці, гарантовано матимуть вищий номер ревізії, ніж номер header.revision.int64
raft_termraft_term - це термін raft, коли запит був застосований.uint64
message ResponseOp (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
responseresponse - це обʼєднання типів відповідей, повернутих транзакцією.oneof
response_rangeRangeResponse
response_putPutResponse
response_delete_rangeDeleteRangeResponse
response_txnTxnResponse
message SnapshotRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message SnapshotResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerheader містить поточну інформацію про сховище ключ-значення. Перший заголовок у потоці знімків вказує на момент часу знімка.ResponseHeader
remaining_bytesremaining_bytes - це кількість байтів блобу, які потрібно надіслати після цього повідомленняuint64
blobblob містить наступний фрагмент знімка в потоці знімків.bytes
versionversion - це локальна версія сервера, який створив знімок. У кластері з бінарними файлами різних версій кожен учасник може повернути різний результат. Вказує, яку версію сервера etcd слід використовувати при відновленні знімка.string
message StatusRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
message StatusResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
versionversion - це версія протоколу кластера, яку використовує відповідний учасник.string
dbSizedbSize - це розмір фізично виділеної бекенд бази даних, в байтах, відповідного учасника.int64
leaderleader - це ID учасника, якого відповідний учасник вважає поточним лідером.uint64
raftIndexraftIndex - це поточний індекс raft, підтверджений відповідним учасником.uint64
raftTermraftTerm - це поточний термін raft відповідного учасника.uint64
raftAppliedIndexraftAppliedIndex - це поточний застосований індекс raft відповідного учасника.uint64
errorserrors містить інформацію про тривоги/здоровʼя та статус.(slice of) string
dbSizeInUsedbSizeInUse - це розмір логічно використовуваної бекенд бази даних, в байтах, відповідного учасника.int64
isLearnerisLearner вказує, чи є учасник raft learner.bool
storageVersionstorageVersion - це версія файлу бази даних. Вона може оновлюватися із затримкою відносно цільової версії кластера.string
dbSizeQuotadbSizeQuota - це налаштована квота зберігання etcd в байтах (значення, передане екземпляру etcd через прапорець --quota-backend-bytes)int64
downgradeInfodowngradeInfo вказує, чи існує процес зниження версії.DowngradeInfo
message TxnRequest (api/etcdserverpb/rpc.proto)

З паперу google paxosdb: Наша реалізація базується на потужному примітиві, який ми називаємо MultiOp. Всі інші операції бази даних, крім ітерації, реалізовані як один виклик до MultiOp. MultiOp застосовується атомарно і складається з трьох компонентів: 1. Список тестів, які називаються guard. Кожен тест у guard перевіряє один запис у базі даних. Він може перевіряти наявність або відсутність значення або порівнювати з заданим значенням. Два різних тести в guard можуть застосовуватися до одного або різних записів у базі даних. Всі тести в guard застосовуються, і MultiOp повертає результати. Якщо всі тести є істинними, MultiOp виконує t op (див. пункт 2 нижче), інакше виконує f op (див. пункт 3 нижче). 2. Список операцій бази даних, які називаються t op. Кожна операція в списку є або вставкою, видаленням, або операцією пошуку і застосовується до одного запису в базі даних. Дві різні операції в списку можуть застосовуватися до одного або різних записів у базі даних. Ці операції виконуються, якщо guard оцінюється як істинний. 3. Список операцій бази даних, які називаються f op. Як і t op, але виконується, якщо guard оцінюється як хибний.

ПолеОписТип
(versionpb.etcd_version_msg)option
comparecompare - це список предикатів, що представляють конʼюнкцію термінів. Якщо порівняння вдається, то запити на успіх будуть оброблені в порядку, і відповідь міститиме їх відповідні відповіді в порядку. Якщо порівняння не вдається, то запити на невдачу будуть оброблені в порядку, і відповідь міститиме їх відповідні відповіді в порядку.(slice of) Compare
successsuccess - це список запитів, які будуть застосовані, коли compare оцінюється як істинний.(slice of) RequestOp
failurefailure - це список запитів, які будуть застосовані, коли compare оцінюється як хибний.(slice of) RequestOp
message TxnResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
succeededsucceeded встановлюється на true, якщо порівняння оцінюється як істинне, або false в іншому випадку.bool
responsesresponses - це список відповідей, що відповідають результатам застосування success, якщо succeeded є істинним, або failure, якщо succeeded є хибним.(slice of) ResponseOp
message WatchCancelRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
watch_idwatch_id - це ID спостерігача для скасування, щоб більше не передавати події.int64
message WatchCreateRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
keykey - це ключ для реєстрації спостереження.bytes
range_endrange_end - це кінець діапазону [key, range_end) для спостереження. Якщо range_end не вказано, спостерігається тільки ключ. Якщо range_end дорівнює ‘\0’, спостерігаються всі ключі, більші або рівні ключу. Якщо range_end на один біт більше, ніж вказаний ключ, то спостерігаються всі ключі з префіксом (вказаний ключ).bytes
start_revisionstart_revision - це необовʼязкова ревізія для спостереження з (включно). Відсутність start_revision означає “зараз”.int64
progress_notifyprogress_notify встановлюється так, щоб сервер etcd періодично надсилав WatchResponse без подій новому спостерігачу, якщо немає недавніх подій. Це корисно, коли клієнти бажають відновити відключеного спостерігача, починаючи з недавньої відомої ревізії. Сервер etcd може вирішити, як часто він буде надсилати сповіщення на основі поточного навантаження.bool
filtersfilters фільтрують події на стороні сервера перед їх надсиланням спостерігачу.(slice of) FilterType
prev_kvЯкщо prev_kv встановлено, створений спостерігач отримує попереднє ключ-значення перед подією. Якщо попереднє ключ-значення вже стиснуто, нічого не буде повернуто.bool
watch_idЯкщо watch_id надано і він не дорівнює нулю, він буде призначений цьому спостерігачу. Оскільки створення спостерігача в etcd не є синхронною операцією, це можна використовувати для забезпечення правильного порядку при створенні кількох спостерігачів на одному потоці. Створення спостерігача з ID, який вже використовується на потоці, призведе до повернення помилки.int64
fragmentfragment дозволяє розділяти великі ревізії на кілька відповідей спостереження.bool
message WatchProgressRequest (api/etcdserverpb/rpc.proto)

Запитує, щоб статус прогресу потоку спостереження був надісланий у потоці відповідей спостереження якомога швидше.

ПолеОписТип
(versionpb.etcd_version_msg)option
message WatchRequest (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
request_unionrequest_union - це запит на створення нового спостерігача або скасування існуючого спостерігача.oneof
create_requestWatchCreateRequest
cancel_requestWatchCancelRequest
progress_requestWatchProgressRequest
message WatchResponse (api/etcdserverpb/rpc.proto)
ПолеОписТип
(versionpb.etcd_version_msg)option
headerResponseHeader
watch_idwatch_id - це ID спостерігача, який відповідає відповіді.int64
createdcreated встановлюється на true, якщо відповідь стосується запиту на створення спостереження. Клієнт повинен записати watch_id і очікувати отримання подій для створеного спостерігача з того ж потоку. Всі події, надіслані створеному спостерігачу, будуть мати той самий watch_id.bool
canceledcanceled встановлюється на true, якщо відповідь стосується запиту на скасування спостереження або якщо start_revision вже була стиснута. Більше подій не буде надіслано скасованому спостерігачу.bool
compact_revisioncompact_revision встановлюється на мінімальний індекс, якщо спостерігач намагається спостерігати на стиснутому індексі. Це відбувається, коли створюється спостерігач на стиснутій ревізії або спостерігач не може наздогнати прогрес сховища ключ-значення. Клієнт повинен розглядати спостерігача як скасованого і не повинен намагатися створити будь-якого спостерігача з тією ж start_revision знову.int64
cancel_reasoncancel_reason вказує причину скасування спостерігача.string
fragmentfragment є true, якщо велика відповідь спостереження була розділена на кілька відповідей.bool
events(slice of) mvccpb.Event
message Event (api/mvccpb/kv.proto)
ПолеОписТип
typetype - це тип події. Якщо type є PUT, це означає, що нові дані були збережені в ключі. Якщо type є DELETE, це означає, що ключ був видалений.EventType
kvkv містить KeyValue для події. Подія PUT містить поточну пару ключ-значення. Подія PUT з kv.Version=1 означає створення ключа. Подія DELETE/EXPIRE містить видалений ключ з його модифікаційною ревізією, встановленою на ревізію видалення.KeyValue
prev_kvprev_kv містить пару ключ-значення до події.KeyValue
message KeyValue (api/mvccpb/kv.proto)
ПолеОписТип
keykey - це ключ в байтах. Порожній ключ не допускається.bytes
create_revisioncreate_revision - це ревізія останнього створення цього ключа.int64
mod_revisionmod_revision - це ревізія останньої модифікації цього ключа.int64
versionversion - це версія ключа. Видалення скидає версію до нуля, а будь-яка модифікація ключа збільшує його версію.int64
valuevalue - це значення, яке утримується ключем, в байтах.bytes
leaselease - це ID лізингу, прикріпленого до ключа. Коли прикріплений лізинг закінчується, ключ буде видалений. Якщо lease дорівнює 0, то до ключа не прикріплено жодного лізингу.int64
message Lease (server/lease/leasepb/lease.proto)
ПолеОписТип
IDint64
TTLint64
RemainingTTLint64
message LeaseInternalRequest (server/lease/leasepb/lease.proto)
ПолеОписТип
LeaseTimeToLiveRequestetcdserverpb.LeaseTimeToLiveRequest
message LeaseInternalResponse (server/lease/leasepb/lease.proto)
ПолеОписТип
LeaseTimeToLiveResponseetcdserverpb.LeaseTimeToLiveResponse
message Permission (api/authpb/auth.proto)

Permission - це єдина сутність

ПолеОписТип
permTypeType
keybytes
range_endbytes
message Role (api/authpb/auth.proto)

Role - це єдиний запис у сегменті authRoles

ПолеОписТип
namebytes
keyPermission(slice of) Permission
message User (api/authpb/auth.proto)

User - це єдиний запис у сегменті authUsers

ПолеОписТип
namebytes
passwordbytes
roles(slice of) string
optionsUserAddOptions
message UserAddOptions (api/authpb/auth.proto)
ПолеОписТип
no_passwordbool

Востаннє змінено September 13, 2026: Add Ukrainian documentation and tutorials for etcd v3.5..v3.8 (45739f0)