diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 16:04:21 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 16:04:21 +0000 |
commit | 8a754e0858d922e955e71b253c139e071ecec432 (patch) | |
tree | 527d16e74bfd1840c85efd675fdecad056c54107 /lib/ansible/modules/template.py | |
parent | Initial commit. (diff) | |
download | ansible-core-upstream/2.14.3.tar.xz ansible-core-upstream/2.14.3.zip |
Adding upstream version 2.14.3.upstream/2.14.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | lib/ansible/modules/template.py | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/lib/ansible/modules/template.py b/lib/ansible/modules/template.py new file mode 100644 index 0000000..7ee581a --- /dev/null +++ b/lib/ansible/modules/template.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2017, Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# This is a virtual module that is entirely implemented as an action plugin and runs on the controller + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = r''' +--- +module: template +version_added: historical +short_description: Template a file out to a target host +options: + follow: + description: + - Determine whether symbolic links should be followed. + - When set to C(true) symbolic links will be followed, if they exist. + - When set to C(false) symbolic links will not be followed. + - Previous to Ansible 2.4, this was hardcoded as C(true). + type: bool + default: no + version_added: '2.4' +notes: +- For Windows you can use M(ansible.windows.win_template) which uses C(\r\n) as C(newline_sequence) by default. +- The C(jinja2_native) setting has no effect. Native types are never used in the C(template) module which is by design used for generating text files. + For working with templates and utilizing Jinja2 native types see the C(jinja2_native) parameter of the C(template lookup). +seealso: +- module: ansible.builtin.copy +- module: ansible.windows.win_copy +- module: ansible.windows.win_template +author: +- Ansible Core Team +- Michael DeHaan +extends_documentation_fragment: +- action_common_attributes +- action_common_attributes.flow +- action_common_attributes.files +- backup +- files +- template_common +- validate +attributes: + action: + support: full + async: + support: none + bypass_host_loop: + support: none + check_mode: + support: full + diff_mode: + support: full + platform: + platforms: posix + safe_file_operations: + support: full + vault: + support: full +''' + +EXAMPLES = r''' +- name: Template a file to /etc/file.conf + ansible.builtin.template: + src: /mytemplates/foo.j2 + dest: /etc/file.conf + owner: bin + group: wheel + mode: '0644' + +- name: Template a file, using symbolic modes (equivalent to 0644) + ansible.builtin.template: + src: /mytemplates/foo.j2 + dest: /etc/file.conf + owner: bin + group: wheel + mode: u=rw,g=r,o=r + +- name: Copy a version of named.conf that is dependent on the OS. setype obtained by doing ls -Z /etc/named.conf on original file + ansible.builtin.template: + src: named.conf_{{ ansible_os_family }}.j2 + dest: /etc/named.conf + group: named + setype: named_conf_t + mode: 0640 + +- name: Create a DOS-style text file from a template + ansible.builtin.template: + src: config.ini.j2 + dest: /share/windows/config.ini + newline_sequence: '\r\n' + +- name: Copy a new sudoers file into place, after passing validation with visudo + ansible.builtin.template: + src: /mine/sudoers + dest: /etc/sudoers + validate: /usr/sbin/visudo -cf %s + +- name: Update sshd configuration safely, avoid locking yourself out + ansible.builtin.template: + src: etc/ssh/sshd_config.j2 + dest: /etc/ssh/sshd_config + owner: root + group: root + mode: '0600' + validate: /usr/sbin/sshd -t -f %s + backup: yes +''' |