1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Merge pull request #2198 from skvidal/nolog-params

No_log params
This commit is contained in:
Daniel Hokka Zakrisson 2013-02-25 14:51:18 -08:00
commit 22e40b6a61
3 changed files with 19 additions and 5 deletions

View file

@ -162,6 +162,8 @@ class AnsibleModule(object):
self.supports_check_mode = supports_check_mode self.supports_check_mode = supports_check_mode
self.check_mode = False self.check_mode = False
self.aliases = {}
if add_file_common_args: if add_file_common_args:
self.argument_spec.update(FILE_COMMON_ARGUMENTS) self.argument_spec.update(FILE_COMMON_ARGUMENTS)
@ -169,7 +171,8 @@ class AnsibleModule(object):
(self.params, self.args) = self._load_params() (self.params, self.args) = self._load_params()
self._legal_inputs = [ 'CHECKMODE' ] self._legal_inputs = [ 'CHECKMODE' ]
self._handle_aliases()
self.aliases = self._handle_aliases()
if check_invalid_arguments: if check_invalid_arguments:
self._check_invalid_arguments() self._check_invalid_arguments()
@ -460,6 +463,7 @@ class AnsibleModule(object):
def _handle_aliases(self): def _handle_aliases(self):
aliases_results = {} #alias:canon
for (k,v) in self.argument_spec.iteritems(): for (k,v) in self.argument_spec.iteritems():
self._legal_inputs.append(k) self._legal_inputs.append(k)
aliases = v.get('aliases', None) aliases = v.get('aliases', None)
@ -474,9 +478,12 @@ class AnsibleModule(object):
self.fail_json(msg='internal error: aliases must be a list') self.fail_json(msg='internal error: aliases must be a list')
for alias in aliases: for alias in aliases:
self._legal_inputs.append(alias) self._legal_inputs.append(alias)
aliases_results[alias] = k
if alias in self.params: if alias in self.params:
self.params[k] = self.params[alias] self.params[k] = self.params[alias]
return aliases_results
def _check_for_check_mode(self): def _check_for_check_mode(self):
for (k,v) in self.params.iteritems(): for (k,v) in self.params.iteritems():
if k == 'CHECKMODE': if k == 'CHECKMODE':
@ -583,8 +590,15 @@ class AnsibleModule(object):
# Sanitize possible password argument when logging. # Sanitize possible password argument when logging.
log_args = dict() log_args = dict()
passwd_keys = ['password', 'login_password'] passwd_keys = ['password', 'login_password']
for param in self.params: for param in self.params:
if param in passwd_keys: canon = self.aliases.get(param, param)
arg_opts = self.argument_spec.get(canon, {})
no_log = arg_opts.get('no_log', False)
if no_log:
log_args[param] = 'NOT_LOGGING_PARAMETER'
elif param in passwd_keys:
log_args[param] = 'NOT_LOGGING_PASSWORD' log_args[param] = 'NOT_LOGGING_PASSWORD'
else: else:
log_args[param] = self.params[param] log_args[param] = self.params[param]

View file

@ -129,7 +129,7 @@ def main():
class CommandModule(AnsibleModule): class CommandModule(AnsibleModule):
def _handle_aliases(self): def _handle_aliases(self):
pass return {}
def _check_invalid_arguments(self): def _check_invalid_arguments(self):
pass pass

View file

@ -153,7 +153,7 @@ def main():
ramdisk = dict(), ramdisk = dict(),
wait = dict(choices=BOOLEANS, default=False), wait = dict(choices=BOOLEANS, default=False),
ec2_url = dict(aliases=['EC2_URL']), ec2_url = dict(aliases=['EC2_URL']),
ec2_secret_key = dict(aliases=['EC2_SECRET_KEY']), ec2_secret_key = dict(aliases=['EC2_SECRET_KEY'], no_log=True),
ec2_access_key = dict(aliases=['EC2_ACCESS_KEY']), ec2_access_key = dict(aliases=['EC2_ACCESS_KEY']),
user_data = dict(), user_data = dict(),
instance_tags = dict(), instance_tags = dict(),