mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
reinstate invalid argument checks where possible, daisy chainee/chained modules turn it off
This commit is contained in:
parent
08999a2a2f
commit
ed14312ad6
4 changed files with 12 additions and 11 deletions
|
@ -54,7 +54,7 @@ except ImportError:
|
|||
|
||||
class AnsibleModule(object):
|
||||
|
||||
def __init__(self, argument_spec, bypass_checks=False, no_log=False):
|
||||
def __init__(self, argument_spec, bypass_checks=False, no_log=False, check_invalid_arguments=True):
|
||||
'''
|
||||
common code for quickly building an ansible module in Python
|
||||
(although you can write modules in anything that can return JSON)
|
||||
|
@ -66,8 +66,11 @@ class AnsibleModule(object):
|
|||
|
||||
self._legal_inputs = []
|
||||
self._handle_aliases()
|
||||
# temporarily disabled
|
||||
# self._check_invalid_arguments()
|
||||
|
||||
# this may be disabled where modules are going to daisy chain into others
|
||||
if check_invalid_arguments:
|
||||
self._check_invalid_arguments()
|
||||
|
||||
self._set_defaults(pre=True)
|
||||
|
||||
if not bypass_checks:
|
||||
|
|
|
@ -23,6 +23,8 @@ import shutil
|
|||
def main():
|
||||
|
||||
module = AnsibleModule(
|
||||
# not checking because of daisy chain to file module
|
||||
check_invalid_arguments = False,
|
||||
argument_spec = dict(
|
||||
src=dict(required=True),
|
||||
dest=dict(required=True)
|
||||
|
|
10
library/file
10
library/file
|
@ -212,7 +212,8 @@ def rmtree_error(func, path, exc_info):
|
|||
def main():
|
||||
|
||||
global module
|
||||
module = AnsibleFileModule(
|
||||
module = AnsibleModule(
|
||||
check_invalid_arguments = False,
|
||||
argument_spec = dict(
|
||||
state = dict(choices=['file','directory','link','absent'], default='file'),
|
||||
path = dict(aliases=['dest', 'name'], required=True),
|
||||
|
@ -348,12 +349,5 @@ def main():
|
|||
|
||||
# this is magic, see lib/ansible/module_common.py
|
||||
#<<INCLUDE_ANSIBLE_MODULE_COMMON>>
|
||||
|
||||
class AnsibleFileModule(AnsibleModule):
|
||||
|
||||
def _check_invalid_arguments(self):
|
||||
# needed to support daisy chaining
|
||||
pass
|
||||
|
||||
main()
|
||||
|
||||
|
|
|
@ -128,6 +128,8 @@ def main():
|
|||
module.fail_json(msg="urlparse is not installed")
|
||||
|
||||
module = AnsibleModule(
|
||||
# not checking because of daisy chain to file module
|
||||
check_invalid_arguments = False,
|
||||
argument_spec = dict(
|
||||
url = dict(required=True),
|
||||
dest = dict(required=True),
|
||||
|
|
Loading…
Reference in a new issue