"level" must be set to "custom" to set individual notification levels error

Bug Report

When I try to configure global notification events with the gitlab_global_level_notifications resource Terraform fails with if I use the module in any form

Relevant Terraform Configuration

terraform {
  required_providers {
    gitlab = {
      source = "gitlabhq/gitlab"
    }
  }
}

variable "gitlab_global_level_notifications" {
  type = map(object({
    level                        = optional(string)
    close_issue                  = optional(bool)
    close_merge_request          = optional(bool)
    failed_pipeline              = optional(bool)
    fixed_pipeline               = optional(bool)
    issue_due                    = optional(bool)
    merge_merge_request          = optional(bool)
    merge_when_pipeline_succeeds = optional(bool)
    moved_project                = optional(bool)
    new_issue                    = optional(bool)
    new_merge_request            = optional(bool)
    new_note                     = optional(bool)
    push_to_merge_request        = optional(bool)
    reassign_issue               = optional(bool)
    reassign_merge_request       = optional(bool)
    reopen_issue                 = optional(bool)
    reopen_merge_request         = optional(bool)
    success_pipeline             = optional(bool)
  }))
  default = {}
}

resource "gitlab_global_level_notifications" "notifications" {
  for_each = var.gitlab_global_level_notifications

  level                        = each.value.level
  close_issue                  = each.value.close_issue
  close_merge_request          = each.value.close_merge_request
  failed_pipeline              = each.value.failed_pipeline
  fixed_pipeline               = each.value.fixed_pipeline
  issue_due                    = each.value.issue_due
  merge_merge_request          = each.value.merge_merge_request
  merge_when_pipeline_succeeds = each.value.merge_when_pipeline_succeeds
  moved_project                = each.value.moved_project
  new_issue                    = each.value.new_issue
  new_merge_request            = each.value.new_merge_request
  new_note                     = each.value.new_note
  push_to_merge_request        = each.value.push_to_merge_request
  reassign_issue               = each.value.reassign_issue
  reassign_merge_request       = each.value.reassign_merge_request
  reopen_issue                 = each.value.reopen_issue
  reopen_merge_request         = each.value.reopen_merge_request
  success_pipeline             = each.value.success_pipeline
}

module "global_level_notifications" {
  source = "../modules/global_level_notifications"

  gitlab_global_level_notifications = {
    "example" = {
      level                        = "custom"
      close_issue                  = true
      close_merge_request          = false
      failed_pipeline              = true
      fixed_pipeline               = false
      issue_due                    = true
      merge_merge_request          = false
      merge_when_pipeline_succeeds = true
      moved_project                = false
      new_issue                    = true
      new_merge_request            = false
      new_note                     = true
      push_to_merge_request        = false
      reassign_issue               = true
      reassign_merge_request       = false
      reopen_issue                 = true
      reopen_merge_request         = false
      success_pipeline             = true
    }
  }
}

Relevant Terraform Command

terraform apply

Relevant Log Output

│ Error: "level" must be set to "custom" to set individual notification levels

│   with module.global_level_notifications.gitlab_global_level_notifications.notifications,
│   on ../modules/global_level_notifications/main.tf line 4, in resource "gitlab_global_level_notifications" "notifications":
│    4:   level                        = each.value.level

│ "level" must be set to "custom" to set individual notification levels

Additional Details

  • GitLab Terraform Provider Version: 18.2.0
  • GitLab Instance Version: GitLab Enterprise Edition v17.8.2-ee
  • Terraform Version: Terraform v1.6.5
  • License Tier: Ultimate