v1

package
v0.38.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2023 License: Apache-2.0 Imports: 10 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PluralKindMap = map[Kind]string{
	KindDashboard:        "dashboards",
	KindDatasource:       "datasources",
	KindFolder:           "folders",
	KindGlobalDatasource: "globaldatasources",
	KindGlobalVariable:   "globalvariables",
	KindProject:          "projects",
	KindVariable:         "variables",
}

Functions

func FilterDatasource added in v0.11.0

func FilterDatasource[T DatasourceInterface](kind string, defaultDTS *bool, list []T) []T

func GetStruct

func GetStruct(kind Kind) (modelAPI.Entity, error)

GetStruct return a pointer to an empty struct that matches the kind passed as a parameter.

Types

type Dashboard

type Dashboard struct {
	Kind     Kind            `json:"kind" yaml:"kind"`
	Metadata ProjectMetadata `json:"metadata" yaml:"metadata"`
	Spec     DashboardSpec   `json:"spec" yaml:"spec"`
}

func (*Dashboard) GetKind

func (d *Dashboard) GetKind() string

func (*Dashboard) GetMetadata

func (d *Dashboard) GetMetadata() modelAPI.Metadata

func (*Dashboard) GetSpec added in v0.12.0

func (d *Dashboard) GetSpec() interface{}

func (*Dashboard) UnmarshalJSON

func (d *Dashboard) UnmarshalJSON(data []byte) error

func (*Dashboard) UnmarshalYAML

func (d *Dashboard) UnmarshalYAML(unmarshal func(interface{}) error) error

type DashboardSpec

type DashboardSpec struct {
	Display *common.Display `json:"display,omitempty" yaml:"display,omitempty"`
	// Datasources is an optional list of datasource definition.
	Datasources map[string]*DatasourceSpec `json:"datasources,omitempty" yaml:"datasources,omitempty"`
	// Duration is the default time you would like to use to looking in the past when getting data to fill the
	// dashboard
	Duration  model.Duration       `json:"duration" yaml:"duration"`
	Variables []dashboard.Variable `json:"variables,omitempty" yaml:"variables,omitempty"`
	Panels    map[string]*Panel    `json:"panels" yaml:"panels"`
	Layouts   []dashboard.Layout   `json:"layouts" yaml:"layouts"`
}

func (*DashboardSpec) UnmarshalJSON

func (d *DashboardSpec) UnmarshalJSON(data []byte) error

func (*DashboardSpec) UnmarshalYAML

func (d *DashboardSpec) UnmarshalYAML(unmarshal func(interface{}) error) error

type Datasource

type Datasource struct {
	Kind     Kind            `json:"kind" yaml:"kind"`
	Metadata ProjectMetadata `json:"metadata" yaml:"metadata"`
	Spec     DatasourceSpec  `json:"spec" yaml:"spec"`
}

Datasource will be the datasource you can define in your project/namespace This is a resource that won't be shared across projects. A Dashboard can use it only if it is in the same project.

func (*Datasource) GetDTSSpec added in v0.12.0

func (d *Datasource) GetDTSSpec() DatasourceSpec

func (*Datasource) GetKind

func (d *Datasource) GetKind() string

func (*Datasource) GetMetadata

func (d *Datasource) GetMetadata() modelAPI.Metadata

func (*Datasource) GetSpec added in v0.11.0

func (d *Datasource) GetSpec() interface{}

func (*Datasource) UnmarshalJSON

func (d *Datasource) UnmarshalJSON(data []byte) error

func (*Datasource) UnmarshalYAML

func (d *Datasource) UnmarshalYAML(unmarshal func(interface{}) error) error

type DatasourceInterface added in v0.11.0

type DatasourceInterface interface {
	GetMetadata() modelAPI.Metadata
	GetDTSSpec() DatasourceSpec
}

type DatasourceSpec

type DatasourceSpec struct {
	Display *common.Display `json:"display,omitempty" yaml:"display,omitempty"`
	Default bool            `json:"default" yaml:"default"`
	// Plugin will contain the datasource configuration.
	// The data typed is available in Cue.
	Plugin common.Plugin `json:"plugin" yaml:"plugin"`
}

type Folder

type Folder struct {
	Kind     Kind            `json:"kind" yaml:"kind"`
	Metadata ProjectMetadata `json:"metadata" yaml:"metadata"`
	Spec     []FolderSpec    `json:"spec" yaml:"spec"`
}

func (*Folder) GetKind

func (f *Folder) GetKind() string

func (*Folder) GetMetadata

func (f *Folder) GetMetadata() modelAPI.Metadata

func (*Folder) GetSpec added in v0.12.0

func (f *Folder) GetSpec() interface{}

func (*Folder) UnmarshalJSON

func (f *Folder) UnmarshalJSON(data []byte) error

func (*Folder) UnmarshalYAML

func (f *Folder) UnmarshalYAML(unmarshal func(interface{}) error) error

type FolderSpec

type FolderSpec struct {
	// Kind can only have two values: `Dashboard` or `Folder`
	Kind Kind `json:"kind" yaml:"kind"`
	// Name is the reference to the dashboard when `Kind` is equal to `Dashboard`.
	// When `Kind` is equal to `Folder`, then it's just the name of the folder
	Name string `json:"name" yaml:"name"`
	// Spec must only be set when 'Kind' is equal to 'Folder'.
	Spec []FolderSpec `json:"spec,omitempty" yaml:"spec,omitempty"`
}

func (*FolderSpec) UnmarshalJSON

func (f *FolderSpec) UnmarshalJSON(data []byte) error

func (*FolderSpec) UnmarshalYAML

func (f *FolderSpec) UnmarshalYAML(unmarshal func(interface{}) error) error

type GlobalDatasource

type GlobalDatasource struct {
	Kind     Kind           `json:"kind" yaml:"kind"`
	Metadata Metadata       `json:"metadata" yaml:"metadata"`
	Spec     DatasourceSpec `json:"spec" yaml:"spec"`
}

GlobalDatasource is the struct representing the datasource shared to everybody. Any Dashboard can reference it.

func (*GlobalDatasource) GetDTSSpec added in v0.12.0

func (d *GlobalDatasource) GetDTSSpec() DatasourceSpec

func (*GlobalDatasource) GetKind

func (d *GlobalDatasource) GetKind() string

func (*GlobalDatasource) GetMetadata

func (d *GlobalDatasource) GetMetadata() modelAPI.Metadata

func (*GlobalDatasource) GetSpec added in v0.11.0

func (d *GlobalDatasource) GetSpec() interface{}

func (*GlobalDatasource) UnmarshalJSON

func (d *GlobalDatasource) UnmarshalJSON(data []byte) error

func (*GlobalDatasource) UnmarshalYAML

func (d *GlobalDatasource) UnmarshalYAML(unmarshal func(interface{}) error) error

type GlobalVariable added in v0.31.0

type GlobalVariable struct {
	Kind     Kind         `json:"kind" yaml:"kind"`
	Metadata Metadata     `json:"metadata" yaml:"metadata"`
	Spec     VariableSpec `json:"spec" yaml:"spec"`
}

GlobalVariable is a global variable that be used everywhere regardless the project.

func (*GlobalVariable) GetKind added in v0.31.0

func (v *GlobalVariable) GetKind() string

func (*GlobalVariable) GetMetadata added in v0.31.0

func (v *GlobalVariable) GetMetadata() modelAPI.Metadata

func (*GlobalVariable) GetSpec added in v0.31.0

func (v *GlobalVariable) GetSpec() interface{}

type Health

type Health struct {
	BuildTime string `json:"buildTime"`
	Version   string `json:"version"`
	Commit    string `json:"commit"`
	Database  bool   `json:"database"`
}

Health is the struct that provides the health information of the API

type Kind

type Kind string
const (
	KindDashboard        Kind = "Dashboard"
	KindDatasource       Kind = "Datasource"
	KindFolder           Kind = "Folder"
	KindGlobalDatasource Kind = "GlobalDatasource"
	KindGlobalVariable   Kind = "GlobalVariable"
	KindProject          Kind = "Project"
	KindVariable         Kind = "Variable"
)

func (*Kind) UnmarshalJSON

func (k *Kind) UnmarshalJSON(data []byte) error

func (*Kind) UnmarshalYAML

func (k *Kind) UnmarshalYAML(unmarshal func(interface{}) error) error

type Metadata

type Metadata struct {
	Name      string    `json:"name" yaml:"name"`
	CreatedAt time.Time `json:"created_at" yaml:"created_at"`
	UpdatedAt time.Time `json:"updated_at" yaml:"updated_at"`
	Version   uint64    `json:"version" yaml:"version"`
}

func NewMetadata added in v0.23.0

func NewMetadata(name string) *Metadata

func (*Metadata) CreateNow

func (m *Metadata) CreateNow()

func (*Metadata) GetName

func (m *Metadata) GetName() string

func (*Metadata) Update added in v0.5.0

func (m *Metadata) Update(previous Metadata)

type Panel added in v0.10.0

type Panel struct {
	Kind string    `json:"kind" yaml:"kind"`
	Spec PanelSpec `json:"spec" yaml:"spec"`
}

type PanelSpec added in v0.10.0

type PanelSpec struct {
	Display common.Display `json:"display" yaml:"display"`
	Plugin  common.Plugin  `json:"plugin" yaml:"plugin"`
	Queries []Query        `json:"queries,omitempty" yaml:"queries,omitempty"`
}

type Project

type Project struct {
	Kind     Kind        `json:"kind" yaml:"kind"`
	Metadata Metadata    `json:"metadata" yaml:"metadata"`
	Spec     ProjectSpec `json:"spec,omitempty" yaml:"spec,omitempty"`
}

func (*Project) GetKind

func (p *Project) GetKind() string

func (*Project) GetMetadata

func (p *Project) GetMetadata() modelAPI.Metadata

func (*Project) GetSpec added in v0.12.0

func (p *Project) GetSpec() interface{}

func (*Project) UnmarshalJSON

func (p *Project) UnmarshalJSON(data []byte) error

func (*Project) UnmarshalYAML

func (p *Project) UnmarshalYAML(unmarshal func(interface{}) error) error

type ProjectMetadata

type ProjectMetadata struct {
	Metadata `json:",inline" yaml:",inline"`
	Project  string `json:"project" yaml:"project"`
}

ProjectMetadata is the metadata struct for resources that belongs to a project.

func NewProjectMetadata added in v0.23.0

func NewProjectMetadata(project string, name string) *ProjectMetadata

func (*ProjectMetadata) GetName

func (m *ProjectMetadata) GetName() string

func (*ProjectMetadata) Update added in v0.5.0

func (m *ProjectMetadata) Update(previous ProjectMetadata)

type ProjectSpec added in v0.12.0

type ProjectSpec struct {
}

type Query added in v0.28.0

type Query struct {
	Kind string    `json:"kind" yaml:"kind"`
	Spec QuerySpec `json:"spec" yaml:"spec"`
}

type QuerySpec added in v0.28.0

type QuerySpec struct {
	Plugin common.Plugin `json:"plugin" yaml:"plugin"`
}

type Variable added in v0.31.0

type Variable struct {
	Kind     Kind            `json:"kind" yaml:"kind"`
	Metadata ProjectMetadata `json:"metadata" yaml:"metadata"`
	Spec     VariableSpec    `json:"spec" yaml:"spec"`
}

Variable relates to variables defined at project level. If you are looking for variable defined at dashboard level, see dashboard.Variable

func (*Variable) GetKind added in v0.31.0

func (v *Variable) GetKind() string

func (*Variable) GetMetadata added in v0.31.0

func (v *Variable) GetMetadata() modelAPI.Metadata

func (*Variable) GetSpec added in v0.31.0

func (v *Variable) GetSpec() interface{}

type VariableSpec added in v0.31.0

type VariableSpec struct {
	// Kind is the type of the variable. Depending on the value of Kind, it will change the content of Spec.
	Kind variable.Kind `json:"kind" yaml:"kind"`
	Spec interface{}   `json:"spec" yaml:"spec"`
}

func (*VariableSpec) UnmarshalJSON added in v0.31.0

func (v *VariableSpec) UnmarshalJSON(data []byte) error

func (*VariableSpec) UnmarshalYAML added in v0.31.0

func (v *VariableSpec) UnmarshalYAML(unmarshal func(interface{}) error) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL