modules: fix documentation formatting (#72737) (#72850)

(cherry picked from commit ebd8c101fd)
This commit is contained in:
Andrew Klychkov 2021-01-11 08:25:13 +03:00 committed by GitHub
parent c4adf62220
commit 7c44c24456
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 130 additions and 111 deletions

View file

@ -33,8 +33,8 @@ options:
name: name:
description: description:
- Description of a crontab entry or, if env is set, the name of environment variable. - Description of a crontab entry or, if env is set, the name of environment variable.
- Required if C(state=absent). - Required if I(state=absent).
- Note that if name is not set and C(state=present), then a - Note that if name is not set and I(state=present), then a
new crontab entry will always be created, regardless of existing ones. new crontab entry will always be created, regardless of existing ones.
- This parameter will always be required in future releases. - This parameter will always be required in future releases.
type: str type: str
@ -47,7 +47,7 @@ options:
description: description:
- The command to execute or, if env is set, the value of environment variable. - The command to execute or, if env is set, the value of environment variable.
- The command should not contain line breaks. - The command should not contain line breaks.
- Required if C(state=present). - Required if I(state=present).
type: str type: str
aliases: [ value ] aliases: [ value ]
state: state:
@ -60,10 +60,10 @@ options:
description: description:
- If specified, uses this file instead of an individual user's crontab. - If specified, uses this file instead of an individual user's crontab.
- If this is a relative path, it is interpreted with respect to I(/etc/cron.d). - If this is a relative path, it is interpreted with respect to I(/etc/cron.d).
- If it is absolute, it will typically be I(/etc/crontab). - If it is absolute, it will typically be C(/etc/crontab).
- Many linux distros expect (and some require) the filename portion to consist solely - Many linux distros expect (and some require) the filename portion to consist solely
of upper- and lower-case letters, digits, underscores, and hyphens. of upper- and lower-case letters, digits, underscores, and hyphens.
- To use the C(cron_file) parameter you must specify the C(user) as well. - To use the I(cron_file) parameter you must specify the I(user) as well.
type: str type: str
backup: backup:
description: description:
@ -73,34 +73,34 @@ options:
default: no default: no
minute: minute:
description: description:
- Minute when the job should run ( 0-59, *, */2, etc ) - Minute when the job should run (C(0-59), C(*), C(*/2), and so on).
type: str type: str
default: "*" default: "*"
hour: hour:
description: description:
- Hour when the job should run ( 0-23, *, */2, etc ) - Hour when the job should run (C(0-23), C(*), C(*/2), and so on).
type: str type: str
default: "*" default: "*"
day: day:
description: description:
- Day of the month the job should run ( 1-31, *, */2, etc ) - Day of the month the job should run (C(1-31), C(*), C(*/2), and so on).
type: str type: str
default: "*" default: "*"
aliases: [ dom ] aliases: [ dom ]
month: month:
description: description:
- Month of the year the job should run ( 1-12, *, */2, etc ) - Month of the year the job should run (C(1-12), C(*), C(*/2), and so on).
type: str type: str
default: "*" default: "*"
weekday: weekday:
description: description:
- Day of the week that the job should run ( 0-6 for Sunday-Saturday, *, etc ) - Day of the week that the job should run (C(0-6) for Sunday-Saturday, C(*), and so on).
type: str type: str
default: "*" default: "*"
aliases: [ dow ] aliases: [ dow ]
reboot: reboot:
description: description:
- If the job should be run at reboot. This option is deprecated. Users should use special_time. - If the job should be run at reboot. This option is deprecated. Users should use I(special_time).
version_added: "1.0" version_added: "1.0"
type: bool type: bool
default: no default: no
@ -113,7 +113,7 @@ options:
disabled: disabled:
description: description:
- If the job should be disabled (commented out) in the crontab. - If the job should be disabled (commented out) in the crontab.
- Only has effect if C(state=present). - Only has effect if I(state=present).
type: bool type: bool
default: no default: no
version_added: "2.0" version_added: "2.0"
@ -121,66 +121,68 @@ options:
description: description:
- If set, manages a crontab's environment variable. - If set, manages a crontab's environment variable.
- New variables are added on top of crontab. - New variables are added on top of crontab.
- C(name) and C(value) parameters are the name and the value of environment variable. - I(name) and I(value) parameters are the name and the value of environment variable.
type: bool type: bool
default: false default: false
version_added: "2.1" version_added: "2.1"
insertafter: insertafter:
description: description:
- Used with C(state=present) and C(env). - Used with I(state=present) and I(env).
- If specified, the environment variable will be inserted after the declaration of specified environment variable. - If specified, the environment variable will be inserted after the declaration of specified environment variable.
type: str type: str
version_added: "2.1" version_added: "2.1"
insertbefore: insertbefore:
description: description:
- Used with C(state=present) and C(env). - Used with I(state=present) and I(env).
- If specified, the environment variable will be inserted before the declaration of specified environment variable. - If specified, the environment variable will be inserted before the declaration of specified environment variable.
type: str type: str
version_added: "2.1" version_added: "2.1"
requirements: requirements:
- cron (or cronie on CentOS) - cron (or cronie on CentOS)
author: author:
- Dane Summers (@dsummersl) - Dane Summers (@dsummersl)
- Mike Grozak (@rhaido) - Mike Grozak (@rhaido)
- Patrick Callahan (@dirtyharrycallahan) - Patrick Callahan (@dirtyharrycallahan)
- Evan Kaufman (@EvanK) - Evan Kaufman (@EvanK)
- Luca Berruti (@lberruti) - Luca Berruti (@lberruti)
notes:
- Supports C(check_mode).
''' '''
EXAMPLES = r''' EXAMPLES = r'''
- name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null" - name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null"
cron: ansible.builtin.cron:
name: "check dirs" name: "check dirs"
minute: "0" minute: "0"
hour: "5,2" hour: "5,2"
job: "ls -alh > /dev/null" job: "ls -alh > /dev/null"
- name: 'Ensure an old job is no longer present. Removes any job that is prefixed by "#Ansible: an old job" from the crontab' - name: 'Ensure an old job is no longer present. Removes any job that is prefixed by "#Ansible: an old job" from the crontab'
cron: ansible.builtin.cron:
name: "an old job" name: "an old job"
state: absent state: absent
- name: Creates an entry like "@reboot /some/job.sh" - name: Creates an entry like "@reboot /some/job.sh"
cron: ansible.builtin.cron:
name: "a job for reboot" name: "a job for reboot"
special_time: reboot special_time: reboot
job: "/some/job.sh" job: "/some/job.sh"
- name: Creates an entry like "PATH=/opt/bin" on top of crontab - name: Creates an entry like "PATH=/opt/bin" on top of crontab
cron: ansible.builtin.cron:
name: PATH name: PATH
env: yes env: yes
job: /opt/bin job: /opt/bin
- name: Creates an entry like "APP_HOME=/srv/app" and insert it after PATH declaration - name: Creates an entry like "APP_HOME=/srv/app" and insert it after PATH declaration
cron: ansible.builtin.cron:
name: APP_HOME name: APP_HOME
env: yes env: yes
job: /srv/app job: /srv/app
insertafter: PATH insertafter: PATH
- name: Creates a cron file under /etc/cron.d - name: Creates a cron file under /etc/cron.d
cron: ansible.builtin.cron:
name: yum autoupdate name: yum autoupdate
weekday: "2" weekday: "2"
minute: "0" minute: "0"
@ -190,18 +192,20 @@ EXAMPLES = r'''
cron_file: ansible_yum-autoupdate cron_file: ansible_yum-autoupdate
- name: Removes a cron file from under /etc/cron.d - name: Removes a cron file from under /etc/cron.d
cron: ansible.builtin.cron:
name: "yum autoupdate" name: "yum autoupdate"
cron_file: ansible_yum-autoupdate cron_file: ansible_yum-autoupdate
state: absent state: absent
- name: Removes "APP_HOME" environment variable from crontab - name: Removes "APP_HOME" environment variable from crontab
cron: ansible.builtin.cron:
name: APP_HOME name: APP_HOME
env: yes env: yes
state: absent state: absent
''' '''
RETURN = r'''#'''
import os import os
import platform import platform
import pwd import pwd

View file

@ -23,6 +23,7 @@ notes:
installed to see questions/settings available. installed to see questions/settings available.
- Some distros will always record tasks involving the setting of passwords as changed. This is due to debconf-get-selections masking passwords. - Some distros will always record tasks involving the setting of passwords as changed. This is due to debconf-get-selections masking passwords.
- It is highly recommended to add I(no_log=True) to task while handling sensitive information using this module. - It is highly recommended to add I(no_log=True) to task while handling sensitive information using this module.
- Supports C(check_mode).
requirements: requirements:
- debconf - debconf
- debconf-utils - debconf-utils
@ -61,32 +62,32 @@ author:
EXAMPLES = r''' EXAMPLES = r'''
- name: Set default locale to fr_FR.UTF-8 - name: Set default locale to fr_FR.UTF-8
debconf: ansible.builtin.debconf:
name: locales name: locales
question: locales/default_environment_locale question: locales/default_environment_locale
value: fr_FR.UTF-8 value: fr_FR.UTF-8
vtype: select vtype: select
- name: Set to generate locales - name: Set to generate locales
debconf: ansible.builtin.debconf:
name: locales name: locales
question: locales/locales_to_be_generated question: locales/locales_to_be_generated
value: en_US.UTF-8 UTF-8, fr_FR.UTF-8 UTF-8 value: en_US.UTF-8 UTF-8, fr_FR.UTF-8 UTF-8
vtype: multiselect vtype: multiselect
- name: Accept oracle license - name: Accept oracle license
debconf: ansible.builtin.debconf:
name: oracle-java7-installer name: oracle-java7-installer
question: shared/accepted-oracle-license-v1-1 question: shared/accepted-oracle-license-v1-1
value: 'true' value: 'true'
vtype: select vtype: select
- name: Specifying package you can register/return the list of questions and current values - name: Specifying package you can register/return the list of questions and current values
debconf: ansible.builtin.debconf:
name: tzdata name: tzdata
- name: Pre-configure tripwire site passphrase - name: Pre-configure tripwire site passphrase
debconf: ansible.builtin.debconf:
name: tripwire name: tripwire
question: tripwire/site-passphrase question: tripwire/site-passphrase
value: "{{ site_passphrase }}" value: "{{ site_passphrase }}"
@ -94,6 +95,8 @@ EXAMPLES = r'''
no_log: True no_log: True
''' '''
RETURN = r'''#'''
from ansible.module_utils._text import to_text from ansible.module_utils._text import to_text
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule

View file

@ -49,29 +49,27 @@ author:
''' '''
EXAMPLES = r''' EXAMPLES = r'''
# Example that prints the loopback address and gateway for each host - name: Print the gateway for each host when defined
- debug: ansible.builtin.debug:
msg: System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}
- debug:
msg: System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }} msg: System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }}
when: ansible_default_ipv4.gateway is defined when: ansible_default_ipv4.gateway is defined
# Example that prints return information from the previous task - name: Get uptime information
- shell: /usr/bin/uptime ansible.builtin.shell: /usr/bin/uptime
register: result register: result
- debug: - name: Print return information from the previous task
ansible.builtin.debug:
var: result var: result
verbosity: 2 verbosity: 2
- name: Display all variables/facts known for a host - name: Display all variables/facts known for a host
debug: ansible.builtin.debug:
var: hostvars[inventory_hostname] var: hostvars[inventory_hostname]
verbosity: 4 verbosity: 4
# Example that prints two lines of messages, but only if there is an environment value set - name: Prints two lines of messages, but only if there is an environment value set
- debug: ansible.builtin.debug:
msg: msg:
- "Provisioning based on YOUR_KEY which is: {{ lookup('env', 'YOUR_KEY') }}" - "Provisioning based on YOUR_KEY which is: {{ lookup('env', 'YOUR_KEY') }}"
- "These servers were built using the password of '{{ password_used }}'. Please retain this for later use." - "These servers were built using the password of '{{ password_used }}'. Please retain this for later use."

View file

@ -71,6 +71,7 @@ notes:
also explicitly set C(fail_on_missing) to C(no) to get the also explicitly set C(fail_on_missing) to C(no) to get the
non-failing behaviour. non-failing behaviour.
- This module is also supported for Windows targets. - This module is also supported for Windows targets.
- Supports C(check_mode).
seealso: seealso:
- module: ansible.builtin.copy - module: ansible.builtin.copy
- module: ansible.builtin.slurp - module: ansible.builtin.slurp
@ -81,24 +82,24 @@ author:
EXAMPLES = r''' EXAMPLES = r'''
- name: Store file into /tmp/fetched/host.example.com/tmp/somefile - name: Store file into /tmp/fetched/host.example.com/tmp/somefile
fetch: ansible.builtin.fetch:
src: /tmp/somefile src: /tmp/somefile
dest: /tmp/fetched dest: /tmp/fetched
- name: Specifying a path directly - name: Specifying a path directly
fetch: ansible.builtin.fetch:
src: /tmp/somefile src: /tmp/somefile
dest: /tmp/prefix-{{ inventory_hostname }} dest: /tmp/prefix-{{ inventory_hostname }}
flat: yes flat: yes
- name: Specifying a destination path - name: Specifying a destination path
fetch: ansible.builtin.fetch:
src: /tmp/uniquefile src: /tmp/uniquefile
dest: /tmp/special/ dest: /tmp/special/
flat: yes flat: yes
- name: Storing in a path relative to the playbook - name: Storing in a path relative to the playbook
fetch: ansible.builtin.fetch:
src: /tmp/uniquefile src: /tmp/uniquefile
dest: special/prefix-{{ inventory_hostname }} dest: special/prefix-{{ inventory_hostname }}
flat: yes flat: yes

View file

@ -62,20 +62,21 @@ seealso:
- module: ansible.windows.win_group - module: ansible.windows.win_group
author: author:
- Stephen Fromm (@sfromm) - Stephen Fromm (@sfromm)
notes:
- Supports C(check_mode).
''' '''
EXAMPLES = ''' EXAMPLES = '''
- name: Ensure group "somegroup" exists - name: Ensure group "somegroup" exists
group: ansible.builtin.group:
name: somegroup name: somegroup
state: present state: present
- name: Ensure group "docker" exists with correct gid - name: Ensure group "docker" exists with correct gid
group: ansible.builtin.group:
name: docker name: docker
state: present state: present
gid: 1750 gid: 1750
''' '''
RETURN = r''' RETURN = r'''
@ -85,17 +86,17 @@ gid:
type: int type: int
sample: 1001 sample: 1001
name: name:
description: Group name description: Group name.
returned: always returned: always
type: str type: str
sample: users sample: users
state: state:
description: Whether the group is present or not description: Whether the group is present or not.
returned: always returned: always
type: str type: str
sample: 'absent' sample: 'absent'
system: system:
description: Whether the group is a system group or not description: Whether the group is a system group or not.
returned: When C(state) is 'present' returned: When C(state) is 'present'
type: bool type: bool
sample: False sample: False

View file

@ -125,6 +125,7 @@ extends_documentation_fragment:
- validate - validate
notes: notes:
- As of Ansible 2.3, the I(dest) option has been changed to I(path) as default, but I(dest) still works as well. - As of Ansible 2.3, the I(dest) option has been changed to I(path) as default, but I(dest) still works as well.
- Supports C(check_mode).
seealso: seealso:
- module: ansible.builtin.blockinfile - module: ansible.builtin.blockinfile
- module: ansible.builtin.copy - module: ansible.builtin.copy
@ -140,19 +141,19 @@ author:
EXAMPLES = r''' EXAMPLES = r'''
# NOTE: Before 2.3, option 'dest', 'destfile' or 'name' was used instead of 'path' # NOTE: Before 2.3, option 'dest', 'destfile' or 'name' was used instead of 'path'
- name: Ensure SELinux is set to enforcing mode - name: Ensure SELinux is set to enforcing mode
lineinfile: ansible.builtin.lineinfile:
path: /etc/selinux/config path: /etc/selinux/config
regexp: '^SELINUX=' regexp: '^SELINUX='
line: SELINUX=enforcing line: SELINUX=enforcing
- name: Make sure group wheel is not in the sudoers configuration - name: Make sure group wheel is not in the sudoers configuration
lineinfile: ansible.builtin.lineinfile:
path: /etc/sudoers path: /etc/sudoers
state: absent state: absent
regexp: '^%wheel' regexp: '^%wheel'
- name: Replace a localhost entry with our own - name: Replace a localhost entry with our own
lineinfile: ansible.builtin.lineinfile:
path: /etc/hosts path: /etc/hosts
regexp: '^127\.0\.0\.1' regexp: '^127\.0\.0\.1'
line: 127.0.0.1 localhost line: 127.0.0.1 localhost
@ -161,28 +162,28 @@ EXAMPLES = r'''
mode: '0644' mode: '0644'
- name: Ensure the default Apache port is 8080 - name: Ensure the default Apache port is 8080
lineinfile: ansible.builtin.lineinfile:
path: /etc/httpd/conf/httpd.conf path: /etc/httpd/conf/httpd.conf
regexp: '^Listen ' regexp: '^Listen '
insertafter: '^#Listen ' insertafter: '^#Listen '
line: Listen 8080 line: Listen 8080
- name: Ensure we have our own comment added to /etc/services - name: Ensure we have our own comment added to /etc/services
lineinfile: ansible.builtin.lineinfile:
path: /etc/services path: /etc/services
regexp: '^# port for http' regexp: '^# port for http'
insertbefore: '^www.*80/tcp' insertbefore: '^www.*80/tcp'
line: '# port for http by default' line: '# port for http by default'
- name: Add a line to a file if the file does not exist, without passing regexp - name: Add a line to a file if the file does not exist, without passing regexp
lineinfile: ansible.builtin.lineinfile:
path: /tmp/testfile path: /tmp/testfile
line: 192.168.1.99 foo.lab.net foo line: 192.168.1.99 foo.lab.net foo
create: yes create: yes
# NOTE: Yaml requires escaping backslashes in double quotes but not in single quotes # NOTE: Yaml requires escaping backslashes in double quotes but not in single quotes
- name: Ensure the JBoss memory settings are exactly as needed - name: Ensure the JBoss memory settings are exactly as needed
lineinfile: ansible.builtin.lineinfile:
path: /opt/jboss-as/bin/standalone.conf path: /opt/jboss-as/bin/standalone.conf
regexp: '^(.*)Xms(\d+)m(.*)$' regexp: '^(.*)Xms(\d+)m(.*)$'
line: '\1Xms${xms}m\3' line: '\1Xms${xms}m\3'
@ -190,7 +191,7 @@ EXAMPLES = r'''
# NOTE: Fully quoted because of the ': ' on the line. See the Gotchas in the YAML docs. # NOTE: Fully quoted because of the ': ' on the line. See the Gotchas in the YAML docs.
- name: Validate the sudoers file before saving - name: Validate the sudoers file before saving
lineinfile: ansible.builtin.lineinfile:
path: /etc/sudoers path: /etc/sudoers
state: present state: present
regexp: '^%ADMIN ALL=' regexp: '^%ADMIN ALL='
@ -199,13 +200,15 @@ EXAMPLES = r'''
# See https://docs.python.org/3/library/re.html for further details on syntax # See https://docs.python.org/3/library/re.html for further details on syntax
- name: Use backrefs with alternative group syntax to avoid conflicts with variable values - name: Use backrefs with alternative group syntax to avoid conflicts with variable values
lineinfile: ansible.builtin.lineinfile:
path: /tmp/config path: /tmp/config
regexp: ^(host=).* regexp: ^(host=).*
line: \g<1>{{ hostname }} line: \g<1>{{ hostname }}
backrefs: yes backrefs: yes
''' '''
RETURN = r'''#'''
import os import os
import re import re
import tempfile import tempfile

View file

@ -15,12 +15,12 @@ module: ping
version_added: historical version_added: historical
short_description: Try to connect to host, verify a usable python and return C(pong) on success short_description: Try to connect to host, verify a usable python and return C(pong) on success
description: description:
- A trivial test module, this module always returns C(pong) on successful - A trivial test module, this module always returns C(pong) on successful
contact. It does not make sense in playbooks, but it is useful from contact. It does not make sense in playbooks, but it is useful from
C(/usr/bin/ansible) to verify the ability to login and that a usable Python is configured. C(/usr/bin/ansible) to verify the ability to login and that a usable Python is configured.
- This is NOT ICMP ping, this is just a trivial test module that requires Python on the remote-node. - This is NOT ICMP ping, this is just a trivial test module that requires Python on the remote-node.
- For Windows targets, use the M(ansible.windows.win_ping) module instead. - For Windows targets, use the M(ansible.windows.win_ping) module instead.
- For Network targets, use the M(ansible.netcommon.net_ping) module instead. - For Network targets, use the M(ansible.netcommon.net_ping) module instead.
options: options:
data: data:
description: description:
@ -29,11 +29,13 @@ options:
type: str type: str
default: pong default: pong
seealso: seealso:
- module: ansible.netcommon.net_ping - module: ansible.netcommon.net_ping
- module: ansible.windows.win_ping - module: ansible.windows.win_ping
author: author:
- Ansible Core Team - Ansible Core Team
- Michael DeHaan - Michael DeHaan
notes:
- Supports C(check_mode).
''' '''
EXAMPLES = ''' EXAMPLES = '''
@ -41,16 +43,16 @@ EXAMPLES = '''
# ansible webservers -m ping # ansible webservers -m ping
- name: Example from an Ansible Playbook - name: Example from an Ansible Playbook
ping: ansible.builtin.ping:
- name: Induce an exception to see what happens - name: Induce an exception to see what happens
ping: ansible.builtin.ping:
data: crash data: crash
''' '''
RETURN = ''' RETURN = '''
ping: ping:
description: value provided with the data parameter description: Value provided with the data parameter.
returned: success returned: success
type: str type: str
sample: pong sample: pong

View file

@ -95,24 +95,25 @@ notes:
previous incorrect behavior, you may be need to adjust your tasks. previous incorrect behavior, you may be need to adjust your tasks.
See U(https://github.com/ansible/ansible/issues/31354) for details. See U(https://github.com/ansible/ansible/issues/31354) for details.
- Option I(follow) has been removed in Ansible 2.5, because this module modifies the contents of the file so I(follow=no) doesn't make sense. - Option I(follow) has been removed in Ansible 2.5, because this module modifies the contents of the file so I(follow=no) doesn't make sense.
- Supports C(check_mode).
''' '''
EXAMPLES = r''' EXAMPLES = r'''
- name: Before Ansible 2.3, option 'dest', 'destfile' or 'name' was used instead of 'path' - name: Before Ansible 2.3, option 'dest', 'destfile' or 'name' was used instead of 'path'
replace: ansible.builtin.replace:
path: /etc/hosts path: /etc/hosts
regexp: '(\s+)old\.host\.name(\s+.*)?$' regexp: '(\s+)old\.host\.name(\s+.*)?$'
replace: '\1new.host.name\2' replace: '\1new.host.name\2'
- name: Replace after the expression till the end of the file (requires Ansible >= 2.4) - name: Replace after the expression till the end of the file (requires Ansible >= 2.4)
replace: ansible.builtin.replace:
path: /etc/apache2/sites-available/default.conf path: /etc/apache2/sites-available/default.conf
after: 'NameVirtualHost [*]' after: 'NameVirtualHost [*]'
regexp: '^(.+)$' regexp: '^(.+)$'
replace: '# \1' replace: '# \1'
- name: Replace before the expression till the begin of the file (requires Ansible >= 2.4) - name: Replace before the expression till the begin of the file (requires Ansible >= 2.4)
replace: ansible.builtin.replace:
path: /etc/apache2/sites-available/default.conf path: /etc/apache2/sites-available/default.conf
before: '# live site config' before: '# live site config'
regexp: '^(.+)$' regexp: '^(.+)$'
@ -121,7 +122,7 @@ EXAMPLES = r'''
# Prior to Ansible 2.7.10, using before and after in combination did the opposite of what was intended. # Prior to Ansible 2.7.10, using before and after in combination did the opposite of what was intended.
# see https://github.com/ansible/ansible/issues/31354 for details. # see https://github.com/ansible/ansible/issues/31354 for details.
- name: Replace between the expressions (requires Ansible >= 2.4) - name: Replace between the expressions (requires Ansible >= 2.4)
replace: ansible.builtin.replace:
path: /etc/hosts path: /etc/hosts
after: '<VirtualHost [*]>' after: '<VirtualHost [*]>'
before: '</VirtualHost>' before: '</VirtualHost>'
@ -129,7 +130,7 @@ EXAMPLES = r'''
replace: '# \1' replace: '# \1'
- name: Supports common file attributes - name: Supports common file attributes
replace: ansible.builtin.replace:
path: /home/jdoe/.ssh/known_hosts path: /home/jdoe/.ssh/known_hosts
regexp: '^old\.host\.name[^\n]*\n' regexp: '^old\.host\.name[^\n]*\n'
owner: jdoe owner: jdoe
@ -137,34 +138,36 @@ EXAMPLES = r'''
mode: '0644' mode: '0644'
- name: Supports a validate command - name: Supports a validate command
replace: ansible.builtin.replace:
path: /etc/apache/ports path: /etc/apache/ports
regexp: '^(NameVirtualHost|Listen)\s+80\s*$' regexp: '^(NameVirtualHost|Listen)\s+80\s*$'
replace: '\1 127.0.0.1:8080' replace: '\1 127.0.0.1:8080'
validate: '/usr/sbin/apache2ctl -f %s -t' validate: '/usr/sbin/apache2ctl -f %s -t'
- name: Short form task (in ansible 2+) necessitates backslash-escaped sequences - name: Short form task (in ansible 2+) necessitates backslash-escaped sequences
replace: path=/etc/hosts regexp='\\b(localhost)(\\d*)\\b' replace='\\1\\2.localdomain\\2 \\1\\2' ansible.builtin.replace: path=/etc/hosts regexp='\\b(localhost)(\\d*)\\b' replace='\\1\\2.localdomain\\2 \\1\\2'
- name: Long form task does not - name: Long form task does not
replace: ansible.builtin.replace:
path: /etc/hosts path: /etc/hosts
regexp: '\b(localhost)(\d*)\b' regexp: '\b(localhost)(\d*)\b'
replace: '\1\2.localdomain\2 \1\2' replace: '\1\2.localdomain\2 \1\2'
- name: Explicitly specifying positional matched groups in replacement - name: Explicitly specifying positional matched groups in replacement
replace: ansible.builtin.replace:
path: /etc/ssh/sshd_config path: /etc/ssh/sshd_config
regexp: '^(ListenAddress[ ]+)[^\n]+$' regexp: '^(ListenAddress[ ]+)[^\n]+$'
replace: '\g<1>0.0.0.0' replace: '\g<1>0.0.0.0'
- name: Explicitly specifying named matched groups - name: Explicitly specifying named matched groups
replace: ansible.builtin.replace:
path: /etc/ssh/sshd_config path: /etc/ssh/sshd_config
regexp: '^(?P<dctv>ListenAddress[ ]+)(?P<host>[^\n]+)$' regexp: '^(?P<dctv>ListenAddress[ ]+)(?P<host>[^\n]+)$'
replace: '#\g<dctv>\g<host>\n\g<dctv>0.0.0.0' replace: '#\g<dctv>\g<host>\n\g<dctv>0.0.0.0'
''' '''
RETURN = r'''#'''
import os import os
import re import re
import tempfile import tempfile

View file

@ -11,12 +11,12 @@ module: script
version_added: "0.9" version_added: "0.9"
short_description: Runs a local script on a remote node after transferring it short_description: Runs a local script on a remote node after transferring it
description: description:
- The C(script) module takes the script name followed by a list of space-delimited arguments. - The C(script) module takes the script name followed by a list of space-delimited arguments.
- Either a free form command or C(cmd) parameter is required, see the examples. - Either a free form command or C(cmd) parameter is required, see the examples.
- The local script at path will be transferred to the remote node and then executed. - The local script at path will be transferred to the remote node and then executed.
- The given script will be processed through the shell environment on the remote node. - The given script will be processed through the shell environment on the remote node.
- This module does not require python on the remote system, much like the M(ansible.builtin.raw) module. - This module does not require python on the remote system, much like the M(ansible.builtin.raw) module.
- This module is also supported for Windows targets. - This module is also supported for Windows targets.
options: options:
free_form: free_form:
description: description:
@ -47,41 +47,42 @@ notes:
stderr is sent to stdout. If you depend on separated stdout and stderr result keys, please switch to a copy+command set of tasks instead of using script. stderr is sent to stdout. If you depend on separated stdout and stderr result keys, please switch to a copy+command set of tasks instead of using script.
- If the path to the local script contains spaces, it needs to be quoted. - If the path to the local script contains spaces, it needs to be quoted.
- This module is also supported for Windows targets. - This module is also supported for Windows targets.
- Does not support C(check_mode).
seealso: seealso:
- module: ansible.builtin.shell - module: ansible.builtin.shell
- module: ansible.windows.win_shell - module: ansible.windows.win_shell
author: author:
- Ansible Core Team - Ansible Core Team
- Michael DeHaan - Michael DeHaan
extends_documentation_fragment: extends_documentation_fragment:
- decrypt - decrypt
''' '''
EXAMPLES = r''' EXAMPLES = r'''
- name: Run a script with arguments (free form) - name: Run a script with arguments (free form)
script: /some/local/script.sh --some-argument 1234 ansible.builtin.script: /some/local/script.sh --some-argument 1234
- name: Run a script with arguments (using 'cmd' parameter) - name: Run a script with arguments (using 'cmd' parameter)
script: ansible.builtin.script:
cmd: /some/local/script.sh --some-argument 1234 cmd: /some/local/script.sh --some-argument 1234
- name: Run a script only if file.txt does not exist on the remote node - name: Run a script only if file.txt does not exist on the remote node
script: /some/local/create_file.sh --some-argument 1234 ansible.builtin.script: /some/local/create_file.sh --some-argument 1234
args: args:
creates: /the/created/file.txt creates: /the/created/file.txt
- name: Run a script only if file.txt exists on the remote node - name: Run a script only if file.txt exists on the remote node
script: /some/local/remove_file.sh --some-argument 1234 ansible.builtin.script: /some/local/remove_file.sh --some-argument 1234
args: args:
removes: /the/removed/file.txt removes: /the/removed/file.txt
- name: Run a script using an executable in a non-system path - name: Run a script using an executable in a non-system path
script: /some/local/script ansible.builtin.script: /some/local/script
args: args:
executable: /some/remote/executable executable: /some/remote/executable
- name: Run a script using an executable in a system path - name: Run a script using an executable in a system path
script: /some/local/script.py ansible.builtin.script: /some/local/script.py
args: args:
executable: python3 executable: python3
''' '''

View file

@ -79,8 +79,9 @@ options:
version_added: 2.2 version_added: 2.2
notes: notes:
- For AIX, group subsystem names can be used. - For AIX, group subsystem names can be used.
- Supports C(check_mode).
seealso: seealso:
- module: ansible.windows.win_service - module: ansible.windows.win_service
author: author:
- Ansible Core Team - Ansible Core Team
- Michael DeHaan - Michael DeHaan
@ -88,43 +89,45 @@ author:
EXAMPLES = r''' EXAMPLES = r'''
- name: Start service httpd, if not started - name: Start service httpd, if not started
service: ansible.builtin.service:
name: httpd name: httpd
state: started state: started
- name: Stop service httpd, if started - name: Stop service httpd, if started
service: ansible.builtin.service:
name: httpd name: httpd
state: stopped state: stopped
- name: Restart service httpd, in all cases - name: Restart service httpd, in all cases
service: ansible.builtin.service:
name: httpd name: httpd
state: restarted state: restarted
- name: Reload service httpd, in all cases - name: Reload service httpd, in all cases
service: ansible.builtin.service:
name: httpd name: httpd
state: reloaded state: reloaded
- name: Enable service httpd, and not touch the state - name: Enable service httpd, and not touch the state
service: ansible.builtin.service:
name: httpd name: httpd
enabled: yes enabled: yes
- name: Start service foo, based on running process /usr/bin/foo - name: Start service foo, based on running process /usr/bin/foo
service: ansible.builtin.service:
name: foo name: foo
pattern: /usr/bin/foo pattern: /usr/bin/foo
state: started state: started
- name: Restart network service for interface eth0 - name: Restart network service for interface eth0
service: ansible.builtin.service:
name: network name: network
state: restarted state: restarted
args: eth0 args: eth0
''' '''
RETURN = r'''#'''
import glob import glob
import json import json
import os import os