README

Grafana SDK Go Report Card

SDK for Go language offers a library for interacting with Grafana server from Go applications. It realizes many of HTTP REST API calls for administration, client, organizations. Beside of them it allows creating of Grafana objects (dashboards, panels, datasources) locally and manipulating them for constructing dashboards programmatically. It would be helpful for massive operations on a large set of Grafana objects.

It was made foremost for autograf project but later separated from it and moved to this new repository because the library is useful per se.

Library design principles

  1. SDK offers client functionality so it covers Grafana REST API with its requests and responses as close as possible.
  2. SDK maps Grafana objects (dashboard, row, panel, datasource) to similar Go structures but not follows exactly all Grafana abstractions.
  3. It doesn't use any logger, instead API functions could return errors where it need.
  4. Prefere no external deps except Go stdlib.
  5. Cover SDK calls with unit tests.

Examples GoDoc

	board := sdk.NewBoard("Sample dashboard title")
	board.ID = 1
	board.Time.From = "now-30m"
	board.Time.To = "now"
	row1 := board.AddRow("Sample row title")
	row1.Add(sdk.NewGraph("Sample graph"))
	graph := sdk.NewGraph("Sample graph 2")
	target := sdk.Target{
		RefID:      "A",
		Datasource: "Sample Source 1",
		Expr:       "sample request 1"}
	graph.AddTarget(&target)
	row1.Add(graph)
	grafanaURL := "http://grafana.host"
	c := sdk.NewClient(grafanaURL, "grafana-api-key", sdk.DefaultHTTPClient)
	response, err := c.SetDashboard(context.TODO() ,*board, sdk.SetDashboardParams{
		Overwrite: false,
	})
	if err != nil {
		fmt.Printf("error on uploading dashboard %s", board.Title)
	} else {
		fmt.Printf("dashboard URL: %v", grafanaURL+*response.URL)
	}

The library includes several demo apps for showing API usage:

You need Grafana API key with admin rights for using these utilities.

Installation Build Status

Of course Go development environment should be set up first. Then:

go get github.com/grafana-tools/sdk

Dependency packages have included into distro. govendor utility used for vendoring. The single dependency now is:

go get github.com/gosimple/slug

The "slugify" for URLs is a simple task but this package used in Grafana server so it used in the SDK for the compatibility reasons.

Status of REST API realization Coverage Status

Work on full API implementation still in progress. Currently implemented only create/update/delete operations for dashboards and datasources. State of support for misc API parts noted below.

API Status
Authorization API tokens and Basic Auth
Annotations partially
Dashboards partially
Datasources +
Alert notification channels +
Organization (current) partially
Organizations partially
Users partially
User (actual) partially
Snapshots -
Frontend settings -
Admin partially

There is no exact roadmap. The integration tests are being run against the following Grafana versions:

With the following Go versions:

  • 1.14.x
  • 1.13.x
  • 1.12.x
  • 1.11.x

I still have interest to this library development but not always have time for it. So I gladly accept new contributions. Drop an issue or contact me.

Licence

Distributed under Apache v2.0. All rights belong to the SDK authors. There is no authors list yet, you can see the full list of the contributors in the git history. Official repository is https://github.com/grafana-tools/sdk

Collection of Grafana tools in Golang

Expand ▾ Collapse ▴

Documentation

Index

Examples

Constants

View Source
const (
	TemplatingHideNone = iota
	TemplatingHideLabel
	TemplatingHideVariable
)

    Constants for templating

    View Source
    const (
    	CustomType panelType = iota
    	DashlistType
    	GraphType
    	TableType
    	TextType
    	PluginlistType
    	AlertlistType
    	SinglestatType
    	StatType
    	RowType
    	BarGaugeType
    	HeatmapType
    )

      Each panel may be one of these types.

      View Source
      const DefaultFolderId = 0

        DefaultFolderId is the id of the general folder that is pre-created and cannot be removed.

        View Source
        const MixedSource = "-- Mixed --"

        Variables

        View Source
        var DefaultHTTPClient = http.DefaultClient

          DefaultHTTPClient initialized Grafana with appropriate conditions. It allows you globally redefine HTTP client.

          Functions

          This section is empty.

          Types

          type Address

          type Address struct {
          	Address1 string `json:"address1"`
          	Address2 string `json:"address2"`
          	City     string `json:"city"`
          	ZipCode  string `json:"zipCode"`
          	State    string `json:"state"`
          	Country  string `json:"country"`
          }

          type Alert

          type Alert struct {
          	AlertRuleTags       map[string]string   `json:"alertRuleTags,omitempty"`
          	Conditions          []AlertCondition    `json:"conditions,omitempty"`
          	ExecutionErrorState string              `json:"executionErrorState,omitempty"`
          	Frequency           string              `json:"frequency,omitempty"`
          	Handler             int                 `json:"handler,omitempty"`
          	Name                string              `json:"name,omitempty"`
          	NoDataState         string              `json:"noDataState,omitempty"`
          	Notifications       []AlertNotification `json:"notifications,omitempty"`
          	Message             string              `json:"message,omitempty"`
          	For                 string              `json:"for,omitempty"`
          }

          type AlertCondition

          type AlertCondition struct {
          	Evaluator AlertEvaluator `json:"evaluator,omitempty"`
          	Operator  AlertOperator  `json:"operator,omitempty"`
          	Query     AlertQuery     `json:"query,omitempty"`
          	Reducer   AlertReducer   `json:"reducer,omitempty"`
          	Type      string         `json:"type,omitempty"`
          }

          type AlertEvaluator

          type AlertEvaluator struct {
          	Params []float64 `json:"params,omitempty"`
          	Type   string    `json:"type,omitempty"`
          }

          type AlertNotification

          type AlertNotification struct {
          	ID                    int64       `json:"id,omitempty"`
          	Name                  string      `json:"name"`
          	Type                  string      `json:"type"`
          	IsDefault             bool        `json:"isDefault"`
          	DisableResolveMessage bool        `json:"disableResolveMessage"`
          	SendReminder          bool        `json:"sendReminder"`
          	Frequency             string      `json:"frequency"`
          	Settings              interface{} `json:"settings"`
          	UID                   string      `json:"uid,omitempty"`
          }

            AlertNotification as described in the doc https://grafana.com/docs/grafana/latest/http_api/alerting_notification_channels/

            type AlertOperator

            type AlertOperator struct {
            	Type string `json:"type,omitempty"`
            }

            type AlertQuery

            type AlertQuery struct {
            	Params []string `json:"params,omitempty"`
            }

            type AlertReducer

            type AlertReducer struct {
            	Params []string `json:"params,omitempty"`
            	Type   string   `json:"type,omitempty"`
            }

            type AlertlistPanel

            type AlertlistPanel struct {
            	OnlyAlertsOnDashboard bool     `json:"onlyAlertsOnDashboard"`
            	Show                  string   `json:"show"`
            	SortOrder             int      `json:"sortOrder"`
            	Limit                 int      `json:"limit"`
            	StateFilter           []string `json:"stateFilter"`
            	NameFilter            string   `json:"nameFilter,omitempty"`
            	DashboardTags         []string `json:"dashboardTags,omitempty"`
            }

            type Annotation

            type Annotation struct {
            	Name        string   `json:"name"`
            	Datasource  *string  `json:"datasource"`
            	ShowLine    bool     `json:"showLine"`
            	IconColor   string   `json:"iconColor"`
            	LineColor   string   `json:"lineColor"`
            	IconSize    uint     `json:"iconSize"`
            	Enable      bool     `json:"enable"`
            	Query       string   `json:"query"`
            	Expr        string   `json:"expr"`
            	Step        string   `json:"step"`
            	TextField   string   `json:"textField"`
            	TextFormat  string   `json:"textFormat"`
            	TitleFormat string   `json:"titleFormat"`
            	TagsField   string   `json:"tagsField"`
            	Tags        []string `json:"tags"`
            	TagKeys     string   `json:"tagKeys"`
            	Type        string   `json:"type"`
            }

            type AnnotationResponse

            type AnnotationResponse struct {
            	ID          uint                   `json:"id"`
            	AlertID     uint                   `json:"alertId"`
            	DashboardID uint                   `json:"dashboardId,omitempty"`
            	PanelID     uint                   `json:"panelId,omitempty"`
            	UserID      uint                   `json:"userId,omitempty"`
            	UserName    string                 `json:"userName,omitempty"`
            	NewState    string                 `json:"newState,omitempty"`
            	PrevState   string                 `json:"prevState,omitempty"`
            	Time        int64                  `json:"time,omitempty"`
            	TimeEnd     int64                  `json:"timeEnd,omitempty"`
            	Tags        []string               `json:"tags,omitempty"`
            	Text        string                 `json:"text,omitempty"`
            	Type        string                 `json:"type"`
            	Data        map[string]interface{} `json:"data"`
            }

              AnnotationResponse is representation of an existing annotation

              type Axis

              type Axis struct {
              	Format   string       `json:"format"`
              	LogBase  int          `json:"logBase"`
              	Decimals int          `json:"decimals,omitempty"`
              	Max      *FloatString `json:"max,omitempty"`
              	Min      *FloatString `json:"min,omitempty"`
              	Show     bool         `json:"show"`
              	Label    string       `json:"label,omitempty"`
              }

                for a graph panel

                type BarGaugePanel

                type BarGaugePanel struct {
                	Options     Options     `json:"options"`
                	Targets     []Target    `json:"targets,omitempty"`
                	FieldConfig FieldConfig `json:"fieldConfig"`
                }

                type Board

                type Board struct {
                	ID              uint       `json:"id,omitempty"`
                	UID             string     `json:"uid,omitempty"`
                	Slug            string     `json:"slug"`
                	Title           string     `json:"title"`
                	OriginalTitle   string     `json:"originalTitle"`
                	Tags            []string   `json:"tags"`
                	Style           string     `json:"style"`
                	Timezone        string     `json:"timezone"`
                	Editable        bool       `json:"editable"`
                	HideControls    bool       `json:"hideControls" graf:"hide-controls"`
                	SharedCrosshair bool       `json:"sharedCrosshair" graf:"shared-crosshair"`
                	Panels          []*Panel   `json:"panels"`
                	Rows            []*Row     `json:"rows"`
                	Templating      Templating `json:"templating"`
                	Annotations     struct {
                		List []Annotation `json:"list"`
                	} `json:"annotations"`
                	Refresh       *BoolString `json:"refresh,omitempty"`
                	SchemaVersion uint        `json:"schemaVersion"`
                	Version       uint        `json:"version"`
                	Links         []Link      `json:"links"`
                	Time          Time        `json:"time"`
                	Timepicker    Timepicker  `json:"timepicker"`
                	GraphTooltip  int         `json:"graphTooltip,omitempty"`
                }

                  Board represents Grafana dashboard.

                  func NewBoard

                  func NewBoard(title string) *Board
                  Example
                  Output:
                  
                  {
                      "id": 1,
                      "slug": "",
                      "title": "Sample dashboard title",
                      "originalTitle": "",
                      "tags": null,
                      "style": "dark",
                      "timezone": "browser",
                      "editable": true,
                      "hideControls": false,
                      "sharedCrosshair": false,
                      "panels": null,
                      "rows": [
                          {
                              "title": "Sample row title",
                              "showTitle": false,
                              "collapse": false,
                              "editable": true,
                              "height": "250px",
                              "panels": [
                                  {
                                      "editable": false,
                                      "error": false,
                                      "gridPos": {},
                                      "id": 1,
                                      "isNew": true,
                                      "renderer": "flot",
                                      "span": 12,
                                      "title": "Sample graph",
                                      "transparent": false,
                                      "type": "graph",
                                      "aliasColors": null,
                                      "bars": false,
                                      "fill": 0,
                                      "legend": {
                                          "alignAsTable": false,
                                          "avg": false,
                                          "current": false,
                                          "hideEmpty": false,
                                          "hideZero": false,
                                          "max": false,
                                          "min": false,
                                          "rightSide": false,
                                          "show": false,
                                          "total": false,
                                          "values": false
                                      },
                                      "lines": false,
                                      "linewidth": 0,
                                      "nullPointMode": "connected",
                                      "percentage": false,
                                      "pointradius": 5,
                                      "points": false,
                                      "stack": false,
                                      "steppedLine": false,
                                      "tooltip": {
                                          "shared": false,
                                          "value_type": ""
                                      },
                                      "x-axis": true,
                                      "y-axis": true,
                                      "xaxis": {
                                          "format": "",
                                          "logBase": 0,
                                          "show": false
                                      },
                                      "yaxes": null
                                  },
                                  {
                                      "editable": false,
                                      "error": false,
                                      "gridPos": {},
                                      "id": 2,
                                      "isNew": true,
                                      "renderer": "flot",
                                      "span": 12,
                                      "title": "Sample graph 2",
                                      "transparent": false,
                                      "type": "graph",
                                      "aliasColors": null,
                                      "bars": false,
                                      "fill": 0,
                                      "legend": {
                                          "alignAsTable": false,
                                          "avg": false,
                                          "current": false,
                                          "hideEmpty": false,
                                          "hideZero": false,
                                          "max": false,
                                          "min": false,
                                          "rightSide": false,
                                          "show": false,
                                          "total": false,
                                          "values": false
                                      },
                                      "lines": false,
                                      "linewidth": 0,
                                      "nullPointMode": "connected",
                                      "percentage": false,
                                      "pointradius": 5,
                                      "points": false,
                                      "stack": false,
                                      "steppedLine": false,
                                      "targets": [
                                          {
                                              "refId": "A",
                                              "datasource": "Sample Source 1",
                                              "expr": "sample request 1"
                                          }
                                      ],
                                      "tooltip": {
                                          "shared": false,
                                          "value_type": ""
                                      },
                                      "x-axis": true,
                                      "y-axis": true,
                                      "xaxis": {
                                          "format": "",
                                          "logBase": 0,
                                          "show": false
                                      },
                                      "yaxes": null
                                  }
                              ],
                              "repeat": null
                          }
                      ],
                      "templating": {
                          "list": null
                      },
                      "annotations": {
                          "list": null
                      },
                      "schemaVersion": 0,
                      "version": 0,
                      "links": null,
                      "time": {
                          "from": "",
                          "to": ""
                      },
                      "timepicker": {
                          "refresh_intervals": null,
                          "time_options": null
                      }
                  }
                  
                  func (b *Board) AddLink(link Link)

                  func (*Board) AddRow

                  func (b *Board) AddRow(title string) *Row

                  func (*Board) AddTags

                  func (b *Board) AddTags(tags ...string)

                  func (*Board) HasTag

                  func (b *Board) HasTag(tag string) bool

                  func (*Board) RemoveTags

                  func (b *Board) RemoveTags(tags ...string)

                  func (*Board) UpdateSlug

                  func (b *Board) UpdateSlug() string

                  type BoardProperties

                  type BoardProperties struct {
                  	IsStarred   bool      `json:"isStarred,omitempty"`
                  	IsHome      bool      `json:"isHome,omitempty"`
                  	IsSnapshot  bool      `json:"isSnapshot,omitempty"`
                  	Type        string    `json:"type,omitempty"`
                  	CanSave     bool      `json:"canSave"`
                  	CanEdit     bool      `json:"canEdit"`
                  	CanStar     bool      `json:"canStar"`
                  	Slug        string    `json:"slug"`
                  	Expires     time.Time `json:"expires"`
                  	Created     time.Time `json:"created"`
                  	Updated     time.Time `json:"updated"`
                  	UpdatedBy   string    `json:"updatedBy"`
                  	CreatedBy   string    `json:"createdBy"`
                  	Version     int       `json:"version"`
                  	FolderID    int       `json:"folderId"`
                  	FolderTitle string    `json:"folderTitle"`
                  	FolderURL   string    `json:"folderUrl"`
                  }

                    BoardProperties keeps metadata of a dashboard.

                    type BoolInt

                    type BoolInt struct {
                    	Flag  bool
                    	Value *int64
                    }

                    func (BoolInt) MarshalJSON

                    func (s BoolInt) MarshalJSON() ([]byte, error)

                    func (*BoolInt) UnmarshalJSON

                    func (s *BoolInt) UnmarshalJSON(raw []byte) error

                    type BoolString

                    type BoolString struct {
                    	Flag  bool
                    	Value string
                    }

                    func (BoolString) MarshalJSON

                    func (s BoolString) MarshalJSON() ([]byte, error)

                    func (*BoolString) UnmarshalJSON

                    func (s *BoolString) UnmarshalJSON(raw []byte) error

                    type Client

                    type Client struct {
                    	// contains filtered or unexported fields
                    }

                      Client uses Grafana REST API for interacting with Grafana server.

                      func NewClient

                      func NewClient(apiURL, apiKeyOrBasicAuth string, client *http.Client) *Client

                        NewClient initializes client for interacting with an instance of Grafana server; apiKeyOrBasicAuth accepts either 'username:password' basic authentication credentials, or a Grafana API key

                        func (*Client) AddActualOrgUser

                        func (r *Client) AddActualOrgUser(ctx context.Context, userRole UserRole) (StatusMessage, error)

                          AddActualOrgUser adds a global user to the current organization. Reflects POST /api/org/users API call.

                          func (*Client) AddOrgUser

                          func (r *Client) AddOrgUser(ctx context.Context, user UserRole, oid uint) (StatusMessage, error)

                            AddOrgUser add user to organization with oid. Reflects POST /api/orgs/:orgId/users API call.

                            func (*Client) CreateAlertNotification

                            func (c *Client) CreateAlertNotification(ctx context.Context, an AlertNotification) (int64, error)

                              CreateAlertNotification creates a new alert notification channel. Reflects POST /api/alert-notifications API call.

                              func (*Client) CreateAnnotation

                              func (r *Client) CreateAnnotation(ctx context.Context, a CreateAnnotationRequest) (StatusMessage, error)

                                CreateAnnotation creates a new annotation from the annotation request

                                func (*Client) CreateDatasource

                                func (r *Client) CreateDatasource(ctx context.Context, ds Datasource) (StatusMessage, error)

                                  CreateDatasource creates a new datasource. Reflects POST /api/datasources API call.

                                  func (*Client) CreateFolder

                                  func (r *Client) CreateFolder(ctx context.Context, f Folder) (Folder, error)

                                    CreateFolder create folders. Reflects POST /api/folders API call.

                                    func (*Client) CreateOrg

                                    func (r *Client) CreateOrg(ctx context.Context, org Org) (StatusMessage, error)

                                      CreateOrg creates a new organization. It reflects POST /api/orgs API call.

                                      func (*Client) CreateUser

                                      func (r *Client) CreateUser(ctx context.Context, user User) (StatusMessage, error)

                                        CreateUser creates a new global user. Requires basic authentication and that the authenticated user is a Grafana Admin. Reflects POST /api/admin/users API call.

                                        func (*Client) DeleteActualOrgUser

                                        func (r *Client) DeleteActualOrgUser(ctx context.Context, uid uint) (StatusMessage, error)

                                          DeleteActualOrgUser delete user in actual organization. Reflects DELETE /api/org/users/:userId API call.

                                          func (*Client) DeleteAlertNotificationID

                                          func (c *Client) DeleteAlertNotificationID(ctx context.Context, id uint) error

                                            DeleteAlertNotificationID deletes the specified alert notification channel. Reflects DELETE /api/alert-notifications/:id API call.

                                            func (*Client) DeleteAlertNotificationUID

                                            func (c *Client) DeleteAlertNotificationUID(ctx context.Context, uid string) error

                                              DeleteAlertNotificationUID deletes the specified alert notification channel. Reflects DELETE /api/alert-notifications/uid/:uid API call.

                                              func (*Client) DeleteAnnotation

                                              func (r *Client) DeleteAnnotation(ctx context.Context, id uint) (StatusMessage, error)

                                                DeleteAnnotation deletes the annotation with id

                                                func (*Client) DeleteDashboard

                                                func (r *Client) DeleteDashboard(ctx context.Context, slug string) (StatusMessage, error)

                                                  DeleteDashboard deletes dashboard that selected by slug string. Grafana only can delete a dashboard in a database. File dashboards may be only loaded with HTTP API but not deteled.

                                                  Reflects DELETE /api/dashboards/db/:slug API call.

                                                  func (*Client) DeleteDatasource

                                                  func (r *Client) DeleteDatasource(ctx context.Context, id uint) (StatusMessage, error)

                                                    DeleteDatasource deletes an existing datasource by ID. Reflects DELETE /api/datasources/:datasourceId API call.

                                                    func (*Client) DeleteDatasourceByName

                                                    func (r *Client) DeleteDatasourceByName(ctx context.Context, name string) (StatusMessage, error)

                                                      DeleteDatasourceByName deletes an existing datasource by Name. Reflects DELETE /api/datasources/name/:datasourceName API call.

                                                      func (*Client) DeleteFolderByUID

                                                      func (r *Client) DeleteFolderByUID(ctx context.Context, UID string) (bool, error)

                                                        DeleteFolderByUID deletes an existing folder by uid. Reflects DELETE /api/folders/:uid API call.

                                                        func (*Client) DeleteOrg

                                                        func (r *Client) DeleteOrg(ctx context.Context, oid uint) (StatusMessage, error)

                                                          DeleteOrg deletes the organization identified by the oid. Reflects DELETE /api/orgs/:orgId API call.

                                                          func (*Client) DeleteOrgUser

                                                          func (r *Client) DeleteOrgUser(ctx context.Context, oid, uid uint) (StatusMessage, error)

                                                            DeleteOrgUser deletes the user specified by uid within the organization specified by oid. Reflects DELETE /api/orgs/:orgId/users/:userId API call.

                                                            func (*Client) GetActualOrg

                                                            func (r *Client) GetActualOrg(ctx context.Context) (Org, error)

                                                              GetActualOrg gets current organization. It reflects GET /api/org API call.

                                                              func (*Client) GetActualOrgPreferences

                                                              func (r *Client) GetActualOrgPreferences(ctx context.Context) (Preferences, error)

                                                                GetActualOrgPreferences gets preferences of the actual organization. It reflects GET /api/org/preferences API call.

                                                                func (*Client) GetActualOrgUsers

                                                                func (r *Client) GetActualOrgUsers(ctx context.Context) ([]OrgUser, error)

                                                                  GetActualOrgUsers get all users within the actual organisation. Reflects GET /api/org/users API call.

                                                                  func (*Client) GetActualUser

                                                                  func (r *Client) GetActualUser(ctx context.Context) (User, error)

                                                                    GetActualUser gets an actual user. Reflects GET /api/user API call.

                                                                    func (*Client) GetAlertNotificationID

                                                                    func (c *Client) GetAlertNotificationID(ctx context.Context, id uint) (AlertNotification, error)

                                                                      GetAlertNotificationID gets the alert notification channel which has the specified id. Reflects GET /api/alert-notifications/:id API call.

                                                                      func (*Client) GetAlertNotificationUID

                                                                      func (c *Client) GetAlertNotificationUID(ctx context.Context, uid string) (AlertNotification, error)

                                                                        GetAlertNotificationUID gets the alert notification channel which has the specified uid. Reflects GET /api/alert-notifications/uid/:uid API call.

                                                                        func (*Client) GetAllAlertNotifications

                                                                        func (c *Client) GetAllAlertNotifications(ctx context.Context) ([]AlertNotification, error)

                                                                          GetAllAlertNotifications gets all alert notification channels. Reflects GET /api/alert-notifications API call.

                                                                          func (*Client) GetAllDatasources

                                                                          func (r *Client) GetAllDatasources(ctx context.Context) ([]Datasource, error)

                                                                            GetAllDatasources gets all datasources. Reflects GET /api/datasources API call.

                                                                            func (*Client) GetAllFolders

                                                                            func (r *Client) GetAllFolders(ctx context.Context, params ...GetFolderParams) ([]Folder, error)

                                                                              GetAllFolders gets all folders. Reflects GET /api/folders API call.

                                                                              func (*Client) GetAllOrgs

                                                                              func (r *Client) GetAllOrgs(ctx context.Context) ([]Org, error)

                                                                                GetAllOrgs returns all organizations. It reflects GET /api/orgs API call.

                                                                                func (*Client) GetAllUsers

                                                                                func (r *Client) GetAllUsers(ctx context.Context) ([]User, error)

                                                                                  GetAllUsers gets all users. Reflects GET /api/users API call.

                                                                                  func (*Client) GetAnnotations

                                                                                  func (r *Client) GetAnnotations(ctx context.Context, params ...GetAnnotationsParams) ([]AnnotationResponse, error)

                                                                                    GetAnnotations gets annotations matching the annotation parameters

                                                                                    func (*Client) GetDashboardBySlug

                                                                                    func (r *Client) GetDashboardBySlug(ctx context.Context, slug string) (Board, BoardProperties, error)

                                                                                      GetDashboardBySlug loads a dashboard and its metadata from Grafana by dashboard slug.

                                                                                      For dashboards from a filesystem set "file/" prefix for slug. By default dashboards from a database assumed. Database dashboards may have "db/" prefix or may have not, it will be appended automatically.

                                                                                      Reflects GET /api/dashboards/db/:slug API call. Deprecated: since Grafana v5 you should use uids. Use GetDashboardByUID() for that.

                                                                                      func (*Client) GetDashboardByUID

                                                                                      func (r *Client) GetDashboardByUID(ctx context.Context, uid string) (Board, BoardProperties, error)

                                                                                        GetDashboardByUID loads a dashboard and its metadata from Grafana by dashboard uid.

                                                                                        Reflects GET /api/dashboards/uid/:uid API call.

                                                                                        func (*Client) GetDatasource

                                                                                        func (r *Client) GetDatasource(ctx context.Context, id uint) (Datasource, error)

                                                                                          GetDatasource gets an datasource by ID. Reflects GET /api/datasources/:datasourceId API call.

                                                                                          func (*Client) GetDatasourceByName

                                                                                          func (r *Client) GetDatasourceByName(ctx context.Context, name string) (Datasource, error)

                                                                                            GetDatasourceByName gets an datasource by Name. Reflects GET /api/datasources/name/:datasourceName API call.

                                                                                            func (*Client) GetDatasourceTypes

                                                                                            func (r *Client) GetDatasourceTypes(ctx context.Context) (map[string]DatasourceType, error)

                                                                                              GetDatasourceTypes gets all available plugins for the datasources. Reflects GET /api/datasources/plugins API call.

                                                                                              func (*Client) GetFolderByID

                                                                                              func (r *Client) GetFolderByID(ctx context.Context, ID int) (Folder, error)

                                                                                                GetFolderByID gets folder by id. Reflects GET /api/folders/id/:id API call.

                                                                                                func (*Client) GetFolderByUID

                                                                                                func (r *Client) GetFolderByUID(ctx context.Context, UID string) (Folder, error)

                                                                                                  GetFolderByUID gets folder by uid. Reflects GET /api/folders/:uid API call.

                                                                                                  func (*Client) GetHealth

                                                                                                  func (r *Client) GetHealth(ctx context.Context) (HealthResponse, error)

                                                                                                    GetHealth retrieves the health of the grafana server Reflects GET BaseURL API call.

                                                                                                    func (*Client) GetOrgById

                                                                                                    func (r *Client) GetOrgById(ctx context.Context, oid uint) (Org, error)

                                                                                                      GetOrgById gets organization by organization Id. It reflects GET /api/orgs/:orgId API call.

                                                                                                      func (*Client) GetOrgByOrgName

                                                                                                      func (r *Client) GetOrgByOrgName(ctx context.Context, name string) (Org, error)

                                                                                                        GetOrgByOrgName gets organization by organization name. It reflects GET /api/orgs/name/:orgName API call.

                                                                                                        func (*Client) GetOrgUsers

                                                                                                        func (r *Client) GetOrgUsers(ctx context.Context, oid uint) ([]OrgUser, error)

                                                                                                          GetOrgUsers gets the users for the organization specified by oid. Reflects GET /api/orgs/:orgId/users API call.

                                                                                                          func (*Client) GetRawDashboardBySlug

                                                                                                          func (r *Client) GetRawDashboardBySlug(ctx context.Context, slug string) ([]byte, BoardProperties, error)

                                                                                                            GetRawDashboardBySlug loads a dashboard and its metadata from Grafana by dashboard slug.

                                                                                                            For dashboards from a filesystem set "file/" prefix for slug. By default dashboards from a database assumed. Database dashboards may have "db/" prefix or may have not, it will be appended automatically.

                                                                                                            Reflects GET /api/dashboards/db/:slug API call. Deprecated: since Grafana v5 you should use uids. Use GetRawDashboardByUID() for that.

                                                                                                            func (*Client) GetRawDashboardByUID

                                                                                                            func (r *Client) GetRawDashboardByUID(ctx context.Context, uid string) ([]byte, BoardProperties, error)

                                                                                                              GetRawDashboardByUID loads a dashboard and its metadata from Grafana by dashboard uid.

                                                                                                              Reflects GET /api/dashboards/uid/:uid API call.

                                                                                                              func (*Client) GetUser

                                                                                                              func (r *Client) GetUser(ctx context.Context, id uint) (User, error)

                                                                                                                GetUser gets an user by ID. Reflects GET /api/users/:id API call.

                                                                                                                func (*Client) PatchAnnotation

                                                                                                                func (r *Client) PatchAnnotation(ctx context.Context, id uint, a PatchAnnotationRequest) (StatusMessage, error)

                                                                                                                  PatchAnnotation patches the annotation with id with the request

                                                                                                                  func (*Client) Search

                                                                                                                  func (r *Client) Search(ctx context.Context, params ...SearchParam) ([]FoundBoard, error)

                                                                                                                    Search searches folders and dashboards with query params specified.

                                                                                                                    Reflects GET /api/search API call.

                                                                                                                    func (*Client) SearchDashboards

                                                                                                                    func (r *Client) SearchDashboards(ctx context.Context, query string, starred bool, tags ...string) ([]FoundBoard, error)

                                                                                                                      SearchDashboards search dashboards by substring of their title. It allows restrict the result set with only starred dashboards and only for tags (logical OR applied to multiple tags).

                                                                                                                      Reflects GET /api/search API call. Deprecated: This interface does not allow for API extension and is out of date. Please use Search(SearchType(SearchTypeDashboard))

                                                                                                                      func (*Client) SearchUsersWithPaging

                                                                                                                      func (r *Client) SearchUsersWithPaging(ctx context.Context, query *string, perpage, page *int) (PageUsers, error)

                                                                                                                        SearchUsersWithPaging search users with paging. query optional. query value is contained in one of the name, login or email fields. Query values with spaces need to be url encoded e.g. query=Jane%20Doe perpage optional. default 1000 page optional. default 1 http://docs.grafana.org/http_api/user/#search-users http://docs.grafana.org/http_api/user/#search-users-with-paging

                                                                                                                        Reflects GET /api/users/search API call.

                                                                                                                        func (*Client) SetDashboard

                                                                                                                        func (r *Client) SetDashboard(ctx context.Context, board Board, params SetDashboardParams) (StatusMessage, error)

                                                                                                                          SetDashboard updates existing dashboard or creates a new one. Set dasboard ID to nil to create a new dashboard. Set overwrite to true if you want to overwrite existing dashboard with newer version or with same dashboard title. Grafana only can create or update a dashboard in a database. File dashboards may be only loaded with HTTP API but not created or updated.

                                                                                                                          Reflects POST /api/dashboards/db API call.

                                                                                                                          func (*Client) SetRawDashboard

                                                                                                                          func (r *Client) SetRawDashboard(ctx context.Context, raw []byte) (StatusMessage, error)

                                                                                                                            SetRawDashboard updates existing dashboard or creates a new one. Contrary to SetDashboard() it accepts raw JSON instead of Board structure. Grafana only can create or update a dashboard in a database. File dashboards may be only loaded with HTTP API but not created or updated.

                                                                                                                            Reflects POST /api/dashboards/db API call.

                                                                                                                            func (*Client) SwitchActualUserContext

                                                                                                                            func (r *Client) SwitchActualUserContext(ctx context.Context, oid uint) (StatusMessage, error)

                                                                                                                              SwitchActualUserContext switches current user context to the given organization. Reflects POST /api/user/using/:organizationId API call.

                                                                                                                              func (*Client) SwitchUserContext

                                                                                                                              func (r *Client) SwitchUserContext(ctx context.Context, uid uint, oid uint) (StatusMessage, error)

                                                                                                                                SwitchUserContext switches user context to the given organization. Requires basic authentication and that the authenticated user is a Grafana Admin. Reflects POST /api/users/:userId/using/:organizationId API call.

                                                                                                                                func (*Client) UpdateActualOrg

                                                                                                                                func (r *Client) UpdateActualOrg(ctx context.Context, org Org) (StatusMessage, error)

                                                                                                                                  UpdateActualOrg updates current organization. It reflects PUT /api/org API call.

                                                                                                                                  func (*Client) UpdateActualOrgAddress

                                                                                                                                  func (r *Client) UpdateActualOrgAddress(ctx context.Context, address Address) (StatusMessage, error)

                                                                                                                                    UpdateActualOrgAddress updates current organization's address. It reflects PUT /api/org/address API call.

                                                                                                                                    func (*Client) UpdateActualOrgPreferences

                                                                                                                                    func (r *Client) UpdateActualOrgPreferences(ctx context.Context, prefs Preferences) (StatusMessage, error)

                                                                                                                                      UpdateActualOrgPreferences updates preferences of the actual organization. Reflects PUT /api/org/preferences API call.

                                                                                                                                      func (*Client) UpdateActualOrgUser

                                                                                                                                      func (r *Client) UpdateActualOrgUser(ctx context.Context, user UserRole, uid uint) (StatusMessage, error)

                                                                                                                                        UpdateActualOrgUser updates the existing user. Reflects POST /api/org/users/:userId API call.

                                                                                                                                        func (*Client) UpdateAlertNotificationID

                                                                                                                                        func (c *Client) UpdateAlertNotificationID(ctx context.Context, an AlertNotification, id uint) error

                                                                                                                                          UpdateAlertNotificationID updates the specified alert notification channel. Reflects PUT /api/alert-notifications/:id API call.

                                                                                                                                          func (*Client) UpdateAlertNotificationUID

                                                                                                                                          func (c *Client) UpdateAlertNotificationUID(ctx context.Context, an AlertNotification, uid string) error

                                                                                                                                            UpdateAlertNotificationUID updates the specified alert notification channel. Reflects PUT /api/alert-notifications/uid/:uid API call.

                                                                                                                                            func (*Client) UpdateDatasource

                                                                                                                                            func (r *Client) UpdateDatasource(ctx context.Context, ds Datasource) (StatusMessage, error)

                                                                                                                                              UpdateDatasource updates a datasource from data passed in argument. Reflects PUT /api/datasources/:datasourceId API call.

                                                                                                                                              func (*Client) UpdateFolderByUID

                                                                                                                                              func (r *Client) UpdateFolderByUID(ctx context.Context, f Folder) (Folder, error)

                                                                                                                                                UpdateFolderByUID update folder by uid Reflects PUT /api/folders/:uid API call.

                                                                                                                                                func (*Client) UpdateOrg

                                                                                                                                                func (r *Client) UpdateOrg(ctx context.Context, org Org, oid uint) (StatusMessage, error)

                                                                                                                                                  UpdateOrg updates the organization identified by oid. It reflects PUT /api/orgs/:orgId API call.

                                                                                                                                                  func (*Client) UpdateOrgAddress

                                                                                                                                                  func (r *Client) UpdateOrgAddress(ctx context.Context, address Address, oid uint) (StatusMessage, error)

                                                                                                                                                    UpdateOrgAddress updates the address of the organization identified by oid. It reflects PUT /api/orgs/:orgId/address API call.

                                                                                                                                                    func (*Client) UpdateOrgUser

                                                                                                                                                    func (r *Client) UpdateOrgUser(ctx context.Context, user UserRole, oid, uid uint) (StatusMessage, error)

                                                                                                                                                      UpdateOrgUser updates the user specified by uid within the organization specified by oid. Reflects PATCH /api/orgs/:orgId/users/:userId API call.

                                                                                                                                                      func (*Client) UpdateUserPermissions

                                                                                                                                                      func (r *Client) UpdateUserPermissions(ctx context.Context, permissions UserPermissions, uid uint) (StatusMessage, error)

                                                                                                                                                        UpdateUserPermissions updates the permissions of a global user. Requires basic authentication and that the authenticated user is a Grafana Admin. Reflects PUT /api/admin/users/:userId/password API call.

                                                                                                                                                        type Column

                                                                                                                                                        type Column struct {
                                                                                                                                                        	TextType string `json:"text"`
                                                                                                                                                        	Value    string `json:"value"`
                                                                                                                                                        }

                                                                                                                                                          for a table

                                                                                                                                                          type ColumnStyle

                                                                                                                                                          type ColumnStyle struct {
                                                                                                                                                          	Alias           *string    `json:"alias"`
                                                                                                                                                          	DateFormat      *string    `json:"dateFormat,omitempty"`
                                                                                                                                                          	Pattern         string     `json:"pattern"`
                                                                                                                                                          	Type            string     `json:"type"`
                                                                                                                                                          	ColorMode       *string    `json:"colorMode,omitempty"`
                                                                                                                                                          	Colors          *[]string  `json:"colors,omitempty"`
                                                                                                                                                          	Decimals        *uint      `json:"decimals,omitempty"`
                                                                                                                                                          	Thresholds      *[]string  `json:"thresholds,omitempty"`
                                                                                                                                                          	Unit            *string    `json:"unit,omitempty"`
                                                                                                                                                          	MappingType     int        `json:"mappingType,omitempty"`
                                                                                                                                                          	ValueMaps       []ValueMap `json:"valueMaps,omitempty"`
                                                                                                                                                          	Link            bool       `json:"link,omitempty"`
                                                                                                                                                          	LinkTooltip     *string    `json:"linkTooltip,omitempty"`
                                                                                                                                                          	LinkUrl         *string    `json:"linkUrl,omitempty"`
                                                                                                                                                          	LinkTargetBlank bool       `json:"linkTargetBlank,omitempty"`
                                                                                                                                                          }

                                                                                                                                                            for a table

                                                                                                                                                            type CommonPanel

                                                                                                                                                            type CommonPanel struct {
                                                                                                                                                            	Datasource *string `json:"datasource,omitempty"` // metrics
                                                                                                                                                            	Editable   bool    `json:"editable"`
                                                                                                                                                            	Error      bool    `json:"error"`
                                                                                                                                                            	GridPos    struct {
                                                                                                                                                            		H *int `json:"h,omitempty"`
                                                                                                                                                            		W *int `json:"w,omitempty"`
                                                                                                                                                            		X *int `json:"x,omitempty"`
                                                                                                                                                            		Y *int `json:"y,omitempty"`
                                                                                                                                                            	} `json:"gridPos,omitempty"`
                                                                                                                                                            	Height           *string   `json:"height,omitempty"` // general
                                                                                                                                                            	HideTimeOverride *bool     `json:"hideTimeOverride,omitempty"`
                                                                                                                                                            	ID               uint      `json:"id"`
                                                                                                                                                            	IsNew            bool      `json:"isNew"`
                                                                                                                                                            	Links            []Link    `json:"links,omitempty"`    // general
                                                                                                                                                            	MinSpan          *float32  `json:"minSpan,omitempty"`  // templating options
                                                                                                                                                            	OfType           panelType `json:"-"`                  // it required for defining type of the panel
                                                                                                                                                            	Renderer         *string   `json:"renderer,omitempty"` // display styles
                                                                                                                                                            	Repeat           *string   `json:"repeat,omitempty"`   // templating options
                                                                                                                                                            	// RepeatIteration *int64   `json:"repeatIteration,omitempty"`
                                                                                                                                                            	RepeatPanelID *uint `json:"repeatPanelId,omitempty"`
                                                                                                                                                            	ScopedVars    map[string]struct {
                                                                                                                                                            		Selected bool   `json:"selected"`
                                                                                                                                                            		Text     string `json:"text"`
                                                                                                                                                            		Value    string `json:"value"`
                                                                                                                                                            	} `json:"scopedVars,omitempty"`
                                                                                                                                                            	Span        float32 `json:"span"`                  // general
                                                                                                                                                            	Title       string  `json:"title"`                 // general
                                                                                                                                                            	Description *string `json:"description,omitempty"` // general
                                                                                                                                                            	Transparent bool    `json:"transparent"`
                                                                                                                                                            	Type        string  `json:"type"`
                                                                                                                                                            	Alert       *Alert  `json:"alert,omitempty"`
                                                                                                                                                            }

                                                                                                                                                            type CreateAnnotationRequest

                                                                                                                                                            type CreateAnnotationRequest struct {
                                                                                                                                                            	DashboardID uint     `json:"dashboardId,omitempty"`
                                                                                                                                                            	PanelID     uint     `json:"panelId,omitempty"`
                                                                                                                                                            	Time        int64    `json:"time,omitempty"`
                                                                                                                                                            	TimeEnd     int64    `json:"timeEnd,omitempty"`
                                                                                                                                                            	Tags        []string `json:"tags,omitempty"`
                                                                                                                                                            	Text        string   `json:"text,omitempty"`
                                                                                                                                                            }

                                                                                                                                                              CreateAnnotationRequest is a request to create a new annotation

                                                                                                                                                              type Current

                                                                                                                                                              type Current struct {
                                                                                                                                                              	Tags  []*string          `json:"tags,omitempty"`
                                                                                                                                                              	Text  *StringSliceString `json:"text"`
                                                                                                                                                              	Value interface{}        `json:"value"` // TODO select more precise type
                                                                                                                                                              }

                                                                                                                                                                for templateVar

                                                                                                                                                                type CustomPanel

                                                                                                                                                                type CustomPanel map[string]interface{}

                                                                                                                                                                type DashlistPanel

                                                                                                                                                                type DashlistPanel struct {
                                                                                                                                                                	Mode     string   `json:"mode"`
                                                                                                                                                                	Query    string   `json:"query"`
                                                                                                                                                                	Tags     []string `json:"tags"`
                                                                                                                                                                	FolderID int      `json:"folderId"`
                                                                                                                                                                	Limit    int      `json:"limit"`
                                                                                                                                                                	Headings bool     `json:"headings"`
                                                                                                                                                                	Recent   bool     `json:"recent"`
                                                                                                                                                                	Search   bool     `json:"search"`
                                                                                                                                                                	Starred  bool     `json:"starred"`
                                                                                                                                                                }

                                                                                                                                                                type Datasource

                                                                                                                                                                type Datasource struct {
                                                                                                                                                                	ID                uint        `json:"id"`
                                                                                                                                                                	OrgID             uint        `json:"orgId"`
                                                                                                                                                                	Name              string      `json:"name"`
                                                                                                                                                                	Type              string      `json:"type"`
                                                                                                                                                                	Access            string      `json:"access"` // direct or proxy
                                                                                                                                                                	URL               string      `json:"url"`
                                                                                                                                                                	Password          *string     `json:"password,omitempty"`
                                                                                                                                                                	User              *string     `json:"user,omitempty"`
                                                                                                                                                                	Database          *string     `json:"database,omitempty"`
                                                                                                                                                                	BasicAuth         *bool       `json:"basicAuth,omitempty"`
                                                                                                                                                                	BasicAuthUser     *string     `json:"basicAuthUser,omitempty"`
                                                                                                                                                                	BasicAuthPassword *string     `json:"basicAuthPassword,omitempty"`
                                                                                                                                                                	IsDefault         bool        `json:"isDefault"`
                                                                                                                                                                	JSONData          interface{} `json:"jsonData"`
                                                                                                                                                                	SecureJSONData    interface{} `json:"secureJsonData"`
                                                                                                                                                                }

                                                                                                                                                                  Datasource as described in the doc http://docs.grafana.org/reference/http_api/#get-all-datasources

                                                                                                                                                                  type DatasourceType

                                                                                                                                                                  type DatasourceType struct {
                                                                                                                                                                  	Metrics  bool   `json:"metrics"`
                                                                                                                                                                  	Module   string `json:"module"`
                                                                                                                                                                  	Name     string `json:"name"`
                                                                                                                                                                  	Partials struct {
                                                                                                                                                                  		Query string `json:"query"`
                                                                                                                                                                  	} `json:"datasource"`
                                                                                                                                                                  	PluginType  string `json:"pluginType"`
                                                                                                                                                                  	ServiceName string `json:"serviceName"`
                                                                                                                                                                  	Type        string `json:"type"`
                                                                                                                                                                  }

                                                                                                                                                                    Datasource type as described in http://docs.grafana.org/reference/http_api/#available-data-source-types

                                                                                                                                                                    type FieldConfig

                                                                                                                                                                    type FieldConfig struct {
                                                                                                                                                                    	Defaults struct {
                                                                                                                                                                    		Unit      string `json:"unit"`
                                                                                                                                                                    		Threshold struct {
                                                                                                                                                                    			Mode  string `json:"mode"`
                                                                                                                                                                    			Steps []struct {
                                                                                                                                                                    				Color string `json:"color"`
                                                                                                                                                                    				Value string `json:"value"`
                                                                                                                                                                    			} `json:"steps"`
                                                                                                                                                                    		} `json:"threshold"`
                                                                                                                                                                    	} `json:"defaults"`
                                                                                                                                                                    }

                                                                                                                                                                    type FloatString

                                                                                                                                                                    type FloatString struct {
                                                                                                                                                                    	Value float64
                                                                                                                                                                    	Valid bool
                                                                                                                                                                    }

                                                                                                                                                                      FloatString represents special type for json values that could be strings or ints: 100 or "100"

                                                                                                                                                                      func NewFloatString

                                                                                                                                                                      func NewFloatString(i float64) *FloatString

                                                                                                                                                                      func (*FloatString) MarshalJSON

                                                                                                                                                                      func (v *FloatString) MarshalJSON() ([]byte, error)

                                                                                                                                                                        MarshalJSON implements custom marshalling for FloatString type

                                                                                                                                                                        func (*FloatString) UnmarshalJSON

                                                                                                                                                                        func (v *FloatString) UnmarshalJSON(raw []byte) error

                                                                                                                                                                          UnmarshalJSON implements custom unmarshalling for FloatString type

                                                                                                                                                                          type Folder

                                                                                                                                                                          type Folder struct {
                                                                                                                                                                          	ID        int    `json:"id"`
                                                                                                                                                                          	UID       string `json:"uid"`
                                                                                                                                                                          	Title     string `json:"title"`
                                                                                                                                                                          	URL       string `json:"url"`
                                                                                                                                                                          	HasAcl    bool   `json:"hasAcl"`
                                                                                                                                                                          	CanSave   bool   `json:"canSave"`
                                                                                                                                                                          	CanEdit   bool   `json:"canEdit"`
                                                                                                                                                                          	CanAdmin  bool   `json:"canAdmin"`
                                                                                                                                                                          	CreatedBy string `json:"createdBy"`
                                                                                                                                                                          	Created   string `json:"created"`
                                                                                                                                                                          	UpdatedBy string `json:"updatedBy"`
                                                                                                                                                                          	Updated   string `json:"updated"`
                                                                                                                                                                          	Version   int    `json:"version"`
                                                                                                                                                                          	Overwrite bool   `json:"overwrite"`
                                                                                                                                                                          }

                                                                                                                                                                            Folder as described in the doc https://grafana.com/docs/grafana/latest/http_api/folder/#get-all-folders

                                                                                                                                                                            type FoundBoard

                                                                                                                                                                            type FoundBoard struct {
                                                                                                                                                                            	ID          uint     `json:"id"`
                                                                                                                                                                            	UID         string   `json:"uid"`
                                                                                                                                                                            	Title       string   `json:"title"`
                                                                                                                                                                            	URI         string   `json:"uri"`
                                                                                                                                                                            	URL         string   `json:"url"`
                                                                                                                                                                            	Slug        string   `json:"slug"`
                                                                                                                                                                            	Type        string   `json:"type"`
                                                                                                                                                                            	Tags        []string `json:"tags"`
                                                                                                                                                                            	IsStarred   bool     `json:"isStarred"`
                                                                                                                                                                            	FolderID    int      `json:"folderId"`
                                                                                                                                                                            	FolderUID   string   `json:"folderUid"`
                                                                                                                                                                            	FolderTitle string   `json:"folderTitle"`
                                                                                                                                                                            	FolderURL   string   `json:"folderUrl"`
                                                                                                                                                                            }

                                                                                                                                                                              FoundBoard keeps result of search with metadata of a dashboard.

                                                                                                                                                                              type Gauge

                                                                                                                                                                              type Gauge struct {
                                                                                                                                                                              	MaxValue         float32 `json:"maxValue"`
                                                                                                                                                                              	MinValue         float32 `json:"minValue"`
                                                                                                                                                                              	Show             bool    `json:"show"`
                                                                                                                                                                              	ThresholdLabels  bool    `json:"thresholdLabels"`
                                                                                                                                                                              	ThresholdMarkers bool    `json:"thresholdMarkers"`
                                                                                                                                                                              }

                                                                                                                                                                                for a stat

                                                                                                                                                                                type GetAnnotationsParams

                                                                                                                                                                                type GetAnnotationsParams func(values url.Values)

                                                                                                                                                                                  GetAnnotationsParams is the type for all options implementing query parameters https://grafana.com/docs/grafana/latest/http_api/annotations/#find-annotations

                                                                                                                                                                                  func WithAlertType

                                                                                                                                                                                  func WithAlertType() GetAnnotationsParams

                                                                                                                                                                                    WithAlertType filters the type to alerts

                                                                                                                                                                                    func WithAnnotationType

                                                                                                                                                                                    func WithAnnotationType() GetAnnotationsParams

                                                                                                                                                                                      WithAnnotationType filters the type to annotations

                                                                                                                                                                                      func WithDashboard

                                                                                                                                                                                      func WithDashboard(id uint) GetAnnotationsParams

                                                                                                                                                                                        WithDashboard filters the response to the specified dashboard ID

                                                                                                                                                                                        func WithEndTime

                                                                                                                                                                                        func WithEndTime(t time.Time) GetAnnotationsParams

                                                                                                                                                                                          WithEndTime filters the annotations to before the specified time

                                                                                                                                                                                          func WithLimit

                                                                                                                                                                                          func WithLimit(limit uint) GetAnnotationsParams

                                                                                                                                                                                            WithLimit sets the max number of alerts to return

                                                                                                                                                                                            func WithPanel

                                                                                                                                                                                            func WithPanel(id uint) GetAnnotationsParams

                                                                                                                                                                                              WithPanel filters the response to the specified panel ID

                                                                                                                                                                                              func WithStartTime

                                                                                                                                                                                              func WithStartTime(t time.Time) GetAnnotationsParams

                                                                                                                                                                                                WithStartTime filters the annotations to after the specified time

                                                                                                                                                                                                func WithTag

                                                                                                                                                                                                func WithTag(tag string) GetAnnotationsParams

                                                                                                                                                                                                  WithTag adds the tag to the

                                                                                                                                                                                                  func WithUser

                                                                                                                                                                                                  func WithUser(id uint) GetAnnotationsParams

                                                                                                                                                                                                    WithUser filters the annotations to only be made by the specified user ID

                                                                                                                                                                                                    type GetFolderParams

                                                                                                                                                                                                    type GetFolderParams func(values url.Values)

                                                                                                                                                                                                      GetFolderParams is the type for all options implementing query parameters

                                                                                                                                                                                                      func Limit

                                                                                                                                                                                                      func Limit(limit uint) GetFolderParams

                                                                                                                                                                                                        Limit sets the max number of folders to return

                                                                                                                                                                                                        type GraphPanel

                                                                                                                                                                                                        type GraphPanel struct {
                                                                                                                                                                                                        	AliasColors interface{} `json:"aliasColors"` // XXX
                                                                                                                                                                                                        	Bars        bool        `json:"bars"`
                                                                                                                                                                                                        	DashLength  *uint       `json:"dashLength,omitempty"`
                                                                                                                                                                                                        	Dashes      *bool       `json:"dashes,omitempty"`
                                                                                                                                                                                                        	Decimals    *uint       `json:"decimals,omitempty"`
                                                                                                                                                                                                        	Fill        int         `json:"fill"`
                                                                                                                                                                                                        
                                                                                                                                                                                                        	Legend          Legend           `json:"legend,omitempty"`
                                                                                                                                                                                                        	LeftYAxisLabel  *string          `json:"leftYAxisLabel,omitempty"`
                                                                                                                                                                                                        	Lines           bool             `json:"lines"`
                                                                                                                                                                                                        	Linewidth       uint             `json:"linewidth"`
                                                                                                                                                                                                        	NullPointMode   string           `json:"nullPointMode"`
                                                                                                                                                                                                        	Percentage      bool             `json:"percentage"`
                                                                                                                                                                                                        	Pointradius     float32          `json:"pointradius"`
                                                                                                                                                                                                        	Points          bool             `json:"points"`
                                                                                                                                                                                                        	RightYAxisLabel *string          `json:"rightYAxisLabel,omitempty"`
                                                                                                                                                                                                        	SeriesOverrides []SeriesOverride `json:"seriesOverrides,omitempty"`
                                                                                                                                                                                                        	SpaceLength     *uint            `json:"spaceLength,omitempty"`
                                                                                                                                                                                                        	Stack           bool             `json:"stack"`
                                                                                                                                                                                                        	SteppedLine     bool             `json:"steppedLine"`
                                                                                                                                                                                                        	Targets         []Target         `json:"targets,omitempty"`
                                                                                                                                                                                                        	Thresholds      []Threshold      `json:"thresholds,omitempty"`
                                                                                                                                                                                                        	TimeFrom        *string          `json:"timeFrom,omitempty"`
                                                                                                                                                                                                        	TimeShift       *string          `json:"timeShift,omitempty"`
                                                                                                                                                                                                        	Tooltip         Tooltip          `json:"tooltip"`
                                                                                                                                                                                                        	XAxis           bool             `json:"x-axis,omitempty"`
                                                                                                                                                                                                        	YAxis           bool             `json:"y-axis,omitempty"`
                                                                                                                                                                                                        	YFormats        []string         `json:"y_formats,omitempty"`
                                                                                                                                                                                                        	Xaxis           Axis             `json:"xaxis"` // was added in Grafana 4.x?
                                                                                                                                                                                                        	Yaxes           []Axis           `json:"yaxes"` // was added in Grafana 4.x?
                                                                                                                                                                                                        }

                                                                                                                                                                                                        type HealthResponse

                                                                                                                                                                                                        type HealthResponse struct {
                                                                                                                                                                                                        	Commit   string `json:"commit"`
                                                                                                                                                                                                        	Database string `json:"database"`
                                                                                                                                                                                                        	Version  string `json:"version"`
                                                                                                                                                                                                        }

                                                                                                                                                                                                          HealthResponse represents the health of grafana server

                                                                                                                                                                                                          type HeatmapPanel

                                                                                                                                                                                                          type HeatmapPanel struct {
                                                                                                                                                                                                          	Cards struct {
                                                                                                                                                                                                          		CardPadding *float64 `json:"cardPadding"`
                                                                                                                                                                                                          		CardRound   *float64 `json:"cardRound"`
                                                                                                                                                                                                          	} `json:"cards"`
                                                                                                                                                                                                          	Color struct {
                                                                                                                                                                                                          		CardColor   string   `json:"cardColor"`
                                                                                                                                                                                                          		ColorScale  string   `json:"colorScale"`
                                                                                                                                                                                                          		ColorScheme string   `json:"colorScheme"`
                                                                                                                                                                                                          		Exponent    float64  `json:"exponent"`
                                                                                                                                                                                                          		Min         *float64 `json:"min,omitempty"`
                                                                                                                                                                                                          		Max         *float64 `json:"max,omitempty"`
                                                                                                                                                                                                          		Mode        string   `json:"mode"`
                                                                                                                                                                                                          	} `json:"color"`
                                                                                                                                                                                                          	DataFormat      string `json:"dataFormat"`
                                                                                                                                                                                                          	HideZeroBuckets bool   `json:"hideZeroBuckets"`
                                                                                                                                                                                                          	HighlightCards  bool   `json:"highlightCards"`
                                                                                                                                                                                                          	Legend          struct {
                                                                                                                                                                                                          		Show bool `json:"show"`
                                                                                                                                                                                                          	} `json:"legend"`
                                                                                                                                                                                                          	ReverseYBuckets bool     `json:"reverseYBuckets"`
                                                                                                                                                                                                          	Targets         []Target `json:"targets,omitempty"`
                                                                                                                                                                                                          	Tooltip         struct {
                                                                                                                                                                                                          		Show          bool `json:"show"`
                                                                                                                                                                                                          		ShowHistogram bool `json:"showHistogram"`
                                                                                                                                                                                                          	} `json:"tooltip"`
                                                                                                                                                                                                          	TooltipDecimals int `json:"tooltipDecimals"`
                                                                                                                                                                                                          	XAxis           struct {
                                                                                                                                                                                                          		Show bool `json:"show"`
                                                                                                                                                                                                          	} `json:"xAxis"`
                                                                                                                                                                                                          	XBucketNumber *float64 `json:"xBucketNumber"`
                                                                                                                                                                                                          	XBucketSize   *string  `json:"xBucketSize"`
                                                                                                                                                                                                          	YAxis         struct {
                                                                                                                                                                                                          		Decimals    *int     `json:"decimals"`
                                                                                                                                                                                                          		Format      string   `json:"format"`
                                                                                                                                                                                                          		LogBase     int      `json:"logBase"`
                                                                                                                                                                                                          		Show        bool     `json:"show"`
                                                                                                                                                                                                          		Max         *string  `json:"max"`
                                                                                                                                                                                                          		Min         *string  `json:"min"`
                                                                                                                                                                                                          		SplitFactor *float64 `json:"splitFactor"`
                                                                                                                                                                                                          	} `json:"yAxis"`
                                                                                                                                                                                                          	YBucketBound  string   `json:"yBucketBound"`
                                                                                                                                                                                                          	YBucketNumber *float64 `json:"yBucketNumber"`
                                                                                                                                                                                                          	YBucketSize   *float64 `json:"yBucketSize"`
                                                                                                                                                                                                          }

                                                                                                                                                                                                          type Height

                                                                                                                                                                                                          type Height string

                                                                                                                                                                                                            Height of rows maybe passed as number (ex 200) or as string (ex "200px") or empty string

                                                                                                                                                                                                            func (*Height) UnmarshalJSON

                                                                                                                                                                                                            func (h *Height) UnmarshalJSON(raw []byte) error

                                                                                                                                                                                                            type IntString

                                                                                                                                                                                                            type IntString struct {
                                                                                                                                                                                                            	Value int64
                                                                                                                                                                                                            	Valid bool
                                                                                                                                                                                                            }

                                                                                                                                                                                                              IntString represents special type for json values that could be strings or ints: 100 or "100"

                                                                                                                                                                                                              func NewIntString

                                                                                                                                                                                                              func NewIntString(i int64) *IntString

                                                                                                                                                                                                              func (*IntString) MarshalJSON

                                                                                                                                                                                                              func (v *IntString) MarshalJSON() ([]byte, error)

                                                                                                                                                                                                                MarshalJSON implements custom marshalling for IntString type

                                                                                                                                                                                                                func (*IntString) UnmarshalJSON

                                                                                                                                                                                                                func (v *IntString) UnmarshalJSON(raw []byte) error

                                                                                                                                                                                                                  UnmarshalJSON implements custom unmarshalling for IntString type

                                                                                                                                                                                                                  type Legend

                                                                                                                                                                                                                  type Legend struct {
                                                                                                                                                                                                                  	AlignAsTable bool  `json:"alignAsTable"`
                                                                                                                                                                                                                  	Avg          bool  `json:"avg"`
                                                                                                                                                                                                                  	Current      bool  `json:"current"`
                                                                                                                                                                                                                  	HideEmpty    bool  `json:"hideEmpty"`
                                                                                                                                                                                                                  	HideZero     bool  `json:"hideZero"`
                                                                                                                                                                                                                  	Max          bool  `json:"max"`
                                                                                                                                                                                                                  	Min          bool  `json:"min"`
                                                                                                                                                                                                                  	RightSide    bool  `json:"rightSide"`
                                                                                                                                                                                                                  	Show         bool  `json:"show"`
                                                                                                                                                                                                                  	SideWidth    *uint `json:"sideWidth,omitempty"`
                                                                                                                                                                                                                  	Total        bool  `json:"total"`
                                                                                                                                                                                                                  	Values       bool  `json:"values"`
                                                                                                                                                                                                                  }

                                                                                                                                                                                                                    for a graph panel

                                                                                                                                                                                                                    type Link struct {
                                                                                                                                                                                                                    	Title       string   `json:"title"`
                                                                                                                                                                                                                    	Type        string   `json:"type"`
                                                                                                                                                                                                                    	AsDropdown  *bool    `json:"asDropdown,omitempty"`
                                                                                                                                                                                                                    	DashURI     *string  `json:"dashUri,omitempty"`
                                                                                                                                                                                                                    	Dashboard   *string  `json:"dashboard,omitempty"`
                                                                                                                                                                                                                    	Icon        *string  `json:"icon,omitempty"`
                                                                                                                                                                                                                    	IncludeVars bool     `json:"includeVars"`
                                                                                                                                                                                                                    	KeepTime    *bool    `json:"keepTime,omitempty"`
                                                                                                                                                                                                                    	Params      *string  `json:"params,omitempty"`
                                                                                                                                                                                                                    	Tags        []string `json:"tags,omitempty"`
                                                                                                                                                                                                                    	TargetBlank *bool    `json:"targetBlank,omitempty"`
                                                                                                                                                                                                                    	Tooltip     *string  `json:"tooltip,omitempty"`
                                                                                                                                                                                                                    	URL         *string  `json:"url,omitempty"`
                                                                                                                                                                                                                    }

                                                                                                                                                                                                                      Link represents link to another dashboard or external weblink

                                                                                                                                                                                                                      type MapType

                                                                                                                                                                                                                      type MapType struct {
                                                                                                                                                                                                                      	Name  *string `json:"name,omitempty"`
                                                                                                                                                                                                                      	Value *int    `json:"value,omitempty"`
                                                                                                                                                                                                                      }

                                                                                                                                                                                                                      type Option

                                                                                                                                                                                                                      type Option struct {
                                                                                                                                                                                                                      	Text     string `json:"text"`
                                                                                                                                                                                                                      	Value    string `json:"value"`
                                                                                                                                                                                                                      	Selected bool   `json:"selected"`
                                                                                                                                                                                                                      }

                                                                                                                                                                                                                        for templateVar

                                                                                                                                                                                                                        type Options

                                                                                                                                                                                                                        type Options struct {
                                                                                                                                                                                                                        	Orientation   string `json:"orientation"`
                                                                                                                                                                                                                        	TextMode      string `json:"textMode"`
                                                                                                                                                                                                                        	ColorMode     string `json:"colorMode"`
                                                                                                                                                                                                                        	GraphMode     string `json:"graphMode"`
                                                                                                                                                                                                                        	JustifyMode   string `json:"justifyMode"`
                                                                                                                                                                                                                        	DisplayMode   string `json:"displayMode"`
                                                                                                                                                                                                                        	Content       string `json:"content"`
                                                                                                                                                                                                                        	Mode          string `json:"mode"`
                                                                                                                                                                                                                        	ReduceOptions struct {
                                                                                                                                                                                                                        		Values bool     `json:"values"`
                                                                                                                                                                                                                        		Fields string   `json:"fields"`
                                                                                                                                                                                                                        		Calcs  []string `json:"calcs"`
                                                                                                                                                                                                                        	} `json:"reduceOptions"`
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                        type Org

                                                                                                                                                                                                                        type Org struct {
                                                                                                                                                                                                                        	ID      uint    `json:"id"`
                                                                                                                                                                                                                        	Name    string  `json:"name"`
                                                                                                                                                                                                                        	Address Address `json:"address"`
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                        type OrgUser

                                                                                                                                                                                                                        type OrgUser struct {
                                                                                                                                                                                                                        	ID    uint   `json:"userId"`
                                                                                                                                                                                                                        	OrgId uint   `json:"orgId"`
                                                                                                                                                                                                                        	Email string `json:"email"`
                                                                                                                                                                                                                        	Login string `json:"login"`
                                                                                                                                                                                                                        	Role  string `json:"role"`
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                        type PageUsers

                                                                                                                                                                                                                        type PageUsers struct {
                                                                                                                                                                                                                        	TotalCount int    `json:"totalCount"`
                                                                                                                                                                                                                        	Users      []User `json:"users"`
                                                                                                                                                                                                                        	Page       int    `json:"page"`
                                                                                                                                                                                                                        	PerPage    int    `json:"perPage"`
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                        type Panel

                                                                                                                                                                                                                        type Panel struct {
                                                                                                                                                                                                                        	CommonPanel
                                                                                                                                                                                                                        	// Should be initialized only one type of panels.
                                                                                                                                                                                                                        	// OfType field defines which of types below will be used.
                                                                                                                                                                                                                        	*GraphPanel
                                                                                                                                                                                                                        	*TablePanel
                                                                                                                                                                                                                        	*TextPanel
                                                                                                                                                                                                                        	*SinglestatPanel
                                                                                                                                                                                                                        	*StatPanel
                                                                                                                                                                                                                        	*DashlistPanel
                                                                                                                                                                                                                        	*PluginlistPanel
                                                                                                                                                                                                                        	*RowPanel
                                                                                                                                                                                                                        	*AlertlistPanel
                                                                                                                                                                                                                        	*BarGaugePanel
                                                                                                                                                                                                                        	*HeatmapPanel
                                                                                                                                                                                                                        	*CustomPanel
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                          Panel represents panels of different types defined in Grafana.

                                                                                                                                                                                                                          func NewAlertlist

                                                                                                                                                                                                                          func NewAlertlist(title string) *Panel

                                                                                                                                                                                                                          func NewCustom

                                                                                                                                                                                                                          func NewCustom(title string) *Panel

                                                                                                                                                                                                                            NewCustom initializes panel with a stat panel.

                                                                                                                                                                                                                            func NewDashlist

                                                                                                                                                                                                                            func NewDashlist(title string) *Panel

                                                                                                                                                                                                                              NewDashlist initializes panel with a dashlist panel.

                                                                                                                                                                                                                              func NewGraph

                                                                                                                                                                                                                              func NewGraph(title string) *Panel

                                                                                                                                                                                                                                NewGraph initializes panel with a graph panel.

                                                                                                                                                                                                                                func NewHeatmap

                                                                                                                                                                                                                                func NewHeatmap(title string) *Panel

                                                                                                                                                                                                                                func NewPluginlist

                                                                                                                                                                                                                                func NewPluginlist(title string) *Panel

                                                                                                                                                                                                                                  NewPluginlist initializes panel with a stat panel.

                                                                                                                                                                                                                                  func NewSinglestat

                                                                                                                                                                                                                                  func NewSinglestat(title string) *Panel

                                                                                                                                                                                                                                    NewSinglestat initializes panel with a singlestat panel.

                                                                                                                                                                                                                                    func NewStat

                                                                                                                                                                                                                                    func NewStat(title string) *Panel

                                                                                                                                                                                                                                      NewStat initializes panel with a stat panel.

                                                                                                                                                                                                                                      func NewTable

                                                                                                                                                                                                                                      func NewTable(title string) *Panel

                                                                                                                                                                                                                                        NewTable initializes panel with a table panel.

                                                                                                                                                                                                                                        func NewText

                                                                                                                                                                                                                                        func NewText(title string) *Panel

                                                                                                                                                                                                                                          NewText initializes panel with a text panel.

                                                                                                                                                                                                                                          func (*Panel) AddTarget

                                                                                                                                                                                                                                          func (p *Panel) AddTarget(t *Target)

                                                                                                                                                                                                                                            AddTarget adds a new target as defined in the argument but with refId letter incremented. Value of refID from the argument will be used only if no target with such value already exists.

                                                                                                                                                                                                                                            func (*Panel) GetTargets

                                                                                                                                                                                                                                            func (p *Panel) GetTargets() *[]Target

                                                                                                                                                                                                                                              GetTargets is iterate over all panel targets. It just returns nil if no targets defined for panel of concrete type.

                                                                                                                                                                                                                                              func (*Panel) MarshalJSON

                                                                                                                                                                                                                                              func (p *Panel) MarshalJSON() ([]byte, error)

                                                                                                                                                                                                                                              func (*Panel) RepeatDatasourcesForEachTarget

                                                                                                                                                                                                                                              func (p *Panel) RepeatDatasourcesForEachTarget(dsNames ...string)

                                                                                                                                                                                                                                                MapDatasources on all existing targets for the panel.

                                                                                                                                                                                                                                                func (*Panel) RepeatTargetsForDatasources

                                                                                                                                                                                                                                                func (p *Panel) RepeatTargetsForDatasources(dsNames ...string)

                                                                                                                                                                                                                                                  RepeatTargetsForDatasources repeats all existing targets for a panel for all provided in the argument datasources. Existing datasources of targets are ignored.

                                                                                                                                                                                                                                                  func (*Panel) ResetTargets

                                                                                                                                                                                                                                                  func (p *Panel) ResetTargets()

                                                                                                                                                                                                                                                    ResetTargets delete all targets defined for a panel.

                                                                                                                                                                                                                                                    func (*Panel) SetTarget

                                                                                                                                                                                                                                                    func (p *Panel) SetTarget(t *Target)

                                                                                                                                                                                                                                                      SetTarget updates a target if target with such refId exists or creates a new one.

                                                                                                                                                                                                                                                      func (*Panel) UnmarshalJSON

                                                                                                                                                                                                                                                      func (p *Panel) UnmarshalJSON(b []byte) (err error)

                                                                                                                                                                                                                                                      type PatchAnnotationRequest

                                                                                                                                                                                                                                                      type PatchAnnotationRequest struct {
                                                                                                                                                                                                                                                      	Time    int64    `json:"time,omitempty"`
                                                                                                                                                                                                                                                      	TimeEnd int64    `json:"timeEnd,omitempty"`
                                                                                                                                                                                                                                                      	Tags    []string `json:"tags,omitempty"`
                                                                                                                                                                                                                                                      	Text    string   `json:"text,omitempty"`
                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                        PatchAnnotationRequest is a request to patch an existing annotation

                                                                                                                                                                                                                                                        type PluginlistPanel

                                                                                                                                                                                                                                                        type PluginlistPanel struct {
                                                                                                                                                                                                                                                        	Limit int `json:"limit,omitempty"`
                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                        type Preferences

                                                                                                                                                                                                                                                        type Preferences struct {
                                                                                                                                                                                                                                                        	Theme           string `json:"theme,omitempty"`
                                                                                                                                                                                                                                                        	HomeDashboardId uint   `json:"homeDashboardId,omitempty"`
                                                                                                                                                                                                                                                        	Timezone        string `json:"timezone,omitempty"`
                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                        type RangeMap

                                                                                                                                                                                                                                                        type RangeMap struct {
                                                                                                                                                                                                                                                        	From *string `json:"from,omitempty"`
                                                                                                                                                                                                                                                        	Text *string `json:"text,omitempty"`
                                                                                                                                                                                                                                                        	To   *string `json:"to,omitempty"`
                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                        type Row

                                                                                                                                                                                                                                                        type Row struct {
                                                                                                                                                                                                                                                        	Title     string  `json:"title"`
                                                                                                                                                                                                                                                        	ShowTitle bool    `json:"showTitle"`
                                                                                                                                                                                                                                                        	Collapse  bool    `json:"collapse"`
                                                                                                                                                                                                                                                        	Editable  bool    `json:"editable"`
                                                                                                                                                                                                                                                        	Height    Height  `json:"height"`
                                                                                                                                                                                                                                                        	Panels    []Panel `json:"panels"`
                                                                                                                                                                                                                                                        	Repeat    *string `json:"repeat"`
                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                          Row represents single row of Grafana dashboard.

                                                                                                                                                                                                                                                          func (*Row) Add

                                                                                                                                                                                                                                                          func (r *Row) Add(panel *Panel)

                                                                                                                                                                                                                                                          func (*Row) AddCustom

                                                                                                                                                                                                                                                          func (r *Row) AddCustom(data *CustomPanel)

                                                                                                                                                                                                                                                          func (*Row) AddDashlist

                                                                                                                                                                                                                                                          func (r *Row) AddDashlist(data *DashlistPanel)

                                                                                                                                                                                                                                                          func (*Row) AddGraph

                                                                                                                                                                                                                                                          func (r *Row) AddGraph(data *GraphPanel)

                                                                                                                                                                                                                                                          func (*Row) AddSinglestat

                                                                                                                                                                                                                                                          func (r *Row) AddSinglestat(data *SinglestatPanel)

                                                                                                                                                                                                                                                          func (*Row) AddStat

                                                                                                                                                                                                                                                          func (r *Row) AddStat(data *StatPanel)

                                                                                                                                                                                                                                                          func (*Row) AddTable

                                                                                                                                                                                                                                                          func (r *Row) AddTable(data *TablePanel)

                                                                                                                                                                                                                                                          func (*Row) AddText

                                                                                                                                                                                                                                                          func (r *Row) AddText(data *TextPanel)

                                                                                                                                                                                                                                                          type RowPanel

                                                                                                                                                                                                                                                          type RowPanel struct {
                                                                                                                                                                                                                                                          	Panels    []Panel `json:"panels"`
                                                                                                                                                                                                                                                          	Collapsed bool    `json:"collapsed"`
                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                          type SearchParam

                                                                                                                                                                                                                                                          type SearchParam func(*url.Values)

                                                                                                                                                                                                                                                            SearchParam is a type for specifying Search params.

                                                                                                                                                                                                                                                            func SearchDashboardID

                                                                                                                                                                                                                                                            func SearchDashboardID(dashboardID int) SearchParam

                                                                                                                                                                                                                                                              SearchDashboardID specifies Search dashboard id's to search for. Can be specified multiple times, logical OR is applied.

                                                                                                                                                                                                                                                              func SearchFolderID

                                                                                                                                                                                                                                                              func SearchFolderID(folderID int) SearchParam

                                                                                                                                                                                                                                                                SearchFolderID specifies Search folder id's to search for. Can be specified multiple times, logical OR is applied.

                                                                                                                                                                                                                                                                func SearchLimit

                                                                                                                                                                                                                                                                func SearchLimit(limit uint) SearchParam

                                                                                                                                                                                                                                                                  SearchLimit specifies maximum number of results from Search query. As of grafana 6.7 it has to be <= 5000. 0 stands for absence of parameter in a query. Specifying it multiple times is futile, only last one will be sent.

                                                                                                                                                                                                                                                                  func SearchPage

                                                                                                                                                                                                                                                                  func SearchPage(page uint) SearchParam

                                                                                                                                                                                                                                                                    SearchPage specifies Search page number to be queried for. Zero page is silently ignored, page numbers start from one. Specifying it multiple times is futile, only last one will be sent.

                                                                                                                                                                                                                                                                    func SearchQuery

                                                                                                                                                                                                                                                                    func SearchQuery(query string) SearchParam

                                                                                                                                                                                                                                                                      SearchQuery specifies Search search query. Empty query is silently ignored. Specifying it multiple times is futile, only last one will be sent.

                                                                                                                                                                                                                                                                      func SearchStarred

                                                                                                                                                                                                                                                                      func SearchStarred(starred bool) SearchParam

                                                                                                                                                                                                                                                                        SearchStarred specifies if Search should search for starred dashboards only. Specifying it multiple times is futile, only last one will be sent.

                                                                                                                                                                                                                                                                        func SearchTag

                                                                                                                                                                                                                                                                        func SearchTag(tag string) SearchParam

                                                                                                                                                                                                                                                                          SearchTag specifies Search tag to search for. Empty tag is silently ignored. Can be specified multiple times, logical OR is applied.

                                                                                                                                                                                                                                                                          func SearchType

                                                                                                                                                                                                                                                                          func SearchType(searchType SearchParamType) SearchParam

                                                                                                                                                                                                                                                                            SearchType specifies Search type to search for. Specifying it multiple times is futile, only last one will be sent.

                                                                                                                                                                                                                                                                            type SearchParamType

                                                                                                                                                                                                                                                                            type SearchParamType string

                                                                                                                                                                                                                                                                              SearchParamType is a type accepted by SearchType func.

                                                                                                                                                                                                                                                                              const (
                                                                                                                                                                                                                                                                              	SearchTypeFolder    SearchParamType = "dash-folder"
                                                                                                                                                                                                                                                                              	SearchTypeDashboard SearchParamType = "dash-db"
                                                                                                                                                                                                                                                                              )

                                                                                                                                                                                                                                                                                Search entities to be used with SearchType().

                                                                                                                                                                                                                                                                                type SeriesOverride

                                                                                                                                                                                                                                                                                type SeriesOverride struct {
                                                                                                                                                                                                                                                                                	Alias         string      `json:"alias"`
                                                                                                                                                                                                                                                                                	Bars          *bool       `json:"bars,omitempty"`
                                                                                                                                                                                                                                                                                	Color         *string     `json:"color,omitempty"`
                                                                                                                                                                                                                                                                                	Dashes        *bool       `json:"dashes,omitempty"`
                                                                                                                                                                                                                                                                                	Fill          *int        `json:"fill,omitempty"`
                                                                                                                                                                                                                                                                                	FillBelowTo   *string     `json:"fillBelowTo,omitempty"`
                                                                                                                                                                                                                                                                                	Legend        *bool       `json:"legend,omitempty"`
                                                                                                                                                                                                                                                                                	Lines         *bool       `json:"lines,omitempty"`
                                                                                                                                                                                                                                                                                	LineWidth     *int        `json:"linewidth,omitempty"`
                                                                                                                                                                                                                                                                                	Stack         *BoolString `json:"stack,omitempty"`
                                                                                                                                                                                                                                                                                	Transform     *string     `json:"transform,omitempty"`
                                                                                                                                                                                                                                                                                	YAxis         *int        `json:"yaxis,omitempty"`
                                                                                                                                                                                                                                                                                	ZIndex        *int        `json:"zindex,omitempty"`
                                                                                                                                                                                                                                                                                	NullPointMode *string     `json:"nullPointMode,omitempty"`
                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                  for a graph panel

                                                                                                                                                                                                                                                                                  type SetDashboardParams

                                                                                                                                                                                                                                                                                  type SetDashboardParams struct {
                                                                                                                                                                                                                                                                                  	FolderID  int
                                                                                                                                                                                                                                                                                  	Overwrite bool
                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                    SetDashboardParams contains the extra parameteres that affects where and how the dashboard will be stored

                                                                                                                                                                                                                                                                                    type SinglestatPanel

                                                                                                                                                                                                                                                                                    type SinglestatPanel struct {
                                                                                                                                                                                                                                                                                    	Colors          []string    `json:"colors"`
                                                                                                                                                                                                                                                                                    	ColorValue      bool        `json:"colorValue"`
                                                                                                                                                                                                                                                                                    	ColorBackground bool        `json:"colorBackground"`
                                                                                                                                                                                                                                                                                    	Decimals        int         `json:"decimals"`
                                                                                                                                                                                                                                                                                    	Format          string      `json:"format"`
                                                                                                                                                                                                                                                                                    	Gauge           Gauge       `json:"gauge,omitempty"`
                                                                                                                                                                                                                                                                                    	MappingType     *uint       `json:"mappingType,omitempty"`
                                                                                                                                                                                                                                                                                    	MappingTypes    []*MapType  `json:"mappingTypes,omitempty"`
                                                                                                                                                                                                                                                                                    	MaxDataPoints   *IntString  `json:"maxDataPoints,omitempty"`
                                                                                                                                                                                                                                                                                    	NullPointMode   string      `json:"nullPointMode"`
                                                                                                                                                                                                                                                                                    	Postfix         *string     `json:"postfix,omitempty"`
                                                                                                                                                                                                                                                                                    	PostfixFontSize *string     `json:"postfixFontSize,omitempty"`
                                                                                                                                                                                                                                                                                    	Prefix          *string     `json:"prefix,omitempty"`
                                                                                                                                                                                                                                                                                    	PrefixFontSize  *string     `json:"prefixFontSize,omitempty"`
                                                                                                                                                                                                                                                                                    	RangeMaps       []*RangeMap `json:"rangeMaps,omitempty"`
                                                                                                                                                                                                                                                                                    	SparkLine       SparkLine   `json:"sparkline,omitempty"`
                                                                                                                                                                                                                                                                                    	Targets         []Target    `json:"targets,omitempty"`
                                                                                                                                                                                                                                                                                    	Thresholds      string      `json:"thresholds"`
                                                                                                                                                                                                                                                                                    	ValueFontSize   string      `json:"valueFontSize"`
                                                                                                                                                                                                                                                                                    	ValueMaps       []ValueMap  `json:"valueMaps"`
                                                                                                                                                                                                                                                                                    	ValueName       string      `json:"valueName"`
                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                    type Sort

                                                                                                                                                                                                                                                                                    type Sort struct {
                                                                                                                                                                                                                                                                                    	Col  int  `json:"col"`
                                                                                                                                                                                                                                                                                    	Desc bool `json:"desc"`
                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                      for a graph panel

                                                                                                                                                                                                                                                                                      type SparkLine

                                                                                                                                                                                                                                                                                      type SparkLine struct {
                                                                                                                                                                                                                                                                                      	FillColor *string  `json:"fillColor,omitempty"`
                                                                                                                                                                                                                                                                                      	Full      bool     `json:"full,omitempty"`
                                                                                                                                                                                                                                                                                      	LineColor *string  `json:"lineColor,omitempty"`
                                                                                                                                                                                                                                                                                      	Show      bool     `json:"show,omitempty"`
                                                                                                                                                                                                                                                                                      	YMin      *float64 `json:"ymin,omitempty"`
                                                                                                                                                                                                                                                                                      	YMax      *float64 `json:"ymax,omitempty"`
                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                        for a stat

                                                                                                                                                                                                                                                                                        type StackdriverAlignOption

                                                                                                                                                                                                                                                                                        type StackdriverAlignOption struct {
                                                                                                                                                                                                                                                                                        	Label       string   `json:"label"`
                                                                                                                                                                                                                                                                                        	MetricKinds []string `json:"metricKinds"`
                                                                                                                                                                                                                                                                                        	Text        string   `json:"text"`
                                                                                                                                                                                                                                                                                        	Value       string   `json:"value"`
                                                                                                                                                                                                                                                                                        	ValueTypes  []string `json:"valueTypes"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                          StackdriverAlignOption defines a single alignment option shown in Grafana during query configuration.

                                                                                                                                                                                                                                                                                          type StackdriverAlignOptions

                                                                                                                                                                                                                                                                                          type StackdriverAlignOptions struct {
                                                                                                                                                                                                                                                                                          	Expanded bool                     `json:"expanded"`
                                                                                                                                                                                                                                                                                          	Label    string                   `json:"label"`
                                                                                                                                                                                                                                                                                          	Options  []StackdriverAlignOption `json:"options"`
                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                            StackdriverAlignOptions defines the list of alignment options shown in Grafana during query configuration.

                                                                                                                                                                                                                                                                                            type StatPanel

                                                                                                                                                                                                                                                                                            type StatPanel struct {
                                                                                                                                                                                                                                                                                            	Colors          []string    `json:"colors"`
                                                                                                                                                                                                                                                                                            	ColorValue      bool        `json:"colorValue"`
                                                                                                                                                                                                                                                                                            	ColorBackground bool        `json:"colorBackground"`
                                                                                                                                                                                                                                                                                            	Decimals        int         `json:"decimals"`
                                                                                                                                                                                                                                                                                            	Format          string      `json:"format"`
                                                                                                                                                                                                                                                                                            	Gauge           Gauge       `json:"gauge,omitempty"`
                                                                                                                                                                                                                                                                                            	MappingType     *uint       `json:"mappingType,omitempty"`
                                                                                                                                                                                                                                                                                            	MappingTypes    []*MapType  `json:"mappingTypes,omitempty"`
                                                                                                                                                                                                                                                                                            	MaxDataPoints   *IntString  `json:"maxDataPoints,omitempty"`
                                                                                                                                                                                                                                                                                            	NullPointMode   string      `json:"nullPointMode"`
                                                                                                                                                                                                                                                                                            	Postfix         *string     `json:"postfix,omitempty"`
                                                                                                                                                                                                                                                                                            	PostfixFontSize *string     `json:"postfixFontSize,omitempty"`
                                                                                                                                                                                                                                                                                            	Prefix          *string     `json:"prefix,omitempty"`
                                                                                                                                                                                                                                                                                            	PrefixFontSize  *string     `json:"prefixFontSize,omitempty"`
                                                                                                                                                                                                                                                                                            	RangeMaps       []*RangeMap `json:"rangeMaps,omitempty"`
                                                                                                                                                                                                                                                                                            	SparkLine       SparkLine   `json:"sparkline,omitempty"`
                                                                                                                                                                                                                                                                                            	Targets         []Target    `json:"targets,omitempty"`
                                                                                                                                                                                                                                                                                            	Thresholds      string      `json:"thresholds"`
                                                                                                                                                                                                                                                                                            	ValueFontSize   string      `json:"valueFontSize"`
                                                                                                                                                                                                                                                                                            	ValueMaps       []ValueMap  `json:"valueMaps"`
                                                                                                                                                                                                                                                                                            	ValueName       string      `json:"valueName"`
                                                                                                                                                                                                                                                                                            	Options         Options     `json:"options"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                            type StatusMessage

                                                                                                                                                                                                                                                                                            type StatusMessage struct {
                                                                                                                                                                                                                                                                                            	ID      *uint   `json:"id"`
                                                                                                                                                                                                                                                                                            	OrgID   *uint   `json:"orgId"`
                                                                                                                                                                                                                                                                                            	Message *string `json:"message"`
                                                                                                                                                                                                                                                                                            	Slug    *string `json:"slug"`
                                                                                                                                                                                                                                                                                            	Version *int    `json:"version"`
                                                                                                                                                                                                                                                                                            	Status  *string `json:"status"`
                                                                                                                                                                                                                                                                                            	UID     *string `json:"uid"`
                                                                                                                                                                                                                                                                                            	URL     *string `json:"url"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                              StatusMessage reflects status message as it returned by Grafana REST API.

                                                                                                                                                                                                                                                                                              type StringSliceString

                                                                                                                                                                                                                                                                                              type StringSliceString struct {
                                                                                                                                                                                                                                                                                              	Value []string
                                                                                                                                                                                                                                                                                              	Valid bool
                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                StringSliceString represents special type for json values that could be strings or slice of strings: "something" or ["something"].

                                                                                                                                                                                                                                                                                                func (*StringSliceString) MarshalJSON

                                                                                                                                                                                                                                                                                                func (v *StringSliceString) MarshalJSON() ([]byte, error)

                                                                                                                                                                                                                                                                                                  MarshalJSON implements custom marshalling for StringSliceString type.

                                                                                                                                                                                                                                                                                                  func (*StringSliceString) UnmarshalJSON

                                                                                                                                                                                                                                                                                                  func (v *StringSliceString) UnmarshalJSON(raw []byte) error

                                                                                                                                                                                                                                                                                                    UnmarshalJSON implements custom unmarshalling for StringSliceString type.

                                                                                                                                                                                                                                                                                                    type TablePanel

                                                                                                                                                                                                                                                                                                    type TablePanel struct {
                                                                                                                                                                                                                                                                                                    	Columns   []Column      `json:"columns"`
                                                                                                                                                                                                                                                                                                    	Sort      *Sort         `json:"sort,omitempty"`
                                                                                                                                                                                                                                                                                                    	Styles    []ColumnStyle `json:"styles"`
                                                                                                                                                                                                                                                                                                    	Transform string        `json:"transform"`
                                                                                                                                                                                                                                                                                                    	Targets   []Target      `json:"targets,omitempty"`
                                                                                                                                                                                                                                                                                                    	Scroll    bool          `json:"scroll"` // from grafana 3.x
                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                    type Target

                                                                                                                                                                                                                                                                                                    type Target struct {
                                                                                                                                                                                                                                                                                                    	RefID      string `json:"refId"`
                                                                                                                                                                                                                                                                                                    	Datasource string `json:"datasource,omitempty"`
                                                                                                                                                                                                                                                                                                    	Hide       bool   `json:"hide,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For PostgreSQL
                                                                                                                                                                                                                                                                                                    	Table        string `json:"table,omitempty"`
                                                                                                                                                                                                                                                                                                    	TimeColumn   string `json:"timeColumn,omitempty"`
                                                                                                                                                                                                                                                                                                    	MetricColumn string `json:"metricColumn,omitempty"`
                                                                                                                                                                                                                                                                                                    	RawSql       string `json:"rawSql,omitempty"`
                                                                                                                                                                                                                                                                                                    	Select       [][]struct {
                                                                                                                                                                                                                                                                                                    		Params []string `json:"params,omitempty"`
                                                                                                                                                                                                                                                                                                    		Type   string   `json:"type,omitempty"`
                                                                                                                                                                                                                                                                                                    	} `json:"select,omitempty"`
                                                                                                                                                                                                                                                                                                    	Where []struct {
                                                                                                                                                                                                                                                                                                    		Type     string   `json:"type,omitempty"`
                                                                                                                                                                                                                                                                                                    		Name     string   `json:"name,omitempty"`
                                                                                                                                                                                                                                                                                                    		Params   []string `json:"params,omitempty"`
                                                                                                                                                                                                                                                                                                    		Datatype string   `json:"datatype,omitempty"`
                                                                                                                                                                                                                                                                                                    	} `json:"where,omitempty"`
                                                                                                                                                                                                                                                                                                    	Group []struct {
                                                                                                                                                                                                                                                                                                    		Type   string   `json:"type,omitempty"`
                                                                                                                                                                                                                                                                                                    		Params []string `json:"params,omitempty"`
                                                                                                                                                                                                                                                                                                    	} `json:"group,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For Prometheus
                                                                                                                                                                                                                                                                                                    	Expr           string `json:"expr,omitempty"`
                                                                                                                                                                                                                                                                                                    	IntervalFactor int    `json:"intervalFactor,omitempty"`
                                                                                                                                                                                                                                                                                                    	Interval       string `json:"interval,omitempty"`
                                                                                                                                                                                                                                                                                                    	Step           int    `json:"step,omitempty"`
                                                                                                                                                                                                                                                                                                    	LegendFormat   string `json:"legendFormat,omitempty"`
                                                                                                                                                                                                                                                                                                    	Instant        bool   `json:"instant,omitempty"`
                                                                                                                                                                                                                                                                                                    	Format         string `json:"format,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For InfluxDB
                                                                                                                                                                                                                                                                                                    	Measurement string `json:"measurement,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For Elasticsearch
                                                                                                                                                                                                                                                                                                    	DsType  *string `json:"dsType,omitempty"`
                                                                                                                                                                                                                                                                                                    	Metrics []struct {
                                                                                                                                                                                                                                                                                                    		ID    string `json:"id"`
                                                                                                                                                                                                                                                                                                    		Field string `json:"field"`
                                                                                                                                                                                                                                                                                                    		Type  string `json:"type"`
                                                                                                                                                                                                                                                                                                    	} `json:"metrics,omitempty"`
                                                                                                                                                                                                                                                                                                    	Query      string `json:"query,omitempty"`
                                                                                                                                                                                                                                                                                                    	Alias      string `json:"alias,omitempty"`
                                                                                                                                                                                                                                                                                                    	RawQuery   bool   `json:"rawQuery,omitempty"`
                                                                                                                                                                                                                                                                                                    	TimeField  string `json:"timeField,omitempty"`
                                                                                                                                                                                                                                                                                                    	BucketAggs []struct {
                                                                                                                                                                                                                                                                                                    		ID       string `json:"id"`
                                                                                                                                                                                                                                                                                                    		Field    string `json:"field"`
                                                                                                                                                                                                                                                                                                    		Type     string `json:"type"`
                                                                                                                                                                                                                                                                                                    		Settings struct {
                                                                                                                                                                                                                                                                                                    			Interval    string `json:"interval,omitempty"`
                                                                                                                                                                                                                                                                                                    			MinDocCount int    `json:"min_doc_count"`
                                                                                                                                                                                                                                                                                                    			Order       string `json:"order,omitempty"`
                                                                                                                                                                                                                                                                                                    			OrderBy     string `json:"orderBy,omitempty"`
                                                                                                                                                                                                                                                                                                    			Size        string `json:"size,omitempty"`
                                                                                                                                                                                                                                                                                                    		} `json:"settings"`
                                                                                                                                                                                                                                                                                                    	} `json:"bucketAggs,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For Graphite
                                                                                                                                                                                                                                                                                                    	Target string `json:"target,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For CloudWatch
                                                                                                                                                                                                                                                                                                    	Namespace  string            `json:"namespace,omitempty"`
                                                                                                                                                                                                                                                                                                    	MetricName string            `json:"metricName,omitempty"`
                                                                                                                                                                                                                                                                                                    	Statistics []string          `json:"statistics,omitempty"`
                                                                                                                                                                                                                                                                                                    	Dimensions map[string]string `json:"dimensions,omitempty"`
                                                                                                                                                                                                                                                                                                    	Period     string            `json:"period,omitempty"`
                                                                                                                                                                                                                                                                                                    	Region     string            `json:"region,omitempty"`
                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                    	// For the Stackdriver data source. Find out more information at
                                                                                                                                                                                                                                                                                                    	// https:/grafana.com/docs/grafana/v6.0/features/datasources/stackdriver/
                                                                                                                                                                                                                                                                                                    	ProjectName        string                    `json:"projectName,omitempty"`
                                                                                                                                                                                                                                                                                                    	AlignOptions       []StackdriverAlignOptions `json:"alignOptions,omitempty"`
                                                                                                                                                                                                                                                                                                    	AliasBy            string                    `json:"aliasBy,omitempty"`
                                                                                                                                                                                                                                                                                                    	MetricType         string                    `json:"metricType,omitempty"`
                                                                                                                                                                                                                                                                                                    	MetricKind         string                    `json:"metricKind,omitempty"`
                                                                                                                                                                                                                                                                                                    	Filters            []string                  `json:"filters,omitempty"`
                                                                                                                                                                                                                                                                                                    	AlignmentPeriod    string                    `json:"alignmentPeriod,omitempty"`
                                                                                                                                                                                                                                                                                                    	CrossSeriesReducer string                    `json:"crossSeriesReducer,omitempty"`
                                                                                                                                                                                                                                                                                                    	PerSeriesAligner   string                    `json:"perSeriesAligner,omitempty"`
                                                                                                                                                                                                                                                                                                    	ValueType          string                    `json:"valueType,omitempty"`
                                                                                                                                                                                                                                                                                                    	GroupBys           []string                  `json:"groupBys,omitempty"`
                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                      for an any panel

                                                                                                                                                                                                                                                                                                      type TemplateVar

                                                                                                                                                                                                                                                                                                      type TemplateVar struct {
                                                                                                                                                                                                                                                                                                      	Name        string   `json:"name"`
                                                                                                                                                                                                                                                                                                      	Type        string   `json:"type"`
                                                                                                                                                                                                                                                                                                      	Auto        bool     `json:"auto,omitempty"`
                                                                                                                                                                                                                                                                                                      	AutoCount   *int     `json:"auto_count,omitempty"`
                                                                                                                                                                                                                                                                                                      	Datasource  *string  `json:"datasource"`
                                                                                                                                                                                                                                                                                                      	Refresh     BoolInt  `json:"refresh"`
                                                                                                                                                                                                                                                                                                      	Options     []Option `json:"options"`
                                                                                                                                                                                                                                                                                                      	IncludeAll  bool     `json:"includeAll"`
                                                                                                                                                                                                                                                                                                      	AllFormat   string   `json:"allFormat"`
                                                                                                                                                                                                                                                                                                      	AllValue    string   `json:"allValue"`
                                                                                                                                                                                                                                                                                                      	Multi       bool     `json:"multi"`
                                                                                                                                                                                                                                                                                                      	MultiFormat string   `json:"multiFormat"`
                                                                                                                                                                                                                                                                                                      	Query       string   `json:"query"`
                                                                                                                                                                                                                                                                                                      	Regex       string   `json:"regex"`
                                                                                                                                                                                                                                                                                                      	Current     Current  `json:"current"`
                                                                                                                                                                                                                                                                                                      	Label       string   `json:"label"`
                                                                                                                                                                                                                                                                                                      	Hide        uint8    `json:"hide"`
                                                                                                                                                                                                                                                                                                      	Sort        int      `json:"sort"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Templating

                                                                                                                                                                                                                                                                                                      type Templating struct {
                                                                                                                                                                                                                                                                                                      	List []TemplateVar `json:"list"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type TextPanel

                                                                                                                                                                                                                                                                                                      type TextPanel struct {
                                                                                                                                                                                                                                                                                                      	Content     string        `json:"content"`
                                                                                                                                                                                                                                                                                                      	Mode        string        `json:"mode"`
                                                                                                                                                                                                                                                                                                      	PageSize    uint          `json:"pageSize"`
                                                                                                                                                                                                                                                                                                      	Scroll      bool          `json:"scroll"`
                                                                                                                                                                                                                                                                                                      	ShowHeader  bool          `json:"showHeader"`
                                                                                                                                                                                                                                                                                                      	Sort        Sort          `json:"sort"`
                                                                                                                                                                                                                                                                                                      	Styles      []ColumnStyle `json:"styles"`
                                                                                                                                                                                                                                                                                                      	FieldConfig FieldConfig   `json:"fieldConfig"`
                                                                                                                                                                                                                                                                                                      	Options     struct {
                                                                                                                                                                                                                                                                                                      		Content string `json:"content"`
                                                                                                                                                                                                                                                                                                      		Mode    string `json:"mode"`
                                                                                                                                                                                                                                                                                                      	} `json:"options"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Threshold

                                                                                                                                                                                                                                                                                                      type Threshold struct {
                                                                                                                                                                                                                                                                                                      	// the alert threshold value, we do not omitempty, since 0 is a valid
                                                                                                                                                                                                                                                                                                      	// threshold
                                                                                                                                                                                                                                                                                                      	Value float32 `json:"value"`
                                                                                                                                                                                                                                                                                                      	// critical, warning, ok, custom
                                                                                                                                                                                                                                                                                                      	ColorMode string `json:"colorMode,omitempty"`
                                                                                                                                                                                                                                                                                                      	// gt or lt
                                                                                                                                                                                                                                                                                                      	Op   string `json:"op,omitempty"`
                                                                                                                                                                                                                                                                                                      	Fill bool   `json:"fill"`
                                                                                                                                                                                                                                                                                                      	Line bool   `json:"line"`
                                                                                                                                                                                                                                                                                                      	// hexadecimal color (e.g. #629e51, only when ColorMode is "custom")
                                                                                                                                                                                                                                                                                                      	FillColor string `json:"fillColor,omitempty"`
                                                                                                                                                                                                                                                                                                      	// hexadecimal color (e.g. #629e51, only when ColorMode is "custom")
                                                                                                                                                                                                                                                                                                      	LineColor string `json:"lineColor,omitempty"`
                                                                                                                                                                                                                                                                                                      	// left or right
                                                                                                                                                                                                                                                                                                      	Yaxis string `json:"yaxis,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Time

                                                                                                                                                                                                                                                                                                      type Time struct {
                                                                                                                                                                                                                                                                                                      	From string `json:"from"`
                                                                                                                                                                                                                                                                                                      	To   string `json:"to"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Timepicker

                                                                                                                                                                                                                                                                                                      type Timepicker struct {
                                                                                                                                                                                                                                                                                                      	Now              *bool    `json:"now,omitempty"`
                                                                                                                                                                                                                                                                                                      	RefreshIntervals []string `json:"refresh_intervals"`
                                                                                                                                                                                                                                                                                                      	TimeOptions      []string `json:"time_options"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Tooltip

                                                                                                                                                                                                                                                                                                      type Tooltip struct {
                                                                                                                                                                                                                                                                                                      	Shared       bool   `json:"shared"`
                                                                                                                                                                                                                                                                                                      	ValueType    string `json:"value_type"`
                                                                                                                                                                                                                                                                                                      	MsResolution bool   `json:"msResolution,omitempty"` // was added in Grafana 3.x
                                                                                                                                                                                                                                                                                                      	Sort         int    `json:"sort,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type User

                                                                                                                                                                                                                                                                                                      type User struct {
                                                                                                                                                                                                                                                                                                      	ID             uint   `json:"id"`
                                                                                                                                                                                                                                                                                                      	Login          string `json:"login"`
                                                                                                                                                                                                                                                                                                      	Name           string `json:"name"`
                                                                                                                                                                                                                                                                                                      	Email          string `json:"email"`
                                                                                                                                                                                                                                                                                                      	Theme          string `json:"theme"`
                                                                                                                                                                                                                                                                                                      	OrgID          uint   `json:"orgId"`
                                                                                                                                                                                                                                                                                                      	Password       string `json:"password"`
                                                                                                                                                                                                                                                                                                      	IsGrafanaAdmin bool   `json:"isGrafanaAdmin"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type UserPermissions

                                                                                                                                                                                                                                                                                                      type UserPermissions struct {
                                                                                                                                                                                                                                                                                                      	IsGrafanaAdmin bool `json:"isGrafanaAdmin"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type UserRole

                                                                                                                                                                                                                                                                                                      type UserRole struct {
                                                                                                                                                                                                                                                                                                      	LoginOrEmail string `json:"loginOrEmail"`
                                                                                                                                                                                                                                                                                                      	Role         string `json:"role"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type ValueMap

                                                                                                                                                                                                                                                                                                      type ValueMap struct {
                                                                                                                                                                                                                                                                                                      	Op       string `json:"op"`
                                                                                                                                                                                                                                                                                                      	TextType string `json:"text"`
                                                                                                                                                                                                                                                                                                      	Value    string `json:"value"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                        for a stat

                                                                                                                                                                                                                                                                                                        Directories

                                                                                                                                                                                                                                                                                                        Path Synopsis
                                                                                                                                                                                                                                                                                                        cmd
                                                                                                                                                                                                                                                                                                        backup-dashboards
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for copying dashboards and saving them to a disk.
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for copying dashboards and saving them to a disk.
                                                                                                                                                                                                                                                                                                        backup-datasources
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for copying dashboards and saving them to a disk.
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for copying dashboards and saving them to a disk.
                                                                                                                                                                                                                                                                                                        import-dashboards
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for importing dashboards from a bunch of JSON files (current dir used).
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for importing dashboards from a bunch of JSON files (current dir used).
                                                                                                                                                                                                                                                                                                        import-dashboards-raw
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana sdk for importing dashboards from a bunch of JSON files (current dir used).
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana sdk for importing dashboards from a bunch of JSON files (current dir used).
                                                                                                                                                                                                                                                                                                        import-datasources
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for importing datasources from a bunch of JSON files (current dir used).
                                                                                                                                                                                                                                                                                                        This is a simple example of usage of Grafana client for importing datasources from a bunch of JSON files (current dir used).