Update [February 20, 2023]: We have completed the rearchitecture.
Since this blog was first published, we have completed our rearchitecture of the Cloud Databases Terraform provider. As such, we will be sunsetting some of the old attributes in favor of the streamlined structure on June 30, 2023; when using versions 1.48.x and above, we advise all deprecated attributes to be migrated over to avoid breaking any existing automation.
For a quick look at changes and deprecations, images below have been updated to log all deprecations.
In addition, we have also surfaced new features to enable Autoscaling (auto_scaling
), Backups (database_backups
), Remotes (database_remotes
), and more. Our registry link is provided at the end.
Manage your resources seamlessly with the IBM Cloud Databases Terraform provider
Here at IBM Cloud Databases, we recognize the importance that Infrastructure as Code services like Terraform play in the developer’s toolkit. As a result, we’re streamlining our Terraform development process to highlight this focus, shortening our lead time for feature development with the goal of tighter feature parity with our API. In addition, we’ll be restructuring our Terraform offering to be in sync with Terraform best practices, creating a resource model that is scalable and easier to use.
Right now, the Terraform resource contains a long, non-hierarchical list of attributes in a single resource, which we recognize creates an unwieldy experience. Version 1.41.0, launched in the beginning of May 2022, begins our journey into providing a simpler, modular structure while bringing you new features like MongoDB Analytics Node and Business Intelligence Connector.
What will this look like for you?
You’ll see new features included in this journey. We just added new data sources for backups (ibm_database_backups
) and point-in-time recovery (ibm_database_point_in_time_recovery
), and we’re excited because we have more to come with each iteration.
With restructuring, the main ibm_database
resource will remain as the top-level resource, with new resources and data sources added underneath.
Let’s look at an example. Below, the functionality of node_memory_allocation_mb
and node_disk_allocation_mb
attributes is moved into the group{ }
attribute. This increases clarity when provisioning databases, where previously we had both node_memory_allocation_mb
and members_memory_allocation_mb
, and it was harder to know whether sizes referred to per-member or total resource values:
Attributes removed
We know any change can be painful, especially if you have multiple databases with us. Our goal is to provide a smoother, more robust Terraform resource that can handle all your database estate needs. The older attribute versions are still currently supported, with the end-of-life process beginning on June 30, 2023, allowing a year’s time to transition to the new structure.
Further information
- For full information, attributes, and examples, see the IBM Databases Terraform registry
- Get started with Terraform with IBM Cloud Databases
- Get started with Terraform with IBM Cloud Databases for MongoDB Enterprise
- Get started with MongoDB Analytics Node and BI Connector with IBM Cloud Databases
- Learn more about MongoDB Analytics Node and BI Connector