80beba88da
By default a list item in a JSON or YAML format will extend if a its already defined in the target template and a config_override using a list is being set for the existing "key". This change allows that functionality to be toggled on or off. The boolean option to enable list extension is ``list_extend``. To maintain the API this feature will remain True by default. Co-Authored-By: Travis Truman <travis_truman@cable.comcast.com> Change-Id: I97e06aef2cc778f048f3d6863fe61d10eddb8602 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
# this is a virtual module that is entirely implemented server side
|
|
|
|
DOCUMENTATION = """
|
|
---
|
|
module: config_template
|
|
version_added: 1.9.2
|
|
short_description: Renders template files providing a create/update override interface
|
|
description:
|
|
- The module contains the template functionality with the ability to override items
|
|
in config, in transit, through the use of a simple dictionary without having to
|
|
write out various temp files on target machines. The module renders all of the
|
|
potential jinja a user could provide in both the template file and in the override
|
|
dictionary which is ideal for deployers who may have lots of different configs
|
|
using a similar code base.
|
|
- The module is an extension of the **copy** module and all of attributes that can be
|
|
set there are available to be set here.
|
|
options:
|
|
src:
|
|
description:
|
|
- Path of a Jinja2 formatted template on the local server. This can be a relative
|
|
or absolute path.
|
|
required: true
|
|
default: null
|
|
dest:
|
|
description:
|
|
- Location to render the template to on the remote machine.
|
|
required: true
|
|
default: null
|
|
config_overrides:
|
|
description:
|
|
- A dictionary used to update or override items within a configuration template.
|
|
The dictionary data structure may be nested. If the target config file is an ini
|
|
file the nested keys in the ``config_overrides`` will be used as section
|
|
headers.
|
|
config_type:
|
|
description:
|
|
- A string value describing the target config type.
|
|
choices:
|
|
- ini
|
|
- json
|
|
- yaml
|
|
list_extend:
|
|
description:
|
|
- By default a list item in a JSON or YAML format will extend if
|
|
its already defined in the target template and a config_override
|
|
using a list is being set for the existing "key". This functionality
|
|
can be toggled on or off using this option. If disabled an override
|
|
list will replace an existing "key".
|
|
choices:
|
|
- True
|
|
- False
|
|
author: Kevin Carter
|
|
"""
|
|
|
|
EXAMPLES = """
|
|
- name: run config template ini
|
|
config_template:
|
|
src: templates/test.ini.j2
|
|
dest: /tmp/test.ini
|
|
config_overrides: {}
|
|
config_type: ini
|
|
|
|
- name: run config template json
|
|
config_template:
|
|
src: templates/test.json.j2
|
|
dest: /tmp/test.json
|
|
config_overrides: {}
|
|
config_type: json
|
|
|
|
- name: run config template yaml
|
|
config_template:
|
|
src: templates/test.yaml.j2
|
|
dest: /tmp/test.yaml
|
|
config_overrides: {}
|
|
config_type: yaml
|
|
"""
|