ansible / ansible.windows / 2.3.0 / module / win_template Template a file out to a remote server Authors: Jon Hawkesworth (@jhawkesworth) This plugin has a corresponding action plugin.ansible.windows.win_template (2.3.0) — module
Install with ansible-galaxy collection install ansible.windows:==2.3.0
collections: - name: ansible.windows version: 2.3.0
Templates are processed by the L(Jinja2 templating language,http://jinja.pocoo.org/docs/).
Documentation on the template formatting can be found in the L(Template Designer Documentation,http://jinja.pocoo.org/docs/templates/).
Additional variables listed below can be used in templates.
C(ansible_managed) (configurable via the C(defaults) section of C(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.
C(template_host) contains the node name of the template's machine.
C(template_uid) is the numeric user id of the owner.
C(template_path) is the path of the template.
C(template_fullpath) is the absolute path of the template.
C(template_destpath) is the path of the template on the remote system (added in 2.8).
C(template_run_date) is the date that the template was rendered.
- 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: true
src: description: - 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 C(utf-8) but I(output_encoding) can be used to control the encoding of the output template. required: true type: path dest: description: - Location to render the template to on the remote machine. required: true type: path force: default: true description: - Determine when the file is being transferred if the destination already exists. - When set to C(true), replace the remote file when contents are different than the source. - When set to C(false), the file will only be transferred if the destination does not exist. type: bool backup: default: false description: - Determine whether a backup should be created. - When set to C(true), create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly. type: bool trim_blocks: default: true description: - Determine when newlines should be removed from blocks. - When set to C(true) the first newline after a block is removed (block, not variable tag!). type: bool lstrip_blocks: default: false description: - Determine when leading spaces and tabs should be stripped. - When set to C(true) leading spaces and tabs are stripped from the start of a line to a block. - This functionality requires Jinja 2.7 or newer. type: bool output_encoding: default: utf-8 description: - Overrides the encoding used to write the template file defined by C(dest). - It defaults to C(utf-8), but any encoding supported by python can be used. - The source template file must always be encoded using C(utf-8), for homogeneity. type: str block_end_string: default: '%}' description: - The string marking the end of a block. type: str newline_sequence: choices: - \n - \r - \r\n default: \r\n description: - Specify the newline sequence to use for templating files. type: str block_start_string: default: '{%' description: - The string marking the beginning of a block. type: str variable_end_string: default: '}}' description: - The string marking the end of a print statement. type: str variable_start_string: default: '{{' description: - The string marking the beginning of a print statement. type: str
backup_file: description: Name of the backup file that was created. returned: if backup=true sample: C:\Path\To\File.txt.11540.20150212-220915.bak type: str