forked from devopshobbies/terraform-templates
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.tf
56 lines (46 loc) · 1.23 KB
/
main.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Resources
# Sample senario: new user -> new team -> new folder -> new dashboard -> set folder permissions
# Create new user.
# This one does not currently work with API Tokens. You must use basic auth.
resource "grafana_user" "new_user" {
email = "devops.user@example.com"
password = "test"
}
# Create new team.
resource "grafana_team" "new_team" {
name = "DevOps Team"
members = [
grafana_user.new_user.email
]
}
# Create new folder.
resource "grafana_folder" "new_folder_with_uid" {
uid = "test-folder-uid"
title = "Terraform Test Folder With UID"
}
# Create new dashboard in a specific folder.
resource "grafana_dashboard" "new_dashboard" {
folder = grafana_folder.new_folder_with_uid.id
config_json = <<EOD
{
"title": "Dashboard in folder",
"uid": "dashboard-in-folder"
}
EOD
}
# Set folder permissions to assign who can view and edit the folder.
resource "grafana_folder_permission" "folder_permission" {
folder_uid = grafana_folder.new_folder_with_uid.uid
permissions {
role = "Editor"
permission = "Edit"
}
permissions {
team_id = grafana_team.new_team.id
permission = "View"
}
permissions {
user_id = grafana_user.new_user.id
permission = "Admin"
}
}