* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* alternatives: added parsing and setting of 'family' for an alternative
* alternatives: added checks for path nullability
* alternatives: added idempotence when setting alternative using family
* alternatives: added family to diff mode
* alternatives: added tests for family
* alternatives: updated documentation and examples
* alternatives: added constraints for 'path' and 'family' parameters.
in any invariants at least one of the parameters must be specified
* alternatives: added changelog fragment
* removed unnecessary check
* added version
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* redfish_command: add update_custom_oem options
The Multipart HTTP push update implementation allows OEM specific
parts that are not part of the `UpdateParameters` body part, but a
separate one. This OEM part shall start with `Oem` and is optional.
The OEM part implementation is specified in the Redfish spec point
12.6.2.2 [1].
Right now, the implementation will only support JSON as MIME Type,
although it is not limited to JSON.
[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.21.0.html#oem
Signed-off-by: Tan Siewert <tan@siewert.io>
* redfish_command: add option to set custom mime type
The implementation of using a custom MIME type will also remove the
default JSON type.
Converting the payload to JSON or any other type is up to the user.
Signed-off-by: Tan Siewert <tan@siewert.io>
* redfish_command: apply docs changes from review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* redfish_command: add mime type option to changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Tan Siewert <tan@siewert.io>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(homebrew_cask): add + to valid cask chars
* docs(homebrew_cask): add changelog fragment
Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>
* fix(homebrew_cask): add PR link to changelog fragment
Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>
* fix: add period to end of changelog fragment
Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>
* fix: remove blank line from changelog fragment
Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>
* fix: changelog fragment formatting
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update changelogs/fragments/9128-homebrew_cask-name-regex-fix.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* redfish_utils: remove undocumented default applytime
The `@Redfish.OperationApplyTime` parameter is optional as per Redfish
spec version 1.21.0, paragraph 7.11 [1]. Some systems reject the
request rather than ignore it, causing failures that can not be
workarounded.
Removing this default resolves compatibility issues.
[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.21.0.html
Signed-off-by: Tan Siewert <tan@siewert.io>
* redfish_utils: fix changelog fragment to bugfix
Signed-off-by: Tan Siewert <tan@siewert.io>
---------
Signed-off-by: Tan Siewert <tan@siewert.io>
* remove code that turns attributes dict into list
* add changelog fragment
* Update changelogs/fragments/9077-keycloak_client-fix-attributes-dict-turned-into-list.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox inventory: fix urllib3 InsecureRequestWarnings not suppressing when a token is used
* proxmox inventory: add changelog fragment
* proxmox inventory: add forgotten pr number
* Update changelog.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* mattermost: add support for message priority
* Add changelog fragment
* Consistency nit in changelog
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Validate priority arg and doc fixes
Validate the two possible priorities with choices.
Add priority arg to one example and add version_added
field for the arg docs.
* Update changelog.
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* jenkins_node: Add set offline message
* Implement offline_message parameter for updating a Jenkins node
offline cause reason when the state is "disabled" (offline).
* Fix enabled, disable and absent node state redirect authorization
issues, same as was present for present.
* Add unit tests for redirect authorization workarounds.
* * Make docs clearer re: offline_message behaviour
* Exit with fail_json() instead of raising when
create/delete/enable/disable node fail.
* * Add changelog fragment
* Update changelog fragments.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix check_mode on set keycloak client scope type (#9092)
* add changelog fragment (#9092)
* update changelog fragment (#9092)
* compact code: make one line conditions with list comprehension and any()
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* fix syntax error: remove extra ')'
* fix changelog fragment type
Co-authored-by: Felix Fontein <felix@fontein.de>
* add issue's link in changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx_info: factored process_list out
* pipx_info: no need to pass param to _list
* pipx_info: minor adjustment
* pipx mod utils: make_process_list parameters
* fix test for state=install_all
* fix assertions
* pipx tests: fix detection of pipx 1.7.0
* pipx: use make_process_output
* add testcase
* pipx: remove import json
* pinned in pipx list is not always there
* Update plugins/modules/pipx_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove ensurepath and --user from pipx install
* add changelog frag
* Update changelogs/fragments/9044-pipx-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9044-pipx-fixes.yml
* Update changelogs/fragments/9044-pipx-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9044-pipx-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add return value version
* add changelog frag
* fix indentation
* fix RV name and tests
* Update plugins/modules/cpanm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: add support for ciupgrade parameter
* add changelog fragment
* proxmox_kvm: version_added specifier for ciupgrade parameter
* proxmox_kvm: remove default value from docs for ciupgrade parameter
* github_app_access_token: add support for private key fact
Adds support for specifying the GitHub App private key via an ansible
fact instead of a path to a file.
This is useful when you want to generate registration tokens for a
remote host but don't want to put secrets on the host.
* Add license file
* Fix pep8 formatting
* Add changelog fragment
* Run sanity tests on changelog
* Apply suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add input validation check
* Add import
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add error for mutually exclusive options
* Update plugins/lookup/github_app_access_token.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_group: fix subgroup creation in Keycloak ≥23
* Add changelog fragment
* Include issue and pull request in changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use new way to get subgroups when getting a subgroup chain
* Fix indent
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add support for getting secrets in the current version of bitwarden secrets manager
* format
* format2
* fragment
* fix formatting errors
* strip out junk before the version in cli output
* mock the --version command in the unit tests
* use LooseVersion comparison - russoz suggestion
* add blank line
* consul_kv: add argument for the datacenter option on consul api
* changelog: add fragment for #9026
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* update gitlab label's color
fail if both new_name and color are missing, as per Gitlab API docs.
* add changelog
* Update changelog with suggestion
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* remove unneeded check
* Update changelog
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Dell systems do not change the bios setting PwrButton right away. The
command will return changed=true, but it is not applied. Also no job is
scheduled at next reboot for the change to take place. This patch aims
to fix this issue.
* Bump version to 10.0.0, remove deprecated modules and plugins.
* Remove redhat module utils.
* Drop support for ansible-core 2.13 and ansible-core 2.14.
* Add a new boolean parameter storage_none_volume_deletion to the volume creation command of redfish_config
* Add description for storage_none_volume_deletion redfish_config parameter
* Update plugins/module_utils/redfish_utils.py
Co-authored-by: Mike Raineri <mraineri@gmail.com>
* Update plugins/modules/redfish_config.py
Co-authored-by: Mike Raineri <mraineri@gmail.com>
* Add CHANGELOG fragment
* Add punctuation.
---------
Co-authored-by: Pierre-yves FONTANIERE <pyf@cc.in2p3.fr>
Co-authored-by: Mike Raineri <mraineri@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
dnspython accepts a port as part of the nameserver.
Currently, the nameservers are passed as strings which
leads dnspython to create Nameserver objects out of them
using the port that is currently set in the Resolver instance.
That creation of Nameserver objects is done right when the
`nameservers` property is set.
If a port is to be set by us, the `port` attribute of the
Resolver needs to be set before the nameservers are passed
to the Resolver so when the nameservers are passed, that new
port is used to create the Nameserver objects.
Therefore, the assignment of the `nameservers` property of the
Resolver is moved after the argument processing so the `port`
attribute is (if it's given in the lookup-call) definitely set
before the `nameservers` property.
* Add VM id and VM host to opennebula inventory data
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions --> To enable greater use of the inventory, add the ID of the VM, and the hostname of the host the VM is running on to the inventory output
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
<!--- Please do not forget to include a changelog fragment:
https://docs.ansible.com/ansible/devel/community/collection_development_process.html#creating-changelog-fragments
No need to include one for docs-only or test-only PR, and for new plugin/module PRs.
Read about more details in CONTRIBUTING.md.
-->
##### ISSUE TYPE
<!--- Pick one or more below and delete the rest.
'Test Pull Request' is for PRs that add/extend tests without code changes. -->
- Feature Pull Request
##### COMPONENT NAME
<!--- Write the SHORT NAME of the module, plugin, task or feature below. --> opennebula.py
##### ADDITIONAL INFORMATION
<!--- Include additional information to help people understand the change here --> <!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
<!--- Paste verbatim command output below, e.g. before and after your change -->
```paste below
"host": "foo23.host",
"id": 1234,
```
* Create 8532-expand-opennuebula-inventory-data.yml
* Update opennebula.py
* Update changelogs/fragments/8532-expand-opennuebula-inventory-data.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check for empty records and add test
* fix attribute test
* fix attribute test
* fix attribute test
* fix attribute test
* Update plugins/inventory/opennebula.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* update as per guidance
* restore attribute checks
* fix attr
* fix indent
* PR Fixes
* add attribute check in case of empty variable
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Александр Бакановский <abakanovskii@astralinux.ru>
* deserialize fetched `kc.user.profile.config` and serialize it before sending
* change `kc.user.profile.config` to JSON formatted string in mock `get_component` responses
* add changelog fragment
* add module argument that allows excluding `bindCredential` from update check
* add changelog fragment
* change option name to `bind_credential_update_mode` and change type to str
* dig plugin: Fix using only last nameserver given
Currently, when specifying multiple nameservers
either using multiple `@ns.example.com` arguments
or by specifying multiple nameservers in a single
argument (@ns1.example.com,ns2.example.com), due
to a bug only the very last nameserver that is
specified is actually used.
This is because for every iteration of the
for ns in nsset
loop, the local list of nameservers is cleared
and after adding the currently processed nameserver
entry, the whole `nameservers` list of the Resolver
instance is overridden with that new list with just
one element. And as far as I can see, when setting
that `nameserver` property, the dnspython library
actually overrides the existing list and doesn't
do some trickery to append the new nameservers or
something like that.
Therefore, the assignment of the `nameservers`
property of the Resolver is moved after the argument
processing so all nameservers are added and then
collectively written to the `nameservers` property
of the Resolver.
* Add CHANGELOG fragment
* remove `lastSync` param from kc API responses
* add blank line to satisfy sanity check
* add changelog fragment
* fix NoneType error introduced by changed normalize func return value