Add merge request approval settings to Terraform provider

Description

The GitLab Terraform provider is missing support for merge request approval settings available at the instance level in GitLab.

Expected Behavior

Users should be able to configure merge request approval settings via Terraform at the global/instance level, similar to other application settings.

Acceptance Criteria

  • Add support for prevent_approvals_by_commit_authors setting to the Terraform provider
  • Add support for additional merge request approval settings (e.g., prevent_approvals_by_users_who_add_commits, require_password_to_approve)
  • Settings should be configurable at the global/instance level
  • Documentation should be updated to reflect the new settings

Implementation Guide

  • Follow the CONTRIBUTING.md guide for setting up your local development environment.
  • Clone the community fork of this project.
  • Add three new attributes to internal/provider/sdk/schema_gitlab_application_settings.go:
    • prevent_merge_requests_author_approval
    • prevent_merge_requests_committers_approval
    • disable_overriding_approvers_per_merge_request
  • Follow the existing attribute disable_personal_access_tokens to see where they need to be added.
  • Add or update an existing acceptance test in internal/provider/sdk/resource_gitlab_application_settings_test.go to set the new attributes.
Edited by 🤖 GitLab Bot 🤖