diff --git a/lib/ansible/plugins/filter/core.py b/lib/ansible/plugins/filter/core.py index c0edbe03668..84e055b61f8 100644 --- a/lib/ansible/plugins/filter/core.py +++ b/lib/ansible/plugins/filter/core.py @@ -223,6 +223,14 @@ def get_encrypted_password(password, hashtype='sha512', salt=None): def to_uuid(string): return str(uuid.uuid5(UUID_NAMESPACE_ANSIBLE, str(string))) +def mandatory(a): + from jinja2.runtime import Undefined + + ''' Make a variable mandatory ''' + if isinstance(a, Undefined): + raise errors.AnsibleFilterError('Mandatory variable not defined.') + return a + class FilterModule(object): ''' Ansible core jinja2 filters ''' @@ -290,4 +298,6 @@ class FilterModule(object): # random stuff 'random': rand, 'shuffle': randomize_list, + # undefined + 'mandatory': mandatory, } diff --git a/lib/ansible/plugins/test/core.py b/lib/ansible/plugins/test/core.py index 7de8e7436ca..daf2240211e 100644 --- a/lib/ansible/plugins/test/core.py +++ b/lib/ansible/plugins/test/core.py @@ -79,14 +79,6 @@ def search(value, pattern='', ignorecase=False): ''' Perform a `re.search` returning a boolean ''' return regex(value, pattern, ignorecase, 'search') -def mandatory(a): - from jinja2.runtime import Undefined - - ''' Make a variable mandatory ''' - if isinstance(a, Undefined): - raise errors.AnsibleFilterError('Mandatory variable not defined.') - return a - class TestModule(object): ''' Ansible core jinja2 tests ''' @@ -102,9 +94,6 @@ class TestModule(object): # skip testing 'skipped' : skipped, - # variable existence - 'mandatory': mandatory, - # regex 'match': match, 'search': search,