short answer:
   Because collections

long answer:
  Since we added the 'collections' feature we also introduced
namespaces, including for the modules that existed before collections
(version 2.9), they CAN still use the 'short name' or 'module name' as
you called it, even for modules that were moved to collections, will
still work (as long as the providing collection is installed) with the
short name. So you DO NOT NEED to update your playbooks to work with
newer versions of Ansible, it is just what the updated documentation
and linting tools recommend for new content or when you are updating
existing plays/roles.

To ensure disambiguation the ansible.builtin and ansible.legacy
namespaces were created, the 'builtin' will always select the modules
'shipped' with ansible, while 'legacy' will allow for the overridden
module of same name. For example `ansible.builtin.ping` will always
used the shipped copy, while `ansible.legacy.ping` will use that copy
unless there is another version of the copy module in a play adjacent
`library/` directory (or in role). Using the 'ping' name will work
like if using `ansible.legacy.ping` which is the same as 'pre
collection' behavior.

For modules that used to be in core in <= 2.9, you can still use the
short name as we have a 'redirect file' that will go to the collection
version of the module, ensuring backwards compatibility.

note: what i just wrote for 'modules' applies to all plugin types, it
is just modules are the most commonly used/thought of.
-- 
----------
Brian Coca

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CACVha7dLN%2BR_0duusZE3rO1yEZ%2BkOGT_BYO8xcsZ4QpcrgMk%3Dg%40mail.gmail.com.

Reply via email to