syntax = "proto3";
package membershippb;
import "gogoproto/gogo.proto";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.goproto_getters_all) = false;
// RaftAttributes represents the raft related attributes of an etcd member.
message RaftAttributes {
// peerURLs is the list of peers in the raft cluster.
repeated string peer_urls = 1;
// isLearner indicates if the member is raft learner.
bool is_learner = 2;
}
// Attributes represents all the non-raft related attributes of an etcd member.
message Attributes {
string name = 1;
repeated string client_urls = 2;
}
message Member {
uint64 ID = 1;
RaftAttributes raft_attributes = 2;
Attributes member_attributes = 3;
}
message ClusterVersionSetRequest {
string ver = 1;
}
message ClusterMemberAttrSetRequest {
uint64 member_ID = 1;
Attributes member_attributes = 2;
}
message DowngradeInfoSetRequest {
bool enabled = 1;
string ver = 2;
}