Note
This plugin is part of the ansible.windows collection.
To install it use: ansible-galaxy collection install ansible.windows
.
To use it in a playbook, specify: ansible.windows.win_template
.
ansible_managed
(configurable via the defaults
section of ansible.cfg
) contains a string which can be used to describe the template name, host, modification time of the template file and the owner uid.template_host
contains the node name of the template’s machine.template_uid
is the numeric user id of the owner.template_path
is the path of the template.template_fullpath
is the absolute path of the template.template_destpath
is the path of the template on the remote system (added in 2.8).template_run_date
is the date that the template was rendered.Note
This module has a corresponding action plugin.
Parameter | Choices/Defaults | Comments |
---|---|---|
backup boolean |
| Determine whether a backup should be created. When set to yes , create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly. |
block_end_string string | Default: "%}" | The string marking the end of a block. |
block_start_string string | Default: "{%" | The string marking the beginning of a block. |
dest path / required | Location to render the template to on the remote machine. | |
force boolean |
| Determine when the file is being transferred if the destination already exists. When set to yes , replace the remote file when contents are different than the source.When set to no , the file will only be transferred if the destination does not exist. |
lstrip_blocks boolean |
| Determine when leading spaces and tabs should be stripped. When set to yes leading spaces and tabs are stripped from the start of a line to a block.This functionality requires Jinja 2.7 or newer. |
newline_sequence string |
| Specify the newline sequence to use for templating files. |
output_encoding string | Default: "utf-8" | Overrides the encoding used to write the template file defined by dest .It defaults to utf-8 , but any encoding supported by python can be used.The source template file must always be encoded using utf-8 , for homogeneity. |
src path / required | Path of a Jinja2 formatted template on the Ansible controller. This can be a relative or an absolute path. The file must be encoded with utf-8 but output_encoding can be used to control the encoding of the output template. | |
trim_blocks boolean |
| Determine when newlines should be removed from blocks. When set to yes the first newline after a block is removed (block, not variable tag!). |
variable_end_string string | Default: "}}" | The string marking the end of a print statement. |
variable_start_string string | Default: "{{" | The string marking the beginning of a print statement. |
Note
#jinja2:variable_start_string:'[%', variable_end_string:'%]', trim_blocks: False
which changes the variable interpolation markers to [% var %]
instead of {{ var }}
. This is the best way to prevent evaluation of things that look like, but should not be Jinja2.Format-Hex <file> -Count 16
on Windows, and use od -a -t x1 -N 16 <file>
on Linux.content:
option if you prefer the template inline, as part of the playbook.newline_sequence
by default.See also
The official documentation on the ansible.windows.win_copy module.
The official documentation on the ansible.builtin.copy module.
The official documentation on the ansible.builtin.template module.
- name: Create a file from a Jinja2 template ansible.windows.win_template: src: /mytemplates/file.conf.j2 dest: C:\Temp\file.conf - name: Create a Unix-style file from a Jinja2 template ansible.windows.win_template: src: unix/config.conf.j2 dest: C:\share\unix\config.conf newline_sequence: '\n' backup: yes
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
backup_file string | if backup=yes | Name of the backup file that was created. Sample: C:\Path\To\File.txt.11540.20150212-220915.bak |
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/windows/win_template_module.html