mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 21:00:22 -07:00
Core Docs Refactor and Redesign (#36067)
* Docs refactor as outlined in https://github.com/ansible/proposals/issues/79. Moves content into 'guides'; refactors TOC; fixes CSS; design tweaks to layout and CSS; fixes generated plugin, CLI and module docs to fix links accodingly; more. * Adding extra blank line for shippable
This commit is contained in:
parent
480a9c10c9
commit
373b1dcf59
157 changed files with 13167 additions and 178 deletions
61
docs/docsite/rst/user_guide/playbooks_advanced_syntax.rst
Normal file
61
docs/docsite/rst/user_guide/playbooks_advanced_syntax.rst
Normal file
|
@ -0,0 +1,61 @@
|
|||
Advanced Syntax
|
||||
===============
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
This page describes advanced YAML syntax that enables you to have more control over the data placed in YAML files used by Ansible.
|
||||
|
||||
.. _yaml_tags_and_python_types:
|
||||
|
||||
YAML tags and Python types
|
||||
``````````````````````````
|
||||
|
||||
The documentation covered here is an extension of the documentation that can be found in the `PyYAML Documentation <http://pyyaml.org/wiki/PyYAMLDocumentation#YAMLtagsandPythontypes>`_
|
||||
|
||||
.. _unsafe_strings:
|
||||
|
||||
Unsafe or Raw Strings
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Ansible provides an internal data type for declaring variable values as "unsafe". This means that the data held within the variables value should be treated as unsafe preventing unsafe character subsitition and information disclosure.
|
||||
|
||||
Jinja2 contains functionality for escaping, or telling Jinja2 to not template data by means of functionality such as ``{% raw %} ... {% endraw %}``, however this uses a more comprehensive implementation to ensure that the value is never templated.
|
||||
|
||||
Using YAML tags, you can also mark a value as "unsafe" by using the ``!unsafe`` tag such as:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
---
|
||||
my_unsafe_variable: !unsafe 'this variable has {{ characters that should not be treated as a jinja2 template'
|
||||
|
||||
In a playbook, this may look like::
|
||||
|
||||
---
|
||||
hosts: all
|
||||
vars:
|
||||
my_unsafe_variable: !unsafe 'unsafe value'
|
||||
tasks:
|
||||
...
|
||||
|
||||
For complex variables such as hashes or arrays, ``!unsafe`` should be used on the individual elements such as::
|
||||
|
||||
---
|
||||
my_unsafe_array:
|
||||
- !unsafe 'unsafe element'
|
||||
- 'safe element'
|
||||
|
||||
my_unsafe_hash:
|
||||
unsafe_key: !unsafe 'unsafe value'
|
||||
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
:doc:`playbooks_variables`
|
||||
All about variables
|
||||
`User Mailing List <http://groups.google.com/group/ansible-project>`_
|
||||
Have a question? Stop by the google group!
|
||||
`irc.freenode.net <http://irc.freenode.net>`_
|
||||
#ansible IRC chat channel
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue