Workflows for generating terraform solution that are the composition of one or several Terraform IBM Modules (TIM)...
Generate robust and reliable terraform-based solutions for IBM Cloud by leveraging curated, IBM-maintained Terraform modules (TIM) as building blocks.
TIM is a comprehensive suite of curated Terraform modules for IBM Cloud:
All TIM modules are public and discoverable:
Follow this workflow for every Terraform solution request:
Check if catalog://terraform-ibm-modules-index resource is available
With MCP (Recommended):
catalog://terraform-ibm-modules-index - Get comprehensive module overviewsearch_modules("<keyword>") - Find specific modulesget_module_details("<module-id>") - Understand module capabilitiesWithout MCP (Alternative):
https://registry.terraform.io/v1/modules/search?q=<query>&namespace=terraform-ibm-moduleshttps://registry.terraform.io/v1/modules/terraform-ibm-modules/<name>/ibm/<version>https://api.github.com/repos/terraform-ibm-modules/<repo>/contents/<path>With MCP:
list_content("<module-id>") - Find available examplesget_content(..., "examples/<example-name>", ["*.tf"]) - Get example codeWithout MCP:
https://api.github.com/repos/terraform-ibm-modules/<repo>/contents/exampleshttps://raw.githubusercontent.com/terraform-ibm-modules/<repo>/main/examples/<example>/<file>See code-generation.md for detailed guidelines.
Always validate generated configurations:
terraform init - Verify modules and providers downloadterraform validate - Check syntax and configurationterraform plan - Review logical correctness (ignore auth errors)See validation.md for complete validation guide and error handling.
User Request: "Create a VPC with a VSI"
Execution:
catalog://terraform-ibm-modules-index availabilitysearch_modules("vpc") → Find landing-zone-vpccurl "https://registry.terraform.io/v1/modules/search?q=vpc&namespace=terraform-ibm-modules"get_module_details("terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0")curl "https://registry.terraform.io/v1/modules/terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0"get_content(..., "examples/basic", ["*.tf"])curl "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc/main/examples/basic/main.tf"terraform init && terraform validate && terraform planSee workflows.md for 5 complete workflow examples.
# Start here
catalog://terraform-ibm-modules-index
# Search and retrieve
search_modules("vpc")
get_module_details("terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0")
list_content("terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0")
get_content(..., "examples/basic", ["*.tf"])
# Search modules
curl "https://registry.terraform.io/v1/modules/search?q=vpc&namespace=terraform-ibm-modules"
# Get module details
curl "https://registry.terraform.io/v1/modules/terraform-ibm-modules/landing-zone-vpc/ibm/8.4.0"
# List examples
curl "https://api.github.com/repos/terraform-ibm-modules/terraform-ibm-landing-zone-vpc/contents/examples"
# Get example files
curl "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-landing-zone-vpc/main/examples/basic/main.tf"
terraform init # Initialize modules and providers
terraform validate # Check syntax and configuration
terraform plan # Verify logical correctness