overflow_commons_go/modules/config/model/Config.go
crusader 597eda88ed ing
2017-12-01 15:04:31 +09:00

54 lines
1.4 KiB
Go

package model
type Connection struct {
IP string `json:"ip,omitempty"`
Port string `json:"port,omitempty"`
PortType string `json:"portType,omitempty"`
SSL bool `json:"ssl,omitempty"`
}
type Target struct {
Auth map[string]interface{} `json:"auth,omitempty"`
Connection Connection `json:"connection,omitempty"`
}
type Schedule struct {
Interval string `json:"interval,omitempty"`
}
type Keys struct {
Metric string `json:"metric,omitempty"`
Key string `json:"key,omitempty"`
}
type QueryInfo struct {
Query string `json:"query,omitempty"`
Extend map[string]interface{} `json:"extend,omitempty"`
}
type MappingInfo struct {
ParseDirection string `json:"parseDirection,omitempty"`
ArrayColumns []string `json:"arrayColumns,omitempty"`
KeyColumns []string `json:"keyColumns,omitempty"`
ValueColumn string `json:"valueColumn,omitempty"`
}
type Item struct {
Keys []Keys `json:"keys,omitempty"`
QueryInfo QueryInfo `json:"queryInfo,omitempty"`
MappingInfo MappingInfo `json:"mappingInfo,omitempty"`
}
type Crawler struct {
Name string `json:"name,omitempty"`
Container string `json:"container,omitempty"`
}
type Config struct {
ID string `json:"id,omitempty"`
Target Target `json:"target,omitempty"`
Schedule Schedule `json:"schedule,omitempty"`
Crawler Crawler `json:"crawler,omitempty"`
Items []Item `json:"items,omitempty"`
}