Commit 3c2cbae6 by Michael DeHaan

Plays and tasks now yell when they see parameters they do not understand, so…

Plays and tasks now yell when they see parameters they do not understand, so that typos like 'var' for 'vars'
don't result in people having to ask questions about what is wrong with their playbook
parent e4a546e8
......@@ -30,6 +30,7 @@ Ansible Changes By Release
* ec2 inventory script
* mount module
* apt module now passes DEBIAN_FRONTEND=noninteractive
* to catch typos, like 'var' for 'vars', playbooks and tasks now yell on invalid parameters
0.5 "Amsterdam" ------- July 04, 2012
......
......@@ -32,11 +32,23 @@ class Play(object):
'tags', 'gather_facts', '_ds', '_handlers', '_tasks'
]
# to catch typos and so forth -- these are userland names
# and don't line up 1:1 with how they are stored
VALID_KEYS = [
'hosts', 'name', 'vars', 'vars_prompt', 'vars_files',
'tasks', 'handlers', 'user', 'port', 'include',
'sudo', 'sudo_user', 'connection', 'tags', 'gather_facts'
]
# *************************************************
def __init__(self, playbook, ds):
''' constructor loads from a play datastructure '''
for x in ds.keys():
if not x in Play.VALID_KEYS:
raise errors.AnsibleError("%s is not a legal parameter in an Ansible Playbook" % x)
# TODO: more error handling
hosts = ds.get('hosts')
......
......@@ -26,9 +26,19 @@ class Task(object):
'play', 'notified_by', 'tags', 'with_items', 'first_available_file'
]
# to prevent typos and such
VALID_KEYS = [
'name', 'action', 'only_if', 'async', 'poll', 'notify', 'with_items', 'first_available_file',
'include', 'tags'
]
def __init__(self, play, ds, module_vars=None):
''' constructor loads from a task or handler datastructure '''
for x in ds.keys():
if not x in Task.VALID_KEYS:
raise errors.AnsibleError("%s is not a legal parameter in an Ansible task or handler" % x)
self.module_vars = module_vars
self.play = play
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment