summaryrefslogtreecommitdiffstats
path: root/docs/docsite/rst/plugins/module.rst
blob: 4d44f46979c9ef31fc49000a4d711f2c1124681f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.. _module_plugins:

Modules
=======

.. contents::
   :local:
   :depth: 2

Modules are the main building blocks of Ansible playbooks. Although we do not generally speak of "module plugins", a module is a type of plugin. For a developer-focused description of the differences between modules and other plugins, see :ref:`modules_vs_plugins`.

.. _enabling_modules:

Enabling modules
----------------

You can enable a custom module by dropping it into one of these locations:

* any directory added to the ``ANSIBLE_LIBRARY`` environment variable (``$ANSIBLE_LIBRARY`` takes a colon-separated list like ``$PATH``)
* ``~/.ansible/plugins/modules/``
* ``/usr/share/ansible/plugins/modules/``

For more information on using local custom modules, see :ref:`local_modules`. 

.. _using_modules:

Using modules
-------------

For information on using modules in ad hoc tasks, see :ref:`intro_adhoc`. For information on using modules in playbooks, see :ref:`playbooks_intro`.

.. seealso::

   :ref:`about_playbooks`
       An introduction to playbooks
   :ref:`developing_modules_general`
       An introduction to creating Ansible modules
   :ref:`developing_collections`
       An guide to creating Ansible collections
   `User Mailing List <https://groups.google.com/group/ansible-devel>`_
       Have a question?  Stop by the google group!
   `irc.libera.chat <https://libera.chat/>`_
       #ansible-devel IRC chat channel