grafana

package
v2.19.0 Latest Latest
Warning

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

Go to latest
Published: May 10, 2024 License: MPL-2.0 Imports: 50 Imported by: 0

Documentation

Index

Constants

View Source
const PolicySingletonID = "policy"

Variables

View Source
var DatasourcesMap = addValidationToMap(map[string]*schema.Resource{
	"grafana_dashboard":                datasourceDashboard(),
	"grafana_dashboards":               datasourceDashboards(),
	"grafana_data_source":              datasourceDatasource(),
	"grafana_folder":                   datasourceFolder(),
	"grafana_folders":                  datasourceFolders(),
	"grafana_library_panel":            datasourceLibraryPanel(),
	"grafana_user":                     datasourceUser(),
	"grafana_users":                    datasourceUsers(),
	"grafana_role":                     datasourceRole(),
	"grafana_service_account":          datasourceServiceAccount(),
	"grafana_team":                     datasourceTeam(),
	"grafana_organization":             datasourceOrganization(),
	"grafana_organization_preferences": datasourceOrganizationPreferences(),
})
View Source
var Resources = addValidationToList([]*common.Resource{
	makeResourceFolderPermissionItem(),
	makeResourceDashboardPermissionItem(),
	makeResourceDatasourcePermissionItem(),
	makeResourceRoleAssignmentItem(),
	makeResourceServiceAccountPermissionItem(),
	resourceAnnotation(),
	resourceAPIKey(),
	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(),
	resourceUser(),
})
View Source
var (
	StoreDashboardSHA256 bool
)

Functions

func CreateAnnotation

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

func CreateDashboard

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

func CreateDataSource

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

CreateDataSource creates a Grafana datasource

func CreateFolder

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

func CreateOrganization

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

func CreateOrganizationPreferences

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

func CreatePlaylist

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

func CreatePublicDashboard

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

func CreateReport

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

func CreateRole

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

func CreateServiceAccount

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

func CreateTeam

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

func CreateTeamExternalGroup

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

func CreateUser

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

func DeleteAnnotation

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

func DeleteDashboard

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

func DeleteDataSource

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

DeleteDataSource deletes a Grafana datasource

func DeleteDataSourceConfig added in v2.15.0

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

func DeleteFolder

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

func DeleteOrganization

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

func DeleteOrganizationPreferences

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

func DeletePlaylist

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

func DeletePublicDashboard

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

func DeleteReport

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

func DeleteRole

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

func DeleteRoleAssignments

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

func DeleteSSOSettings

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

func DeleteServiceAccount

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

func DeleteTeam

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

func DeleteTeamExternalGroup

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

func DeleteUser

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

func GetFolderByIDorUID

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

func MakeOrgResourceID

func MakeOrgResourceID(orgID int64, resourceID interface{}) string

MakeOrgResourceID creates a resource ID for an org-scoped resource

func NormalizeDashboardConfigJSON

func NormalizeDashboardConfigJSON(config interface{}) 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 interface{}) string

func OAPIClientFromExistingOrgResource

func OAPIClientFromExistingOrgResource(meta interface{}, 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 interface{}, 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 interface{}) (*goapi.GrafanaHTTPAPI, error)

func ReadAnnotation

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

func ReadDashboard

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

func ReadDataSource

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

ReadDataSource reads a Grafana datasource

func ReadDataSourceConfig added in v2.15.0

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

func ReadFolder

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

func ReadOrganization

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

func ReadOrganizationPreferences

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

func ReadPlaylist

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

func ReadPublicDashboard

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

func ReadReport

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

func ReadRole

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

func ReadRoleAssignments

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

func ReadSSOSettings

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

func ReadServiceAccount

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

func ReadTeam

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

func ReadTeamExternalGroup

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

func ReadUser

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

func ReadUsers

func ReadUsers(d *schema.ResourceData, meta interface{}) 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 added in v2.19.0

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]interface{}, error)

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

func UpdateAnnotation

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

func UpdateDashboard

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

func UpdateDataSource

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

UpdateDataSource updates a Grafana datasource

func UpdateDataSourceConfig added in v2.15.0

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

func UpdateFolder

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

func UpdateMembers

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

func UpdateOrganization

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

func UpdateOrganizationPreferences

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

func UpdatePlaylist

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

func UpdatePublicDashboard

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

func UpdateReport

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

func UpdateRole

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

func UpdateRoleAssignments

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

func UpdateSSOSettings

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

func UpdateServiceAccount

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

func UpdateTeam

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

func UpdateTeamExternalGroup

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

func UpdateUser

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

func UpdateUsers

func UpdateUsers(d *schema.ResourceData, meta interface{}) error

func ValidateFolderConfigJSON

func ValidateFolderConfigJSON(configI interface{}, 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 ListerData added in v2.19.0

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 added in v2.19.0

func NewListerData(singleOrg bool) *ListerData

func (*ListerData) OrgIDs added in v2.19.0

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 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