Documentation
¶
Index ¶
- type Alert
- type AlertNotification
- type Annotation
- type BuiltInRoleAssignment
- type Client
- func (c *Client) AddDatasourcePermission(id int64, item *DatasourcePermissionAddPayload) error
- func (c *Client) AddOrgUser(orgID int64, user, role string) error
- func (c *Client) AddTeam(name string, email string) (int64, error)
- func (c *Client) AddTeamMember(id int64, userID int64) error
- func (c *Client) Alert(id int64) (Alert, error)
- func (c *Client) AlertNotification(id int64) (*AlertNotification, error)
- func (c *Client) AlertNotifications() ([]AlertNotification, error)
- func (c *Client) Alerts(params url.Values) ([]Alert, error)
- func (c *Client) Annotations(params url.Values) ([]Annotation, error)
- func (c *Client) CreateAPIKey(request CreateAPIKeyRequest) (CreateAPIKeyResponse, error)
- func (c *Client) CreateUser(user User) (int64, error)
- func (c *Client) Dashboard(slug string) (*Dashboard, error)
- func (c *Client) DashboardByUID(uid string) (*Dashboard, error)
- func (c *Client) DashboardPermissions(id int64) ([]*DashboardPermission, error)
- func (c *Client) Dashboards() ([]FolderDashboardSearchResponse, error)
- func (c *Client) DataSource(id int64) (*DataSource, error)
- func (c *Client) DatasourcePermissions(id int64) (*DatasourcePermissionsResponse, error)
- func (c *Client) DeleteAPIKey(id int64) (DeleteAPIKeyResponse, error)
- func (c *Client) DeleteAlertNotification(id int64) error
- func (c *Client) DeleteAnnotation(id int64) (string, error)
- func (c *Client) DeleteAnnotationByRegionID(id int64) (string, error)
- func (c *Client) DeleteBuiltInRoleAssignment(builtInRole BuiltInRoleAssignment) error
- func (c *Client) DeleteDashboard(slug string) error
- func (c *Client) DeleteDashboardByUID(uid string) error
- func (c *Client) DeleteDataSource(id int64) error
- func (c *Client) DeleteFolder(id string) error
- func (c *Client) DeleteOrg(id int64) error
- func (c *Client) DeletePlaylist(id int) error
- func (c *Client) DeleteRole(uid string, global bool) error
- func (c *Client) DeleteTeam(id int64) error
- func (c *Client) DeleteTeamGroup(id int64, groupID string) error
- func (c *Client) DeleteUser(id int64) error
- func (c *Client) DisableDatasourcePermissions(id int64) error
- func (c *Client) EnableDatasourcePermissions(id int64) error
- func (c *Client) Folder(id int64) (*Folder, error)
- func (c *Client) FolderDashboardSearch(params map[string]string) (resp []FolderDashboardSearchResponse, err error)
- func (c *Client) FolderPermissions(fid string) ([]*FolderPermission, error)
- func (c *Client) Folders() ([]Folder, error)
- func (c *Client) GetAPIKeys(includeExpired bool) ([]*GetAPIKeysResponse, error)
- func (c *Client) GetBuiltInRoleAssignments() (map[string][]*Role, error)
- func (c *Client) GetRole(uid string) (*Role, error)
- func (c *Client) NewAlertNotification(a *AlertNotification) (int64, error)
- func (c *Client) NewAnnotation(a *Annotation) (int64, error)
- func (c *Client) NewBuiltInRoleAssignment(builtInRoleAssignment BuiltInRoleAssignment) (*BuiltInRoleAssignment, error)
- func (c *Client) NewDashboard(dashboard Dashboard) (*DashboardSaveResponse, error)
- func (c *Client) NewDataSource(s *DataSource) (int64, error)
- func (c *Client) NewFolder(title string) (Folder, error)
- func (c *Client) NewGraphiteAnnotation(gfa *GraphiteAnnotation) (int64, error)
- func (c *Client) NewOrg(name string) (int64, error)
- func (c *Client) NewPlaylist(playlist Playlist) (int, error)
- func (c *Client) NewRole(role Role) (*Role, error)
- func (c *Client) NewTeamGroup(id int64, groupID string) error
- func (c *Client) Org(id int64) (Org, error)
- func (c *Client) OrgByName(name string) (Org, error)
- func (c *Client) OrgUsers(orgID int64) ([]OrgUser, error)
- func (c *Client) OrgUsersCurrent() ([]OrgUser, error)
- func (c *Client) Orgs() ([]Org, error)
- func (c *Client) PatchAnnotation(id int64, a *Annotation) (string, error)
- func (c *Client) PauseAlert(id int64) (PauseAlertResponse, error)
- func (c *Client) PauseAllAlerts() (PauseAllAlertsResponse, error)
- func (c *Client) Playlist(id int) (*Playlist, error)
- func (c *Client) RemoveDatasourcePermission(id, permissionID int64) error
- func (c *Client) RemoveMemberFromTeam(id int64, userID int64) error
- func (c *Client) RemoveOrgUser(orgID, userID int64) error
- func (c *Client) SaveDashboard(model map[string]interface{}, overwrite bool) (*DashboardSaveResponse, error)
- func (c *Client) SearchTeam(query string) (*SearchTeam, error)
- func (c *Client) Team(id int64) (*Team, error)
- func (c *Client) TeamGroups(id int64) ([]TeamGroup, error)
- func (c *Client) TeamMembers(id int64) ([]*TeamMember, error)
- func (c *Client) TeamPreferences(id int64) (*Preferences, error)
- func (c *Client) UpdateAlertNotification(a *AlertNotification) error
- func (c *Client) UpdateAnnotation(id int64, a *Annotation) (string, error)
- func (c *Client) UpdateDashboardPermissions(id int64, items *PermissionItems) error
- func (c *Client) UpdateDataSource(s *DataSource) error
- func (c *Client) UpdateFolder(id string, name string) error
- func (c *Client) UpdateFolderPermissions(fid string, items *PermissionItems) error
- func (c *Client) UpdateOrg(id int64, name string) error
- func (c *Client) UpdateOrgUser(orgID, userID int64, role string) error
- func (c *Client) UpdatePlaylist(playlist Playlist) error
- func (c *Client) UpdateRole(role Role) error
- func (c *Client) UpdateTeam(id int64, name string, email string) error
- func (c *Client) UpdateTeamPreferences(id int64, preferences Preferences) error
- func (c *Client) UpdateUserPassword(id int64, password string) error
- func (c *Client) UpdateUserPermissions(id int64, isAdmin bool) error
- func (c *Client) User(id int64) (user User, err error)
- func (c *Client) UserByEmail(email string) (user User, err error)
- func (c *Client) UserUpdate(u User) error
- func (c *Client) Users() (users []UserSearch, err error)
- type Config
- type CreateAPIKeyRequest
- type CreateAPIKeyResponse
- type Dashboard
- type DashboardMeta
- type DashboardPermission
- type DashboardSaveResponse
- type DataSource
- type DatasourcePermission
- type DatasourcePermissionAddPayload
- type DatasourcePermissionType
- type DatasourcePermissionsResponse
- type DeleteAPIKeyResponse
- type Folder
- type FolderDashboardSearchResponse
- type FolderPermission
- type GetAPIKeysResponse
- type GraphiteAnnotation
- type JSONData
- type Org
- type OrgUser
- type PauseAlertRequest
- type PauseAlertResponse
- type PauseAllAlertsResponse
- type Permission
- type PermissionItem
- type PermissionItems
- type Playlist
- type PlaylistItem
- type Preferences
- type Role
- type SearchTeam
- type SecureJSONData
- type Team
- type TeamGroup
- type TeamMember
- type User
- type UserSearch
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Alert ¶
type Alert struct {
ID int64 `json:"id,omitempty"`
DashboardID int64 `json:"dashboardId,omitempty"`
DashboardUID string `json:"dashboardUid,omitempty"`
DashboardSlug string `json:"dashboardSlug,omitempty"`
PanelID int64 `json:"panelId,omitempty"`
Name string `json:"name,omitempty"`
State string `json:"state,omitempty"`
NewStateDate string `json:"newStateDate,omitempty"`
EvalDate string `json:"evalDate,omitempty"`
ExecutionError string `json:"executionError,omitempty"`
URL string `json:"url,omitempty"`
}
Alert represents a Grafana API Alert
type AlertNotification ¶
type AlertNotification struct {
ID int64 `json:"id,omitempty"`
UID string `json:"uid"`
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"`
SecureFields interface{} `json:"secureFields,omitempty"`
SecureSettings interface{} `json:"secureSettings,omitempty"`
}
AlertNotification represents a Grafana alert notification.
type Annotation ¶
type Annotation struct {
ID int64 `json:"id,omitempty"`
AlertID int64 `json:"alertId,omitempty"`
DashboardID int64 `json:"dashboardId"`
PanelID int64 `json:"panelId"`
UserID int64 `json:"userId,omitempty"`
UserName string `json:"userName,omitempty"`
NewState string `json:"newState,omitempty"`
PrevState string `json:"prevState,omitempty"`
Time int64 `json:"time"`
TimeEnd int64 `json:"timeEnd,omitempty"`
Text string `json:"text"`
Metric string `json:"metric,omitempty"`
RegionID int64 `json:"regionId,omitempty"`
Type string `json:"type,omitempty"`
Tags []string `json:"tags,omitempty"`
IsRegion bool `json:"isRegion,omitempty"`
}
Annotation represents a Grafana API Annotation
type BuiltInRoleAssignment ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a Grafana API client.
func (*Client) AddDatasourcePermission ¶
func (c *Client) AddDatasourcePermission(id int64, item *DatasourcePermissionAddPayload) error
AddDatasourcePermission adds the given permission item
func (*Client) AddOrgUser ¶
AddOrgUser adds a user to an org with the specified role.
func (*Client) AddTeam ¶
AddTeam makes a new team email arg is an optional value. If you don't want to set email, please set "" (empty string). When team creation is successful, returns the team ID.
func (*Client) AddTeamMember ¶
AddTeamMember adds a user to the Grafana team whose ID it's passed.
func (*Client) AlertNotification ¶
func (c *Client) AlertNotification(id int64) (*AlertNotification, error)
AlertNotification fetches and returns a Grafana alert notification.
func (*Client) AlertNotifications ¶
func (c *Client) AlertNotifications() ([]AlertNotification, error)
AlertNotifications fetches and returns Grafana alert notifications.
func (*Client) Annotations ¶
func (c *Client) Annotations(params url.Values) ([]Annotation, error)
Annotations fetches the annotations queried with the params it's passed
func (*Client) CreateAPIKey ¶
func (c *Client) CreateAPIKey(request CreateAPIKeyRequest) (CreateAPIKeyResponse, error)
CreateAPIKey creates a new Grafana API key.
func (*Client) CreateUser ¶
CreateUser creates a Grafana user.
func (*Client) Dashboard ¶
Dashboard will be removed. Deprecated: Starting from Grafana v5.0. Use DashboardByUID instead.
func (*Client) DashboardByUID ¶
DashboardByUID gets a dashboard by UID.
func (*Client) DashboardPermissions ¶
func (c *Client) DashboardPermissions(id int64) ([]*DashboardPermission, error)
DashboardPermissions fetches and returns the permissions for the dashboard whose ID it's passed.
func (*Client) Dashboards ¶
func (c *Client) Dashboards() ([]FolderDashboardSearchResponse, error)
Dashboards fetches and returns all dashboards.
func (*Client) DataSource ¶
func (c *Client) DataSource(id int64) (*DataSource, error)
DataSource fetches and returns the Grafana data source whose ID it's passed.
func (*Client) DatasourcePermissions ¶
func (c *Client) DatasourcePermissions(id int64) (*DatasourcePermissionsResponse, error)
DatasourcePermissions fetches and returns the permissions for the datasource whose ID it's passed.
func (*Client) DeleteAPIKey ¶
func (c *Client) DeleteAPIKey(id int64) (DeleteAPIKeyResponse, error)
DeleteAPIKey deletes the Grafana API key with the specified ID.
func (*Client) DeleteAlertNotification ¶
DeleteAlertNotification deletes a Grafana alert notification.
func (*Client) DeleteAnnotation ¶
DeleteAnnotation deletes the annotation of the ID it is passed
func (*Client) DeleteAnnotationByRegionID ¶
DeleteAnnotationByRegionID deletes the annotation corresponding to the region ID it is passed
func (*Client) DeleteBuiltInRoleAssignment ¶
func (c *Client) DeleteBuiltInRoleAssignment(builtInRole BuiltInRoleAssignment) error
DeleteBuiltInRoleAssignment remove the built-in role assignments. Available only in Grafana Enterprise 8.+.
func (*Client) DeleteDashboard ¶
DeleteDashboard will be removed. Deprecated: Starting from Grafana v5.0. Use DeleteDashboardByUID instead.
func (*Client) DeleteDashboardByUID ¶
DeleteDashboardByUID deletes a dashboard by UID.
func (*Client) DeleteDataSource ¶
DeleteDataSource deletes the Grafana data source whose ID it's passed.
func (*Client) DeleteFolder ¶
DeleteFolder deletes the folder whose ID it's passed.
func (*Client) DeletePlaylist ¶
DeletePlaylist deletes the Grafana playlist whose ID it's passed.
func (*Client) DeleteRole ¶
DeleteRole deletes the role with it's permissions. Available only in Grafana Enterprise 8.+.
func (*Client) DeleteTeam ¶
DeleteTeam deletes the Grafana team whose ID it's passed.
func (*Client) DeleteTeamGroup ¶
DeleteTeam deletes the Grafana team whose ID it's passed.
func (*Client) DeleteUser ¶
DeleteUser deletes a Grafana user.
func (*Client) DisableDatasourcePermissions ¶
DisableDatasourcePermissions disables the datasource permissions (this is a datasource setting)
func (*Client) EnableDatasourcePermissions ¶
EnableDatasourcePermissions enables the datasource permissions (this is a datasource setting)
func (*Client) FolderDashboardSearch ¶
func (c *Client) FolderDashboardSearch(params map[string]string) (resp []FolderDashboardSearchResponse, err error)
FolderDashboardSearch uses the folder and dashboard search endpoint to find dashboards based on the params passed in.
func (*Client) FolderPermissions ¶
func (c *Client) FolderPermissions(fid string) ([]*FolderPermission, error)
FolderPermissions fetches and returns the permissions for the folder whose ID it's passed.
func (*Client) GetAPIKeys ¶
func (c *Client) GetAPIKeys(includeExpired bool) ([]*GetAPIKeysResponse, error)
GetAPIKeys retrieves a list of all API keys.
func (*Client) GetBuiltInRoleAssignments ¶
GetBuiltInRoleAssignments gets all built-in role assignments. Available only in Grafana Enterprise 8.+.
func (*Client) GetRole ¶
GetRole gets a role with permissions for the given UID. Available only in Grafana Enterprise 8.+.
func (*Client) NewAlertNotification ¶
func (c *Client) NewAlertNotification(a *AlertNotification) (int64, error)
NewAlertNotification creates a new Grafana alert notification.
func (*Client) NewAnnotation ¶
func (c *Client) NewAnnotation(a *Annotation) (int64, error)
NewAnnotation creates a new annotation with the Annotation it is passed
func (*Client) NewBuiltInRoleAssignment ¶
func (c *Client) NewBuiltInRoleAssignment(builtInRoleAssignment BuiltInRoleAssignment) (*BuiltInRoleAssignment, error)
NewBuiltInRoleAssignment creates a new built-in role assignment. Available only in Grafana Enterprise 8.+.
func (*Client) NewDashboard ¶
func (c *Client) NewDashboard(dashboard Dashboard) (*DashboardSaveResponse, error)
NewDashboard creates a new Grafana dashboard.
func (*Client) NewDataSource ¶
func (c *Client) NewDataSource(s *DataSource) (int64, error)
NewDataSource creates a new Grafana data source.
func (*Client) NewGraphiteAnnotation ¶
func (c *Client) NewGraphiteAnnotation(gfa *GraphiteAnnotation) (int64, error)
NewGraphiteAnnotation creates a new annotation with the GraphiteAnnotation it is passed
func (*Client) NewPlaylist ¶
NewPlaylist creates a new Grafana playlist.
func (*Client) NewRole ¶
NewRole creates a new role with permissions. Available only in Grafana Enterprise 8.+.
func (*Client) NewTeamGroup ¶
NewTeamGroup creates a new Grafana Team Group .
func (*Client) OrgUsersCurrent ¶
OrgUsersCurrent returns all org users within the current organization. This endpoint is accessible to users with org admin role.
func (*Client) PatchAnnotation ¶
func (c *Client) PatchAnnotation(id int64, a *Annotation) (string, error)
PatchAnnotation updates one or more properties of an existing annotation that matches the specified ID.
func (*Client) PauseAlert ¶
func (c *Client) PauseAlert(id int64) (PauseAlertResponse, error)
PauseAlert pauses the Grafana alert whose ID it's passed.
func (*Client) PauseAllAlerts ¶
func (c *Client) PauseAllAlerts() (PauseAllAlertsResponse, error)
PauseAllAlerts pauses all Grafana alerts.
func (*Client) RemoveDatasourcePermission ¶
RemoveDatasourcePermission removes the permission with the given id
func (*Client) RemoveMemberFromTeam ¶
RemoveMemberFromTeam removes a user from the Grafana team whose ID it's passed.
func (*Client) RemoveOrgUser ¶
RemoveOrgUser removes a user from an org.
func (*Client) SaveDashboard ¶
func (c *Client) SaveDashboard(model map[string]interface{}, overwrite bool) (*DashboardSaveResponse, error)
SaveDashboard is a deprecated method for saving a Grafana dashboard. Use NewDashboard. Deprecated: Use NewDashboard instead.
func (*Client) SearchTeam ¶
func (c *Client) SearchTeam(query string) (*SearchTeam, error)
SearchTeam searches Grafana teams and returns the results.
func (*Client) TeamGroups ¶
TeamGroups fetches and returns the list of Grafana team group whose Team ID it's passed.
func (*Client) TeamMembers ¶
func (c *Client) TeamMembers(id int64) ([]*TeamMember, error)
TeamMembers fetches and returns the team members for the Grafana team whose ID it's passed.
func (*Client) TeamPreferences ¶
func (c *Client) TeamPreferences(id int64) (*Preferences, error)
TeamPreferences fetches and returns preferences for the Grafana team whose ID it's passed.
func (*Client) UpdateAlertNotification ¶
func (c *Client) UpdateAlertNotification(a *AlertNotification) error
UpdateAlertNotification updates a Grafana alert notification.
func (*Client) UpdateAnnotation ¶
func (c *Client) UpdateAnnotation(id int64, a *Annotation) (string, error)
UpdateAnnotation updates all properties an existing annotation with the Annotation it is passed.
func (*Client) UpdateDashboardPermissions ¶
func (c *Client) UpdateDashboardPermissions(id int64, items *PermissionItems) error
UpdateDashboardPermissions remove existing permissions if items are not included in the request.
func (*Client) UpdateDataSource ¶
func (c *Client) UpdateDataSource(s *DataSource) error
UpdateDataSource updates a Grafana data source.
func (*Client) UpdateFolder ¶
UpdateFolder updates the folder whose ID it's passed.
func (*Client) UpdateFolderPermissions ¶
func (c *Client) UpdateFolderPermissions(fid string, items *PermissionItems) error
UpdateFolderPermissions remove existing permissions if items are not included in the request.
func (*Client) UpdateOrgUser ¶
UpdateOrgUser updates and org user.
func (*Client) UpdatePlaylist ¶
UpdatePlaylist updates a Grafana playlist.
func (*Client) UpdateRole ¶
UpdateRole updates the role and permissions. Available only in Grafana Enterprise 8.+.
func (*Client) UpdateTeam ¶
UpdateTeam updates a Grafana team.
func (*Client) UpdateTeamPreferences ¶
func (c *Client) UpdateTeamPreferences(id int64, preferences Preferences) error
UpdateTeamPreferences updates team preferences for the Grafana team whose ID it's passed.
func (*Client) UpdateUserPassword ¶
UpdateUserPassword updates a user password.
func (*Client) UpdateUserPermissions ¶
UpdateUserPermissions sets a user's admin status.
func (*Client) UserByEmail ¶
UserByEmail fetches a user by email address.
func (*Client) UserUpdate ¶
UserUpdate updates a user by ID.
func (*Client) Users ¶
func (c *Client) Users() (users []UserSearch, err error)
Users fetches and returns Grafana users.
type Config ¶
type Config struct {
// APIKey is an optional API key.
APIKey string
// BasicAuth is optional basic auth credentials.
BasicAuth *url.Userinfo
// Client provides an optional HTTP client, otherwise a default will be used.
Client *http.Client
// OrgID provides an optional organization ID, ignored when using APIKey, BasicAuth defaults to last used org
OrgID int64
// NumRetries contains the number of attempted retries
NumRetries int
}
Config contains client configuration.
type CreateAPIKeyRequest ¶
type CreateAPIKeyResponse ¶
type Dashboard ¶
type Dashboard struct {
Meta DashboardMeta `json:"meta"`
Model map[string]interface{} `json:"dashboard"`
Folder int64 `json:"folderId"`
Overwrite bool `json:"overwrite"`
// This is only used when creating a new dashboard, it will always be empty when getting a dashboard.
Message string `json:"message"`
}
Dashboard represents a Grafana dashboard.
type DashboardMeta ¶
type DashboardMeta struct {
IsStarred bool `json:"isStarred"`
Slug string `json:"slug"`
Folder int64 `json:"folderId"`
}
DashboardMeta represents Grafana dashboard meta.
type DashboardPermission ¶
type DashboardPermission struct {
DashboardID int64 `json:"dashboardId"`
DashboardUID string `json:"uid"`
UserID int64 `json:"userId"`
TeamID int64 `json:"teamId"`
Role string `json:"role"`
IsFolder bool `json:"isFolder"`
Inherited bool `json:"inherited"`
// Permission levels are
// 1 = View
// 2 = Edit
// 4 = Admin
Permission int64 `json:"permission"`
PermissionName string `json:"permissionName"`
}
DashboardPermission has information such as a dashboard, user, team, role and permission.
type DashboardSaveResponse ¶
type DashboardSaveResponse struct {
Slug string `json:"slug"`
ID int64 `json:"id"`
UID string `json:"uid"`
Status string `json:"status"`
Version int64 `json:"version"`
}
DashboardSaveResponse represents the Grafana API response to creating or saving a dashboard.
type DataSource ¶
type DataSource struct {
ID int64 `json:"id,omitempty"`
Name string `json:"name"`
Type string `json:"type"`
URL string `json:"url"`
Access string `json:"access"`
Database string `json:"database,omitempty"`
User string `json:"user,omitempty"`
// Deprecated: Use secureJsonData.password instead.
Password string `json:"password,omitempty"`
OrgID int64 `json:"orgId,omitempty"`
IsDefault bool `json:"isDefault"`
BasicAuth bool `json:"basicAuth"`
BasicAuthUser string `json:"basicAuthUser,omitempty"`
// Deprecated: Use secureJsonData.basicAuthPassword instead.
BasicAuthPassword string `json:"basicAuthPassword,omitempty"`
JSONData JSONData `json:"jsonData,omitempty"`
SecureJSONData SecureJSONData `json:"secureJsonData,omitempty"`
}
DataSource represents a Grafana data source.
type DatasourcePermission ¶
type DatasourcePermission struct {
ID int64 `json:"id"`
DatasourceID int64 `json:"datasourceId"`
UserID int64 `json:"userId"`
UserEmail string `json:"userEmail"`
TeamID int64 `json:"teamId"`
// Permission levels are
// 1 = Query
Permission DatasourcePermissionType `json:"permission"`
PermissionName string `json:"permissionName"`
}
DatasourcePermission has information such as a datasource, user, team, role and permission.
type DatasourcePermissionAddPayload ¶
type DatasourcePermissionAddPayload struct {
UserID int64 `json:"userId"`
TeamID int64 `json:"teamId"`
Permission DatasourcePermissionType `json:"permission"`
}
type DatasourcePermissionType ¶
type DatasourcePermissionType int
const (
DatasourcePermissionQuery DatasourcePermissionType
)
type DatasourcePermissionsResponse ¶
type DatasourcePermissionsResponse struct {
DatasourceID int64 `json:"datasourceId"`
Enabled bool `json:"enabled"`
Permissions []*DatasourcePermission `json:"permissions"`
}
type DeleteAPIKeyResponse ¶
type DeleteAPIKeyResponse struct {
Message string `json:"message"`
}
type FolderDashboardSearchResponse ¶
type FolderDashboardSearchResponse 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 uint `json:"folderId"`
FolderUID string `json:"folderUid"`
FolderTitle string `json:"folderTitle"`
FolderURL string `json:"folderUrl"`
}
FolderDashboardSearchResponse represents the Grafana API dashboard search response.
type FolderPermission ¶
type FolderPermission struct {
ID int64 `json:"id"`
FolderUID string `json:"uid"`
UserID int64 `json:"userId"`
TeamID int64 `json:"teamId"`
Role string `json:"role"`
IsFolder bool `json:"isFolder"`
// Permission levels are
// 1 = View
// 2 = Edit
// 4 = Admin
Permission int64 `json:"permission"`
PermissionName string `json:"permissionName"`
// optional fields
FolderID int64 `json:"folderId,omitempty"`
DashboardID int64 `json:"dashboardId,omitempty"`
}
FolderPermission has information such as a folder, user, team, role and permission.
type GetAPIKeysResponse ¶
type GraphiteAnnotation ¶
type GraphiteAnnotation struct {
What string `json:"what"`
When int64 `json:"when"`
Data string `json:"data"`
Tags []string `json:"tags,omitempty"`
}
GraphiteAnnotation represents a Grafana API annotation in Graphite format
type JSONData ¶
type JSONData struct {
// Used by all datasources
TLSAuth bool `json:"tlsAuth,omitempty"`
TLSAuthWithCACert bool `json:"tlsAuthWithCACert,omitempty"`
TLSSkipVerify bool `json:"tlsSkipVerify,omitempty"`
// Used by Graphite
GraphiteVersion string `json:"graphiteVersion,omitempty"`
// Used by Prometheus, Elasticsearch, InfluxDB, MySQL, PostgreSQL and MSSQL
TimeInterval string `json:"timeInterval,omitempty"`
// Used by Elasticsearch
// From Grafana 8.x esVersion is the semantic version of Elasticsearch.
EsVersion string `json:"esVersion,omitempty"`
TimeField string `json:"timeField,omitempty"`
Interval string `json:"interval,omitempty"`
LogMessageField string `json:"logMessageField,omitempty"`
LogLevelField string `json:"logLevelField,omitempty"`
MaxConcurrentShardRequests int64 `json:"maxConcurrentShardRequests,omitempty"`
// Used by Cloudwatch
AuthType string `json:"authType,omitempty"`
AssumeRoleArn string `json:"assumeRoleArn,omitempty"`
DefaultRegion string `json:"defaultRegion,omitempty"`
CustomMetricsNamespaces string `json:"customMetricsNamespaces,omitempty"`
Profile string `json:"profile,omitempty"`
// Used by OpenTSDB
TsdbVersion string `json:"tsdbVersion,omitempty"`
TsdbResolution string `json:"tsdbResolution,omitempty"`
// Used by MSSQL
Encrypt string `json:"encrypt,omitempty"`
// Used by PostgreSQL
Sslmode string `json:"sslmode,omitempty"`
PostgresVersion int64 `json:"postgresVersion,omitempty"`
Timescaledb bool `json:"timescaledb,omitempty"`
// Used by MySQL, PostgreSQL and MSSQL
MaxOpenConns int64 `json:"maxOpenConns,omitempty"`
MaxIdleConns int64 `json:"maxIdleConns,omitempty"`
ConnMaxLifetime int64 `json:"connMaxLifetime,omitempty"`
// Used by Prometheus
HTTPMethod string `json:"httpMethod,omitempty"`
QueryTimeout string `json:"queryTimeout,omitempty"`
// Used by Stackdriver
AuthenticationType string `json:"authenticationType,omitempty"`
ClientEmail string `json:"clientEmail,omitempty"`
DefaultProject string `json:"defaultProject,omitempty"`
TokenURI string `json:"tokenUri,omitempty"`
// Used by Prometheus and Elasticsearch
SigV4AssumeRoleArn string `json:"sigV4AssumeRoleArn,omitempty"`
SigV4Auth bool `json:"sigV4Auth,omitempty"`
SigV4AuthType string `json:"sigV4AuthType,omitempty"`
SigV4ExternalID string `json:"sigV4ExternalID,omitempty"`
SigV4Profile string `json:"sigV4Profile,omitempty"`
SigV4Region string `json:"sigV4Region,omitempty"`
}
JSONData is a representation of the datasource `jsonData` property
type OrgUser ¶
type OrgUser struct {
OrgID int64 `json:"orgId"`
UserID int64 `json:"userId"`
Email string `json:"email"`
Login string `json:"login"`
Role string `json:"role"`
}
OrgUser represents a Grafana org user.
type PauseAlertRequest ¶
type PauseAlertRequest struct {
Paused bool `json:"paused"`
}
PauseAlertRequest represents the request payload for a PauseAlert request.
type PauseAlertResponse ¶
type PauseAlertResponse struct {
AlertID int64 `json:"alertId,omitempty"`
State string `json:"state,omitempty"`
Message string `json:"message,omitempty"`
}
PauseAlertResponse represents the response body for a PauseAlert request.
type PauseAllAlertsResponse ¶
type PauseAllAlertsResponse struct {
AlertsAffected int64 `json:"alertsAffected,omitempty"`
State string `json:"state,omitempty"`
Message string `json:"message,omitempty"`
}
PauseAllAlertsResponse represents the response body for a PauseAllAlerts request.
type Permission ¶
type PermissionItem ¶
type PermissionItem struct {
// As you can see the docs, each item has a pair of [Role|TeamID|UserID] and Permission.
// unnecessary fields are omitted.
Role string `json:"role,omitempty"`
TeamID int64 `json:"teamId,omitempty"`
UserID int64 `json:"userId,omitempty"`
Permission int64 `json:"permission"`
}
PermissionItem represents a Grafana folder permission item.
type PermissionItems ¶
type PermissionItems struct {
Items []*PermissionItem `json:"items"`
}
PermissionItems represents Grafana folder permission items.
type Playlist ¶
type Playlist struct {
ID int `json:"id"`
Name string `json:"name"`
Interval string `json:"interval"`
Items []PlaylistItem `json:"items"`
}
Playlist represents a Grafana playlist.
type PlaylistItem ¶
type PlaylistItem struct {
Type string `json:"type"`
Value string `json:"value"`
Order int `json:"order"`
Title string `json:"title"`
}
PlaylistItem represents a Grafana playlist item.
type Preferences ¶
type Preferences struct {
Theme string `json:"theme"`
HomeDashboardID int64 `json:"homeDashboardID"`
Timezone string `json:"timezone"`
}
Preferences represents Grafana preferences.
type SearchTeam ¶
type SearchTeam struct {
TotalCount int64 `json:"totalCount,omitempty"`
Teams []*Team `json:"teams,omitempty"`
Page int64 `json:"page,omitempty"`
PerPage int64 `json:"perPage,omitempty"`
}
SearchTeam represents a search for a Grafana team.
type SecureJSONData ¶
type SecureJSONData struct {
// Used by all datasources
TLSCACert string `json:"tlsCACert,omitempty"`
TLSClientCert string `json:"tlsClientCert,omitempty"`
TLSClientKey string `json:"tlsClientKey,omitempty"`
Password string `json:"password,omitempty"`
BasicAuthPassword string `json:"basicAuthPassword,omitempty"`
// Used by Cloudwatch
AccessKey string `json:"accessKey,omitempty"`
SecretKey string `json:"secretKey,omitempty"`
// Used by Stackdriver
PrivateKey string `json:"privateKey,omitempty"`
// Used by Prometheus and Elasticsearch
SigV4AccessKey string `json:"sigV4AccessKey,omitempty"`
SigV4SecretKey string `json:"sigV4SecretKey,omitempty"`
}
SecureJSONData is a representation of the datasource `secureJsonData` property
type Team ¶
type Team struct {
ID int64 `json:"id,omitempty"`
OrgID int64 `json:"orgId,omitempty"`
Name string `json:"name"`
Email string `json:"email,omitempty"`
AvatarURL string `json:"avatarUrl,omitempty"`
MemberCount int64 `json:"memberCount,omitempty"`
Permission int64 `json:"permission,omitempty"`
}
Team consists of a get response It's used in Add and Update API
type TeamGroup ¶
type TeamGroup struct {
OrgID int64 `json:"orgId,omitempty"`
TeamID int64 `json:"teamId,omitempty"`
GroupID string `json:"groupID,omitempty"`
}
TeamGroup represents a Grafana TeamGroup.
type TeamMember ¶
type TeamMember struct {
OrgID int64 `json:"orgId,omitempty"`
TeamID int64 `json:"teamId,omitempty"`
UserID int64 `json:"userID,omitempty"`
Email string `json:"email,omitempty"`
Login string `json:"login,omitempty"`
AvatarURL string `json:"avatarUrl,omitempty"`
Permission int64 `json:"permission,omitempty"`
}
TeamMember represents a Grafana team member.
type User ¶
type User struct {
ID int64 `json:"id,omitempty"`
Email string `json:"email,omitempty"`
Name string `json:"name,omitempty"`
Login string `json:"login,omitempty"`
Theme string `json:"theme,omitempty"`
OrgID int64 `json:"orgId,omitempty"`
IsAdmin bool `json:"isGrafanaAdmin,omitempty"`
IsDisabled bool `json:"isDisabled,omitempty"`
IsExternal bool `json:"isExternal,omitempty"`
UpdatedAt time.Time `json:"updatedAt,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty"`
AuthLabels []string `json:"authLabels,omitempty"`
AvatarURL string `json:"avatarUrl,omitempty"`
Password string `json:"password,omitempty"`
}
User represents a Grafana user. It is structured after the UserProfileDTO struct in the Grafana codebase.
type UserSearch ¶
type UserSearch struct {
ID int64 `json:"id,omitempty"`
Email string `json:"email,omitempty"`
Name string `json:"name,omitempty"`
Login string `json:"login,omitempty"`
IsAdmin bool `json:"isAdmin,omitempty"`
IsDisabled bool `json:"isDisabled,omitempty"`
LastSeenAt time.Time `json:"lastSeenAt,omitempty"`
LastSeenAtAge string `json:"lastSeenAtAge,omitempty"`
AuthLabels []string `json:"authLabels,omitempty"`
AvatarURL string `json:"avatarUrl,omitempty"`
}
UserSearch represents a Grafana user as returned by API endpoints that return a collection of Grafana users. This representation of user has reduced and differing fields. It is structured after the UserSearchHitDTO struct in the Grafana codebase.
Source Files
¶
- admin.go
- alert.go
- alertnotification.go
- annotation.go
- api_key.go
- builtin_role_assignments.go
- client.go
- dashboard.go
- dashboard_permissions.go
- datasource.go
- datasource_permissions.go
- folder.go
- folder_dashboard_search.go
- folder_permissions.go
- mock.go
- org_users.go
- orgs.go
- playlist.go
- role.go
- team.go
- team_external_group.go
- user.go