本文へ移動

APIリファレンス

etcd v3 APIの完全なリファレンス

このAPIリファレンスは、各見出しに記載した.protoファイルから自動生成されています。

サービス Auth (api/etcdserverpb/rpc.proto)
メソッド リクエスト型 レスポンス型 説明
AuthEnable AuthEnableRequest AuthEnableResponse AuthEnableは認証を有効にします。
AuthDisable AuthDisableRequest AuthDisableResponse AuthDisableは認証を無効にします。
AuthStatus AuthStatusRequest AuthStatusResponse AuthStatusは認証の状態を表示します。
Authenticate AuthenticateRequest AuthenticateResponse Authenticateは認証リクエストを処理します。
UserAdd AuthUserAddRequest AuthUserAddResponse UserAddは新しいユーザーを追加します。ユーザー名は空にできません。
UserGet AuthUserGetRequest AuthUserGetResponse UserGetはユーザーの詳細情報を取得します。
UserList AuthUserListRequest AuthUserListResponse UserListはすべてのユーザーの一覧を取得します。
UserDelete AuthUserDeleteRequest AuthUserDeleteResponse UserDeleteは指定したユーザーを削除します。
UserChangePassword AuthUserChangePasswordRequest AuthUserChangePasswordResponse UserChangePasswordは指定したユーザーのパスワードを変更します。
UserGrantRole AuthUserGrantRoleRequest AuthUserGrantRoleResponse UserGrantRoleは指定したユーザーにロールを付与します。
UserRevokeRole AuthUserRevokeRoleRequest AuthUserRevokeRoleResponse UserRevokeRoleは指定したユーザーからロールを取り消します。
RoleAdd AuthRoleAddRequest AuthRoleAddResponse RoleAddは新しいロールを追加します。ロール名は空にできません。
RoleGet AuthRoleGetRequest AuthRoleGetResponse RoleGetはロールの詳細情報を取得します。
RoleList AuthRoleListRequest AuthRoleListResponse RoleListはすべてのロールの一覧を取得します。
RoleDelete AuthRoleDeleteRequest AuthRoleDeleteResponse RoleDeleteは指定したロールを削除します。
RoleGrantPermission AuthRoleGrantPermissionRequest AuthRoleGrantPermissionResponse RoleGrantPermissionは、指定したキーまたは範囲に対する権限を、指定したロールに付与します。
RoleRevokePermission AuthRoleRevokePermissionRequest AuthRoleRevokePermissionResponse RoleRevokePermissionは、指定したロールからキーまたは範囲に対する権限を取り消します。
サービス Cluster (api/etcdserverpb/rpc.proto)
メソッド リクエスト型 レスポンス型 説明
MemberAdd MemberAddRequest MemberAddResponse MemberAddはクラスターにメンバーを追加します。
MemberRemove MemberRemoveRequest MemberRemoveResponse MemberRemoveはクラスターから既存のメンバーを削除します。
MemberUpdate MemberUpdateRequest MemberUpdateResponse MemberUpdateはメンバーの構成を更新します。
MemberList MemberListRequest MemberListResponse MemberListはクラスター内のすべてのメンバーを一覧表示します。
MemberPromote MemberPromoteRequest MemberPromoteResponse MemberPromoteは、Raftの学習者メンバー(投票権なし)を、Raftの投票メンバーに昇格させます。
サービス KV (api/etcdserverpb/rpc.proto)
メソッド リクエスト型 レスポンス型 説明
Range RangeRequest RangeResponse Rangeはキー・バリューストアから範囲内のキーを取得します。
Put PutRequest PutResponse Putは指定したキーをキー・バリューストアに格納します。putリクエストはキー・バリューストアのリビジョンを増加させ、イベント履歴に1つのイベントを生成します。
DeleteRange DeleteRangeRequest DeleteRangeResponse DeleteRangeはキー・バリューストアから指定した範囲を削除します。deleteリクエストはキー・バリューストアのリビジョンを増加させ、削除したキーごとにイベント履歴に削除イベントを生成します。
Txn TxnRequest TxnResponse Txnは1つのトランザクション内で複数のリクエストを処理します。txnリクエストはキー・バリューストアのリビジョンを増加させ、完了したリクエストごとに、同じリビジョンを持つイベントを生成します。1つのtxn内で同じキーを複数回変更することはできません。
Compact CompactionRequest CompactionResponse Compactは、etcdキー・バリューストアのイベント履歴をコンパクションします。キー・バリューストアは定期的にコンパクションすることを推奨します。そうしないと、イベント履歴は無制限に増え続けます。
サービス Lease (api/etcdserverpb/rpc.proto)
メソッド リクエスト型 レスポンス型 説明
LeaseGrant LeaseGrantRequest LeaseGrantResponse LeaseGrantは、指定した生存時間内にサーバーがkeepAliveを受信しないと期限切れになるリースを作成します。リースが期限切れになると、それに関連付けられたすべてのキーも期限切れになり、削除されます。期限切れになった各キーは、イベント履歴に削除イベントを生成します。
LeaseRevoke LeaseRevokeRequest LeaseRevokeResponse LeaseRevokeはリースを取り消します。リースに関連付けられたすべてのキーは期限切れになり、削除されます。
LeaseKeepAlive LeaseKeepAliveRequest LeaseKeepAliveResponse LeaseKeepAliveは、クライアントからサーバーへキープアライブリクエストをストリーミングし、サーバーからクライアントへキープアライブレスポンスをストリーミングすることで、リースを維持します。
LeaseTimeToLive LeaseTimeToLiveRequest LeaseTimeToLiveResponse LeaseTimeToLiveはリース情報を取得します。
LeaseLeases LeaseLeasesRequest LeaseLeasesResponse LeaseLeasesは既存のすべてのリースを一覧表示します。
サービス Maintenance (api/etcdserverpb/rpc.proto)
メソッド リクエスト型 レスポンス型 説明
Alarm AlarmRequest AlarmResponse Alarmは、クラスターの健全性に関するアラームの有効化、解除、照会を行います。
Status StatusRequest StatusResponse Statusはメンバーの状態を取得します。
Defragment DefragmentRequest DefragmentResponse Defragmentは、メンバーのバックエンドデータベースをデフラグメンテーションして、ストレージ領域を回収します。
Hash HashRequest HashResponse Hashは、ストレージ内のkey、lease、その他のバケットを含む、バックエンドのキー空間全体のハッシュを計算します。これはテスト専用です!Hash操作はMVCCロックを保持しないため、トランザクションが進行している本番環境では、この操作に依存しないでください。“key"バケットの整合性チェックには、代わりに"HashKV” APIを使用してください。
HashKV HashKVRequest HashKVResponse HashKVは、指定したリビジョンまでのすべてのMVCCキーのハッシュを計算します。バックエンドストレージの"key"バケットだけを走査します。
Snapshot SnapshotRequest SnapshotResponse Snapshotは、バックエンド全体のスナップショットを、メンバーからクライアントへストリームで送信します。
MoveLeader MoveLeaderRequest MoveLeaderResponse MoveLeaderは、現在のリーダーノードに対し、移譲先へリーダーシップを移すよう要求します。
Downgrade DowngradeRequest DowngradeResponse Downgradeは、クラスターのバージョンのダウングレードの要求、実行可能性の検証、またはダウングレードの取り消しを行います。etcd 3.5以降でサポートされています。
サービス Watch (api/etcdserverpb/rpc.proto)
メソッド リクエスト型 レスポンス型 説明
Watch WatchRequest WatchResponse Watchは、現在または過去に発生したイベントを監視します。入力と出力はどちらもストリームです。入力ストリームはウォッチャーの作成とキャンセルに使用し、出力ストリームはイベントを送信します。1つのwatch RPCで複数のキー範囲を監視し、複数の監視のイベントを同時にストリーミングできます。最後のコンパクションリビジョン以降のイベント履歴全体を監視できます。
メッセージ AlarmMember (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
memberID memberIDは、発報されたアラームに関連付けられたメンバーのIDです。 uint64
alarm alarmは、発報されたアラームの種類です。 AlarmType
メッセージ AlarmRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
action actionは、発行するアラームリクエストの種類です。アクションには、アラーム状態のGET、アラームのACTIVATE、発報済みアラームのDEACTIVATEがあります。 AlarmAction
memberID memberIDは、アラームに関連付けられたメンバーのIDです。memberIDが0の場合、アラームリクエストはすべてのメンバーを対象とします。 uint64
alarm alarmは、このリクエストで対象とするアラームの種類です。 AlarmType
メッセージ AlarmResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
alarms alarmsは、アラームリクエストに関連付けられたアラームの一覧です。 (slice of) AlarmMember
メッセージ AuthDisableRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ AuthDisableResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthEnableRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ AuthEnableResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthRoleAddRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name nameは、認証システムに追加するロールの名前です。 string
メッセージ AuthRoleAddResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthRoleDeleteRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
role string
メッセージ AuthRoleDeleteResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthRoleGetRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
role string
メッセージ AuthRoleGetResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
header ResponseHeader
perm (slice of) authpb.Permission
メッセージ AuthRoleGrantPermissionRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name nameは、権限を付与するロールの名前です。 string
perm permは、ロールに付与する権限です。 authpb.Permission
メッセージ AuthRoleGrantPermissionResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthRoleListRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ AuthRoleListResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
roles (slice of) string
メッセージ AuthRoleRevokePermissionRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
role string
key bytes
range_end bytes
メッセージ AuthRoleRevokePermissionResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthStatusRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ AuthStatusResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
enabled bool
authRevision authRevisionは、認証ストアの現在のリビジョンです。 uint64
メッセージ AuthUserAddRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name string
password string
options authpb.UserAddOptions
hashedPassword string
メッセージ AuthUserAddResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthUserChangePasswordRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name nameは、パスワードを変更するユーザーの名前です。 string
password passwordは、ユーザーの新しいパスワードです。このフィールドはAPIレイヤーで削除されることに注意してください。 string
hashedPassword hashedPasswordは、ユーザーの新しいパスワードのハッシュ値です。このフィールドはAPIレイヤーで初期化されることに注意してください。 string
メッセージ AuthUserChangePasswordResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthUserDeleteRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name nameは、削除するユーザーの名前です。 string
メッセージ AuthUserDeleteResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthUserGetRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name string
メッセージ AuthUserGetResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
roles (slice of) string
メッセージ AuthUserGrantRoleRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
user userは、指定したロールを付与するユーザーの名前です。 string
role roleは、ユーザーに付与するロールの名前です。 string
メッセージ AuthUserGrantRoleResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthUserListRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ AuthUserListResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
users (slice of) string
メッセージ AuthUserRevokeRoleRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name string
role string
メッセージ AuthUserRevokeRoleResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ AuthenticateRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
name string
password string
メッセージ AuthenticateResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
token tokenは、後続のRPCで使用できる認可済みトークンです。 string
メッセージ CompactionRequest (api/etcdserverpb/rpc.proto)

CompactionRequestは、指定したリビジョンまでのキー・バリューストアをコンパクションします。コンパクションリビジョンより小さいリビジョンを持つ、更新によって古くなったキーはすべて削除されます。

フィールド 説明 型
(versionpb.etcd_version_msg) option
revision revisionは、コンパクション操作の対象となるキー・バリューストアのリビジョンです。 int64
physical physicalを設定すると、RPCはコンパクションがローカルデータベースに物理的に適用され、対象のエントリーがバックエンドデータベースから完全に削除されるまで待機します。 bool
メッセージ CompactionResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ Compare (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
result resultは、この比較で使用する論理比較演算です。 CompareResult
target targetは、比較のために調べるキー・バリューのフィールドです。 CompareTarget
key keyは、比較操作の対象となるキーです。 bytes
target_union oneof
version versionは、指定したキーのバージョンです。 int64
create_revision create_revisionは、指定したキーの作成リビジョンです。 int64
mod_revision mod_revisionは、指定したキーの最終変更リビジョンです。 int64
value valueは、指定したキーの値をバイト列で表したものです。 bytes
lease leaseは、指定したキーのリースIDです。 int64
range_end range_endは、指定したtargetを範囲[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
header ResponseHeader
メッセージ DeleteRangeRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
key keyは、範囲内で削除する最初のキーです。 bytes
range_end range_endは、範囲[key, range_end)内で削除する最後のキーの次のキーです。range_endが指定されていない場合、範囲にはkey引数だけが含まれます。range_endが指定したキーに1を加えた値の場合、範囲にはそのキーを接頭辞に持つすべてのキーが含まれます。range_endが’\0’の場合、範囲にはkey引数以上のすべてのキーが含まれます。 bytes
prev_kv prev_kvが設定されている場合、etcdは削除前のキー・バリューペアを取得します。削除前のキー・バリューペアはdeleteレスポンスで返されます。 bool
メッセージ DeleteRangeResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
deleted deletedは、範囲削除リクエストによって削除されたキーの数です。 int64
prev_kvs リクエストにprev_kvが設定されている場合、削除前のキー・バリューペアが返されます。 (slice of) mvccpb.KeyValue
メッセージ DowngradeInfo (api/etcdserverpb/rpc.proto)
フィールド 説明 型
enabled enabledは、クラスターのダウングレードが有効になっているかどうかを示します。 bool
targetVersion targetVersionは、ダウングレード先のバージョンです。 string
メッセージ DowngradeRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
action actionは、発行するダウングレードリクエストの種類です。アクションには、対象バージョンのVALIDATE、クラスターバージョンのDOWNGRADE、現在のダウングレードジョブのCANCELがあります。 DowngradeAction
version versionは、ダウングレード先のバージョンです。 string
メッセージ DowngradeResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
version versionは、クラスターの現在のバージョンです。 string
メッセージ DowngradeVersionTestRequest (api/etcdserverpb/rpc.proto)

DowngradeVersionTestRequestは、テスト専用です。このリクエストのversionは、WALレコードのバージョンとして読み取られます。ダウングレード先のバージョンがこのバージョンより小さい場合、オンラインのダウングレードやオフラインの移行は安全ではないため、許可すべきではありません。

フィールド 説明 型
(versionpb.etcd_version_msg) option
ver string
メッセージ HashKVRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
revision revisionは、ハッシュ操作の対象となるキー・バリューストアのリビジョンです。 int64
メッセージ HashKVResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
hash hashは、応答するメンバーのMVCCキーから、指定したリビジョンまでを対象として計算したハッシュ値です。 uint32
compact_revision compact_revisionは、ハッシュ計算の開始時点でコンパクションされていたキー・バリューストアのリビジョンです。 int64
hash_revision hash_revisionは、ハッシュ計算の対象とする上限のリビジョンです。 int64
メッセージ HashRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ HashResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
hash hashは、応答するメンバーのKVバックエンドから計算したハッシュ値です。 uint32
メッセージ LeaseCheckpoint (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、チェックポイントを作成するリースのIDです。 int64
remaining_TTL Remaining_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
header ResponseHeader
メッセージ LeaseGrantRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
TTL TTLは、秒単位の希望する生存時間です。期限切れのリースでは-1が返されます。 int64
ID IDは、リースに要求するIDです。IDが0の場合、リースの貸し手がIDを選択します。 int64
メッセージ LeaseGrantResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
ID IDは、付与されたリースのIDです。 int64
TTL TTLは、サーバーが選択した、秒単位のリースの生存時間です。 int64
error string
メッセージ LeaseKeepAliveRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、維持するリースのIDです。 int64
メッセージ LeaseKeepAliveResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
ID IDは、キープアライブリクエストのリースIDです。 int64
TTL TTLは、リースの新しい生存時間です。 int64
メッセージ LeaseLeasesRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ LeaseLeasesResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
leases (slice of) LeaseStatus
メッセージ LeaseRevokeRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、取り消すリースのIDです。そのIDが取り消されると、関連付けられたすべてのキーが削除されます。 int64
メッセージ LeaseRevokeResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ LeaseStatus (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID int64
メッセージ LeaseTimeToLiveRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、そのリースのIDです。 int64
keys keysをtrueにすると、このリースに関連付けられたすべてのキーを照会します。 bool
メッセージ LeaseTimeToLiveResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
ID IDは、キープアライブリクエストのリースIDです。 int64
TTL TTLは、秒単位のリースの残りTTLです。リースはTTL+1秒未満で期限切れになります。 int64
grantedTTL GrantedTTLは、リースの作成時または更新時に最初に付与された、秒単位の時間です。 int64
keys Keysは、このリースに関連付けられたキーの一覧です。 (slice of) bytes
メッセージ Member (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、このメンバーのメンバーIDです。 uint64
name nameは、人が読めるメンバー名です。メンバーが起動していない場合、名前は空文字列になります。 string
peerURLs peerURLsは、クラスターとの通信用にメンバーが公開するURLの一覧です。 (slice of) string
clientURLs clientURLsは、クライアントとの通信用にメンバーが公開するURLの一覧です。メンバーが起動していない場合、clientURLsは空になります。 (slice of) string
isLearner isLearnerは、そのメンバーがRaftの学習者メンバーかどうかを示します。 bool
メッセージ MemberAddRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
peerURLs peerURLsは、追加するメンバーがクラスターとの通信に使用するURLの一覧です。 (slice of) string
isLearner isLearnerは、追加するメンバーがRaftの学習者メンバーかどうかを示します。 bool
メッセージ MemberAddResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
member memberは、追加したメンバーの情報です。 Member
members membersは、新しいメンバーを追加した後の、すべてのメンバーの一覧です。 (slice of) Member
メッセージ MemberListRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
linearizable bool
メッセージ MemberListResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
members membersは、クラスターに関連付けられたすべてのメンバーの一覧です。 (slice of) Member
メッセージ MemberPromoteRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、昇格させるメンバーのメンバーIDです。 uint64
メッセージ MemberPromoteResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
members membersは、メンバーを昇格させた後の、すべてのメンバーの一覧です。 (slice of) Member
メッセージ MemberRemoveRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、削除するメンバーのメンバーIDです。 uint64
メッセージ MemberRemoveResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
members membersは、メンバーを削除した後の、すべてのメンバーの一覧です。 (slice of) Member
メッセージ MemberUpdateRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
ID IDは、更新するメンバーのメンバーIDです。 uint64
peerURLs peerURLsは、メンバーがクラスターとの通信に使用する、新しいURLの一覧です。 (slice of) string
メッセージ MemberUpdateResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
members membersは、メンバーを更新した後の、すべてのメンバーの一覧です。 (slice of) Member
メッセージ MoveLeaderRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
targetID targetIDは、新しいリーダーのノードIDです。 uint64
メッセージ MoveLeaderResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
メッセージ PutRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
key keyは、キー・バリューストアに格納するキーをバイト列で表したものです。 bytes
value valueは、キー・バリューストア内のキーに関連付ける値をバイト列で表したものです。 bytes
lease leaseは、キー・バリューストア内のキーに関連付けるリースIDです。leaseが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
header ResponseHeader
prev_kv リクエストにprev_kvが設定されている場合、変更前のキー・バリューペアが返されます。 mvccpb.KeyValue
メッセージ RangeRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
key keyは、範囲の最初のキーです。range_endが指定されていない場合、リクエストはkeyだけを検索します。 bytes
range_end range_endは、要求した範囲[key, range_end)の上限です。range_endが’\0’の場合、範囲にはkey以上(>=)のすべてのキーが含まれます。range_endがkeyに1を加えたもの(例:“aa”+1 == “ab”、“a\xff”+1 == “b”)の場合、範囲リクエストはkeyを接頭辞に持つすべてのキーを取得します。keyとrange_endの両方が’\0’の場合、範囲リクエストはすべてのキーを返します。 bytes
limit limitは、リクエストで返すキーの数の上限です。limitが0の場合、上限なしとして扱います。 int64
revision revisionは、範囲の取得に使用するキー・バリューストアの時点です。revisionが0以下の場合、最新のキー・バリューストアを対象とします。そのリビジョンがすでにコンパクションされている場合、レスポンスとしてErrCompactedを返します。 int64
sort_order sort_orderは、ソートして返す結果の順序です。 SortOrder
sort_target sort_targetは、ソートに使用するキー・バリューのフィールドです。 SortTarget
serializable serializableは、範囲リクエストでメンバーローカルの直列化可能読み取りを使用するよう設定します。範囲リクエストはデフォルトで線形化可能です。線形化可能なリクエストは、直列化可能なリクエストよりレイテンシーが高く、スループットが低くなりますが、クラスターの現在のコンセンサスを反映します。性能を高めるため、直列化可能な範囲リクエストは、古いデータを読み取る可能性と引き換えに、クラスター内の他のノードとのコンセンサスを必要とせず、ローカルに処理されます。 bool
keys_only keys_onlyが設定されている場合、値は返さず、キーだけを返します。 bool
count_only count_onlyが設定されている場合、範囲内のキーの数だけを返します。 bool
min_mod_revision min_mod_revisionは、返すキーの変更リビジョンの下限です。変更リビジョンがこれより小さいキーはすべて除外されます。 int64
max_mod_revision max_mod_revisionは、返すキーの変更リビジョンの上限です。変更リビジョンがこれより大きいキーはすべて除外されます。 int64
min_create_revision min_create_revisionは、返すキーの作成リビジョンの下限です。作成リビジョンがこれより小さいキーはすべて除外されます。 int64
max_create_revision max_create_revisionは、返すキーの作成リビジョンの上限です。作成リビジョンがこれより大きいキーはすべて除外されます。 int64
メッセージ RangeResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
kvs kvsは、範囲リクエストに一致するキー・バリューペアの一覧です。件数を要求した場合、kvsは空になります。 (slice of) mvccpb.KeyValue
more moreは、要求した範囲内に、返すべきキーがまだあるかどうかを示します。 bool
count countは、要求された場合に、範囲内の実際のキー数に設定されます。Kvsとは異なり、上限やフィルター(Min/Max、Create/Modify、Revisionsなど)の影響を受けず、指定した範囲内の総数を反映します。 int64
メッセージ RequestOp (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
request requestは、トランザクションが受け付けるリクエスト型の共用体です。 oneof
request_range RangeRequest
request_put PutRequest
request_delete_range DeleteRangeRequest
request_txn TxnRequest
メッセージ ResponseHeader (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
cluster_id cluster_idは、レスポンスを送信したクラスターのIDです。 uint64
member_id member_idは、レスポンスを送信したメンバーのIDです。 uint64
revision revisionは、リクエストが適用された時点のキー・バリューストアのリビジョンです。キー・バリューストアを操作しない呼び出しでは設定されません(したがって0です)。監視の進捗レスポンスでは、header.revisionが進捗を示します。このストリームで今後受信するすべてのイベントは、header.revisionより大きいリビジョン番号を持つことが保証されます。 int64
raft_term raft_termは、リクエストが適用された時点のRaftの任期です。 uint64
メッセージ ResponseOp (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
response responseは、トランザクションが返すレスポンス型の共用体です。 oneof
response_range RangeResponse
response_put PutResponse
response_delete_range DeleteRangeResponse
response_txn TxnResponse
メッセージ SnapshotRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ SnapshotResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header headerは、キー・バリューストアの現在の情報を保持します。スナップショットストリームの最初のheaderは、スナップショットの時点を示します。 ResponseHeader
remaining_bytes remaining_bytesは、このメッセージの後に送信するblobのバイト数です。 uint64
blob blobは、スナップショットストリームの次のスナップショットチャンクを保持します。 bytes
version スナップショットに記録されたストレージスキーマのバージョンです。メンバーのローカルバックエンドから取得され、バイナリーのバージョンとは異なる場合があります。スナップショットのリストア時に対応している必要があるetcdのストレージバージョンを示します。 string
メッセージ StatusRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ StatusResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
version versionは、応答するetcdメンバーのバイナリーのバージョンです。ストレージスキーマのバージョンは、storageVersionで別に報告されます。 string
dbSize dbSizeは、応答するメンバーのバックエンドデータベースに物理的に割り当てられた領域のサイズ(バイト単位)です。 int64
leader leaderは、応答するメンバーが現在のリーダーと認識しているメンバーのIDです。 uint64
raftIndex raftIndexは、応答するメンバーの現在のRaftコミット済みインデックスです。 uint64
raftTerm raftTermは、応答するメンバーの現在のRaftの任期です。 uint64
raftAppliedIndex raftAppliedIndexは、応答するメンバーの現在のRaft適用済みインデックスです。 uint64
errors errorsは、アラームや健全性に関する情報と状態を保持します。 (slice of) string
dbSizeInUse dbSizeInUseは、応答するメンバーのバックエンドデータベースで論理的に使用されている領域のサイズ(バイト単位)です。 int64
isLearner isLearnerは、そのメンバーがRaftの学習者メンバーかどうかを示します。 bool
storageVersion storageVersionは、dbファイルのバージョンです。目標のクラスターバージョンに対して、更新が遅れる場合があります。 string
dbSizeQuota dbSizeQuotaは、設定されたetcdのストレージクォータ(バイト単位)です(–quota-backend-bytesフラグでetcdインスタンスに渡した値)。 int64
downgradeInfo downgradeInfoは、ダウングレード処理が存在するかどうかを示します。 DowngradeInfo
メッセージ TxnRequest (api/etcdserverpb/rpc.proto)

Googleのpaxosdb論文より:この実装の中心となるのは、MultiOpと呼ぶ強力なプリミティブです。反復処理を除くすべてのデータベース操作は、MultiOpを1回呼び出すことで実装されています。MultiOpはアトミックに適用され、3つの要素で構成されます。1. guardと呼ぶテストのリスト。guard内の各テストは、データベース内の1つのエントリーを検査します。値の有無を確認したり、指定した値と比較したりできます。guard内の異なる2つのテストは、データベース内の同じエントリーにも、異なるエントリーにも適用できます。guard内のすべてのテストが適用され、MultiOpはその結果を返します。すべてのテストがtrueの場合、MultiOpはt op(下記の項目2)を実行し、それ以外の場合はf op(下記の項目3)を実行します。2. t opと呼ぶデータベース操作のリスト。リスト内の各操作は、挿入、削除、検索のいずれかで、データベースの1つのエントリーに適用されます。リスト内の異なる2つの操作は、データベース内の同じエントリーにも、異なるエントリーにも適用できます。これらの操作は、guardの評価結果がtrueの場合に実行されます。3. f opと呼ぶデータベース操作のリスト。t opと同様ですが、guardの評価結果がfalseの場合に実行されます。

フィールド 説明 型
(versionpb.etcd_version_msg) option
compare compareは、条件の論理積を表す述語のリストです。比較が成功するとsuccessのリクエストを順番に処理し、レスポンスにはそれぞれの応答が同じ順序で含まれます。比較が失敗するとfailureのリクエストを順番に処理し、レスポンスにはそれぞれの応答が同じ順序で含まれます。 (slice of) Compare
success successは、compareの評価結果がtrueの場合に適用するリクエストのリストです。 (slice of) RequestOp
failure failureは、compareの評価結果がfalseの場合に適用するリクエストのリストです。 (slice of) RequestOp
メッセージ TxnResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
succeeded succeededは、compareの評価結果がtrueの場合にtrueに、それ以外の場合にfalseに設定されます。 bool
responses responsesは、succeededがtrueの場合にはsuccessを、falseの場合にはfailureを適用した結果に対応するレスポンスのリストです。 (slice of) ResponseOp
メッセージ WatchCancelRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
watch_id watch_idは、これ以上イベントを送信しないようキャンセルするウォッチャーのIDです。 int64
メッセージ WatchCreateRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
key keyは、監視対象として登録するキーです。 bytes
range_end range_endは、監視する範囲[key, range_end)の終端です。range_endが指定されていない場合、key引数だけを監視します。range_endが’\0’の場合、key引数以上のすべてのキーを監視します。range_endが指定したキーに1を加えた値の場合、そのキーを接頭辞に持つすべてのキーを監視します。 bytes
start_revision start_revisionは、監視を開始するリビジョン(そのリビジョンを含む)で、省略可能です。start_revisionを指定しない場合は「現在」から開始します。 int64
progress_notify progress_notifyを設定すると、最近のイベントがない場合に、etcdサーバーが新しいウォッチャーへイベントを含まないWatchResponseを定期的に送信します。これは、クライアントが切断されたウォッチャーを、最近の既知のリビジョンから復旧したい場合に役立ちます。etcdサーバーは、現在の負荷に基づいて通知の送信頻度を決めることがあります。 bool
filters filtersは、ウォッチャーに送り返す前にサーバー側でイベントをフィルタリングします。 (slice of) FilterType
prev_kv prev_kvが設定されている場合、作成したウォッチャーはイベント発生前のKVを取得します。以前のKVがすでにコンパクションされている場合、何も返されません。 bool
watch_id watch_idが指定され、0でない場合、そのIDがこのウォッチャーに割り当てられます。etcdでのウォッチャー作成は同期操作ではないため、これを使うことで、同じストリーム上に複数のウォッチャーを作成する際に正しい順序を保てます。ストリーム上ですでに使用中のIDを持つウォッチャーを作成すると、エラーが返されます。 int64
fragment fragmentは、大きなリビジョンを複数の監視レスポンスに分割できるようにします。 bool
メッセージ WatchProgressRequest (api/etcdserverpb/rpc.proto)

監視ストリームの進捗状態を、監視レスポンスストリームでできるだけ早く送信するよう要求します。

フィールド 説明 型
(versionpb.etcd_version_msg) option
メッセージ WatchRequest (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
request_union request_unionは、新しいウォッチャーを作成するか、既存のウォッチャーをキャンセルするためのリクエストです。 oneof
create_request WatchCreateRequest
cancel_request WatchCancelRequest
progress_request WatchProgressRequest
メッセージ WatchResponse (api/etcdserverpb/rpc.proto)
フィールド 説明 型
(versionpb.etcd_version_msg) option
header ResponseHeader
watch_id watch_idは、レスポンスに対応するウォッチャーのIDです。 int64
created createdは、監視作成リクエストへのレスポンスである場合にtrueに設定されます。クライアントはwatch_idを記録し、作成したウォッチャーのイベントを同じストリームから受信するようにしてください。作成したウォッチャーに送信されるすべてのイベントには、同じwatch_idが付与されます。 bool
canceled canceledは、監視キャンセルリクエストへのレスポンスである場合、またはstart_revisionがすでにコンパクションされている場合にtrueに設定されます。キャンセルされたウォッチャーには、それ以降のイベントは送信されません。 bool
compact_revision compact_revisionは、ウォッチャーがコンパクション済みのインデックスで監視しようとした場合に、最小のインデックスに設定されます。これは、コンパクション済みのリビジョンでウォッチャーを作成した場合、またはウォッチャーがキー・バリューストアの進行に追いつけない場合に発生します。クライアントはそのウォッチャーをキャンセル済みとして扱い、同じstart_revisionでウォッチャーを作り直さないようにしてください。 int64
cancel_reason cancel_reasonは、ウォッチャーをキャンセルする理由を示します。 string
fragment fragmentは、大きな監視レスポンスが複数のレスポンスに分割された場合にtrueです。 bool
events (slice of) mvccpb.Event
メッセージ Event (api/mvccpb/kv.proto)
フィールド 説明 型
type typeはイベントの種類です。typeがPUTの場合、キーに新しいデータが保存されたことを示します。typeがDELETEの場合、キーが削除されたことを示します。 EventType
kv kvは、イベントのKeyValueを保持します。PUTイベントは現在のkvペアを含みます。kv.Version=1のPUTイベントは、キーが作成されたことを示します。DELETE/EXPIREイベントは、変更リビジョンが削除時のリビジョンに設定された、削除済みのキーを含みます。 KeyValue
prev_kv prev_kvは、イベント発生前のキー・バリューペアを保持します。 KeyValue
メッセージ KeyValue (api/mvccpb/kv.proto)
フィールド 説明 型
key keyは、バイト列で表したキーです。空のキーは許可されません。 bytes
create_revision create_revisionは、このキーが最後に作成されたリビジョンです。 int64
mod_revision mod_revisionは、このキーが最後に変更されたリビジョンです。 int64
version versionは、キーのバージョンです。削除するとバージョンは0にリセットされ、キーを変更するたびにバージョンが増加します。 int64
value valueは、キーが保持する値をバイト列で表したものです。 bytes
lease leaseは、キーに関連付けられたリースのIDです。関連付けられたリースが期限切れになると、キーは削除されます。leaseが0の場合、キーにリースは関連付けられていません。 int64
メッセージ Lease (server/lease/leasepb/lease.proto)
フィールド 説明 型
ID int64
TTL int64
RemainingTTL int64
メッセージ LeaseInternalRequest (server/lease/leasepb/lease.proto)
フィールド 説明 型
LeaseTimeToLiveRequest etcdserverpb.LeaseTimeToLiveRequest
メッセージ LeaseInternalResponse (server/lease/leasepb/lease.proto)
フィールド 説明 型
LeaseTimeToLiveResponse etcdserverpb.LeaseTimeToLiveResponse
メッセージ Permission (api/authpb/auth.proto)

Permissionは、単一のエンティティーです。

フィールド 説明 型
permType Type
key bytes
range_end bytes
メッセージ Role (api/authpb/auth.proto)

Roleは、authRolesバケット内の単一のエントリーです。

フィールド 説明 型
name bytes
keyPermission (slice of) Permission
メッセージ User (api/authpb/auth.proto)

Userは、authUsersバケット内の単一のエントリーです。

フィールド 説明 型
name bytes
password bytes
roles (slice of) string
options UserAddOptions
メッセージ UserAddOptions (api/authpb/auth.proto)
フィールド 説明 型
no_password bool