Wrapper module for Service Catalog
Hi everyone, Reading the documentation about module deployment, I was wondering if having a wrapper module (i.e., a module wrapping the reference to gruntwork infrastructure library) is a best practice even when we use terragrunt with a `generate` section for both `state` and `provider`. Any thoughts or advice on this?
While you definitely _can_ use the IaC library modules on their own with the `generate` block, the modules can be a bit small and generic to be used on their own and you'll risk ending up with a fairly complex directory structure and dependency hierarchy in your `infrastructure-live` configuration. One of the key benefits of using wrapper modules is composition. For example a [wrapper VPC module](https://github.com/gruntwork-io/terraform-aws-service-catalog/blob/master/modules/networking/vpc/main.tf) composes a lot of the smaller IaC library modules into a much more "complete" module. Another benefit of wrapper modules is ability to easily add custom `terraform` blocks, such as special IAM policies, roles, etc.