IBM Cloud Terraform: Modules, Provider, and Managed Workflow

Terraform on IBM Cloud provides a complete infrastructure as code path from local provider builds to enterprise modules and managed cloud execution. The combination of an actively supported module catalog, a first-class provider for IBM Cloud resources, and the rebranded IBM HashiCorp Cloud Platform creates a practical stack for provisioning, testing, and operating infrastructure across IBM Cloud services.

The IBM Cloud Terraform modules project is a collection of Terraform modules that follow best practices and simplify the provisioning of IBM Cloud services and instances. Whether you're a consumer, developer, contributor, or just curious, we welcome you with open arms. We're thrilled to have you as part of our open source community.

We're proud to announce that many of the modules are actively supported by the IBM Cloud development organization. This support enables us to offer the community robust and enterprise-grade modules that are consistently maintained over time. If you'd like to dig deeper into these modules, check out the list of supported modules.

Contributions from the community are the lifeblood of our organization. We appreciate your interest in helping us improve and grow the modules. Before you dive in, take a moment to review our contribution guidelines. Your contributions, big or small, are invaluable to us.

Ready to get started? Here's what you can do next:

  • Explore our repositories to find modules that pique your interest.
  • Review our contribution guidelines and other documentation to understand how you can contribute effectively.
  • Join our community discussions in the issues and pull requests.

Thank you for being a part of our open source journey. Together, we can build amazing things. Happy coding!

IBM Cloud Terraform Modules and Community Support

The module catalog is organized around best practice patterns for IBM Cloud provisioning. Modules are maintained for common service patterns and are intended to reduce boilerplate while enforcing consistency.

Key characteristics of the module program include:

  • Best practice alignment for provisioning IBM Cloud services and instances
  • Active support from the IBM Cloud development organization for a subset of modules
  • Enterprise-grade maintenance cadence for supported modules
  • Open contribution process with documented contribution guidelines
  • Community discussion via issues and pull requests

The supported modules list provides a reference for production ready building blocks. Consumers can explore repositories to find modules that match their use case and then review contribution guidelines before contributing improvements.

Provider Installation and Configuration

The IBM Cloud provider for Terraform is distributed via source and via the Terraform Registry. For provider version 2.X.X, Terraform 1.5.1 or later is recommended.

Clone and build from source

git clone [email protected]:IBM-Cloud/terraform-provider-ibm.git cd terraform-provider-ibm make build

Docker is also available for the IBM Cloud Terraform provider:

docker pull ibmterraform/terraform-provider-ibm-docker

Terraform Registry installation for Terraform v0.13 and newer

Create a versions.tf file in your Terraform module folder and add a terraform block using the syntax below. Note, you must be using Terraform v0.13.x or a newer version.

terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" version = "<provider version>" } } }

Run terraform init to fetch the IBM Cloud provider plug-in for Terraform from the Terraform Registry.

Manual binary installation is possible for local plugin use:

  • Unzip the release archive to extract the plugin binary (terraform-provider-ibm_vX.Y.Z)
  • Move the binary into the Terraform plugins directory for the platform

Platform paths

Platform Plugins directory
Linux/Unix/OS X ~/.terraform.d/plugins
Windows %APPDATA%\terraform.d\plugins

Environment variables for provider authentication are typically exported before execution. Export API credential tokens as environment variables for local runs.

Acceptance Testing and Development Workflow

Provider development includes acceptance tests that require IBM Cloud credentials and specific environment variables.

Example test run targeting a single acceptance test

export TESTARGS="-run TestAccIBMNetworkVlan_Basic"

Issuing make testacc will now run the testcase with names matching TestAccIBMNetworkVlan_Basic. This particular testcase is present in ibm/resource_ibm_network_vlan_test.go.

Required environment variables for acceptance tests

Variable Purpose
ICAPIKEY The IBM Cloud API Key
IC_REGION The IBM Cloud region used by test resources - defaults to us-south
IAASCLASSICAPI_KEY The IBM Cloud Classic Infrastructure API Key
IAASCLASSICUSERNAME The IBM Cloud Classic Infrastructure username associated with the Classic Infrastructure API Key

Additional environment variables may be required depending on the tests being run. Check console log for warning messages about required variables. Alternatively, look for the name of the function by PreCheck under the specific test case and inspect ibm/acctest/acctest.go to find the list of environment variables required for the test.

A typical test harness uses:

resource.Test(t, resource.TestCase{ PreCheck: func() { acc.TestAccPreCheck(t) }, Providers: acc.TestAccProviders,

Ansible Integration

An Ansible Collection package contains many Ansible Modules, each Ansible Module is a wrapper around resource or data source elements of the Terraform Provider for IBM Cloud. At each execution of an Ansible Module, on-the-fly Terraform code is generated and executed for the intended outcome.

Compatibility is stated for Ansible Core 2.12+, various example Ansible Playbooks are provided to show how to use the Ansible Modules from the Ansible Collection for IBM Cloud. See more information on the package index entry ibm.cloudcollection Ansible Collection - Ansible Galaxy.

Why Use Terraform with IBM Cloud

Understanding Terraform on IBM Cloud: A Comprehensive Guide frames the integration as essential for efficient cloud operations. In an era where cloud solutions are becoming dominant in the business landscape, understanding how to utilize these services efficiently has become crucial. One such powerful tool for managing cloud resources is Terraform, which can be seamlessly integrated with IBM Cloud. In this article, we’ll explore how to leverage Terraform on IBM Cloud to streamline your infrastructure management, alongside some best practices and tips to enhance your cloud strategy. Let’s dive in!

What is Terraform?

Terraform is an open-source tool developed by HashiCorp that enables users to define and manage infrastructure as code across various cloud providers. By using declarative configurations, Terraform allows you to:

  • Create and manage infrastructure documentation.
  • Provision resources across multiple cloud environments.
  • Implement version control for infrastructure changes.

Why Use Terraform with IBM Cloud?

IBM Cloud provides a rich ecosystem of tools and services ideal for deploying and managing applications. When combined with Terraform, developers and system administrators benefit significantly. Here are a few reasons why you should consider Terraform on IBM Cloud:

  • Multi-cloud capabilities: Terraform allows you to manage resources across different providers, not just IBM Cloud

Declarative configuration supports documentation, multi-cloud provisioning, and version control for infrastructure changes.

Terraform Cloud Rebranding and Pricing Context

As we approach the one-year anniversary of IBM’s acquisition of HashiCorp on February 27, 2026, the product landscape has seen significant rebranding — often referred to as "bluewashing" — even as pricing remains consistent with the June 2023 structures.

IBM has integrated the managed suite into the IBM HashiCorp Cloud Platform (HCP). Per HashiCorp’s website: On September 1, 2025 all HashiCorp business operations were transitioned to IBM. This exciting milestone included updates to product naming conventions to align with the broader IBM Automation portfolio. No product features or functionality were changed. Consequently, the following name changes are now official:

  • Terraform Cloud is now IBM HCP Terraform
  • Terraform Enterprise is now IBM Terraform Enterprise

Despite these official updates, this document will use the more familiar and colloquial names Terraform Cloud (TFC) and Terraform Enterprise (TFE) for the sake of clarity and brevity.

Recent Changes to Terraform Cloud Pricing

In June 2023, HashiCorp (now IBM HashiCorp) adjusted the pricing scheme of Terraform Cloud, its commercial SaaS product and core component of the HashiCorp Cloud Platform.

Beyond cost efficiencies, env zero provides enhanced functionalities, including:

  • Automated drift detection and remediation
  • Tools for cost management
  • Dynamic role-based access controls
  • Flexible Policy-as-Code guardrails
  • Ready-to-use policies and static code analysis
    and more.

Resource Under Management pricing implications

The Resource Under Management (RUM) pricing model for HashiCorp Terraform Cloud proves advantageous for smaller organizations or startups, particularly those operating within the confines of the 500 resource limit or close to it.

Conversely, its implications are notably burdensome for larger operations, given the escalating costs incurred by managing a large set of infrastructure resources under Terraform Cloud. When comparing options, it's worth considering alternatives like Spacelift pricing, which may offer different models for certain use cases.

As organizations evaluate their infrastructure management needs, it's crucial to consider not only the Terraform Cloud cost but also the features provided by the HashiCorp Cloud Platform as a whole. While the Terraform Cloud Essentials tier offers a starting point for smaller teams, larger enterprises may need to carefully weigh the benefits against the potential increase in Terraform Cloud Premium cost as their resource usage grows.

Best Practices for IBM Cloud Terraform Adoption

Combining modules, provider configuration, and managed execution requires attention to versioning, credentials, and governance.

  • Pin provider and module versions in versions.tf to ensure reproducible runs
  • Use environment variables for credentials rather than hard coding API keys
  • Leverage supported IBM Cloud modules for common services to reduce custom code
  • Use acceptance test patterns with proper IC_API_KEY, IC_REGION, IAAS_CLASSIC_API_KEY, and IAAS_CLASSIC_USERNAME for local validation
  • Evaluate managed workflow costs under the RUM model, especially near the 500 resource threshold
  • Consider Policy-as-Code guardrails and drift detection when operating at scale on IBM HCP Terraform

Conclusion

IBM Cloud Terraform delivers a mature, community driven path for infrastructure as code with an actively supported module catalog, a well documented provider build and install process, and integration options for Ansible automation. The provider supports local development with explicit environment variable requirements for acceptance tests and clear plugin paths for Linux/Unix/OS X and Windows.

The broader managed experience now lives under the IBM HashiCorp Cloud Platform brand. Terraform Cloud is now IBM HCP Terraform and Terraform Enterprise is now IBM Terraform Enterprise following the September 1, 2025 transition of HashiCorp business operations to IBM and the February 27, 2026 acquisition anniversary. Pricing structures remain consistent with the June 2023 adjustments, with the Resource Under Management model offering advantages for smaller organizations near the 500 resource limit and creating cost pressure for larger resource footprints.

Together, modules for best practice provisioning, a Terraform 1.5.1 or later compatible provider, and managed execution on IBM HCP Terraform provide a cohesive stack for defining, testing, and operating IBM Cloud infrastructure as code.

Sources

  1. terraform-ibm-modules
  2. terraform-provider-ibm
  3. terraform-cloud-pricing-a-complete-guide
  4. understanding-terraform-on-ibm-cloud-a

Related Posts