gitlab_project resource - error while waiting for branch to reach 'protected' status, json: cannot unmarshal array into Go value of type gitlab.Branch

I am using gitlab terraform provider resource "gitlab-project" to create Gitlab project.

I am getting below error when trying to do terraform apply:

-----------------------------------------------------: timestamp=2022-12-21T09:48:17.168-0500
2022-12-21T09:48:17.173-0500 [ERROR] provider.terraform-provider-gitlab_v3.20.0: Response contains error diagnostic: @caller=github.com/hashicorp/terraform-plugin-go@v0.12.0/tfprotov5/internal/diag/diagnostics.go:56 @module=sdk.proto diagnostic_detail= tf_proto_version=5.3 tf_provider_addr=registry.terraform.io/providers/gitlabhq/gitlab tf_req_id=9f0eb339-4597-7621-8e49-e406e8cf47be tf_resource_type=gitlab_project diagnostic_severity=ERROR diagnostic_summary="error while waiting for branch  to reach 'protected' status, json: cannot unmarshal array into Go value of type gitlab.Branch" tf_rpc=ApplyResourceChange timestamp=2022-12-21T09:48:17.173-0500
2022-12-21T09:48:17.218-0500 [ERROR] vertex "gitlab_project.main" error: error while waiting for branch  to reach 'protected' status, json: cannot unmarshal array into Go value of type gitlab.Branch

│ Error: error while waiting for branch  to reach 'protected' status, json: cannot unmarshal array into Go value of type gitlab.Branch

│   with gitlab_project.main,
│   on main.tf line 10, in resource "gitlab_project" "main":
│   10: resource "gitlab_project" "main" {


2022-12-21T09:48:17.230-0500 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2022-12-21T09:48:17.230-0500 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/gitlabhq/gitlab/3.20.0/linux_amd64/terraform-provider-gitlab_v3.20.0 pid=4693
2022-12-21T09:48:17.231-0500 [DEBUG] provider: plugin exited

TF plan output

  + create

Terraform will perform the following actions:

  # gitlab_project.main will be created
  + resource "gitlab_project" "main" {
      + allow_merge_on_skipped_pipeline                  = false
      + analytics_access_level                           = "private"
      + approvals_before_merge                           = 2
      + archive_on_destroy                               = false
      + archived                                         = false
      + auto_cancel_pending_pipelines                    = "enabled"
      + auto_devops_deploy_strategy                      = (known after apply)
      + auto_devops_enabled                              = false
      + autoclose_referenced_issues                      = (known after apply)
      + build_git_strategy                               = (known after apply)
      + build_timeout                                    = 1200
      + builds_access_level                              = "enabled"
      + ci_default_git_depth                             = (known after apply)
      + ci_forward_deployment_enabled                    = true
      + container_registry_access_level                  = "private"
      + container_registry_enabled                       = false
      + default_branch                                   = "master"
      + description                                      = "Example Project."
      + emails_disabled                                  = false
      + forking_access_level                             = "private"
      + http_url_to_repo                                 = (known after apply)
      + id                                               = (known after apply)
      + initialize_with_readme                           = true
      + issues_access_level                              = "private"
      + issues_enabled                                   = true
      + lfs_enabled                                      = false
      + merge_method                                     = "merge"
      + merge_pipelines_enabled                          = false
      + merge_requests_access_level                      = "enabled"
      + merge_requests_enabled                           = true
      + merge_trains_enabled                             = false
      + mirror                                           = false
      + mirror_overwrites_diverged_branches              = false
      + mirror_trigger_builds                            = false
      + name                                             = "example-project3"
      + namespace_id                                     = 16678003
      + only_allow_merge_if_all_discussions_are_resolved = true
      + only_allow_merge_if_pipeline_succeeds            = true
      + only_mirror_protected_branches                   = false
      + operations_access_level                          = "private"
      + packages_enabled                                 = false
      + pages_access_level                               = (known after apply)
      + path_with_namespace                              = (known after apply)
      + pipelines_enabled                                = (known after apply)
      + printing_merge_request_link_enabled              = true
      + public_builds                                    = false
      + remove_source_branch_after_merge                 = true
      + repository_access_level                          = "enabled"
      + repository_storage                               = (known after apply)
      + request_access_enabled                           = true
      + requirements_access_level                        = (known after apply)
      + runners_token                                    = (sensitive value)
      + security_and_compliance_access_level             = (known after apply)
      + shared_runners_enabled                           = true
      + snippets_access_level                            = "private"
      + snippets_enabled                                 = true
      + squash_option                                    = "default_off"
      + ssh_url_to_repo                                  = (known after apply)
      + tags                                             = (known after apply)
      + topics                                           = (known after apply)
      + visibility_level                                 = "private"
      + web_url                                          = (known after apply)
      + wiki_access_level                                = "private"
      + wiki_enabled                                     = true

      + container_expiration_policy {
          + cadence           = (known after apply)
          + enabled           = (known after apply)
          + keep_n            = (known after apply)
          + name_regex_delete = (known after apply)
          + name_regex_keep   = (known after apply)
          + next_run_at       = (known after apply)
          + older_than        = (known after apply)
        }

      + push_rules {
          + author_email_regex            = (known after apply)
          + branch_name_regex             = (known after apply)
          + commit_committer_check        = (known after apply)
          + commit_message_negative_regex = (known after apply)
          + commit_message_regex          = (known after apply)
          + deny_delete_tag               = (known after apply)
          + file_name_regex               = (known after apply)
          + max_file_size                 = (known after apply)
          + member_check                  = (known after apply)
          + prevent_secrets               = (known after apply)
          + reject_unsigned_commits       = (known after apply)
        }
    }

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

  • GitLab Terraform Provider Version: gitlabhq/gitlab 3.20.0``
  • GitLab Version: GitLab Enterprise Edition 15.7.0-pre a5b9597245a ``
  • Terraform Version: Terraform 1.3.0 ``
Edited by Mohan Lakshmanan