grafana

package
v4.18.0 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2025 License: MPL-2.0 Imports: 62 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FolderTitleOrUIDMissing       = "either title or uid must be set"
	FolderWithTitleNotFound       = "folder with title %s not found"
	FolderWithUIDNotFound         = "folder with uid %s not found"
	FolderWithTitleAndUIDNotFound = "folder with title %s and uid %s not found"
)

The following consts are only exported for usage in tests

View Source
const PolicySingletonID = "policy"

Variables

View Source
var DataSources = addValidationToDataSources(
	datasourceDashboard(),
	datasourceDashboards(),
	datasourceDatasource(),
	datasourceFolder(),
	datasourceFolders(),
	datasourceLibraryPanel(),
	datasourceLibraryPanels(),
	datasourceUser(),
	datasourceUsers(),
	datasourceOrganizationUser(),
	datasourceRole(),
	datasourceServiceAccount(),
	datasourceTeam(),
	datasourceOrganization(),
	datasourceOrganizationPreferences(),
)
View Source
var Resources = addValidationToResources(
	makeResourceFolderPermissionItem(),
	makeResourceDashboardPermissionItem(),
	makeResourceDatasourcePermissionItem(),
	makeResourceDataSourceConfigLBACRules(),
	makeResourceRoleAssignmentItem(),
	makeResourceServiceAccountPermissionItem(),
	resourceAnnotation(),
	resourceContactPoint(),
	resourceDashboard(),
	resourcePublicDashboard(),
	resourceDashboardPermission(),
	resourceDataSource(),
	resourceDataSourceConfig(),
	resourceDatasourcePermission(),
	resourceFolder(),
	resourceFolderPermission(),
	resourceLibraryPanel(),
	resourceMessageTemplate(),
	resourceMuteTiming(),
	resourceNotificationPolicy(),
	resourceOrganization(),
	resourceOrganizationPreferences(),
	resourcePlaylist(),
	resourceReport(),
	resourceRole(),
	resourceRoleAssignment(),
	resourceRuleGroup(),
	resourceTeam(),
	resourceTeamExternalGroup(),
	resourceServiceAccountToken(),
	resourceServiceAccount(),
	resourceServiceAccountPermission(),
	resourceSSOSettings(),
	resourceSCIMConfig(),
	resourceUser(),
)
View Source
var (
	StoreDashboardSHA256 bool
)

Functions

func CheckTimezoneFormatDate

func CheckTimezoneFormatDate(date string, timezone *time.Location) (*strfmt.DateTime, error)

CheckTimezoneFormatDate is exported for testing purposes

func ContentTypeNegotiator

func ContentTypeNegotiator(tripper http.RoundTripper) func(operation *runtime.ClientOperation)

func CreateAnnotation

func CreateAnnotation(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateDashboard

func CreateDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateDataSource

func CreateDataSource(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

CreateDataSource creates a Grafana datasource

func CreateFolder

func CreateFolder(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateOrUpdateSCIMConfig

func CreateOrUpdateSCIMConfig(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateOrganization

func CreateOrganization(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateOrganizationPreferences

func CreateOrganizationPreferences(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreatePlaylist

func CreatePlaylist(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreatePublicDashboard

func CreatePublicDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateReport

func CreateReport(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateRole

func CreateRole(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateServiceAccount

func CreateServiceAccount(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateTeam

func CreateTeam(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateTeamExternalGroup

func CreateTeamExternalGroup(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func CreateUser

func CreateUser(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteAnnotation

func DeleteAnnotation(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteDashboard

func DeleteDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteDataSource

func DeleteDataSource(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

DeleteDataSource deletes a Grafana datasource

func DeleteDataSourceConfig

func DeleteDataSourceConfig(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteFolder

func DeleteFolder(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteOrganization

func DeleteOrganization(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteOrganizationPreferences

func DeleteOrganizationPreferences(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeletePlaylist

func DeletePlaylist(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeletePublicDashboard

func DeletePublicDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteReport

func DeleteReport(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteRole

func DeleteRole(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteRoleAssignments

func DeleteRoleAssignments(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteSCIMConfig

func DeleteSCIMConfig(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteSSOSettings

func DeleteSSOSettings(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteServiceAccount

func DeleteServiceAccount(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteTeam

func DeleteTeam(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteTeamExternalGroup

func DeleteTeamExternalGroup(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func DeleteUser

func DeleteUser(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func GetFolderByIDorUID

func GetFolderByIDorUID(client folders.ClientService, id string) (*models.Folder, error)

func MakeOrgResourceID

func MakeOrgResourceID(orgID int64, resourceID any) string

MakeOrgResourceID creates a resource ID for an org-scoped resource

func NormalizeDashboardConfigJSON

func NormalizeDashboardConfigJSON(config any) string

NormalizeDashboardConfigJSON is the StateFunc for the `config_json` field.

It removes the following fields:

  • `id`: an auto-incrementing ID Grafana assigns to dashboards upon creation. We cannot know this before creation and therefore it cannot be managed in code.
  • `version`: is incremented by Grafana each time a dashboard changes.

func NormalizeFolderConfigJSON

func NormalizeFolderConfigJSON(configI any) string

func OAPIClientFromExistingOrgResource

func OAPIClientFromExistingOrgResource(meta any, id string) (*goapi.GrafanaHTTPAPI, int64, string)

OAPIClientFromExistingOrgResource creates a client from the ID of an org-scoped resource Those IDs are in the <orgID>:<resourceID> format

func OAPIClientFromNewOrgResource

func OAPIClientFromNewOrgResource(meta any, d *schema.ResourceData) (*goapi.GrafanaHTTPAPI, int64)

OAPIClientFromNewOrgResource creates an OpenAPI client from the `org_id` attribute of a resource This client is meant to be used in `Create` functions when the ID hasn't already been baked into the resource ID

func OAPIGlobalClient

func OAPIGlobalClient(meta any) (*goapi.GrafanaHTTPAPI, error)

func ReadAnnotation

func ReadAnnotation(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadDashboard

func ReadDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadDataSource

func ReadDataSource(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

ReadDataSource reads a Grafana datasource

func ReadDataSourceConfig

func ReadDataSourceConfig(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadFolder

func ReadFolder(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadOrganization

func ReadOrganization(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadOrganizationPreferences

func ReadOrganizationPreferences(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadPlaylist

func ReadPlaylist(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadPublicDashboard

func ReadPublicDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadReport

func ReadReport(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadRole

func ReadRole(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadRoleAssignments

func ReadRoleAssignments(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadSCIMConfig

func ReadSCIMConfig(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadSSOSettings

func ReadSSOSettings(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadServiceAccount

func ReadServiceAccount(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadTeam

func ReadTeam(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadTeamExternalGroup

func ReadTeamExternalGroup(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadUser

func ReadUser(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func ReadUsers

func ReadUsers(d *schema.ResourceData, meta any) error

func SplitOrgResourceID

func SplitOrgResourceID(id string) (int64, string)

SplitOrgResourceID splits into two parts (org ID and resource ID) the ID of an org-scoped resource

func SplitServiceAccountID

func SplitServiceAccountID(id string) (int64, string)

SplitServiceAccountID is like SplitOrgResourceID but for service accounts Service accounts can also come from Grafana Cloud where the format is <stackSlug>:<serviceAccountID>

func UnmarshalDashboardConfigJSON

func UnmarshalDashboardConfigJSON(configJSON string) (map[string]any, error)

UnmarshalDashboardConfigJSON is a convenience func for unmarshalling `config_json` field.

func UpdateAnnotation

func UpdateAnnotation(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateDashboard

func UpdateDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateDataSource

func UpdateDataSource(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

UpdateDataSource updates a Grafana datasource

func UpdateDataSourceConfig

func UpdateDataSourceConfig(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateFolder

func UpdateFolder(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateMembers

func UpdateMembers(client *goapi.GrafanaHTTPAPI, d *schema.ResourceData) error

func UpdateOrganization

func UpdateOrganization(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateOrganizationPreferences

func UpdateOrganizationPreferences(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdatePlaylist

func UpdatePlaylist(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdatePublicDashboard

func UpdatePublicDashboard(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateReport

func UpdateReport(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateRole

func UpdateRole(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateRoleAssignments

func UpdateRoleAssignments(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateSSOSettings

func UpdateSSOSettings(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateServiceAccount

func UpdateServiceAccount(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateTeam

func UpdateTeam(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateTeamExternalGroup

func UpdateTeamExternalGroup(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateUser

func UpdateUser(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics

func UpdateUsers

func UpdateUsers(d *schema.ResourceData, meta any) error

func ValidateFolderConfigJSON

func ValidateFolderConfigJSON(configI any, k string) ([]string, []error)

Types

type ChangeMemberType

type ChangeMemberType int8
const (
	AddMember ChangeMemberType = iota
	RemoveMember
)

type ChangeType

type ChangeType int8
const (
	Add ChangeType = iota
	Update
	Remove
)

type HasData added in v4.5.2

type HasData interface {
	HasData(data map[string]any) bool
}

type ListerData

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

ListerData is used as the data arg in "ListIDs" functions. It allows getting data common to multiple resources.

func NewListerData

func NewListerData(singleOrg, omitSingleOrgID bool) *ListerData

func (*ListerData) OrgIDs

func (ld *ListerData) OrgIDs(client *goapi.GrafanaHTTPAPI) ([]int64, error)

type MemberChange

type MemberChange struct {
	Type   ChangeMemberType
	Member TeamMember
}

type OrgUser

type OrgUser struct {
	ID    int64
	Email string
	Role  string
}

type SCIMConfig

type SCIMConfig struct {
	APIVersion string             `json:"apiVersion"`
	Kind       string             `json:"kind"`
	Metadata   SCIMConfigMetadata `json:"metadata"`
	Spec       SCIMConfigSpec     `json:"spec"`
}

SCIMConfig represents the SCIM configuration structure

type SCIMConfigMetadata

type SCIMConfigMetadata struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

SCIMConfigMetadata represents the metadata for SCIM config

type SCIMConfigSpec

type SCIMConfigSpec struct {
	EnableUserSync            bool `json:"enableUserSync"`
	EnableGroupSync           bool `json:"enableGroupSync"`
	RejectNonProvisionedUsers bool `json:"rejectNonProvisionedUsers"`
}

SCIMConfigSpec represents the SCIM configuration specification

type TeamMember

type TeamMember struct {
	ID    int64
	Email string
}

type UserChange

type UserChange struct {
	Type ChangeType
	User OrgUser
}

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL