There are three ways to make content reusable or redistributable in Ansible:
Roles are used to managing tasks in a playbook. They can be easily shared via Ansible Galaxy.
"include" is used to add a submodule or another file to a playbook. This means a code written once can be added to multiple playbooks.
"import" is an improvement of "include," which ensures that a file is added only once. This is helpful when a line is run recursively.