v1

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2023 License: Apache-2.0 Imports: 7 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

Functions

func FilterDatasource added in v0.11.0

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

func GenerateDashboardID

func GenerateDashboardID(project string, name string) string

func GenerateDatasourceID

func GenerateDatasourceID(project string, name string) string

func GenerateFolderID

func GenerateFolderID(project string, name string) string

func GenerateGlobalDatasourceID

func GenerateGlobalDatasourceID(name string) string

func GenerateProjectID

func GenerateProjectID(name string) string

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) GenerateID

func (d *Dashboard) GenerateID() string

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"` // kept as raw json as the validation is done with cuelang
	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) GenerateID

func (d *Datasource) GenerateID() string

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{}

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) GenerateID

func (f *Folder) GenerateID() string

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) GenerateID

func (d *GlobalDatasource) GenerateID() string

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{}

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"
	KindProject          Kind = "Project"
)

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,omitempty" yaml:"version,omitempty"`
}

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"`
}

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) GenerateID

func (p *Project) GenerateID() string

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 (*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 {
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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