-
Notifications
You must be signed in to change notification settings - Fork 601
/
metadata.go
35 lines (30 loc) · 871 Bytes
/
metadata.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
package execcmd
import (
"fmt"
)
// AgentMetadata holds metadata about the exec agent running inside the container (i.e. SSM Agent).
type AgentMetadata struct {
PID string `json:"PID"`
DockerExecID string `json:"DockerExecID"`
CMD string `json:"CMD"`
}
func (md *AgentMetadata) String() string {
return fmt.Sprintf("[PID: %s, DockerExecId: %s, CMD: %s]", md.PID, md.DockerExecID, md.CMD)
}
func (md *AgentMetadata) ToMap() map[string]interface{} {
return map[string]interface{}{
"PID": md.PID,
"DockerExecID": md.DockerExecID,
"CMD": md.CMD,
}
}
func MapToAgentMetadata(md map[string]interface{}) AgentMetadata {
var execMD AgentMetadata
if md == nil {
return execMD
}
execMD.PID, _ = md["PID"].(string)
execMD.DockerExecID, _ = md["DockerExecID"].(string)
execMD.CMD, _ = md["CMD"].(string)
return execMD
}