v1

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2022 License: Apache-2.0 Imports: 10 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

Functions

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 GenerateUserID

func GenerateUserID(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) 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 {
	// Datasource is a set of values that will be used to find the datasource definition.
	Datasource dashboard.Datasource `json:"datasource" yaml:"datasource"`
	// 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 map[string]*dashboard.Variable `json:"variables,omitempty" yaml:"variables,omitempty"`
	Panels    map[string]json.RawMessage     `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) GetKind

func (d *Datasource) GetKind() string

func (*Datasource) GetMetadata

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

func (*Datasource) UnmarshalJSON

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

func (*Datasource) UnmarshalYAML

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

type DatasourceSpec

type DatasourceSpec interface {
	GetKind() datasource.Kind
}

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

func (d *GlobalDatasource) GetKind() string

func (*GlobalDatasource) GetMetadata

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

func (*GlobalDatasource) UnmarshalJSON

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

func (*GlobalDatasource) UnmarshalYAML

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

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"
	KindUser             Kind = "User"
)

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 Project

type Project struct {
	Kind     Kind     `json:"kind" yaml:"kind"`
	Metadata Metadata `json:"metadata" yaml:"metadata"`
}

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

type User struct {
	Kind     Kind     `json:"kind" yaml:"kind"`
	Metadata Metadata `json:"metadata" yaml:"metadata"`
	Spec     UserSpec `json:"spec" yaml:"spec"`
}

func (*User) GenerateID

func (p *User) GenerateID() string

func (*User) GetKind

func (p *User) GetKind() string

func (*User) GetMetadata

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

func (*User) UnmarshalJSON

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

func (*User) UnmarshalYAML

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

type UserSpec

type UserSpec struct {
	FirstName string `json:"first_name,omitempty"`
	LastName  string `json:"last_name,omitempty"`
	Password  []byte `json:"password,omitempty"`
}

func (*UserSpec) UnmarshalJSON

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

func (*UserSpec) UnmarshalYAML

func (p *UserSpec) 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