This repository has been archived by the owner on Mar 8, 2018. It is now read-only.
/
broker.go
67 lines (57 loc) · 1.78 KB
/
broker.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package output
import (
"fmt"
"io"
"github.com/kubernetes-incubator/service-catalog/pkg/apis/servicecatalog/v1beta1"
)
func getBrokerStatusCondition(status v1beta1.ClusterServiceBrokerStatus) v1beta1.ServiceBrokerCondition {
if len(status.Conditions) > 0 {
return status.Conditions[len(status.Conditions)-1]
}
return v1beta1.ServiceBrokerCondition{}
}
func getBrokerStatusShort(status v1beta1.ClusterServiceBrokerStatus) string {
lastCond := getBrokerStatusCondition(status)
return formatStatusShort(string(lastCond.Type), lastCond.Status, lastCond.Reason)
}
func getBrokerStatusFull(status v1beta1.ClusterServiceBrokerStatus) string {
lastCond := getBrokerStatusCondition(status)
return formatStatusFull(string(lastCond.Type), lastCond.Status, lastCond.Reason, lastCond.Message, lastCond.LastTransitionTime)
}
// WriteBrokerList prints a list of brokers.
func WriteBrokerList(w io.Writer, brokers ...v1beta1.ClusterServiceBroker) {
t := NewListTable(w)
t.SetHeader([]string{
"Name",
"URL",
"Status",
})
for _, broker := range brokers {
t.Append([]string{
broker.Name,
broker.Spec.URL,
getBrokerStatusShort(broker.Status),
})
}
t.Render()
}
// WriteParentBroker prints identifying information for a parent broker.
func WriteParentBroker(w io.Writer, broker *v1beta1.ClusterServiceBroker) {
fmt.Fprintln(w, "\nBroker:")
t := NewDetailsTable(w)
t.AppendBulk([][]string{
{"Name:", broker.Name},
{"Status:", getBrokerStatusShort(broker.Status)},
})
t.Render()
}
// WriteBrokerDetails prints details for a single broker.
func WriteBrokerDetails(w io.Writer, broker *v1beta1.ClusterServiceBroker) {
t := NewDetailsTable(w)
t.AppendBulk([][]string{
{"Name:", broker.Name},
{"URL:", broker.Spec.URL},
{"Status:", getBrokerStatusFull(broker.Status)},
})
t.Render()
}