1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/plugins
Alexei Znamensky 3e9a6acff7
Modhelper improvements (#1480)
* Improvements in module_helper

- added `ModuleHelperException` to handle problems specific to ModuleHelper
- updated `module_fails_on_exception` for `ModuleHelperException`
- `StateMixin`: composed names of state methods are now calculated instead of fixed.
- `CmdMixin`: added `run_command_fixed_options` to pass some parameters on every call

* Improvements in module_helper

- Named deprecations: ability to declare a `dict` of deprecations indexed by names, allowing module maintainer to trigger them by those names, and also allowing the module user to acknowledge them in a similar way.
  - Adding `ack_named_deprecations` to module's `argument_spec` when they exist.
  - Providing doc fragment for `ack_named_deprecations`.
- Added method `__quit_module__` providing a hook for code that needs to be run when quitting the module.
- Created convenience classes combining `ModuleHelper`, `StateMixin`, `CmdMixin`.

* fixed validation

* fixed validation

* changelog fragment

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Improvement on Named Deprecations

Per the comments in PR, we want to expose a call to a ``deprecate`` method on the module code, so that pylint can properly perform its static analysis on deprecations.

This prompted a revamp of the named deprecation feature.

* Use .get() instead of [] for the param to ack named deprecations.

* Changes from suggestions in the PR

* removed named deprecations

* Update changelogs/fragments/1480-module-helper-improvements.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/module_utils/module_helper.py

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-01-15 21:29:23 +01:00
..
action Bump version to 2.0.0 (#1369) 2020-11-26 14:26:36 +01:00
become <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
cache <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
callback <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
connection <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
doc_fragments Tidy up validate-modules ignores for modules: net_tools/nios (#1598) 2021-01-11 22:14:46 +01:00
filter Added filter plugin lists_mergeby. Fix #249 (#604) 2020-12-04 09:32:42 -05:00
inventory <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
lookup <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
module_utils Modhelper improvements (#1480) 2021-01-15 21:29:23 +01:00
modules bitbucket_pipeline_variable: Hide secured values in console log (#1635) 2021-01-14 14:27:15 +00:00