agent/inventory/gatherers/models.go (39 lines of code) (raw):

package gatherers import ( "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/application" "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/file" instancedetailedinfo "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/instancedetailedinformation" "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/network" "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/registry" "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/role" "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/service" windowsupdate "github.com/aliyun/aliyun_assist_client/agent/inventory/gatherers/windowsupdate" "github.com/aliyun/aliyun_assist_client/agent/inventory/model" ) type T interface { //returns the Name of the gatherer Name() string Run(config model.Config) (items []model.Item, err error) } type SupportedGatherer map[string]T type InstalledGatherer map[string]T func InitializeGatherers() (SupportedGatherer, InstalledGatherer) { var installedGathererNames []string installedGatherer := InstalledGatherer{ application.GathererName: application.Gatherer(), network.GathererName: network.Gatherer(), file.GathererName: file.Gatherer(), service.GathererName: service.Gatherer(), windowsupdate.GathererName: windowsupdate.Garherer(), registry.GathererName: registry.Gatherer(), role.GathererName: role.Gatherer(), instancedetailedinfo.GathererName: instancedetailedinfo.Gatherer(), } for key := range installedGatherer { installedGathererNames = append(installedGathererNames, key) } supportedGatherer := SupportedGatherer{} for _, name := range supportedGathererNames { supportedGatherer[name] = installedGatherer[name] } return supportedGatherer, installedGatherer }