IBM Cloud Docs
Creating a module

Creating a module

A module is a stand-alone unit of automation code that can be reused by developers and shared in a larger system. Modules are not independently deployable and usually manage a smaller number of related resources and are used to build deployable architectures. Typically coded in Terraform or Ansible, modules are a convenience for developers similar to Node.js or Python packages. Think of modules as building blocks that can be used in combination with other modules to build a complete deployable architecture that solves a complex infrastructure need.

Modules that are created by IBM® are created and sourced in terraform-ibm-modules, a public GitHub org. Modules include usage information and one or more runnable examples. This enables users who you share your modules with to copy the usage code to get started with any module, but they are not deployable from a private catalog.

Guidelines and requirements for creating a module

The guidelines and requirements for creating a module are available in the IBM Cloud Terraform modules documentation. You can refer to the following resources for creating your own modules:

Next steps: Sharing modules

Modules can be used to create a deployable architecture. You have a couple of options for sharing your module with others in your organization or external users.