官术网_书友最值得收藏!

Ansible modules

Ansible ships with a number of modules (called the module library) that can be executed directly on remote hosts or through playbooks.Tasks in playbooks call modules to do the work. 

Ansible has many modules, most of which are community contributed and maintained. Core modules are maintained by the Ansible core engineering team and will always ship with Ansible itself.

Users can also write their own modules. These modules can control system resources, like services, packages, or files (anything really), or handle executing system commands.

Here is the list of modules available by Ansible: http://docs.ansible.com/ansible/latest/modules_by_category.html#module-index.
If you use Dash (https://kapeli.com/dash) or Zeal (https://zealdocs.org/), you can download the offline version for easy reference.

Modules can be executed via the command line as well. We will be using modules to write all the tasks inside our playbooks. All modules technically return JSON format data. 

Modules should be idempotent and should avoid making any changes if they detect that the current state matches the desired final state. When using Ansible playbooks, these modules can trigger change events in the form of notifying handlers to run additional tasks.

Documentation for each module can be accessed from the command line with the ansible-doc tool:

$ ansible-doc apt

We can list all the modules available on our host:

$ ansible-doc -l

Start the Apache web server on all nodes grouped under webservers by executing the httpd module. Note the use of the -m flag:

$ ansible webservers -m service -a "name=httpd state=started"

This snippet shows the exact same command but inside a playbook in YAML syntax:

- name: restart webserver
  service:
    name: httpd
    state: started

Each module contains multiple parameters and options, get to know more about the features of the modules by looking at their documentation and examples.

主站蜘蛛池模板: 永胜县| 青浦区| 雷山县| 阿合奇县| 尉氏县| 太仆寺旗| 福贡县| 高州市| 宁蒗| 郴州市| 彭水| 富顺县| 浦北县| 安陆市| 民勤县| 枝江市| 从化市| 万盛区| 田阳县| 山东省| 宁南县| 岳阳县| 潼关县| 东丰县| 浮梁县| 肥东县| 东山县| 黑河市| 罗定市| 黎川县| 喀喇沁旗| 滨海县| 屏东县| 荔波县| 峨眉山市| 新余市| 台湾省| 高州市| 客服| 布尔津县| 澄城县|