terraform-provider-tfe
terraform-provider-tfe copied to clipboard
Add resources to manage admin settings
This patch adds 6 new resources to manage the admin settings of Terraform Enterprise:
- tfe_settings_cost_estimation
- tfe_settings_customization
- tfe_settings_general
- tfe_settings_saml
- tfe_settings_smtp
- tfe_settings_twilio
This is needed by one of our customers.
I've put all the new resources in a single patch, I'm happy to split it in multiple PRs if you prefer.
Hi Remi! Thank you for your contribution. Before we review this PR closely:
-
Would you be able add a Testing Plan section with instructions on how to smoke test your changes? Here is an example of a PR description that includes a Testing Plan section: https://github.com/hashicorp/terraform-provider-tfe/pull/498
-
Include new tests for this new functionality that you are adding.
Thanks! @remilapeyre
Hi @uturunku1, I'm still waiting from our CSM for a test license so that I can write tests for this PR.
For the time being, we're going to close this PR. We're grateful for your effort and intend to finish implementing these resources one-by-one as our time budget permits!
- While reviewing these resources, we realized that the admin APIs they govern have progressed beyond what is documented and what is implemented in the go-tfe client, and it doesn't make sense to ship said resources without updating the client first to deliver the full functionality of the web admin interface.
- Integration-testing these resources is important, but presents weird challenges above and beyond the usual, especially for settings that can interfere with other unrelated tests, and settings that cannot be confirmed without first mocking a whole other external API.
- Some of these resources do not quite behave how we'd like them to, due to optional-but-no-default attributes that can cause plans to never fully stabilize. We'll need to decide on a case-by-case basis what to do about that.
- Some of these resources might benefit from reconsidering the attribute layout before shipping, most notably the cost estimation one where provider-specific settings might be more ergonomic to manage as grouped object values.