Hi @yomofo2s,
Typically the way we select between different Cloud platforms is by changing the configuration itself to refer to another cloud platform. Using modules in the way I described serves only to make the necessary changes smaller and, if the architecture allows for it, to allow you to still share some common functionality between platforms even if the foundational elements are not.
There isn’t any way to dynamically choose a module based on input variables, or any other per-run setting. Terraform’s model is that the configuration describes what should exist, and root module input variables are typically only for a small number of settings that need to vary from one run to the next.