go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/_motor/providers/os/events/command.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package events 5 6 import ( 7 "go.mondoo.com/cnquery/motor/providers" 8 "go.mondoo.com/cnquery/motor/providers/os" 9 ) 10 11 type CommandObservable struct { 12 Result *os.Command 13 } 14 15 func (co *CommandObservable) Type() providers.ObservableType { 16 return providers.CommandType 17 } 18 19 func (co *CommandObservable) ID() string { 20 return co.Result.Command 21 } 22 23 func NewCommandRunnable(command string) func(p os.OperatingSystemProvider) (providers.Observable, error) { 24 return func(p os.OperatingSystemProvider) (providers.Observable, error) { 25 cmd, err := p.RunCommand(command) 26 res := &CommandObservable{Result: cmd} 27 return res, err 28 } 29 }