Perpetual diff when using multiple deploy_access_levels in gitlab_project_protected_environment resource

GitLab Provider version

3.15.1

GitLab version

gitlab.com

Terraform version

1.2.1

Relevant Terraform Configuration

resource "gitlab_project_protected_environment" "staging" {
  project     = gitlab_project.this.id
  environment = "staging"
  deploy_access_levels {
    access_level = "maintainer"
  }
  deploy_access_levels {
    group_id = var.sre_group_id
  }
}

Description

When using a single deploy_access_group things work as expected. When using multiple deploy_access_levels however, there is a perpetual diff leading to the resource being recreate on every terraform apply.

-/+ resource "gitlab_project_protected_environment" "staging" {
      ~ id          = "xxxxxxxx:staging" -> (known after apply)
        # (2 unchanged attributes hidden)

      ~ deploy_access_levels {
          ~ access_level_description = "SRE" -> (known after apply)
          - group_id                 = xxxxxxx -> null # forces replacement
          - user_id                  = 0 -> null
            # (1 unchanged attribute hidden)
        }
      ~ deploy_access_levels {
          ~ access_level             = "maintainer" -> (known after apply)
          ~ access_level_description = "Maintainers" -> (known after apply)
          ~ group_id                 = 0 -> xxxxxxx # forces replacement
          - user_id                  = 0 -> null
        }
    }

Plan: 1 to add, 2 to change, 1 to destroy.