|
@@ -36,6 +36,8 @@ type printer interface {
|
|
|
|
|
|
|
|
MemberList(v3.MemberListResponse)
|
|
MemberList(v3.MemberListResponse)
|
|
|
|
|
|
|
|
|
|
+ MemberStatus([]statusInfo)
|
|
|
|
|
+
|
|
|
Alarm(v3.AlarmResponse)
|
|
Alarm(v3.AlarmResponse)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -127,6 +129,21 @@ func (s *simplePrinter) MemberList(resp v3.MemberListResponse) {
|
|
|
table.Render()
|
|
table.Render()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (s *simplePrinter) MemberStatus(statusList []statusInfo) {
|
|
|
|
|
+ table := tablewriter.NewWriter(os.Stdout)
|
|
|
|
|
+ table.SetHeader([]string{"endpoint", "ID", "version"})
|
|
|
|
|
+
|
|
|
|
|
+ for _, status := range statusList {
|
|
|
|
|
+ table.Append([]string{
|
|
|
|
|
+ fmt.Sprint(status.ep),
|
|
|
|
|
+ fmt.Sprintf("%x", status.resp.Header.MemberId),
|
|
|
|
|
+ fmt.Sprint(status.resp.Version),
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ table.Render()
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
type jsonPrinter struct{}
|
|
type jsonPrinter struct{}
|
|
|
|
|
|
|
|
func (p *jsonPrinter) Del(r v3.DeleteResponse) { printJSON(r) }
|
|
func (p *jsonPrinter) Del(r v3.DeleteResponse) { printJSON(r) }
|
|
@@ -140,6 +157,7 @@ func (p *jsonPrinter) Txn(r v3.TxnResponse) { printJSON(r) }
|
|
|
func (p *jsonPrinter) Watch(r v3.WatchResponse) { printJSON(r) }
|
|
func (p *jsonPrinter) Watch(r v3.WatchResponse) { printJSON(r) }
|
|
|
func (p *jsonPrinter) Alarm(r v3.AlarmResponse) { printJSON(r) }
|
|
func (p *jsonPrinter) Alarm(r v3.AlarmResponse) { printJSON(r) }
|
|
|
func (p *jsonPrinter) MemberList(r v3.MemberListResponse) { printJSON(r) }
|
|
func (p *jsonPrinter) MemberList(r v3.MemberListResponse) { printJSON(r) }
|
|
|
|
|
+func (p *jsonPrinter) MemberStatus(r []statusInfo) { printJSON(r) }
|
|
|
|
|
|
|
|
func printJSON(v interface{}) {
|
|
func printJSON(v interface{}) {
|
|
|
b, err := json.Marshal(v)
|
|
b, err := json.Marshal(v)
|
|
@@ -186,6 +204,10 @@ func (pb *pbPrinter) MemberList(r v3.MemberListResponse) {
|
|
|
ExitWithError(ExitBadFeature, errors.New("only support simple or json as output format"))
|
|
ExitWithError(ExitBadFeature, errors.New("only support simple or json as output format"))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (pb *pbPrinter) MemberStatus(r []statusInfo) {
|
|
|
|
|
+ ExitWithError(ExitBadFeature, errors.New("only support simple or json as output format"))
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func printPB(m pbMarshal) {
|
|
func printPB(m pbMarshal) {
|
|
|
b, err := m.Marshal()
|
|
b, err := m.Marshal()
|
|
|
if err != nil {
|
|
if err != nil {
|