Daniel Hokka Zakrisson
a79373f6b2
Make template_ds the only templater
...
Instead of having to remember when to use which one, rename template_ds
to template and move the last bit of code from template to varReplace
(which gets used for all string replacements, in the end).
This means that you can template any data type without worrying about
whether it's a string or not, and the right thing will happen.
12 years ago
Daniel Hokka Zakrisson
87b2378e22
Resolve variable references inside variables
...
Fixes the case where variable x is '$y' and y is a dict(foo='bar') and
an attempt to access ${x.foo} is made.
12 years ago
Daniel Hokka Zakrisson
e74ffd6764
Lookup plugin arguments need to be templated
12 years ago
Daniel Hokka Zakrisson
d2dce1d63f
Make lookup plugin replacements part of the main variable logic
12 years ago
Daniel Hokka Zakrisson
383dc30560
Rename varReplaceWithItems to template_ds
12 years ago
Daniel Hokka Zakrisson
47082a9171
Add $LOOKUP(<lookup plugin>,<data>) as a templating option
...
Also moves file and pipe to lookup_plugins.
12 years ago
Daniel Hokka Zakrisson
56314f7225
Add test case for non-existing variable in varReplaceWithItems
12 years ago
Daniel Hokka Zakrisson
efe83daf19
Fix ${var.$other_var} and add test cases for it
12 years ago
Daniel Hokka Zakrisson
c9c5fc1456
Merge varFind and varLookup
12 years ago
Michael DeHaan
6fa1a49037
Fix the basic templating system such that when the template ends in '$', life continues as normal.
12 years ago
Michael DeHaan
0837a29e51
Only expand lists in templating inside of module action lines, to avoid breaking usage with with_items and "in" statements, etc
12 years ago
Daniel Hokka Zakrisson
695b4bcb46
Allow non-string types in with_items variables
12 years ago
Michael DeHaan
22f3aef4dc
remove test for private function that is no longer present
12 years ago
Daniel Hokka Zakrisson
dfee6e19ca
Replace lists with a comma-separated join
12 years ago
Daniel Hokka Zakrisson
4b29c2cf74
Revert pull request #1091
...
Automatic quoting of variables in only_if breaks existing playbooks
where entire statements are put in a variable, and other cases. See
issue #1120 for details.
12 years ago
Michael DeHaan
06cfc52afd
fix tests and change nosetests flags so asserts show what comparisons failed
12 years ago
Daniel Hokka Zakrisson
9e4fac5ebd
Create a string parser for varReplace instead of using re
...
This fixes a few issues,
- ${foo}${bar} would be parsed as a variable named foo}${bar,
which wouldn't be easily fixed without breaking ${foo.${bar}}
- allows escaping . in variable parts so e.g.
${hostvars.{test.example.com}.foo} works
This is slower than using re. 3 million templating calls take about
about twice as long to complete with this compared to the regexp,
from ~65 seconds to ~115 seconds on my laptop.
12 years ago
Daniel Hokka Zakrisson
b55ef665ba
Fix only_if statements referencing non-string types
...
This fixes e.g. only_if: ${task.changed} which would always
evaluate to true due to it having been replaced by a string for its
boolean value. Also adds a test case to ensure it doesn't get
missed again.
12 years ago
Daniel Hokka Zakrisson
51216dcfae
Add tests for varReplace repr
12 years ago
Michael DeHaan
4ded8cb3b3
Change $FILE{} and $PIPE{} to $FILE() and $PIPE()
12 years ago
Daniel Hokka Zakrisson
cc948f339c
Allow including files through variables
...
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
12 years ago
Michael DeHaan
b8c4bb9e6e
Revert "Allow including files through variables"
...
This reverts commit bf47bb4753
.
Conflicts:
lib/ansible/utils.py
test/TestUtils.py
12 years ago
Michael DeHaan
b2af95e4a6
Change $FILE{} and $PIPE{} to $FILE() and $PIPE()
12 years ago
Daniel Hokka Zakrisson
bf47bb4753
Allow including files through variables
...
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
12 years ago
Dave Peticolas
08272dc25d
Remove unused imports.
12 years ago
Michael DeHaan
9e62fd42b5
update test utils code
12 years ago
Daniel Hokka Zakrisson
031c75e53a
Update tests to reflect new API
13 years ago
Daniel Hokka Zakrisson
24d73b0fe6
Add tests of iterative templating
13 years ago
Daniel Hokka Zakrisson
a05da2d312
Allow with_items to specify a variable
13 years ago
Matt Goodall
639763c138
Allow "=" in k-v values.
13 years ago
Jeroen Hoekx
dc60f2d844
Allow camelCase variables in varreplace.
13 years ago
Jeroen Hoekx
3cbc229990
Support list indexing in varReplace.
13 years ago
Jeroen Hoekx
74e21e6154
Fixup unicode varReplace templating.
...
The original patches should have conflicted?
53bde0bf51
vs efde61e537
13 years ago
Jeroen Hoekx
2bbc05185e
Make no_engine the default templating action.
13 years ago
Jeroen Hoekx
82144fd543
Support nested variables in varReplace.
13 years ago