CircleCI Terraform provider would be great addition as it would allow to manage CircleCI projects using code.
As others have mentioned, there is an existing provider written by https://github.com/mrolla, but it is not listed on https://www.terraform.io/docs/providers/type/community-index.html.
Given CircleCI is heavy users of Hashicorp products (and appeared at Hashiconf), it seems reasonable that you maintain an official CircleCI provider.
Doing so would also help your engineering team see where your APIs are lacking (e.g., https://ideas.circleci.com/ideas/CCI-I-545). This would drive a virtuous cycle of API improvement.
it would be nice if CircleCI forks those 3rd plugins and make their own plugin so it will be more reliable and up-to-date with circleci resource.
There is this provider, for reference: https://github.com/mrolla/terraform-provider-circleci
as Guest, said, the goal would be to manage the pipeline itself as code (in terraform) not the actual project which, as you say, is already code. Creating pipelines in CIrcleCI should be an automated process whereas it is currently a largely manual process.
Not exactly, you can manage the configuration of a project in the YAML config, but not have the project itself start building, or manage parameters. For organizations with a large number of projects, managing which projects are building, and which options they have, is not ideal, since, as best I know, it can mostly only be managed via the web GUI. Also, setting up a job involves following it yourself, which is not always the desired behavior.
That said, even before the tf provider, I think some of these options would need to be exposed in the API. For example, I don't think you can update advanced build options (like 'only build PRs', 'preempt builds', enabling preview version, etc., except via the API.
Thanks! I'm not sure I follow...
it would allow to manage CircleCI projects using code
Isn't that how CircleCI projects are already managed?
This would be an awesome addition to be able to automate the end to end creation of CCI pipelines.
You won't be notified about changes to this idea.