Documentation
¶
Index ¶
- Constants
- Variables
- func BuildResourceFolder(folderName string, resourceType config.ResourceType) string
- func DefaultUserPassword(username string) string
- func GetSlug(title string) string
- func NewConnectionFilter(name string) filters.Filter
- func NewDashboardFilter(entries ...string) filters.Filter
- func NewFolderFilter() filters.Filter
- func NewTeamFilter(entries ...string) filters.Filter
- func NewUserFilter(label string) filters.Filter
- type AlertNotificationsApi
- type AuthenticationApi
- type CloudStorage
- type ConnectionPermissions
- type ConnectionsApi
- type ContextStorage
- type DashNGoImpl
- func (s *DashNGoImpl) AddUserToOrg(role string, userId, orgId int64) error
- func (s *DashNGoImpl) CreateAPIKey(name, role string, expiration int64) (*models.NewAPIKeyResult, error)
- func (s *DashNGoImpl) CreateServiceAccount(name, role string, expiration int64) (*models.ServiceAccountDTO, error)
- func (s *DashNGoImpl) CreateServiceAccountToken(serviceAccountId int64, name string, expiration int64) (*models.NewAPIKeyResult, error)
- func (s *DashNGoImpl) DeleteAllAlertNotifications() []string
- func (s *DashNGoImpl) DeleteAllConnectionPermissions(filter filters.Filter) []string
- func (s *DashNGoImpl) DeleteAllConnections(filter filters.Filter) []string
- func (s *DashNGoImpl) DeleteAllDashboards(filter filters.Filter) []string
- func (s *DashNGoImpl) DeleteAllFolders(filter filters.Filter) []string
- func (s *DashNGoImpl) DeleteAllLibraryElements(filter filters.Filter) []string
- func (s *DashNGoImpl) DeleteAllServiceAccounts() []string
- func (s *DashNGoImpl) DeleteAllTokens() []string
- func (s *DashNGoImpl) DeleteAllUsers(filter filters.Filter) []string
- func (s *DashNGoImpl) DeleteServiceAccountTokens(serviceId int64) []string
- func (s *DashNGoImpl) DeleteTeam(filter filters.Filter) ([]*models.TeamDTO, error)
- func (s *DashNGoImpl) DeleteUserFromOrg(userId, orgId int64) error
- func (s *DashNGoImpl) DownloadAlertNotifications() []string
- func (s *DashNGoImpl) DownloadConnectionPermissions(filter filters.Filter) []string
- func (s *DashNGoImpl) DownloadConnections(filter filters.Filter) []string
- func (s *DashNGoImpl) DownloadDashboards(filter filters.Filter) []string
- func (s *DashNGoImpl) DownloadFolderPermissions(filter filters.Filter) []string
- func (s *DashNGoImpl) DownloadFolders(filter filters.Filter) []string
- func (s *DashNGoImpl) DownloadLibraryElements(filter filters.Filter) []string
- func (s *DashNGoImpl) DownloadOrganizations() []string
- func (s *DashNGoImpl) DownloadTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
- func (s *DashNGoImpl) DownloadUsers(filter filters.Filter) []string
- func (s *DashNGoImpl) GetAdminClient() *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetBasicAuthClient() *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetClient() *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetServerInfo() map[string]interface{}
- func (s *DashNGoImpl) GetTokenOrganization() *models.OrgDetailsDTO
- func (s *DashNGoImpl) GetUserInfo() (*models.UserProfileDTO, error)
- func (s *DashNGoImpl) GetUserOrganization() *models.OrgDetailsDTO
- func (s *DashNGoImpl) InitOrganizations()
- func (s *DashNGoImpl) ListAPIKeys() []*models.APIKeyDTO
- func (s *DashNGoImpl) ListAlertNotifications() []*models.AlertNotification
- func (s *DashNGoImpl) ListConnectionPermissions(filter filters.Filter) map[*models.DataSourceListItemDTO]*models.DataSourcePermissionsDTO
- func (s *DashNGoImpl) ListConnections(filter filters.Filter) []models.DataSourceListItemDTO
- func (s *DashNGoImpl) ListDashboards(filterReq filters.Filter) []*models.Hit
- func (s *DashNGoImpl) ListFolder(filter filters.Filter) []*models.Hit
- func (s *DashNGoImpl) ListFolderPermissions(filter filters.Filter) map[*models.Hit][]*models.DashboardACLInfoDTO
- func (s *DashNGoImpl) ListLibraryElements(filter filters.Filter) []*models.LibraryElementDTO
- func (s *DashNGoImpl) ListLibraryElementsConnections(filter filters.Filter, connectionID string) []*models.DashboardFullWithMeta
- func (s *DashNGoImpl) ListOrgUsers(orgId int64) []*models.OrgUserDTO
- func (s *DashNGoImpl) ListOrganizations() []*models.OrgDTO
- func (s *DashNGoImpl) ListServiceAccounts() []*types.ServiceAccountDTOWithTokens
- func (s *DashNGoImpl) ListServiceAccountsTokens(id int64) ([]*models.TokenDTO, error)
- func (s *DashNGoImpl) ListTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
- func (s *DashNGoImpl) ListUsers(filter filters.Filter) []*models.UserSearchHitDTO
- func (s *DashNGoImpl) Login()
- func (s *DashNGoImpl) PromoteUser(userLogin string) (string, error)
- func (s *DashNGoImpl) SetOrganization(id int64) error
- func (s *DashNGoImpl) SetStorage(v Storage)
- func (s *DashNGoImpl) SetUserOrganizations(id int64) error
- func (s *DashNGoImpl) SwitchOrganization(id int64) error
- func (s *DashNGoImpl) UpdateCurrentOrganization(name string) error
- func (s *DashNGoImpl) UpdateUserInOrg(role string, userId, orgId int64) error
- func (s *DashNGoImpl) UploadAlertNotifications() []string
- func (s *DashNGoImpl) UploadConnectionPermissions(filter filters.Filter) []string
- func (s *DashNGoImpl) UploadConnections(filter filters.Filter) []string
- func (s *DashNGoImpl) UploadDashboards(filterReq filters.Filter)
- func (s *DashNGoImpl) UploadFolderPermissions(filter filters.Filter) []string
- func (s *DashNGoImpl) UploadFolders(filter filters.Filter) []string
- func (s *DashNGoImpl) UploadLibraryElements(filter filters.Filter) []string
- func (s *DashNGoImpl) UploadOrganizations() []string
- func (s *DashNGoImpl) UploadTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
- func (s *DashNGoImpl) UploadUsers(filter filters.Filter) []models.UserProfileDTO
- type DashboardsApi
- type FoldersApi
- type GrafanaService
- type LibraryElementsApi
- type LocalStorage
- type NewClientOpts
- type OrganizationsApi
- type ServiceAccountApi
- type Storage
- type TeamsApi
- type TokenApi
- type UserPermission
- type UsersApi
Constants ¶
const ( CloudType = "cloud_type" BucketName = "bucket_name" Prefix = "prefix" Kind = "kind" Custom = "custom" AccessId = "access_id" SecretKey = "secret_key" Endpoint = "endpoint" Region = "region" SSLEnabled = "ssl_enabled" InitBucket = "init_bucket" )
const (
AdminUserPermission = 4
)
const StorageContext = ContextStorage("storage")
Variables ¶
var ( DefaultFolderName = "General" DefaultFolderId = int64(0) )
Functions ¶
func BuildResourceFolder ¶ added in v0.5.2
func BuildResourceFolder(folderName string, resourceType config.ResourceType) string
func DefaultUserPassword ¶
func NewConnectionFilter ¶ added in v0.5.0
NewConnectionFilter
func NewDashboardFilter ¶
func NewFolderFilter ¶
func NewTeamFilter ¶
func NewUserFilter ¶ added in v0.4.5
Types ¶
type AlertNotificationsApi ¶
type AlertNotificationsApi interface {
ListAlertNotifications() []*models.AlertNotification
DownloadAlertNotifications() []string
UploadAlertNotifications() []string
DeleteAllAlertNotifications() []string
}
AlertNotificationsApi Contract definition Deprecated: Marked as Deprecated as of Grafana 9.0, Moving to ContactPoints is recommended
type AuthenticationApi ¶
type AuthenticationApi interface {
TokenApi
ServiceAccountApi
Login()
}
AuthenticationApi Contract definition
type CloudStorage ¶
type CloudStorage struct {
BucketRef *blob.Bucket
BucketName string
Prefix string
StorageName string
}
func (*CloudStorage) FindAllFiles ¶
func (s *CloudStorage) FindAllFiles(folder string, fullPath bool) ([]string, error)
func (*CloudStorage) Name ¶
func (s *CloudStorage) Name() string
type ConnectionPermissions ¶ added in v0.5.0
type ConnectionPermissions interface {
// Permissions Enterprise only
ListConnectionPermissions(filter filters.Filter) map[*models.DataSourceListItemDTO]*models.DataSourcePermissionsDTO
DownloadConnectionPermissions(filter filters.Filter) []string
UploadConnectionPermissions(filter filters.Filter) []string
DeleteAllConnectionPermissions(filter filters.Filter) []string
}
type ConnectionsApi ¶ added in v0.5.0
type ConnectionsApi interface {
ListConnections(filter filters.Filter) []models.DataSourceListItemDTO
DownloadConnections(filter filters.Filter) []string
UploadConnections(filter filters.Filter) []string
DeleteAllConnections(filter filters.Filter) []string
ConnectionPermissions
}
ConnectionsApi Contract definition
type ContextStorage ¶
type ContextStorage string
type DashNGoImpl ¶
type DashNGoImpl struct {
// contains filtered or unexported fields
}
func NewDashNGoImpl ¶
func NewDashNGoImpl() *DashNGoImpl
func (*DashNGoImpl) AddUserToOrg ¶ added in v0.5.0
func (s *DashNGoImpl) AddUserToOrg(role string, userId, orgId int64) error
func (*DashNGoImpl) CreateAPIKey ¶
func (s *DashNGoImpl) CreateAPIKey(name, role string, expiration int64) (*models.NewAPIKeyResult, error)
CreateAPIKey create a new key for the given role and expiration specified
func (*DashNGoImpl) CreateServiceAccount ¶
func (s *DashNGoImpl) CreateServiceAccount(name, role string, expiration int64) (*models.ServiceAccountDTO, error)
func (*DashNGoImpl) CreateServiceAccountToken ¶
func (s *DashNGoImpl) CreateServiceAccountToken(serviceAccountId int64, name string, expiration int64) (*models.NewAPIKeyResult, error)
func (*DashNGoImpl) DeleteAllAlertNotifications ¶
func (s *DashNGoImpl) DeleteAllAlertNotifications() []string
Removes all current alert notification channels
func (*DashNGoImpl) DeleteAllConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteAllConnectionPermissions(filter filters.Filter) []string
DeleteAllConnectionPermissions clear all non-default permissions from all connections
func (*DashNGoImpl) DeleteAllConnections ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteAllConnections(filter filters.Filter) []string
DeleteAllConnections Removes all current datasources
func (*DashNGoImpl) DeleteAllDashboards ¶
func (s *DashNGoImpl) DeleteAllDashboards(filter filters.Filter) []string
DeleteAllDashboards clears all current dashboards being monitored. Any folder not white listed will not be affected
func (*DashNGoImpl) DeleteAllFolders ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteAllFolders(filter filters.Filter) []string
DeleteAllFolders deletes all the matching folders from grafana
func (*DashNGoImpl) DeleteAllLibraryElements ¶
func (s *DashNGoImpl) DeleteAllLibraryElements(filter filters.Filter) []string
DeleteAllLibraryElements deletes all the Library Elements
func (*DashNGoImpl) DeleteAllServiceAccounts ¶
func (s *DashNGoImpl) DeleteAllServiceAccounts() []string
func (*DashNGoImpl) DeleteAllTokens ¶
func (s *DashNGoImpl) DeleteAllTokens() []string
DeleteAllTokens Deletes all known tokens
func (*DashNGoImpl) DeleteAllUsers ¶
func (s *DashNGoImpl) DeleteAllUsers(filter filters.Filter) []string
DeleteAllUsers remove all users excluding admin or anything matching the filter
func (*DashNGoImpl) DeleteServiceAccountTokens ¶
func (s *DashNGoImpl) DeleteServiceAccountTokens(serviceId int64) []string
func (*DashNGoImpl) DeleteTeam ¶
DeleteTeam removes all Teams
func (*DashNGoImpl) DeleteUserFromOrg ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteUserFromOrg(userId, orgId int64) error
func (*DashNGoImpl) DownloadAlertNotifications ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadAlertNotifications() []string
ImportAlertNotifications: will read in all the configured alert notification channels.
func (*DashNGoImpl) DownloadConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadConnectionPermissions(filter filters.Filter) []string
DownloadConnectionPermissions download permissions to local file system
func (*DashNGoImpl) DownloadConnections ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadConnections(filter filters.Filter) []string
DownloadConnections will read in all the configured datasources. NOTE: credentials cannot be retrieved and need to be set via configuration
func (*DashNGoImpl) DownloadDashboards ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadDashboards(filter filters.Filter) []string
DownloadDashboards saves all dashboards matching query to configured location
func (*DashNGoImpl) DownloadFolderPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadFolderPermissions(filter filters.Filter) []string
DownloadFolderPermissions downloads all the current folder permissions based on filter.
func (*DashNGoImpl) DownloadFolders ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadFolders(filter filters.Filter) []string
DownloadFolders Download all the given folders matching filter
func (*DashNGoImpl) DownloadLibraryElements ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadLibraryElements(filter filters.Filter) []string
DownloadLibraryElements downloads all the Library Elements
func (*DashNGoImpl) DownloadOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadOrganizations() []string
DownloadOrganizations Download organizations
func (*DashNGoImpl) DownloadTeams ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
DownloadTeams fetches all teams for a given Org
func (*DashNGoImpl) DownloadUsers ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadUsers(filter filters.Filter) []string
func (*DashNGoImpl) GetAdminClient ¶ added in v0.5.2
func (s *DashNGoImpl) GetAdminClient() *client.GrafanaHTTPAPI
GetAdminClient Returns the admin defaultClient if one is configured
func (*DashNGoImpl) GetBasicAuthClient ¶ added in v0.5.2
func (s *DashNGoImpl) GetBasicAuthClient() *client.GrafanaHTTPAPI
GetBasicAuthClient returns a basic auth grafana API Client
func (*DashNGoImpl) GetClient ¶ added in v0.5.2
func (s *DashNGoImpl) GetClient() *client.GrafanaHTTPAPI
GetClient Returns a new defaultClient given token precedence over Basic Auth
func (*DashNGoImpl) GetServerInfo ¶
func (s *DashNGoImpl) GetServerInfo() map[string]interface{}
GetServerInfo returns basic Grafana Server info
func (*DashNGoImpl) GetTokenOrganization ¶ added in v0.5.0
func (s *DashNGoImpl) GetTokenOrganization() *models.OrgDetailsDTO
GetTokenOrganization returns the organizations associated with the given token. (This property is immutable)
func (*DashNGoImpl) GetUserInfo ¶ added in v0.5.0
func (s *DashNGoImpl) GetUserInfo() (*models.UserProfileDTO, error)
GetUserInfo get signed-in user info, requires Basic authentication
func (*DashNGoImpl) GetUserOrganization ¶ added in v0.5.0
func (s *DashNGoImpl) GetUserOrganization() *models.OrgDetailsDTO
GetUserOrganization returns the organizations the user is a member of.
func (*DashNGoImpl) InitOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) InitOrganizations()
InitOrganizations will context switch to configured organization and invoke a different call depending on the access level.
func (*DashNGoImpl) ListAPIKeys ¶
func (s *DashNGoImpl) ListAPIKeys() []*models.APIKeyDTO
ListAPIKeys returns a list of all known API Keys and service accounts
func (*DashNGoImpl) ListAlertNotifications ¶
func (s *DashNGoImpl) ListAlertNotifications() []*models.AlertNotification
func (*DashNGoImpl) ListConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) ListConnectionPermissions(filter filters.Filter) map[*models.DataSourceListItemDTO]*models.DataSourcePermissionsDTO
ListConnectionPermissions lists all connection permission matching the given filter
func (*DashNGoImpl) ListConnections ¶ added in v0.5.0
func (s *DashNGoImpl) ListConnections(filter filters.Filter) []models.DataSourceListItemDTO
ListConnections list all the currently configured datasources
func (*DashNGoImpl) ListDashboards ¶
func (s *DashNGoImpl) ListDashboards(filterReq filters.Filter) []*models.Hit
ListDashboards List all dashboards optionally filtered by folder name. If folderFilters is blank, defaults to the configured Monitored folders
func (*DashNGoImpl) ListFolder ¶
func (s *DashNGoImpl) ListFolder(filter filters.Filter) []*models.Hit
ListFolder list the current existing folders that match the given filter.
func (*DashNGoImpl) ListFolderPermissions ¶ added in v0.4.5
func (s *DashNGoImpl) ListFolderPermissions(filter filters.Filter) map[*models.Hit][]*models.DashboardACLInfoDTO
ListFolderPermissions retrieves all current folder permissions TODO: add concurrency to folder permissions calls
func (*DashNGoImpl) ListLibraryElements ¶
func (s *DashNGoImpl) ListLibraryElements(filter filters.Filter) []*models.LibraryElementDTO
func (*DashNGoImpl) ListLibraryElementsConnections ¶
func (s *DashNGoImpl) ListLibraryElementsConnections(filter filters.Filter, connectionID string) []*models.DashboardFullWithMeta
func (*DashNGoImpl) ListOrgUsers ¶ added in v0.5.0
func (s *DashNGoImpl) ListOrgUsers(orgId int64) []*models.OrgUserDTO
func (*DashNGoImpl) ListOrganizations ¶
func (s *DashNGoImpl) ListOrganizations() []*models.OrgDTO
ListOrganizations List all dashboards
func (*DashNGoImpl) ListServiceAccounts ¶
func (s *DashNGoImpl) ListServiceAccounts() []*types.ServiceAccountDTOWithTokens
func (*DashNGoImpl) ListServiceAccountsTokens ¶
func (s *DashNGoImpl) ListServiceAccountsTokens(id int64) ([]*models.TokenDTO, error)
func (*DashNGoImpl) ListTeams ¶
func (s *DashNGoImpl) ListTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
List all Teams
func (*DashNGoImpl) ListUsers ¶
func (s *DashNGoImpl) ListUsers(filter filters.Filter) []*models.UserSearchHitDTO
ListUsers list all grafana users
func (*DashNGoImpl) Login ¶
func (s *DashNGoImpl) Login()
Login sets admin flag and provisions the Extended API for calls unsupported by the OpenAPI spec.
func (*DashNGoImpl) PromoteUser ¶
func (s *DashNGoImpl) PromoteUser(userLogin string) (string, error)
PromoteUser promote the user to have Admin Access
func (*DashNGoImpl) SetOrganization ¶ added in v0.5.0
func (s *DashNGoImpl) SetOrganization(id int64) error
SetOrganization sets organization for a given id.
func (*DashNGoImpl) SetUserOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) SetUserOrganizations(id int64) error
func (*DashNGoImpl) SwitchOrganization ¶ added in v0.5.0
func (s *DashNGoImpl) SwitchOrganization(id int64) error
SwitchOrganization switch organization context
func (*DashNGoImpl) UpdateCurrentOrganization ¶ added in v0.5.0
func (s *DashNGoImpl) UpdateCurrentOrganization(name string) error
func (*DashNGoImpl) UpdateUserInOrg ¶ added in v0.5.0
func (s *DashNGoImpl) UpdateUserInOrg(role string, userId, orgId int64) error
func (*DashNGoImpl) UploadAlertNotifications ¶ added in v0.5.0
func (s *DashNGoImpl) UploadAlertNotifications() []string
ExportAlertNotifications: exports all alert notification channels to grafana. NOTE: credentials will be missing and need to be set manually after export TODO implement configuring sensitive fields for different kinds of alert notification channels
func (*DashNGoImpl) UploadConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) UploadConnectionPermissions(filter filters.Filter) []string
UploadConnectionPermissions upload connection permissions
func (*DashNGoImpl) UploadConnections ¶ added in v0.5.0
func (s *DashNGoImpl) UploadConnections(filter filters.Filter) []string
UploadConnections exports all connections to grafana using the credentials configured in config file.
func (*DashNGoImpl) UploadDashboards ¶ added in v0.5.0
func (s *DashNGoImpl) UploadDashboards(filterReq filters.Filter)
UploadDashboards finds all the dashboards in the configured location and exports them to grafana. if the folder doesn't exist, it'll be created.
func (*DashNGoImpl) UploadFolderPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) UploadFolderPermissions(filter filters.Filter) []string
UploadFolderPermissions update current folder permissions to match local file system. Note: This expects all the current users and teams to already exist.
func (*DashNGoImpl) UploadFolders ¶ added in v0.5.0
func (s *DashNGoImpl) UploadFolders(filter filters.Filter) []string
UploadFolders upload all the given folders to grafana
func (*DashNGoImpl) UploadLibraryElements ¶ added in v0.5.0
func (s *DashNGoImpl) UploadLibraryElements(filter filters.Filter) []string
UploadLibraryElements uploads all the Library Elements
func (*DashNGoImpl) UploadOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) UploadOrganizations() []string
UploadOrganizations Upload organizations to Grafana
func (*DashNGoImpl) UploadTeams ¶ added in v0.5.0
func (s *DashNGoImpl) UploadTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
Export Teams
func (*DashNGoImpl) UploadUsers ¶ added in v0.5.0
func (s *DashNGoImpl) UploadUsers(filter filters.Filter) []models.UserProfileDTO
type DashboardsApi ¶
type DashboardsApi interface {
ListDashboards(filter filters.Filter) []*models.Hit
DownloadDashboards(filter filters.Filter) []string
UploadDashboards(filter filters.Filter)
DeleteAllDashboards(filter filters.Filter) []string
}
DashboardsApi Contract definition
type FoldersApi ¶
type FoldersApi interface {
ListFolder(filter filters.Filter) []*models.Hit
DownloadFolders(filter filters.Filter) []string
UploadFolders(filter filters.Filter) []string
DeleteAllFolders(filter filters.Filter) []string
//Permissions
ListFolderPermissions(filter filters.Filter) map[*models.Hit][]*models.DashboardACLInfoDTO
DownloadFolderPermissions(filter filters.Filter) []string
UploadFolderPermissions(filter filters.Filter) []string
}
FoldersApi Contract definition
type GrafanaService ¶
type GrafanaService interface {
OrganizationsApi
DashboardsApi
ConnectionsApi
AlertNotificationsApi
UsersApi
FoldersApi
LibraryElementsApi
TeamsApi
AuthenticationApi
//MetaData
GetServerInfo() map[string]interface{}
}
func NewApiService ¶
func NewApiService(override ...string) GrafanaService
type LibraryElementsApi ¶
type LibraryElementsApi interface {
ListLibraryElements(filter filters.Filter) []*models.LibraryElementDTO
ListLibraryElementsConnections(filter filters.Filter, connectionID string) []*models.DashboardFullWithMeta
DownloadLibraryElements(filter filters.Filter) []string
UploadLibraryElements(filter filters.Filter) []string
DeleteAllLibraryElements(filter filters.Filter) []string
}
type LocalStorage ¶
type LocalStorage struct {
// contains filtered or unexported fields
}
LocalStorage default storage engine
func (*LocalStorage) FindAllFiles ¶
func (s *LocalStorage) FindAllFiles(folder string, fullPath bool) ([]string, error)
func (*LocalStorage) Name ¶
func (s *LocalStorage) Name() string
type NewClientOpts ¶ added in v0.5.2
type NewClientOpts func(transportConfig *client.TransportConfig)
type OrganizationsApi ¶
type OrganizationsApi interface {
ListOrganizations() []*models.OrgDTO
DownloadOrganizations() []string
UploadOrganizations() []string
SetOrganization(id int64) error
//Manage Active Organization
GetUserOrganization() *models.OrgDetailsDTO
GetTokenOrganization() *models.OrgDetailsDTO
SetUserOrganizations(id int64) error
InitOrganizations()
//Org Users
ListOrgUsers(orgId int64) []*models.OrgUserDTO
AddUserToOrg(role string, userId, orgId int64) error
DeleteUserFromOrg(userId, orgId int64) error
UpdateUserInOrg(role string, userId, orgId int64) error
}
OrganizationsApi Contract definition
type ServiceAccountApi ¶
type ServiceAccountApi interface {
ListServiceAccounts() []*types.ServiceAccountDTOWithTokens
ListServiceAccountsTokens(id int64) ([]*models.TokenDTO, error)
DeleteAllServiceAccounts() []string
DeleteServiceAccountTokens(serviceId int64) []string
CreateServiceAccountToken(name int64, role string, expiration int64) (*models.NewAPIKeyResult, error)
CreateServiceAccount(name, role string, expiration int64) (*models.ServiceAccountDTO, error)
}
type Storage ¶
type Storage interface {
WriteFile(filename string, data []byte) error // WriteFile returns error or writes byte array to destination
ReadFile(filename string) ([]byte, error) // ReadFile returns byte array or error with data from file
FindAllFiles(folder string, fullPath bool) ([]string, error) // FindAllFiles recursively list all files for a given path
Name() string // Name of storage engine
}
TODO: pull all the cloud based interaction into a Plugin System
func NewLocalStorage ¶
type TeamsApi ¶
type TeamsApi interface {
//Team
DownloadTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
UploadTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
ListTeams(filter filters.Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
DeleteTeam(filter filters.Filter) ([]*models.TeamDTO, error)
}
type UserPermission ¶
type UserPermission models.PermissionType
type UsersApi ¶
type UsersApi interface {
//User
ListUsers(filter filters.Filter) []*models.UserSearchHitDTO
DownloadUsers(filter filters.Filter) []string
UploadUsers(filter filters.Filter) []models.UserProfileDTO
PromoteUser(userLogin string) (string, error)
DeleteAllUsers(filter filters.Filter) []string
GetUserInfo() (*models.UserProfileDTO, error)
}
UsersApi Contract definition