-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathps.go
More file actions
79 lines (66 loc) · 2.54 KB
/
ps.go
File metadata and controls
79 lines (66 loc) · 2.54 KB
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
package api
// ProcessType represents the key/value mappings of a process type to a process inside
// a Heroku Procfile.
//
// See https://devcenter.heroku.com/articles/procfile
type ProcessType map[string]string
// Pods defines the structure of a process.
type Pods struct {
Release string `json:"release"`
Type string `json:"type"`
Name string `json:"name"`
State string `json:"state"`
Ready string `json:"ready"`
Restarts int `json:"restarts"`
Started string `json:"started"`
}
// PodsList defines a collection of app pods.
type PodsList []Pods
func (p PodsList) Len() int { return len(p) }
func (p PodsList) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
func (p PodsList) Less(i, j int) bool { return p[i].Name < p[j].Name }
// Command defines a command of app exec.
type Command struct {
Tty bool `json:"tty"`
Stdin bool `json:"stdin"`
Command []string `json:"command"`
}
// PodType holds pods of the same type.
type PodType struct {
Type string
PodsList PodsList
}
// PodTypes holds groups of pods organized by type.
type PodTypes []PodType
// AppLogsRequest is the definition of websocket /v2/apps/<app id>/logs
type PodLogsRequest struct {
Lines int `json:"lines"`
Follow bool `json:"follow"`
Container string `json:"container"`
}
// Start is the definition of POST /v2/apps/<app_id>/stop or POST /v2/apps/<app_id>/start.
type Types struct {
Types []string `json:"types,omitempty"`
}
func (p PodTypes) Len() int { return len(p) }
func (p PodTypes) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
func (p PodTypes) Less(i, j int) bool { return p[i].Type < p[j].Type }
// ContainerState defines a container state.
type ContainerState struct {
Container string `json:"container"`
Image string `json:"image"`
Command []string `json:"command"`
Args []string `json:"args"`
State map[string]map[string]interface{} `json:"state"`
LastState map[string]map[string]interface{} `json:"lastState"`
Ready bool `json:"ready"`
RestartCount int `json:"restartCount"`
Status string `json:"status"`
Reason string `json:"reason"`
Message string `json:"message"`
}
// PodState defines a collection of container state.
type PodState []ContainerState
type PodIDs struct {
PodIDs string `json:"pod_ids"`
}