
The default section in an ini file will always be 'DEFAULT', but for some configuration files you may want to be able to set this to ensure another section is at the top. 'global' for example, when working with fio. This PR adds the ability to set the section to be at the top, but will default to 'DEFAULT' so no change will happen to existing tasks running config_template. Change-Id: Ifbc0b91aef46f3c2d98e73fdc9ab888244550bab
94 lines
3.1 KiB
Plaintext
94 lines
3.1 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
|
|
default_section:
|
|
description:
|
|
- Specify the default section for INI configuration files. This is the
|
|
section that will appear at the top of the configuration file. For
|
|
example 'global'.
|
|
default: 'DEFAULT'
|
|
|
|
author: Kevin Carter
|
|
"""
|
|
|
|
EXAMPLES = """
|
|
- name: run config template ini
|
|
config_template:
|
|
src: templates/test.ini.j2
|
|
dest: /tmp/test.ini
|
|
config_overrides: {}
|
|
top_ini_section: 'global'
|
|
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
|
|
"""
|