The linux-system-roles project has several roles that have modules that are used in the implementation of the role. However, once we convert to collections, all of these modules will be part of the public API of the collection. Is there some way we can mark these modules as not usable or not supported outside of the collection (other than documentation)? For example, internal module names begin with an underscore?
There is no way to do this. An underscore is just an underscore in plugin names in a collection, and there are no common patterns that denote such a thing is private.
There is no way to do this. An underscore is just an underscore in plugin names in a collection,and there are no common patterns that denote such a thing is private.
This issue keeps coming up again and again in system roles, but apparently no one else in the Ansible community has a need to keep parts of the collection api private? No one else has an issue with users of a collection using code in the collection that is not intended to be used directly? Or is it an implicit assumption of collection designers that any piece of code shipped in a collection must handle the case where a user will use it directly?