| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- package models
- import (
- "errors"
- "time"
- "github.com/grafana/grafana/pkg/components/simplejson"
- )
- const (
- DS_GRAPHITE = "graphite"
- DS_INFLUXDB = "influxdb"
- DS_INFLUXDB_08 = "influxdb_08"
- DS_ES = "elasticsearch"
- DS_OPENTSDB = "opentsdb"
- DS_CLOUDWATCH = "cloudwatch"
- DS_KAIROSDB = "kairosdb"
- DS_PROMETHEUS = "prometheus"
- DS_ACCESS_DIRECT = "direct"
- DS_ACCESS_PROXY = "proxy"
- )
- // Typed errors
- var (
- ErrDataSourceNotFound = errors.New("Data source not found")
- )
- type DsAccess string
- type DataSource struct {
- Id int64
- OrgId int64
- Version int
- Name string
- Type string
- Access DsAccess
- Url string
- Password string
- User string
- Database string
- BasicAuth bool
- BasicAuthUser string
- BasicAuthPassword string
- WithCredentials bool
- IsDefault bool
- JsonData *simplejson.Json
- Created time.Time
- Updated time.Time
- }
- var knownDatasourcePlugins map[string]bool = map[string]bool{
- DS_ES: true,
- DS_GRAPHITE: true,
- DS_INFLUXDB: true,
- DS_INFLUXDB_08: true,
- DS_KAIROSDB: true,
- DS_CLOUDWATCH: true,
- DS_PROMETHEUS: true,
- DS_OPENTSDB: true,
- "opennms": true,
- "druid": true,
- "dalmatinerdb": true,
- "gnocci": true,
- "zabbix": true,
- }
- func IsKnownDataSourcePlugin(dsType string) bool {
- _, exists := knownDatasourcePlugins[dsType]
- return exists
- }
- // ----------------------
- // COMMANDS
- // Also acts as api DTO
- type AddDataSourceCommand struct {
- Name string `json:"name" binding:"Required"`
- Type string `json:"type" binding:"Required"`
- Access DsAccess `json:"access" binding:"Required"`
- Url string `json:"url"`
- Password string `json:"password"`
- Database string `json:"database"`
- User string `json:"user"`
- BasicAuth bool `json:"basicAuth"`
- BasicAuthUser string `json:"basicAuthUser"`
- BasicAuthPassword string `json:"basicAuthPassword"`
- WithCredentials bool `json:"withCredentials"`
- IsDefault bool `json:"isDefault"`
- JsonData *simplejson.Json `json:"jsonData"`
- OrgId int64 `json:"-"`
- Result *DataSource
- }
- // Also acts as api DTO
- type UpdateDataSourceCommand struct {
- Name string `json:"name" binding:"Required"`
- Type string `json:"type" binding:"Required"`
- Access DsAccess `json:"access" binding:"Required"`
- Url string `json:"url"`
- Password string `json:"password"`
- User string `json:"user"`
- Database string `json:"database"`
- BasicAuth bool `json:"basicAuth"`
- BasicAuthUser string `json:"basicAuthUser"`
- BasicAuthPassword string `json:"basicAuthPassword"`
- WithCredentials bool `json:"withCredentials"`
- IsDefault bool `json:"isDefault"`
- JsonData *simplejson.Json `json:"jsonData"`
- OrgId int64 `json:"-"`
- Id int64 `json:"-"`
- }
- type DeleteDataSourceCommand struct {
- Id int64
- OrgId int64
- }
- // ---------------------
- // QUERIES
- type GetDataSourcesQuery struct {
- OrgId int64
- Result []*DataSource
- }
- type GetDataSourceByIdQuery struct {
- Id int64
- OrgId int64
- Result *DataSource
- }
- type GetDataSourceByNameQuery struct {
- Name string
- OrgId int64
- Result *DataSource
- }
- // ---------------------
- // EVENTS
- type DataSourceCreatedEvent struct {
- }
|