Перейти к содержанию

Справочник API

Полный справочник API etcd v3

Этот справочник API автоматически создан из указанных файлов .proto.

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

CompactionRequest компактизирует хранилище ключей и значений до заданной ревизии. Все замещённые ключи с ревизией меньше ревизии компактизации удаляются.

ПолеОписаниеТип
(versionpb.etcd_version_msg)option
revisionrevision — ревизия хранилища ключей и значений для операции компактизации.int64
physicalphysical задаётся, чтобы RPC дождался физического применения компактизации к локальной базе данных и полного удаления компактизированных записей из базы данных бэкенда.bool
Сообщение CompactionResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
Сообщение 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 — идентификатор аренды заданного ключа.int64
range_endrange_end сравнивает заданную цель со всеми ключами диапазона [key, range_end). Подробнее о диапазонах ключей см. RangeRequest.bytes
Сообщение DefragmentRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
Сообщение DefragmentResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
Сообщение DeleteRangeRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
keykey — первый удаляемый ключ диапазона.bytes
range_endrange_end — ключ, следующий за последним удаляемым ключом диапазона [key, range_end). Если range_end не задан, диапазон содержит только аргумент key. Если range_end на один бит больше заданного ключа, диапазон содержит все ключи с префиксом заданного ключа. Если range_end равен ‘\0’, диапазон содержит все ключи, большие либо равные аргументу key.bytes
prev_kvЕсли prev_kv задан, etcd получает предыдущие пары «ключ — значение» перед удалением. Они возвращаются в ответе удаления.bool
Сообщение DeleteRangeResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
deleteddeleted — количество ключей, удалённых запросом удаления диапазона.int64
prev_kvsесли в запросе задан prev_kv, возвращаются предыдущие пары «ключ — значение».(slice of) mvccpb.KeyValue
Сообщение DowngradeInfo (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
enabledenabled указывает, включено ли понижение версии кластера.bool
targetVersiontargetVersion — целевая версия понижения.string
Сообщение DowngradeRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
actionaction — тип отправляемого запроса понижения версии. Действие может VALIDATE целевую версию, DOWNGRADE версию кластера или CANCEL текущую задачу понижения.DowngradeAction
versionversion — целевая версия понижения.string
Сообщение DowngradeResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
versionversion — текущая версия кластера.string
Сообщение DowngradeVersionTestRequest (api/etcdserverpb/rpc.proto)

DowngradeVersionTestRequest используется только для тестирования. Версия в запросе читается как версия записи WAL. Если целевая версия понижения меньше этой версии, понижение (online) или миграция (offline) небезопасны и не должны разрешаться.

ПолеОписаниеТип
(versionpb.etcd_version_msg)option
verstring
Сообщение HashKVRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
revisionrevision — ревизия хранилища ключей и значений для операции хеширования.int64
Сообщение HashKVResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
hashhash — значение хеша, вычисленное по ключам MVCC отвечающего участника до заданной ревизии.uint32
compact_revisioncompact_revision — компактизированная ревизия хранилища ключей и значений в момент начала хеширования.int64
hash_revisionhash_revision — ревизия, до которой вычислен хеш.int64
Сообщение HashRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
Сообщение HashResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
hashhash — значение хеша, вычисленное по бэкенду KV отвечающего участника.uint32
Сообщение LeaseCheckpoint (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор аренды для контрольной точки.int64
remaining_TTLRemaining_TTL — время, оставшееся до истечения аренды.int64
Сообщение LeaseCheckpointRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
checkpoints(slice of) LeaseCheckpoint
Сообщение LeaseCheckpointResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
Сообщение LeaseGrantRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
TTLTTL — рекомендуемый срок жизни в секундах. Истёкшая аренда возвращает -1.int64
IDID — запрошенный идентификатор аренды. Если ID равен 0, арендодатель выбирает идентификатор.int64
Сообщение LeaseGrantResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
IDID — идентификатор выданной аренды.int64
TTLTTL — выбранный сервером срок жизни аренды в секундах.int64
errorstring
Сообщение LeaseKeepAliveRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор аренды, активность которой поддерживается.int64
Сообщение LeaseKeepAliveResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
IDID — идентификатор аренды из запроса поддержания активности.int64
TTLTTL — новый срок жизни аренды.int64
Сообщение LeaseLeasesRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
Сообщение LeaseLeasesResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
leases(slice of) LeaseStatus
Сообщение LeaseRevokeRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор отзываемой аренды. При отзыве ID все связанные ключи удаляются.int64
Сообщение LeaseRevokeResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
Сообщение LeaseStatus (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDint64
Сообщение LeaseTimeToLiveRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор аренды.int64
keyskeys равно true для запроса всех ключей, присоединённых к этой аренде.bool
Сообщение LeaseTimeToLiveResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
IDID — идентификатор аренды из запроса поддержания активности.int64
TTLTTL — оставшийся срок жизни аренды в секундах; аренда истечёт менее чем через TTL+1 секунд.int64
grantedTTLGrantedTTL — исходный выданный срок в секундах при создании или обновлении аренды.int64
keysKeys — список ключей, присоединённых к аренде.(slice of) bytes
Сообщение Member (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор этого участника.uint64
namename — понятное человеку имя участника. Если участник не запущен, имя является пустой строкой.string
peerURLspeerURLs — список URL, которые участник предоставляет кластеру для связи.(slice of) string
clientURLsclientURLs — список URL, которые участник предоставляет клиентам для связи. Если участник не запущен, clientURLs пуст.(slice of) string
isLearnerisLearner указывает, является ли участник обучающимся участником raft.bool
Сообщение MemberAddRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
peerURLspeerURLs — список URL, которые добавленный участник использует для связи с кластером.(slice of) string
isLearnerisLearner указывает, является ли добавленный участник обучающимся участником raft.bool
Сообщение MemberAddResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membermember — сведения о добавленном участнике.Member
membersmembers — список всех участников после добавления нового.(slice of) Member
Сообщение MemberListRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
linearizablebool
Сообщение MemberListResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers — список всех участников, связанных с кластером.(slice of) Member
Сообщение MemberPromoteRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор повышаемого участника.uint64
Сообщение MemberPromoteResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers — список всех участников после повышения участника.(slice of) Member
Сообщение MemberRemoveRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор удаляемого участника.uint64
Сообщение MemberRemoveResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers — список всех участников после удаления участника.(slice of) Member
Сообщение MemberUpdateRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
IDID — идентификатор обновляемого участника.uint64
peerURLspeerURLs — новый список URL, которые участник использует для связи с кластером.(slice of) string
Сообщение MemberUpdateResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
membersmembers — список всех участников после обновления участника.(slice of) Member
Сообщение MoveLeaderRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
targetIDtargetID — идентификатор узла нового лидера.uint64
Сообщение MoveLeaderResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
Сообщение PutRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
keykey — ключ в байтах, помещаемый в хранилище ключей и значений.bytes
valuevalue — значение в байтах, связываемое с ключом в хранилище.bytes
leaselease — идентификатор аренды, связываемой с ключом. Значение аренды 0 означает отсутствие аренды.int64
prev_kvЕсли prev_kv задан, etcd получает предыдущую пару «ключ — значение» перед её изменением. Она возвращается в ответе put.bool
ignore_valueЕсли ignore_value задан, etcd обновляет ключ с его текущим значением. Если ключ не существует, возвращается ошибка.bool
ignore_leaseЕсли ignore_lease задан, etcd обновляет ключ с его текущей арендой. Если ключ не существует, возвращается ошибка.bool
Сообщение PutResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
prev_kvесли в запросе задан prev_kv, возвращается предыдущая пара «ключ — значение».mvccpb.KeyValue
Сообщение RangeRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
keykey — первый ключ диапазона. Если range_end не задан, запрос ищет только key.bytes
range_endrange_end — верхняя граница запрошенного диапазона [key, range_end). Если range_end равен ‘\0’, диапазон содержит все ключи >= key. Если range_end равен key плюс один (например, “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 задаёт использование сериализуемого локального чтения с участника для диапазонного запроса. По умолчанию запросы Range линеаризуемы; их задержка выше, а пропускная способность ниже, чем у сериализуемых запросов, зато они отражают текущий консенсус кластера. Ради повышения производительности ценой возможного чтения устаревших данных сериализуемый запрос обслуживается локально без достижения консенсуса с другими узлами.bool
keys_onlyесли keys_only задан, возвращаются только ключи без значений.bool
count_onlyесли count_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
Сообщение RangeResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
kvskvs — список пар «ключ — значение», соответствующих диапазонному запросу. При запросе count поле kvs пусто.(slice of) mvccpb.KeyValue
moremore указывает, остались ли в запрошенном диапазоне ключи для возврата.bool
countпри запросе count содержит фактическое количество ключей в диапазоне. В отличие от Kvs, оно не зависит от ограничений и фильтров (например, Min/Max, Create/Modify, Revisions) и отражает полное количество в указанном диапазоне.int64
Сообщение RequestOp (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
requestrequest — объединение типов запросов, принимаемых транзакцией.oneof
request_rangeRangeRequest
request_putPutRequest
request_delete_rangeDeleteRangeRequest
request_txnTxnRequest
Сообщение ResponseHeader (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
cluster_idcluster_id — идентификатор кластера, отправившего ответ.uint64
member_idmember_id — идентификатор участника, отправившего ответ.uint64
revisionrevision — ревизия хранилища ключей и значений при применении запроса; для вызовов, не взаимодействующих с хранилищем, она не задана (то есть равна 0). В ответах о ходе наблюдения header.revision обозначает прогресс. Все последующие события в этом потоке гарантированно имеют номер ревизии выше номера header.revision.int64
raft_termraft_term — срок полномочий raft при применении запроса.uint64
Сообщение ResponseOp (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
responseresponse — объединение типов ответов, возвращаемых транзакцией.oneof
response_rangeRangeResponse
response_putPutResponse
response_delete_rangeDeleteRangeResponse
response_txnTxnResponse
Сообщение SnapshotRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
Сообщение SnapshotResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerheader содержит текущие сведения о хранилище ключей и значений. Первый заголовок в потоке снимка указывает момент времени снимка.ResponseHeader
remaining_bytesremaining_bytes — количество байтов blob, отправляемых после этого сообщенияuint64
blobblob содержит следующий фрагмент снимка в потоке снимка.bytes
versionлокальная версия сервера, создавшего снимок. В кластере с двоичными файлами разных версий каждый участник может возвращать иной результат. Указывает, какую версию сервера etcd следует использовать при восстановлении снимка.string
Сообщение StatusRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
Сообщение StatusResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
versionversion — версия протокола кластера, используемая отвечающим участником.string
dbSizedbSize — физически выделенный размер базы данных бэкенда отвечающего участника в байтах.int64
leaderleader — идентификатор участника, которого отвечающий участник считает текущим лидером.uint64
raftIndexraftIndex — текущий зафиксированный индекс raft отвечающего участника.uint64
raftTermraftTerm — текущий срок полномочий raft отвечающего участника.uint64
raftAppliedIndexraftAppliedIndex — текущий применённый индекс raft отвечающего участника.uint64
errorserrors содержит сведения об аварийных сигналах, работоспособности и состоянии.(slice of) string
dbSizeInUsedbSizeInUse — логически используемый размер базы данных бэкенда отвечающего участника в байтах.int64
isLearnerisLearner указывает, является ли участник обучающимся участником raft.bool
storageVersionstorageVersion — версия файла БД. Она может обновляться с задержкой относительно целевой версии кластера.string
dbSizeQuotadbSizeQuota — настроенная квота хранилища etcd в байтах (значение, переданное экземпляру etcd флагом –quota-backend-bytes)int64
downgradeInfodowngradeInfo указывает на наличие процесса понижения версии.DowngradeInfo
Сообщение 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 — список предикатов, представляющих конъюнкцию условий. Если сравнения успешны, запросы success обрабатываются по порядку, а ответ содержит их соответствующие ответы в том же порядке. Если сравнения неудачны, по порядку обрабатываются запросы failure, и ответ содержит соответствующие ответы по порядку.(slice of) Compare
successsuccess — список запросов, применяемых, когда compare истинно.(slice of) RequestOp
failurefailure — список запросов, применяемых, когда compare ложно.(slice of) RequestOp
Сообщение TxnResponse (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
headerResponseHeader
succeededsucceeded равно true, если compare истинно, и false в противном случае.bool
responsesresponses — список ответов, соответствующих результатам применения success, если succeeded равно true, либо failure, если succeeded равно false.(slice of) ResponseOp
Сообщение WatchCancelRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
watch_idwatch_id — идентификатор отменяемого наблюдателя, которому больше не будут передаваться события.int64
Сообщение WatchCreateRequest (api/etcdserverpb/rpc.proto)
ПолеОписаниеТип
(versionpb.etcd_version_msg)option
keykey — ключ, регистрируемый для наблюдения.bytes
range_endrange_end — конец наблюдаемого диапазона [key, range_end). Если range_end не задан, наблюдается только аргумент key. Если range_end равен ‘\0’, наблюдаются все ключи, большие либо равные аргументу key. Если range_end на один бит больше заданного ключа, наблюдаются все ключи с префиксом заданного ключа.bytes
start_revisionstart_revision — необязательная ревизия, с которой включительно начинается наблюдение. Отсутствие start_revision означает “now”.int64
progress_notifyprogress_notify задаётся, чтобы сервер etcd периодически отправлял новому наблюдателю WatchResponse без событий, если недавних событий нет. Это полезно для восстановления отключённого наблюдателя с недавней известной ревизии. Сервер etcd может выбирать частоту уведомлений по текущей нагрузке.bool
filtersfilters фильтруют события на стороне сервера до их отправки наблюдателю.(slice of) FilterType
prev_kvЕсли prev_kv задан, созданный наблюдатель получает предыдущий KV до события. Если предыдущий KV уже компактизирован, ничего не возвращается.bool
watch_idЕсли предоставлен ненулевой watch_id, он назначается этому наблюдателю. Поскольку создание наблюдателя в etcd не является синхронной операцией, это помогает обеспечить правильный порядок при создании нескольких наблюдателей в одном потоке. Создание наблюдателя с уже используемым в потоке ID возвращает ошибку.int64
fragmentfragment позволяет разбивать большие ревизии на несколько ответов наблюдения.bool
Сообщение WatchProgressRequest (api/etcdserverpb/rpc.proto)

Запрашивает как можно скорее отправить состояние прогресса потока наблюдения в потоке ответов наблюдения.

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

Permission — отдельная сущность

ПолеОписаниеТип
permTypeType
keybytes
range_endbytes
Сообщение Role (api/authpb/auth.proto)

Role — отдельная запись в сегменте authRoles

ПолеОписаниеТип
namebytes
keyPermission(slice of) Permission
Сообщение User (api/authpb/auth.proto)

User — отдельная запись в сегменте authUsers

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