Understanding fully qualified collection names
Before collections existed, every module that was created and contributed to Ansible had to have a unique name. Thus, it was very common to see modules named like this (both were taken from the Ansible 2.8 release):
ios_bgp
eos_bgp
fortios_router_bgp
All three of these modules are to modify the Border Gateway Protocol (BGP) configuration of network devices, but they all have the device name added in front of bgp
to do the following:
- Ensure their names are unique
- Ensure Ansible coders can understand what their code does
Collections remove the need for unique module names, so it is now possible for contributors to create modules with names that overlap. This is valuable because it removes the need for such long and verbose module names, but it creates the risk of unexpected code behavior. For example, we often use the debug
module to understand what our playbook code does and print something out...