* Add module ldap_inc
This module adds the ‘modify-increment’ capability corresponding to the extension implemented by OpenLdap described in RFC-4525. It can be used to increment an integer attribute and read it atomically. It is an help for posix userId definition while relying only on the directory server.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Fix the check mode support
Check mode documentation fix
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ldap_inc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* gitlab_instance_variable: Add support for 'raw' property
* Changelog fragment
* Add missing punctuation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
fix: add missing 's' on proxmox_template.task_status
Missing the 's' means using the wrong API, making log reading
impossible. Should fix!9276
Signed-off-by: Alexandre Nicolaie <xunleii@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add support for systemd creds encrypt/decrypt
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add __metaclass__
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Python 2.7 issues
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* update version_added and ci test aliases
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* switch to container
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* run tests in docker as well
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* move tasks into tasks/
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* no need to call echo
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* lint and add become:
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* dont append a newline
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* don't clean newlines
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* only use module name
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* clean
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* change msg to value
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add return values
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* update attributes and description
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Update plugins/modules/systemd_creds_decrypt.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* set newline default
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Update plugins/modules/systemd_creds_encrypt.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/systemd_creds_encrypt.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/systemd_creds_encrypt.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* update required and spelling
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* use single backslash
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
---------
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* manageiq_alert_profiles: improve handling param requirements
Basically two changes:
* `name` is already required when state is either present or absent, and there are no other states, so making it fully required and removing the conditional
* `alerts` is documented as required when state=present, this has been verified in the code, so added that parameter to the existing `required_if` spec.
* add changelog frag
* Replace to_native(), to_text(), str() with str() where possible or leave it away in f-string formatting.
* Improve formulation.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Use more f-strings.
* Remove unicode prefix for strings.
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* proxmox_disk: fix async method of resize_disk
Rewritten resizing of disk into separated function and used async method to retrieve task result. Additionally, rewritten function to detect failed tasks early, without waiting for timeout.
* proxmox_disk: add changelog fragment
* proxmox_disk: fix sanity errors
* Apply suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* proxmox_disk: workaround for legacy Proxmox
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from the review
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* [mem ... n]*.py: normalize docs
* Update plugins/modules/netcup_dns.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* netcup_dns: change type of RV(records)
From complex to list of dicts.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* lookup plugins: use f-strings
* add changelog frag
* manual change for few occurrences
* Update plugins/lookup/dependent.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjustment from review
* no f-string for you
* Update plugins/lookup/dependent.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* xfconf/xfconf_info: add return value version
* add changelog frag
* adapt test to helper improvements
* rollback copyright update
* replace tab with spaces in test yamls
* callback plugins: use f-strings
* add changelog frag
* manual change for few occurrences
* manual change for few occurrences
* adjustment from review
* adjustment from review
* adjustment from review
* Update plugins/callback/splunk.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* replace str templating with JSON templating
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* t*: normalize docs
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* break long line to regain sanity
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Create group for keycloak
This will allows keycloak authentication details to be set as a module_defaults rather than repeated on each task
* add documentation to keycloak modules to note creation of action_group
* add changelog for keycloak action_group creation
* exclude keycloak_realm_info from action group, as it does not share same set of base parameters
* fix formatting on changelog entry for adding Keycloak action group
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* adds simple implementation of adding and removing android sdk packages
* adds package update
* adds simple installed packages parsing
* moves parsing logic to a separate class
* adds absent state for sdkmanager packages and setup for tests
* adds output for installing and removing packages
* removes version from Package object since it is not possible to specify version for a package while using sdkmanager
* adds 'latest' state
* adds tests
* fixes crash when sdkmanager is invoked from python with LC_ALL=C
* fixes latest state
* adds sdk_root parameter
* adds channel parameter
* simplifies regexps, removes unused named groups
* minor refactoring of sdkmanager parsing
* adds java dependency variable for different distributions
* adds RETURN documentation
* adds check for nonexisting package
* adds check for non-accepted licenses
* removes excessive methods from sdkmanager
* removes unused 'update' module parameter, packages may be updated using 'latest' state
* minor refactoring
* adds EXAMPLES doc section
* adds DOCUMENTATION section and license headers
* fixes formatting issues
* removes diff_params
* adds maintainer
* fixes sanity check issues in sdkmanager
* adds java dependency for macos and moves some tests to a separate FreeBSD configuration
* fixes dependencies setup for OSX
* fixes dependencies setup for OSX (2)
* fixes dependencies setup for OSX (3)
* Apply minor suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* applies code review suggestions
* changes force_lang from C.UTF-8 to auto in sdkmanager (as per discussion https://github.com/ansible-collections/community.general/pull/9236#discussion_r1881114326)
* Revert "changes force_lang from C.UTF-8 to auto in sdkmanager (as per discussion https://github.com/ansible-collections/community.general/pull/9236#discussion_r1881114326)"
This reverts commit 619f28dd58.
* fixes some more comments from review
* minor sanity issue fix
* uses the 'changed' test instead of checking the 'changed' attribute
* adds 'accept_licenses' parameter. Installation is now performed independently for each package specified.
* removes "Accept licenses" task from examples
* fixes docs sanity issues
* applies minor suggestions from code review
* fixes regexps. The previous version didn't match versions like "32.1.0 rc1". Also, this allows to simplify the parsing logic as there is no need to skip table headers anymore.
* renamed sdkmanager.py to android_sdkmanager.py
* applies minor suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* updates BOTMETA
* reordered BOTMETA
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add failing test (See commit description)
Second assert returns this:
changed: [localhost] => changed=true
changed_pkgs:
- sqlite3
msg: 'Changed: 1, Unchanged: 1'
unchanged_pkgs:
- sqlite
* Extract proper package_name from brew info using alisases
* Add changelog fragment
* Fix pep8
* Make sure sqlite is uninstalled beforehand
* Use `package_result is (not) changed` syntax in assertions
* Register more explicit names
* Fix handling of casks
* Clean up Proxmox API token handling by stripping whitespace and formatting the token string
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9228-fix-issue-header.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9228-fix-issue-header.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add the accumulate filter
- Add myself as a maintainer for it.
- Some integration tests.
* accumulate: fix documentation and add test aliases
The aliases file was copied over from
tests/integrations/targets/filter_dict/aliases as the documentation[1]
suggests to use the same group as existing similar tests.
[1]: https://docs.ansible.com/ansible/latest/dev_guide/testing/sanity/integration-aliases.html
Suggested-by: Felix Fontein <felix@fontein.de>
* accumulate: documentation: markup consistency with other plugins
Suggested-by: Felix Fontein <felix@fontein.de>
Suggested-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* filter/accumulate: Validate input is a Sequence
Accepting arbitrary iterables might lead to surprising behavior so we
are stricter on what we accept in the filter.
Relaxing those requirements is easier than retrofitting them, in terms
of backwards compatibility.
Suggested-by: Felix Fontein <felix@fontein.de>
Signed-off-by: Max Gautier <mg@max.gautier.name>
* filter/accumulate: Document the behavior with a string
Signed-off-by: Max Gautier <mg@max.gautier.name>
---------
Signed-off-by: Max Gautier <mg@max.gautier.name>
* Increase test coverage and assert output more strictly
* Remove unused `_current_package_is_installed_from_head`
* Remove `un/changed_count` and infer from un/changed_pkgs length
* Track `installed` & `outdated` package state once
* Validate package names beforehand
* Install packages in 1 brew call instead of N
This also has the side effect of fixing the check message so that it prints every packages that will be installed instead of only the first one.
* Uninstall packages in 1 brew call instead of N
* Link packages in 1 brew call instead of N
* Unlink packages in 1 brew call instead of N
* Upgrade packages in 1 brew call instead of N
* Remove dangling checks
* Remove `_status` method and directly return the tuple
* Add changelog fragment
* Fix invalid format string (nice catch pylint!)
* Update changelogs/fragments/9181-improve-homebrew-module-performance.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update brew info parsing for casks
* Update changelogs/fragments/9181-improve-homebrew-module-performance.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* adds simple implementation of `decompress` module
* adds simple test, fixes src and dest arg types
* minor refactoring
* adds support for common file operations
adds integration test for gz decompressing
* makes tests parametrized to test all supported compression formats
* checks that target file exists
* writes to decompressed file now uses atomic_move
* adds idempotency for decompression
* refactoring, removed classes
* adds support for check mode
* adds check for destination file. If it exists and it is a directory, the module returns error
* refactoring, moves code to a class. Also, simplifies tests (now only tests related to the module core functionality run as parametrized, tests for idempotency and check mode run only for one format)
* adds 'remove' parameter that deletes original compressed file after decompression
* adds documentation
* fixes bug with 'remove' parameter in check mode
* makes dest argument not required. Dest filename now can be produced from the src filename
* adds dest to output
* updates the documentation, adds "RETURN" block
* fixes test
* adds support for python2
* removes some of the test files that can be generated during testing. Adds copyright header to test files
* adds maintainer
* apply minor suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixes code review comments (idempotency issue with non existing src, existing dest and remove=true; fixes the issue and adds test)
* refactors the module to use ModuleHelper
* refactors lzma dependency manual check to use 'deps.validate'
* minor fix
* removes registered handlers check
* minor refactoring
* adds aliases
* changes setup for tests
* tests: ignores macos and fixes tests for FreeBSD
* tests: reverts ignore for macos and fixes issue with centos7
* tests: adds liblzma dependency for python2
* tests: adds backports.lzma
* fixes bz2 decompression for python2
* tests: install xz for osx
* tests: install xz for osx (2)
* fixes code review comments
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fails if slack api return is not ok
* add changelog
* show all error
* add doc
* Update plugins/modules/slack.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9198-fail-if-slack-api-response-is-not-ok-with-error-message.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>