Allow setting CI/CD Catalog project boolean in gitlab_project resource

New Data Source / Resource

Add a boolean to the project resource that allows the project to be set as a CI/CD Component Catalog. This is currently only possible via the UI: https://docs.gitlab.com/ee/ci/components/#set-a-component-project-as-a-catalog-project.

This would allow up to setup CI/CD Catalog projects completely through TF without needing to go to the UI to configure them.

Related GitLab APIs

API documentation (This requires GraphQL):

Implementation Details

Since this API is different from the Create Project API, we will create a new resource for this call: gitlab_project_cicd_catalog. This follows the TF convention of one-resource-per-api, and makes it cleaner for end users in the event of a failure.

To implement this, we will do the following:

Additional Details

  • GitLab REST API resources available (read for data sources, crud for resources) - N/A, uses GraphQL
  • go-gitlab does support the related GitLab API already - N/A, users GraphQL
  • I'd like to contribute it myself
Edited by Zachary Yates