-
Notifications
You must be signed in to change notification settings - Fork 0
/
podlist.go
153 lines (150 loc) · 5.35 KB
/
podlist.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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package main
import "time"
type PodList struct {
Kind string `json:"kind"`
APIVersion string `json:"apiVersion"`
Metadata struct {
} `json:"metadata"`
Items []Pod `json:"items"`
}
type Pod struct {
Metadata struct {
Name string `json:"name"`
GenerateName string `json:"generateName"`
Namespace string `json:"namespace"`
SelfLink string `json:"selfLink"`
UID string `json:"uid"`
ResourceVersion string `json:"resourceVersion"`
CreationTimestamp time.Time `json:"creationTimestamp"`
Labels struct {
ControllerRevisionHash string `json:"controller-revision-hash"`
K8SApp string `json:"k8s-app"`
PodTemplateGeneration string `json:"pod-template-generation"`
} `json:"labels"`
Annotations struct {
SumologicTrustedTimestamp string `json:"sumologic.com/trustedTimestamp"`
} `json:"annotations"`
OwnerReferences []struct {
APIVersion string `json:"apiVersion"`
Kind string `json:"kind"`
Name string `json:"name"`
UID string `json:"uid"`
Controller bool `json:"controller"`
BlockOwnerDeletion bool `json:"blockOwnerDeletion"`
} `json:"ownerReferences"`
} `json:"metadata"`
Spec struct {
Volumes []struct {
Name string `json:"name"`
HostPath struct {
Path string `json:"path"`
Type string `json:"type"`
} `json:"hostPath,omitempty"`
ConfigMap struct {
Name string `json:"name"`
DefaultMode int `json:"defaultMode"`
} `json:"configMap,omitempty"`
Secret struct {
SecretName string `json:"secretName"`
DefaultMode int `json:"defaultMode"`
} `json:"secret,omitempty"`
} `json:"volumes"`
Containers []struct {
Name string `json:"name"`
Image string `json:"image"`
Env []struct {
Name string `json:"name"`
Value string `json:"value,omitempty"`
ValueFrom struct {
FieldRef struct {
APIVersion string `json:"apiVersion"`
FieldPath string `json:"fieldPath"`
} `json:"fieldRef"`
} `json:"valueFrom,omitempty"`
} `json:"env"`
Resources struct {
Requests struct {
CPU string `json:"cpu"`
} `json:"requests"`
} `json:"resources"`
VolumeMounts []struct {
Name string `json:"name"`
ReadOnly bool `json:"readOnly,omitempty"`
MountPath string `json:"mountPath"`
} `json:"volumeMounts"`
LivenessProbe struct {
HTTPGet struct {
Path string `json:"path"`
Port int `json:"port"`
Scheme string `json:"scheme"`
} `json:"httpGet"`
InitialDelaySeconds int `json:"initialDelaySeconds"`
TimeoutSeconds int `json:"timeoutSeconds"`
PeriodSeconds int `json:"periodSeconds"`
SuccessThreshold int `json:"successThreshold"`
FailureThreshold int `json:"failureThreshold"`
} `json:"livenessProbe,omitempty"`
ReadinessProbe struct {
HTTPGet struct {
Path string `json:"path"`
Port int `json:"port"`
Scheme string `json:"scheme"`
} `json:"httpGet"`
TimeoutSeconds int `json:"timeoutSeconds"`
PeriodSeconds int `json:"periodSeconds"`
SuccessThreshold int `json:"successThreshold"`
FailureThreshold int `json:"failureThreshold"`
} `json:"readinessProbe,omitempty"`
TerminationMessagePath string `json:"terminationMessagePath"`
TerminationMessagePolicy string `json:"terminationMessagePolicy"`
ImagePullPolicy string `json:"imagePullPolicy"`
SecurityContext struct {
Privileged bool `json:"privileged"`
} `json:"securityContext,omitempty"`
Command []string `json:"command,omitempty"`
} `json:"containers"`
RestartPolicy string `json:"restartPolicy"`
TerminationGracePeriodSeconds int `json:"terminationGracePeriodSeconds"`
DNSPolicy string `json:"dnsPolicy"`
ServiceAccountName string `json:"serviceAccountName"`
ServiceAccount string `json:"serviceAccount"`
NodeName string `json:"nodeName"`
HostNetwork bool `json:"hostNetwork"`
SecurityContext struct {
} `json:"securityContext"`
SchedulerName string `json:"schedulerName"`
Tolerations []struct {
Key string `json:"key,omitempty"`
Operator string `json:"operator"`
Effect string `json:"effect,omitempty"`
} `json:"tolerations"`
} `json:"spec"`
Status struct {
Phase string `json:"phase"`
Conditions []struct {
Type string `json:"type"`
Status string `json:"status"`
LastProbeTime interface{} `json:"lastProbeTime"`
LastTransitionTime time.Time `json:"lastTransitionTime"`
} `json:"conditions"`
HostIP string `json:"hostIP"`
PodIP string `json:"podIP"`
StartTime time.Time `json:"startTime"`
ContainerStatuses []struct {
Name string `json:"name"`
State struct {
Running struct {
StartedAt time.Time `json:"startedAt"`
} `json:"running"`
} `json:"state"`
LastState struct {
} `json:"lastState"`
Ready bool `json:"ready"`
RestartCount int `json:"restartCount"`
Image string `json:"image"`
ImageID string `json:"imageID"`
ContainerID string `json:"containerID"`
} `json:"containerStatuses"`
QosClass string `json:"qosClass"`
} `json:"status"`
}