Documentation
¶
Index ¶
- Constants
- Variables
- func BuildResourceFolder(cfg *configDomain.GrafanaConfig, folderName string, ...) string
- func ConfigureStorage(cfg *domain.GDGAppConfiguration) (storage.Storage, error)
- func GetSlug(title string) string
- func NewAlertRuleFilter(cfg *configDomain.GDGAppConfiguration, grafanaSvc GrafanaService) filters.V2Filter
- func NewConnectionFilter(name string) filters.V2Filter
- func NewDashboardFilter(cfg *configDomain.GDGAppConfiguration, entries ...string) filters.V2Filter
- func NewFolderFilter(cfg *configDomain.GDGAppConfiguration) filters.V2Filter
- func NewLibraryElementFilter(cfg *configDomain.GDGAppConfiguration) filters.V2Filter
- func NewOrganizationFilter(args ...string) filters.V2Filter
- func NewTeamFilter(entries ...string) filters.V2Filter
- func NewUserFilter(label string) filters.V2Filter
- type AlertContactPoints
- type AlertPolicies
- type AlertRules
- type AlertTemplates
- type AlertTimings
- type AlertingApi
- type AuthenticationApi
- type ConnectionPermissions
- type ConnectionsApi
- type DashNGoImpl
- func (s *DashNGoImpl) AddUserToOrg(role, orgSlug string, userId int64) error
- func (s *DashNGoImpl) ClearAlertNotifications() error
- func (s *DashNGoImpl) ClearAlertRules(filter filters.V2Filter) ([]string, error)
- func (s *DashNGoImpl) ClearAlertTemplates() ([]string, error)
- func (s *DashNGoImpl) ClearAlertTimings() error
- func (s *DashNGoImpl) ClearContactPoints() ([]string, error)
- func (s *DashNGoImpl) ClearDashboardPermissions(filterReq filters.V2Filter) 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) DecodeValue(in string) string
- func (s *DashNGoImpl) DeleteAllConnectionPermissions(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DeleteAllConnections(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DeleteAllDashboards(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DeleteAllFolders(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DeleteAllLibraryElements(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DeleteAllServiceAccounts() []string
- func (s *DashNGoImpl) DeleteAllUsers(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DeleteServiceAccount(accountId int64) error
- func (s *DashNGoImpl) DeleteServiceAccountTokens(serviceId int64) []string
- func (s *DashNGoImpl) DeleteTeam(filter filters.V2Filter) ([]*models.TeamDTO, error)
- func (s *DashNGoImpl) DeleteUserFromOrg(orgSlugName string, userId int64) error
- func (s *DashNGoImpl) DownloadAlertNotifications() (string, error)
- func (s *DashNGoImpl) DownloadAlertRules(filter filters.V2Filter) ([]string, error)
- func (s *DashNGoImpl) DownloadAlertTemplates() (string, error)
- func (s *DashNGoImpl) DownloadAlertTimings() (string, error)
- func (s *DashNGoImpl) DownloadConnectionPermissions(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadConnections(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadContactPoints() (string, error)
- func (s *DashNGoImpl) DownloadDashboardPermissions(filterReq filters.V2Filter) ([]string, error)
- func (s *DashNGoImpl) DownloadDashboards(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadFolderPermissions(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadFolders(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadLibraryElements(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadOrganizations(filter filters.V2Filter) []string
- func (s *DashNGoImpl) DownloadTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
- func (s *DashNGoImpl) DownloadUsers(filter filters.V2Filter) []string
- func (s *DashNGoImpl) EncodeValue(in string) string
- func (s *DashNGoImpl) GetAdminClient() *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetBasicAuthClient() *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetBasicClientWithOpts(opts ...NewClientOpts) *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetClient() *client.GrafanaHTTPAPI
- func (s *DashNGoImpl) GetGdgConfig() *domain.GDGAppConfiguration
- func (s *DashNGoImpl) GetGlobals() *domain.AppGlobals
- func (s *DashNGoImpl) GetOrgPreferences(orgName string) (*models.PreferencesSpec, error)
- func (s *DashNGoImpl) GetServerInfo() map[string]any
- 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) IsEnterprise() bool
- func (s *DashNGoImpl) ListAlertNotifications() (*models.Route, error)
- func (s *DashNGoImpl) ListAlertRules(filter filters.V2Filter) ([]*modelsDomain.AlertRuleWithNestedFolder, error)
- func (s *DashNGoImpl) ListAlertTemplates() ([]*models.NotificationTemplate, error)
- func (s *DashNGoImpl) ListAlertTimings() ([]*models.MuteTimeInterval, error)
- func (s *DashNGoImpl) ListConnectionPermissions(filter filters.V2Filter) []domain.ConnectionPermissionItem
- func (s *DashNGoImpl) ListConnections(filter filters.V2Filter) []models.DataSourceListItemDTO
- func (s *DashNGoImpl) ListContactPoints() ([]*models.EmbeddedContactPoint, error)
- func (s *DashNGoImpl) ListDashboardPermissions(filterReq filters.V2Filter) ([]domain.DashboardAndPermissions, error)
- func (s *DashNGoImpl) ListDashboards(filterReq filters.V2Filter) []*domain.NestedHit
- func (s *DashNGoImpl) ListFolderPermissions(filter filters.V2Filter) map[*domain.NestedHit][]*models.DashboardACLInfoDTO
- func (s *DashNGoImpl) ListFolders(filter filters.V2Filter) []*domain.NestedHit
- func (s *DashNGoImpl) ListLibraryElements(filter filters.V2Filter) []*domain.WithNested[models.LibraryElementDTO]
- func (s *DashNGoImpl) ListLibraryElementsConnections(filter filters.V2Filter, connectionID string) []*models.DashboardFullWithMeta
- func (s *DashNGoImpl) ListOrgUsers(orgId int64) []*models.OrgUserDTO
- func (s *DashNGoImpl) ListOrganizations(filter filters.V2Filter, withPreferences bool) []*domain.OrgsDTOWithPreferences
- func (s *DashNGoImpl) ListServiceAccounts() []*domain.ServiceAccountDTOWithTokens
- func (s *DashNGoImpl) ListServiceAccountsTokens(id int64) ([]*models.TokenDTO, error)
- func (s *DashNGoImpl) ListTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
- func (s *DashNGoImpl) ListUserOrganizations() ([]*models.UserOrgDTO, error)
- func (s *DashNGoImpl) ListUsers(filter filters.V2Filter) []*models.UserSearchHitDTO
- func (s *DashNGoImpl) Login()
- func (s *DashNGoImpl) PromoteUser(userLogin string) (string, error)
- func (s *DashNGoImpl) SetOrganizationByName(name string, useSlug bool) error
- func (s *DashNGoImpl) SetStorage(v storage.Storage)
- func (s *DashNGoImpl) SetUserOrganizations(id int64) error
- func (s *DashNGoImpl) SwitchOrganizationByName(orgName string) error
- func (s *DashNGoImpl) TestCreatedFolders(folderName string) (map[string]string, error)
- func (s *DashNGoImpl) UpdateCurrentOrganization(name string) error
- func (s *DashNGoImpl) UpdateUserInOrg(role, orgSlug string, userId int64) error
- func (s *DashNGoImpl) UploadAlertNotifications() (*models.Route, error)
- func (s *DashNGoImpl) UploadAlertRules(filter filters.V2Filter) error
- func (s *DashNGoImpl) UploadAlertTemplates() ([]string, error)
- func (s *DashNGoImpl) UploadAlertTimings() ([]string, error)
- func (s *DashNGoImpl) UploadConnectionPermissions(filter filters.V2Filter) []string
- func (s *DashNGoImpl) UploadConnections(filter filters.V2Filter) []string
- func (s *DashNGoImpl) UploadContactPoints() ([]string, error)
- func (s *DashNGoImpl) UploadDashboardPermissions(filterReq filters.V2Filter) ([]string, error)
- func (s *DashNGoImpl) UploadDashboards(filterReq filters.V2Filter) ([]string, error)
- func (s *DashNGoImpl) UploadFolderPermissions(filter filters.V2Filter) []string
- func (s *DashNGoImpl) UploadFolders(filter filters.V2Filter) []string
- func (s *DashNGoImpl) UploadLibraryElements(filterReq filters.V2Filter) []string
- func (s *DashNGoImpl) UploadOrgPreferences(orgName string, preferenceRequest *models.PreferencesSpec) error
- func (s *DashNGoImpl) UploadOrganizations(filter filters.V2Filter) []string
- func (s *DashNGoImpl) UploadTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
- func (s *DashNGoImpl) UploadUsers(filter filters.V2Filter) []domain.UserProfileWithAuth
- type DashboardPermissionsApi
- type DashboardsApi
- type FoldersApi
- type GrafanaService
- type LibraryElementsApi
- type LicenseApi
- type NewClientOpts
- type OrgPreferencesApi
- type OrganizationsApi
- type PermissionType
- type ServerInfoApi
- type ServiceAccountApi
- type TeamsApi
- type UserPermission
- type UsersApi
Constants ¶
const ( SrvInfoDBKey = "Database" SrvInfoCommitKey = "Commit" SrvInfoVersionKey = "Version" SrvInfoEnterpriseCommitKey = "EnterpriseCommit" )
const (
AdminUserPermission = 4
)
const (
NestedDashFolderName = "NestedDashFolderName"
)
Variables ¶
var ( DefaultFolderName = "General" SearchTypeFolder = "dash-folder" )
Functions ¶
func BuildResourceFolder ¶ added in v0.5.2
func BuildResourceFolder(cfg *configDomain.GrafanaConfig, folderName string, resourceType domain.ResourceType, createDestination bool, clearOutput bool) string
func ConfigureStorage ¶ added in v0.7.2
func ConfigureStorage(cfg *domain.GDGAppConfiguration) (storage.Storage, error)
func NewAlertRuleFilter ¶ added in v0.9.1
func NewAlertRuleFilter(cfg *configDomain.GDGAppConfiguration, grafanaSvc GrafanaService) filters.V2Filter
func NewConnectionFilter ¶ added in v0.5.0
func NewDashboardFilter ¶
func NewDashboardFilter(cfg *configDomain.GDGAppConfiguration, entries ...string) filters.V2Filter
func NewFolderFilter ¶
func NewFolderFilter(cfg *configDomain.GDGAppConfiguration) filters.V2Filter
func NewLibraryElementFilter ¶ added in v0.8.0
func NewLibraryElementFilter(cfg *configDomain.GDGAppConfiguration) filters.V2Filter
func NewOrganizationFilter ¶ added in v0.6.0
func NewTeamFilter ¶
func NewUserFilter ¶ added in v0.4.5
Types ¶
type AlertContactPoints ¶ added in v0.8.0
type AlertPolicies ¶ added in v0.9.1
type AlertRules ¶ added in v0.8.0
type AlertTemplates ¶ added in v0.8.0
type AlertTimings ¶ added in v0.9.1
type AlertingApi ¶ added in v0.7.2
type AlertingApi interface {
AlertContactPoints
AlertRules
AlertTemplates
AlertPolicies
AlertTimings
}
type AuthenticationApi ¶
type AuthenticationApi interface {
// TokenApi
ServiceAccountApi
Login()
EncodeValue(in string) string
DecodeValue(in string) string
}
AuthenticationApi Contract definition
type ConnectionPermissions ¶ added in v0.5.0
type ConnectionPermissions interface {
// Permissions Enterprise only
ListConnectionPermissions(filter filters.V2Filter) []customModels.ConnectionPermissionItem
DownloadConnectionPermissions(filter filters.V2Filter) []string
UploadConnectionPermissions(filter filters.V2Filter) []string
DeleteAllConnectionPermissions(filter filters.V2Filter) []string
}
type ConnectionsApi ¶ added in v0.5.0
type ConnectionsApi interface {
ListConnections(filter filters.V2Filter) []models.DataSourceListItemDTO
DownloadConnections(filter filters.V2Filter) []string
UploadConnections(filter filters.V2Filter) []string
DeleteAllConnections(filter filters.V2Filter) []string
ConnectionPermissions
}
ConnectionsApi Contract definition
type DashNGoImpl ¶
type DashNGoImpl struct {
// contains filtered or unexported fields
}
func NewDashNGo ¶ added in v0.9.1
func NewDashNGo(cfg *domain.GDGAppConfiguration) *DashNGoImpl
func (*DashNGoImpl) AddUserToOrg ¶ added in v0.5.0
func (s *DashNGoImpl) AddUserToOrg(role, orgSlug string, userId int64) error
func (*DashNGoImpl) ClearAlertNotifications ¶ added in v0.8.0
func (s *DashNGoImpl) ClearAlertNotifications() error
ClearAlertNotifications resets the policy tree to clear alert notifications.
func (*DashNGoImpl) ClearAlertRules ¶ added in v0.8.0
func (s *DashNGoImpl) ClearAlertRules(filter filters.V2Filter) ([]string, error)
func (*DashNGoImpl) ClearAlertTemplates ¶ added in v0.8.0
func (s *DashNGoImpl) ClearAlertTemplates() ([]string, error)
func (*DashNGoImpl) ClearAlertTimings ¶ added in v0.9.1
func (s *DashNGoImpl) ClearAlertTimings() error
ClearAlertTimings deletes all alert timing configurations and returns any error encountered.
func (*DashNGoImpl) ClearContactPoints ¶ added in v0.7.2
func (s *DashNGoImpl) ClearContactPoints() ([]string, error)
func (*DashNGoImpl) ClearDashboardPermissions ¶ added in v0.7.2
func (s *DashNGoImpl) ClearDashboardPermissions(filterReq filters.V2Filter) error
func (*DashNGoImpl) CreateServiceAccount ¶
func (s *DashNGoImpl) CreateServiceAccount(name, role string, expiration int64) (*models.ServiceAccountDTO, error)
TODO: create a method to simply delete a service account.
func (*DashNGoImpl) CreateServiceAccountToken ¶
func (s *DashNGoImpl) CreateServiceAccountToken(serviceAccountId int64, name string, expiration int64) (*models.NewAPIKeyResult, error)
func (*DashNGoImpl) DecodeValue ¶ added in v0.9.1
func (s *DashNGoImpl) DecodeValue(in string) string
func (*DashNGoImpl) DeleteAllConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteAllConnectionPermissions(filter filters.V2Filter) []string
DeleteAllConnectionPermissions clear all non-default permissions from all connections
func (*DashNGoImpl) DeleteAllConnections ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteAllConnections(filter filters.V2Filter) []string
DeleteAllConnections Removes all current datasources
func (*DashNGoImpl) DeleteAllDashboards ¶
func (s *DashNGoImpl) DeleteAllDashboards(filter filters.V2Filter) []string
DeleteAllDashboards clears all current dashboards being monitored. Any folder not whitelisted will not be affected
func (*DashNGoImpl) DeleteAllFolders ¶ added in v0.5.0
func (s *DashNGoImpl) DeleteAllFolders(filter filters.V2Filter) []string
DeleteAllFolders deletes all the matching folders from grafana
func (*DashNGoImpl) DeleteAllLibraryElements ¶
func (s *DashNGoImpl) DeleteAllLibraryElements(filter filters.V2Filter) []string
DeleteAllLibraryElements deletes all the Library Elements
func (*DashNGoImpl) DeleteAllServiceAccounts ¶
func (s *DashNGoImpl) DeleteAllServiceAccounts() []string
func (*DashNGoImpl) DeleteAllUsers ¶
func (s *DashNGoImpl) DeleteAllUsers(filter filters.V2Filter) []string
DeleteAllUsers remove all users excluding admin or anything matching the filter
func (*DashNGoImpl) DeleteServiceAccount ¶ added in v0.8.0
func (s *DashNGoImpl) DeleteServiceAccount(accountId int64) error
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(orgSlugName string, userId int64) error
func (*DashNGoImpl) DownloadAlertNotifications ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadAlertNotifications() (string, error)
DownloadAlertNotifications retrieves alert notifications, serializes them to JSON, writes the file to disk/s3, and returns the file path or an error.
func (*DashNGoImpl) DownloadAlertRules ¶ added in v0.8.0
func (s *DashNGoImpl) DownloadAlertRules(filter filters.V2Filter) ([]string, error)
func (*DashNGoImpl) DownloadAlertTemplates ¶ added in v0.8.0
func (s *DashNGoImpl) DownloadAlertTemplates() (string, error)
func (*DashNGoImpl) DownloadAlertTimings ¶ added in v0.9.1
func (s *DashNGoImpl) DownloadAlertTimings() (string, error)
DownloadAlertTimings retrieves alert timings, serializes to JSON, writes to file, and returns the file path or error.
func (*DashNGoImpl) DownloadConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadConnectionPermissions(filter filters.V2Filter) []string
DownloadConnectionPermissions download permissions to local file system
func (*DashNGoImpl) DownloadConnections ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadConnections(filter filters.V2Filter) []string
DownloadConnections will read in all the configured datasources. NOTE: credentials cannot be retrieved and need to be set via configuration
func (*DashNGoImpl) DownloadContactPoints ¶ added in v0.7.2
func (s *DashNGoImpl) DownloadContactPoints() (string, error)
func (*DashNGoImpl) DownloadDashboardPermissions ¶ added in v0.7.2
func (s *DashNGoImpl) DownloadDashboardPermissions(filterReq filters.V2Filter) ([]string, error)
func (*DashNGoImpl) DownloadDashboards ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadDashboards(filter filters.V2Filter) []string
DownloadDashboards saves all dashboards matching query to configured location
func (*DashNGoImpl) DownloadFolderPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadFolderPermissions(filter filters.V2Filter) []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.V2Filter) []string
DownloadFolders Download all the given folders matching filter
func (*DashNGoImpl) DownloadLibraryElements ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadLibraryElements(filter filters.V2Filter) []string
DownloadLibraryElements downloads all the Library Elements
func (*DashNGoImpl) DownloadOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadOrganizations(filter filters.V2Filter) []string
DownloadOrganizations Download organizations
func (*DashNGoImpl) DownloadTeams ¶ added in v0.5.0
func (s *DashNGoImpl) DownloadTeams(filter filters.V2Filter) 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.V2Filter) []string
func (*DashNGoImpl) EncodeValue ¶ added in v0.9.1
func (s *DashNGoImpl) EncodeValue(in string) 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) GetBasicClientWithOpts ¶ added in v0.7.1
func (s *DashNGoImpl) GetBasicClientWithOpts(opts ...NewClientOpts) *client.GrafanaHTTPAPI
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) GetGdgConfig ¶ added in v0.9.1
func (s *DashNGoImpl) GetGdgConfig() *domain.GDGAppConfiguration
func (*DashNGoImpl) GetGlobals ¶ added in v0.9.1
func (s *DashNGoImpl) GetGlobals() *domain.AppGlobals
func (*DashNGoImpl) GetOrgPreferences ¶ added in v0.6.0
func (s *DashNGoImpl) GetOrgPreferences(orgName string) (*models.PreferencesSpec, error)
GetOrgPreferences returns the preferences for a given Org orgName: The name of the organization whose preferences we should retrieve
func (*DashNGoImpl) GetServerInfo ¶
func (s *DashNGoImpl) GetServerInfo() map[string]any
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) IsEnterprise ¶ added in v0.7.1
func (s *DashNGoImpl) IsEnterprise() bool
IsEnterprise will return a valid response if the grafana version is running an enterprise version
func (*DashNGoImpl) ListAlertNotifications ¶
func (s *DashNGoImpl) ListAlertNotifications() (*models.Route, error)
ListAlertNotifications retrieves the current alert notification policy tree.
func (*DashNGoImpl) ListAlertRules ¶ added in v0.8.0
func (s *DashNGoImpl) ListAlertRules(filter filters.V2Filter) ([]*modelsDomain.AlertRuleWithNestedFolder, error)
func (*DashNGoImpl) ListAlertTemplates ¶ added in v0.8.0
func (s *DashNGoImpl) ListAlertTemplates() ([]*models.NotificationTemplate, error)
func (*DashNGoImpl) ListAlertTimings ¶ added in v0.9.1
func (s *DashNGoImpl) ListAlertTimings() ([]*models.MuteTimeInterval, error)
ListAlertTimings retrieves the current mute timing intervals for alerts.
func (*DashNGoImpl) ListConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) ListConnectionPermissions(filter filters.V2Filter) []domain.ConnectionPermissionItem
ListConnectionPermissions lists all connection permission matching the given filter
func (*DashNGoImpl) ListConnections ¶ added in v0.5.0
func (s *DashNGoImpl) ListConnections(filter filters.V2Filter) []models.DataSourceListItemDTO
ListConnections list all the currently configured connections
func (*DashNGoImpl) ListContactPoints ¶ added in v0.7.2
func (s *DashNGoImpl) ListContactPoints() ([]*models.EmbeddedContactPoint, error)
func (*DashNGoImpl) ListDashboardPermissions ¶ added in v0.7.2
func (s *DashNGoImpl) ListDashboardPermissions(filterReq filters.V2Filter) ([]domain.DashboardAndPermissions, error)
func (*DashNGoImpl) ListDashboards ¶
func (s *DashNGoImpl) ListDashboards(filterReq filters.V2Filter) []*domain.NestedHit
ListDashboards List all dashboards optionally filtered by folder name. If folderFilters is blank, defaults to the configured Monitored folders
func (*DashNGoImpl) ListFolderPermissions ¶ added in v0.4.5
func (s *DashNGoImpl) ListFolderPermissions(filter filters.V2Filter) map[*domain.NestedHit][]*models.DashboardACLInfoDTO
ListFolderPermissions retrieves all current folder permissions TODO: add concurrency to folder permissions calls
func (*DashNGoImpl) ListFolders ¶ added in v0.7.1
func (s *DashNGoImpl) ListFolders(filter filters.V2Filter) []*domain.NestedHit
ListFolders list the current existing folders that match the given filter.
func (*DashNGoImpl) ListLibraryElements ¶
func (s *DashNGoImpl) ListLibraryElements(filter filters.V2Filter) []*domain.WithNested[models.LibraryElementDTO]
func (*DashNGoImpl) ListLibraryElementsConnections ¶
func (s *DashNGoImpl) ListLibraryElementsConnections(filter filters.V2Filter, 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(filter filters.V2Filter, withPreferences bool) []*domain.OrgsDTOWithPreferences
ListOrganizations List all dashboards
func (*DashNGoImpl) ListServiceAccounts ¶
func (s *DashNGoImpl) ListServiceAccounts() []*domain.ServiceAccountDTOWithTokens
func (*DashNGoImpl) ListServiceAccountsTokens ¶
func (s *DashNGoImpl) ListServiceAccountsTokens(id int64) ([]*models.TokenDTO, error)
func (*DashNGoImpl) ListTeams ¶
func (s *DashNGoImpl) ListTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
ListTeams List all Teams in a given org
func (*DashNGoImpl) ListUserOrganizations ¶ added in v0.6.0
func (s *DashNGoImpl) ListUserOrganizations() ([]*models.UserOrgDTO, error)
func (*DashNGoImpl) ListUsers ¶
func (s *DashNGoImpl) ListUsers(filter filters.V2Filter) []*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) SetOrganizationByName ¶ added in v0.6.0
func (s *DashNGoImpl) SetOrganizationByName(name string, useSlug bool) error
func (*DashNGoImpl) SetStorage ¶
func (s *DashNGoImpl) SetStorage(v storage.Storage)
func (*DashNGoImpl) SetUserOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) SetUserOrganizations(id int64) error
func (*DashNGoImpl) SwitchOrganizationByName ¶ added in v0.6.0
func (s *DashNGoImpl) SwitchOrganizationByName(orgName string) error
SwitchOrganizationByName switch organization context
func (*DashNGoImpl) TestCreatedFolders ¶ added in v0.8.0
func (s *DashNGoImpl) TestCreatedFolders(folderName string) (map[string]string, error)
TestCreatedFolders entry point to allow for test to validate behavior independent of any other code path
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, orgSlug string, userId int64) error
func (*DashNGoImpl) UploadAlertNotifications ¶ added in v0.5.0
func (s *DashNGoImpl) UploadAlertNotifications() (*models.Route, error)
UploadAlertNotifications uploads alert notification policies from file to Grafana and returns updated list.
func (*DashNGoImpl) UploadAlertRules ¶ added in v0.8.0
func (s *DashNGoImpl) UploadAlertRules(filter filters.V2Filter) error
func (*DashNGoImpl) UploadAlertTemplates ¶ added in v0.8.0
func (s *DashNGoImpl) UploadAlertTemplates() ([]string, error)
func (*DashNGoImpl) UploadAlertTimings ¶ added in v0.9.1
func (s *DashNGoImpl) UploadAlertTimings() ([]string, error)
UploadAlertTimings uploads mute timing intervals from a JSON file to the provisioning API. It returns the names of successfully uploaded timings or an error if reading/parsing fails.
func (*DashNGoImpl) UploadConnectionPermissions ¶ added in v0.5.0
func (s *DashNGoImpl) UploadConnectionPermissions(filter filters.V2Filter) []string
UploadConnectionPermissions upload connection permissions
func (*DashNGoImpl) UploadConnections ¶ added in v0.5.0
func (s *DashNGoImpl) UploadConnections(filter filters.V2Filter) []string
UploadConnections exports all connections to grafana using the credentials configured in config file.
func (*DashNGoImpl) UploadContactPoints ¶ added in v0.7.2
func (s *DashNGoImpl) UploadContactPoints() ([]string, error)
func (*DashNGoImpl) UploadDashboardPermissions ¶ added in v0.7.2
func (s *DashNGoImpl) UploadDashboardPermissions(filterReq filters.V2Filter) ([]string, error)
func (*DashNGoImpl) UploadDashboards ¶ added in v0.5.0
func (s *DashNGoImpl) UploadDashboards(filterReq filters.V2Filter) ([]string, error)
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.V2Filter) []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.V2Filter) []string
UploadFolders upload all the given folders to grafana TODO: handle setting parent
func (*DashNGoImpl) UploadLibraryElements ¶ added in v0.5.0
func (s *DashNGoImpl) UploadLibraryElements(filterReq filters.V2Filter) []string
UploadLibraryElements uploads all the Library Elements
func (*DashNGoImpl) UploadOrgPreferences ¶ added in v0.6.0
func (s *DashNGoImpl) UploadOrgPreferences(orgName string, preferenceRequest *models.PreferencesSpec) error
UploadOrgPreferences Updates the preferences for a given organization. Returns error if org is not found.
func (*DashNGoImpl) UploadOrganizations ¶ added in v0.5.0
func (s *DashNGoImpl) UploadOrganizations(filter filters.V2Filter) []string
UploadOrganizations Upload organizations to Grafana
func (*DashNGoImpl) UploadTeams ¶ added in v0.5.0
func (s *DashNGoImpl) UploadTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
UploadTeams Export Teams
func (*DashNGoImpl) UploadUsers ¶ added in v0.5.0
func (s *DashNGoImpl) UploadUsers(filter filters.V2Filter) []domain.UserProfileWithAuth
type DashboardPermissionsApi ¶ added in v0.7.2
type DashboardPermissionsApi interface {
ListDashboardPermissions(filterReq filters.V2Filter) ([]customModels.DashboardAndPermissions, error)
DownloadDashboardPermissions(filterReq filters.V2Filter) ([]string, error)
ClearDashboardPermissions(filterReq filters.V2Filter) error
UploadDashboardPermissions(filterReq filters.V2Filter) ([]string, error)
}
type DashboardsApi ¶
type DashboardsApi interface {
ListDashboards(filter filters.V2Filter) []*customModels.NestedHit
DownloadDashboards(filter filters.V2Filter) []string
UploadDashboards(filterReq filters.V2Filter) ([]string, error)
DeleteAllDashboards(filter filters.V2Filter) []string
}
DashboardsApi Contract definition
type FoldersApi ¶
type FoldersApi interface {
ListFolders(filter filters.V2Filter) []*customModels.NestedHit
DownloadFolders(filter filters.V2Filter) []string
UploadFolders(filter filters.V2Filter) []string
DeleteAllFolders(filter filters.V2Filter) []string
// Permissions
ListFolderPermissions(filter filters.V2Filter) map[*customModels.NestedHit][]*models.DashboardACLInfoDTO
DownloadFolderPermissions(filter filters.V2Filter) []string
UploadFolderPermissions(filter filters.V2Filter) []string
}
FoldersApi Contract definition
type GrafanaService ¶
type GrafanaService interface {
OrganizationsApi
DashboardsApi
DashboardPermissionsApi
ConnectionsApi
UsersApi
FoldersApi
LibraryElementsApi
TeamsApi
AlertingApi
AuthenticationApi
// MetaData
ServerInfoApi
LicenseApi
}
func NewTestApiService ¶ added in v0.7.2
func NewTestApiService(storageEngine storage.Storage, cfg *domain.GDGAppConfiguration) GrafanaService
type LibraryElementsApi ¶
type LibraryElementsApi interface {
ListLibraryElements(filter filters.V2Filter) []*customModels.WithNested[models.LibraryElementDTO]
ListLibraryElementsConnections(filter filters.V2Filter, connectionID string) []*models.DashboardFullWithMeta
DownloadLibraryElements(filter filters.V2Filter) []string
UploadLibraryElements(filter filters.V2Filter) []string
DeleteAllLibraryElements(filter filters.V2Filter) []string
}
type LicenseApi ¶ added in v0.7.1
type LicenseApi interface {
IsEnterprise() bool
}
type NewClientOpts ¶ added in v0.5.2
type NewClientOpts func(transportConfig *client.TransportConfig)
func GetOrgNameClientOpts ¶ added in v0.7.1
func GetOrgNameClientOpts(cfg *domain.GDGAppConfiguration) NewClientOpts
type OrgPreferencesApi ¶ added in v0.6.0
type OrgPreferencesApi interface {
GetOrgPreferences(orgName string) (*models.PreferencesSpec, error)
UploadOrgPreferences(orgName string, pref *models.PreferencesSpec) error
}
OrgPreferencesApi Contract definition
type OrganizationsApi ¶
type OrganizationsApi interface {
OrgPreferencesApi
InitOrganizations()
// contains filtered or unexported methods
}
OrganizationsApi Contract definition
type PermissionType ¶ added in v0.7.1
type PermissionType string
const ( ConnectionUserPermission PermissionType = "UserPermission" ConnectionTeamPermission PermissionType = "TeamPermission" ConnectionRolePermission PermissionType = "RolePermission" )
type ServerInfoApi ¶ added in v0.6.0
type ServiceAccountApi ¶
type ServiceAccountApi interface {
ListServiceAccounts() []*customModels.ServiceAccountDTOWithTokens
ListServiceAccountsTokens(id int64) ([]*models.TokenDTO, error)
DeleteServiceAccount(accountId int64) error
DeleteAllServiceAccounts() []string
DeleteServiceAccountTokens(serviceId int64) []string
CreateServiceAccountToken(serviceAccountId int64, name string, expiration int64) (*models.NewAPIKeyResult, error)
CreateServiceAccount(name, role string, expiration int64) (*models.ServiceAccountDTO, error)
}
type TeamsApi ¶
type TeamsApi interface {
// Team
DownloadTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
UploadTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
ListTeams(filter filters.V2Filter) map[*models.TeamDTO][]*models.TeamMemberDTO
DeleteTeam(filter filters.V2Filter) ([]*models.TeamDTO, error)
}
type UserPermission ¶
type UserPermission models.PermissionType
type UsersApi ¶
type UsersApi interface {
// UserApi
ListUsers(filter filters.V2Filter) []*models.UserSearchHitDTO
DownloadUsers(filter filters.V2Filter) []string
UploadUsers(filter filters.V2Filter) []customModels.UserProfileWithAuth
DeleteAllUsers(filter filters.V2Filter) []string
// Tools
PromoteUser(userLogin string) (string, error)
GetUserInfo() (*models.UserProfileDTO, error)
}
UsersApi Contract definition
Source Files
¶
- alerting_alertrules.go
- alerting_contactpoints.go
- alerting_notifications.go
- alerting_templates.go
- alerting_timings.go
- cipher_helper.go
- common.go
- connection_permissions.go
- connections.go
- contracts.go
- dashboard_permissions.go
- dashboards.go
- folders.go
- gdg_api.go
- libraryelements.go
- license.go
- login.go
- org_preferences.go
- organizations.go
- server.go
- serviceaccounts.go
- teams.go
- user.go