summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2016-07-08 11:28:37 -0400
committerBrian Coca <brian.coca+git@gmail.com>2016-07-08 11:28:37 -0400
commit7f28bcacaaf7feec76699e6fa99b84b916951bcc (patch)
tree352eeee225b1b468d02f578197392ae68c1735ac
parent60ef91aae76d6d85bc71a9324c7ace3924060648 (diff)
downloadansible-7f28bcacaaf7feec76699e6fa99b84b916951bcc.tar.gz
added defined/undefined tests
-rw-r--r--lib/ansible/plugins/test/core.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/ansible/plugins/test/core.py b/lib/ansible/plugins/test/core.py
index 641172b91c..1947fc13b8 100644
--- a/lib/ansible/plugins/test/core.py
+++ b/lib/ansible/plugins/test/core.py
@@ -84,6 +84,15 @@ def search(value, pattern='', ignorecase=False, multiline=False):
''' Perform a `re.search` returning a boolean '''
return regex(value, pattern, ignorecase, multiline, 'search')
+def undefined(a):
+ ''' Test if a variable is undefined '''
+ from jinja2.runtime import Undefined
+ return isinstance(a, Undefined)
+
+def defined(a):
+ ''' Test if a variable is defined '''
+ return not undefined(a)
+
class TestModule(object):
''' Ansible core jinja2 tests '''
@@ -107,4 +116,8 @@ class TestModule(object):
'match': match,
'search': search,
'regex': regex,
+
+ # variable testing
+ 'undefined': undefined,
+ 'defined': defined,
}