options should be settable multiple times

(cherry picked from commit 27e3cd6e05)
This commit is contained in:
Brian Coca 2018-06-25 12:41:46 -04:00 committed by Matt Clay
parent a96f456ac2
commit 0f477d1318
2 changed files with 4 additions and 3 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- allow set_options to be called multiple times https://github.com/ansible/ansible/pull/41913

View file

@ -70,11 +70,10 @@ class AnsiblePlugin(with_metaclass(ABCMeta, object)):
:arg var_options: Dict with either 'conneciton variables'
:arg direct: Dict with 'direct assignment'
'''
self._options = C.config.get_plugin_options(get_plugin_class(self), self._load_name, keys=task_keys, variables=var_options, direct=direct)
if not self._options:
# load config options if we have not done so already, if vars provided we should be mostly done
self._options = C.config.get_plugin_options(get_plugin_class(self), self._load_name, keys=task_keys, variables=var_options, direct=direct)
# allow extras/wildcards from vars that are not directly consumed in configuration
# this is needed to support things like winrm that can have extended protocol options we don't direclty handle
if self.allow_extras and var_options and '_extras' in var_options:
self.set_option('_extras', var_options['_extras'])