76d5f02a32
It is sometimes useful to tell ConfigTemplateParser to write out options that are valueless and not suffixed with '=' or ':', such as when overriding a my.cnf. This commit adds the 'ignore_none_type' attribute to the config_template module. If this attribute is set to false, then valueless options will be written out to the resultant INI file as-is, without the '=' or ':' suffix. Change-Id: I5c88b2019c01b44193a5d0df9299ecce6de52f01 Partial-Bug: #1693234
87 lines
2.9 KiB
Plaintext
87 lines
2.9 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
|
|
ignore_none_type:
|
|
description:
|
|
- Can be true or false. If ignore_none_type is set to true, then
|
|
valueless INI options will not be written out to the resultant file.
|
|
If it's set to false, then config_template will write out only
|
|
the option name without the '=' or ':' suffix. The default is true.
|
|
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
|
|
"""
|