Network Module Mapping/Documentation for 2.3+

Hi,

Does documentation exist anywhere on how the various Network modules work together in 2.3+? I’m looking for something more technical than just how to use the modules and instead am looking to map out the interdependencies with all the module_utils and plugins.

Use case:

I use Ansible to manage a variety of Cisco routers and firewalls. In Ansible 2.2 I had a custom module that essentially removed the “terminal length 0” line from the ios_command module which then let me use it to successfully run commands against both ASA and IOS devices. I used this module to parse the software type (ASA vs IOS) and then set a variable so the rest of the playbook knew what kind of config to apply to the device. It was only used for this purpose to avoid any issues that would be encountered due to the short terminal length.

So far I have been unable to replicate this due to the vast change in how Ansible connects to network devices. I see where the configuration is being applied in /ansible/plugins/terminal/ios.py, but am perhaps not skilled enough in mapping the path back to this function from ios_command.py or determining how it selects /ansible/plugins/terminal/ios.py specifically for use.

Thanks in advanced for any help or guidance.