28 lines
556 B
Go
28 lines
556 B
Go
package events
|
|
|
|
import (
|
|
"log"
|
|
|
|
dockerEvents "github.com/docker/docker/api/types/events"
|
|
"github.com/docker/docker/client"
|
|
)
|
|
|
|
//goland:noinspection GoSnakeCaseUsage
|
|
type Event interface {
|
|
__interface_event()
|
|
}
|
|
|
|
func Make(message dockerEvents.Message, client *client.Client) Event {
|
|
switch message.Type {
|
|
case "container":
|
|
return makeContainer(message, client)
|
|
case "network":
|
|
return makeNetwork(message, client)
|
|
case "volume":
|
|
return makeVolume(message, client)
|
|
default:
|
|
log.Printf("unknown event type %v", message.Type)
|
|
return nil
|
|
}
|
|
}
|