Action plugin support code: ensure compatibility with newer versions of ansible-core (#515)

* Only access C.STRING_CONVERSION_ACTION for old ansible-base / Ansible versions.

* Always use self.__xxx instead of xxx directly.
pull/517/head
Felix Fontein 2022-09-23 07:02:46 +02:00 committed by GitHub
parent 8ebf1279f9
commit b3f589df62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View File

@ -0,0 +1,2 @@
bugfixes:
- "openssl_privatekey_pipe - ensure compatibility with newer versions of ansible-core (https://github.com/ansible-collections/community.crypto/pull/515)."

View File

@ -116,13 +116,12 @@ class AnsibleActionModule(object):
self.required_by = required_by self.required_by = required_by
self._diff = self.__action_plugin._play_context.diff self._diff = self.__action_plugin._play_context.diff
self._verbosity = self.__action_plugin._display.verbosity self._verbosity = self.__action_plugin._display.verbosity
self._string_conversion_action = C.STRING_CONVERSION_ACTION
self.aliases = {} self.aliases = {}
self._legal_inputs = [] self._legal_inputs = []
self._options_context = list() self._options_context = list()
self.params = copy.deepcopy(action_plugin._task.args) self.params = copy.deepcopy(self.__action_plugin._task.args)
self.no_log_values = set() self.no_log_values = set()
if HAS_ARGSPEC_VALIDATOR: if HAS_ARGSPEC_VALIDATOR:
self._validator = ArgumentSpecValidator( self._validator = ArgumentSpecValidator(
@ -445,7 +444,7 @@ class AnsibleActionModule(object):
} }
# Ignore, warn, or error when converting to a string. # Ignore, warn, or error when converting to a string.
allow_conversion = opts.get(self._string_conversion_action, True) allow_conversion = opts.get(C.STRING_CONVERSION_ACTION, True)
try: try:
return check_type_str(value, allow_conversion) return check_type_str(value, allow_conversion)
except TypeError: except TypeError:
@ -460,10 +459,10 @@ class AnsibleActionModule(object):
from_msg = '{0}: {1!r}'.format(param, value) from_msg = '{0}: {1!r}'.format(param, value)
to_msg = '{0}: {1!r}'.format(param, to_text(value)) to_msg = '{0}: {1!r}'.format(param, to_text(value))
if self._string_conversion_action == 'error': if C.STRING_CONVERSION_ACTION == 'error':
msg = common_msg.capitalize() msg = common_msg.capitalize()
raise TypeError(to_native(msg)) raise TypeError(to_native(msg))
elif self._string_conversion_action == 'warn': elif C.STRING_CONVERSION_ACTION == 'warn':
msg = ('The value "{0}" (type {1.__class__.__name__}) was converted to "{2}" (type string). ' msg = ('The value "{0}" (type {1.__class__.__name__}) was converted to "{2}" (type string). '
'If this does not look like what you expect, {3}').format(from_msg, value, to_msg, common_msg) 'If this does not look like what you expect, {3}').format(from_msg, value, to_msg, common_msg)
self.warn(to_native(msg)) self.warn(to_native(msg))