terraform-provider-grafana
terraform-provider-grafana copied to clipboard
grafana_folder_permission do not respect state
Terraform Version
Terraform v0.13.5
+ provider registry.terraform.io/grafana/grafana v1.7.0
Affected Resource(s)
- grafana_folder_permission
Terraform Configuration Files
variable "teams" {
type = map(object({
name : string
email : string
is_staff : bool
members : list(string)
}))
default = {
"sre" = {
name : "sre",
email : "sre-team@localhost"
is_staff : true,
members : [
"admin@localhost",
]
},
"admin" = {
name : "admin",
email : "admins-team@localhost"
is_staff : false,
members : [
"admin@localhost",
]
}
"green" = {
name : "green",
email : "green-team@localhost"
is_staff : false,
members : [
"admin@localhost",
]
}
"white" = {
name : "white",
email : "white-team@localhost"
is_staff : false,
members : [
"admin@localhost",
]
}
}
}
variable "products" {
type = map(object({
name : string
owner_team : list(string)
}))
default = {
"test" = {
name: "test"
owner_team: ["sre"]
}
}
}
resource "grafana_team" "team" {
for_each = var.teams
name = each.value.name
email = each.value.email
members = each.value.members
}
resource "grafana_folder" "folders" {
for_each = var.products
title = each.value.name
}
resource "grafana_folder_permission" "folder-permissions" {
for_each = grafana_folder.folders
folder_uid = each.value.uid
dynamic "permissions" {
for_each = { for team in var.teams : team.name => grafana_team.team[team.name] if team.is_staff==true }
content {
team_id = permissions.value.id
permission = "Admin"
}
}
}
Expected Behavior
- After apply remove one of two teams in web iface from folder test. rerun apply. terraform
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
But we have two teams in tf state and only one team in web iface.
- delete second permission and rerun apply
terraform will fail with
Error: insufficient items for attribute "permissions"; must have at least 1
- Error: insufficient items for attribute "permissions"; must have at least 1
Removing the folder_permission from terraform state fixes this error for me.
Of course this should be fixed in the provider instead.
any update on missing terraform import on grafana_folder_permission ?