In Terraform, a module behaves like a class, so you can even apply the main characteristics of object-oriented programming, such as Encapsulation, Inheritance, and Polymorphism.
To facilitate implementation, we have the Root Module, which consists of the resources defined in the .tf files of the main working directory, the Child Modules, which is a module called by the root module to include its resources in the configuration, and the Published Modules, which is a module of a public or private configuration published on a service such as Terraform Cloud, Terraform Enterprise, or GitHub.
A good module should raise the level of abstraction by describing a new concept in its architecture that is built from resource types offered by providers.
Top comments (0)