1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

297 commits

Author SHA1 Message Date
Stanislav German-Evtushenko
44fd157a2b
Add filter dict_kv (#1264)
- Add filter `dict_kv` which returns a single key-value pair dictionary created from two arguments

Example 1

```
- hosts: localhost
  gather_facts: false
  vars:
    myvar: myvalue
  tasks:
  - debug:
      msg: "{{ myvar | dict_kv('thatsmyvar') }}"

OUTPUT:
ok: [localhost] => {
    "msg": {
        "thatsmyvar": "myvalue"
    }
}
```

Example 2

```
- hosts: localhost
  gather_facts: false
  vars:
    common_config:
      type: host
      database: all
    myservers:
    - server1
    - server2
  tasks:
  - debug:
      msg: "{{ myservers | map('dict_kv', 'server') | map('combine', common_config) }}"

OUTPUT:
ok: [localhost] => {
    "msg": [
        {
            "database": "all",
            "server": "server1",
            "type": "host"
        },
        {
            "database": "all",
            "server": "server2",
            "type": "host"
        }
    ]
}
```
2020-11-24 05:41:18 +01:00
Alexei Znamensky
ce5fc7764a
Tidy up validate-modules ignores for monitoring modules (#1350)
* fixed validation-modules for plugins/modules/monitoring/bigpanda.py

* fixed validation-modules for plugins/modules/monitoring/circonus_annotation.py

* fixed validation-modules for plugins/modules/monitoring/honeybadger_deployment.py

* fixed validation-modules for plugins/modules/monitoring/icinga2_feature.py

* fixed validation-modules for plugins/modules/monitoring/icinga2_host.py

* fixed validation-modules for plugins/modules/monitoring/librato_annotation.py

* fixed validation-modules for plugins/modules/monitoring/logentries.py

* fixed validation-modules for plugins/modules/monitoring/logstash_plugin.py

* fixed validation-modules for plugins/modules/monitoring/newrelic_deployment.py

* fixed validation-modules for plugins/modules/monitoring/pagerduty_alert.py

* fixed validation-modules for plugins/modules/monitoring/pagerduty.py

* fixed validation-modules for plugins/modules/monitoring/pingdom.py

* fixed validation-modules for plugins/modules/monitoring/rollbar_deployment.py

* fixed validation-modules for plugins/modules/monitoring/spectrum_device.py

* fixed validation-modules for plugins/modules/monitoring/stackdriver.py

* fixed validation-modules for plugins/modules/monitoring/statusio_maintenance.py

* fixed validation-modules for plugins/modules/monitoring/uptimerobot.py

* fixed validation-modules for plugins/modules/monitoring/datadog/datadog_event.py

* fixed validation-modules for plugins/modules/monitoring/datadog/datadog_monitor.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_check.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_client.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_handler.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_silence.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_subscription.py

* fixed trailing space

* Enabling validation-modules for monitoring modules

* Added line for 2.9

* Update plugins/modules/monitoring/icinga2_host.py

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

* Update plugins/modules/monitoring/datadog/datadog_event.py

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

* Suggestion from PR

* oops, missed the 2.11 ignore file

* Update plugins/modules/monitoring/icinga2_host.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 22:07:03 +01:00
Alexei Znamensky
5a567b80c6
Tidy up validate-modules ignores for modules: cloud/centurylink (rebased) (#1365)
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_aa_policy.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_blueprint_package.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_group.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_loadbalancer.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_modify_server.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_publicip.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_server.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_server_snapshot.py

* Tidy up validate-modules ignores for cloud/centurylink modules

* Update plugins/modules/cloud/centurylink/clc_firewall_policy.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 21:47:52 +01:00
Alexei Znamensky
88c6e6ac61
Tidy up validate-modules ignores for modules: cloud/oneandone (#1357)
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_firewall_policy.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_load_balancer.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_monitoring_policy.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_private_network.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_public_ip.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_server.py

* Tidy up validate-modules ignores for cloud/oneandone modules

* Update plugins/modules/cloud/oneandone/oneandone_server.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 21:47:18 +01:00
Felix Fontein
3d66ed3ae3
Remove deprecated modules and plugins. (#1347)
* Remove deprecated modules and plugins.

* Clean up BOTMETA.

* Re-add _netapp doc fragment and module utils. This is needed by the remaining na_ontap_gather_facts module scheduled for removal in 3.0.0.
2020-11-23 14:10:18 +01:00
Felix Fontein
f896c2986c
Removal of docker content for 2.0.0 (#1304)
* Remove docker content.

* Clean up BOTMETA.

* Add redirects, tombstone docker_image_facts and docker_service.

* Add changelog.

* Remove docker action group.

* Rewrite fragment.

* Ansible 2.11 is now called Ansible 3.0.0.
2020-11-23 13:03:19 +01:00
Alexei Znamensky
3d1f9ed657
Tidy up validate-modules ignores for some cloud/ modules (#1354)
* fixed validation-modules for plugins/modules/cloud/atomic/atomic_container.py

* fixed validation-modules for plugins/modules/cloud/oracle/oci_vcn.py

* fixed validation-modules for plugins/modules/cloud/heroku/heroku_collaborator.py

* fixed validation-modules for plugins/modules/cloud/docker/docker_stack.py

* fixed validation-modules for plugins/modules/cloud/pubnub/pubnub_blocks.py

* fixed validation-modules for plugins/modules/cloud/huawei/hwc_ecs_instance.py

* fixed validation-modules for plugins/modules/cloud/huawei/hwc_vpc_port.py

* fixed validation-modules for plugins/modules/cloud/huawei/hwc_vpc_subnet.py

* fixed validation-modules for plugins/modules/cloud/ovh/ovh_ip_failover.py

* fixed validation-modules for plugins/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py

* fixed validation-modules for plugins/modules/cloud/softlayer/sl_vm.py

* fixed validation-modules for plugins/modules/cloud/misc/proxmox_kvm.py

* fixed validation-modules for plugins/modules/cloud/misc/proxmox_template.py

* fixed validation-modules for plugins/modules/cloud/misc/terraform.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_dns_reload.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_memstore_info.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_server_info.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_zone_domain.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_zone.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_zone_record.py

* fixed validation-modules for plugins/modules/cloud/linode/linode.py

* fixed validation-modules for plugins/modules/cloud/linode/linode_v4.py

* fixed validation-modules for plugins/doc_fragments/dimensiondata.py

* fixed validation-modules for plugins/modules/cloud/dimensiondata/dimensiondata_network.py

* fixed validation-modules for plugins/modules/cloud/dimensiondata/dimensiondata_vlan.py

* fixed validation-modules for plugins/modules/cloud/xenserver/xenserver_guest_info.py

* fixed validation-modules for plugins/modules/cloud/xenserver/xenserver_guest_powerstate.py

* Tidy up validate-modules ignores for varied cloud modules

- loking at the count of ignore lines, worked from the lower numbers up

* rolled back line for docker_container, removed two extraneous for xenserver

* rolled back lins for linode in 2.9
2020-11-23 09:22:30 +01:00
Alexei Znamensky
4c88a8edc0
Tidy up validate-modules ignores for modules: web_infrastructure/sophos_utm (#1351)
* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_aaa_group_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_aaa_group.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_dns_host.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_auth_profile.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_exception.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_frontend_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_frontend.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_location_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_location.py

* Enabling validation-modules for web_infrastructure/sophos_utm modules

* Rolled back utm_network_interface_address.py for 2.9 sake
2020-11-22 12:17:46 +01:00
Martin Migasiewicz
ece0202507
feat(pkgin): add support for installation of full versioned package names (#1256)
* * pkgin query_package(..) understands now also package name with version (my-package-1.2nb123456). * pkgin query_package(..) will distinct between not-installed and not-found packages. * pkgin install_package(..) fails with proper error if a non-existing package is attempted to be installed.

* fixup ansibot comments

* add changelog fragment

* add example

* use more pythonic condition

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* remove extra dot between description and link to PR

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* fix file extension of changelog fragment

* add pkgin unit tests for query_package function

* fix pep8 issues

* use enum Flag instead mix of strings, bools and None as return value

* use IntEnum instead Flag to support Python versions >= 2.6

* fix pep8 and pylint errors

* use regular class instead enum to avoid issues with older Python releases

* fix comment

* remove the combined package state since without an IntFlag or Flag the usage of it would require to use logical operators

Co-authored-by: Erik van Nooijen <eric.vannooijen@tomtom.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-11-21 21:20:27 +01:00
jake2184
8f99f9cb1c
Add ability to resize existing partition (#773)
* Add ability to resize existing partition

* Add 'resize' flag to support backwards compatability, and allow partition reduction

* Add changelog fragment for #773

* Update changelogs/fragments/773-resize-partition.yml

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

* Update plugins/modules/system/parted.py

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

* Update resize flag with PR review comments

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* Update plugins/modules/system/parted.py

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

* Update default on resize flag in parted.py

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-11-21 21:18:42 +01:00
Alexei Znamensky
e3fcc7de2a
Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322)
* Big revamp in xfconf.py

- added plugin/module_utils/module_helper.py
  - scaffold class for writing modules, beyond standard AnsibleModule
  - automatic capture of exceptions
  - easier dependency testing
  - StateMixin to easily handle different behaviours for 'state' param
  - CmdMixin to easily run external commands
- adapted test_xfconf.py
  - the args for run_command are now lists instead of a string
  - value and previous_value were not being tested before (because xfconf wasn't filling results - see below)
  - added more tests: setting value to previous_value, getting non-existent property
- rewritten xfconf module, keeping the same results
  - original module posted results as ansible_facts, this version still does it for compatibility, but also adds to the module result

* Added suggestions from the PR

* Added russoz as maintainer for the module_utils/module_helper.py file

* Formatting using printf-style requires special treatment

Strings not containing substitution tokens must work as well.

* Tidied up variables in module definition

* Tests with ArgFormat and DependencyCtxMgr

* pytest parameters must be in the same order, it seems

* improved testing for the DependencyCtxMgr

* fixed test for older pythons

* Moved changed property to improve readability

* Added testcase for state: absent and adjusted xfconf after it

* Fixed param name environ_update in run_command()

* added changelog fragment

* fixed tests after run_command param change
2020-11-20 11:27:53 +01:00
Amin Vakil
9ccc0464ff
archive: remove path folder itself when remove paramater is true (#1083)
* Remove paths folders themselves

* Add changelog

* Add remove integration test

* Check excluded file
2020-11-19 20:51:16 +01:00
Jonathan Piron
6cec8759d0
Fix hashi_vault lookup approle authentication (#1138)
As per the plugin documentation and the Hashicorp Vault documentation (https://www.vaultproject.io/docs/auth/approle#secretid)
secret_id is not mandatory.
Moreover, using this lookup plugin without a secret_id used to work in
Ansible 2.9.

Co-authored-by: Jonathan Piron <jonathanpiron@gmail.com>
2020-11-16 16:42:42 +01:00
Alexei Znamensky
f4c63ede7f
Xfconf tests (#1305)
* Adjusted case in class names - transparent to users

* Adjustments to module code:

- No need to try/except everything, in fact it complicated debugging
- Replaced second call to xfconf.get() with xfconf.previous_value

* the actual test

* removed extraneous empty lines

* added changelog fragment

* rolled back removing the try/except around the main execution

* Update changelogs/fragments/1305-added-xfconf-tests.yaml

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

* Update plugins/modules/system/xfconf.py

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

* Removed extraneous import

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-16 11:27:00 +00:00
Felix Fontein
41550b5205
Add hetzner_failover_ip* tests (#1301)
* Add tests for hetzner_failover_ip_info.

* Add basic tests for hetzner_failover_ip.
2020-11-16 07:50:56 +01:00
Erik Godding Boye
64c6f20b55
Add support for HashiCorp Vault JWT auth (#1213)
* Add support for Hashicorp Vault JWT auth

* Add support for HashiCorp Vault JWT auth (continued)

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

Co-authored-by: Mike Brancato <mike@mikebrancato.com>
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2020-11-16 07:48:58 +01:00
Raghu Siddarth Udiyar
33b8d1c57e
Add docker build output to task result (#805)
The build output is only added during failures, but its useful to
have this available during normal task execution as well.
2020-11-15 16:51:02 +01:00
Felix Fontein
07fa7ea409
Fix iso_extract tests for OpenSuSE (#1296) 2020-11-13 21:59:32 +01:00
Felix Fontein
37c1453601
Try to fix zypper tests. (#1294) 2020-11-13 20:03:16 +01:00
Alexei Znamensky
deddce02fa
Tidy up validate-modules ignores for packaging modules (#1289)
* fixed validation-modules for plugins/modules/packaging/language/bower.py
2020-11-13 12:41:11 +00:00
Adam Vaughan
82e33a0ce5
Adds a module for sending PagerDuty change events. (#1269)
* Adds a module for sending PagerDuty change events.

PagerDuty recently released a new feature called change events that behave similar to events that can trigger incidents, except they are used to track code/infrastrucure changes rather than triggering incidents. This change adds a module to easily allow creating change events from ansible deploys.

* Apply suggestions from code review

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* Update copyright.

* Expand on example usage.

* Make API request with missing data when in check mode.

Just to ensure that we are hitting the correct API endpoint and it is responding as expected.

* Apply suggestions from code review

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

* Clarify lack of idempotency.

* Apply suggestions from code review

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

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-13 11:44:57 +03:00
Alexei Znamensky
9b593fd46c
Tidy up validate-modules ignores for remote_management/manageiq modules (#1272)
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_alert_profiles.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_alerts.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_group.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_policies.py

* partially fixed plugins/modules/remote_management/manageiq/manageiq_provider.py

- this module had way too many validation errors, many involving documenting parameters from scratch, so added types to options and suboptions, but rolled back ignore lines

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_tags.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_tenant.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_user.py

* fixed validation-modules for plugins/doc_fragments/manageiq.py

* Enabling validation-modules for remote_management/manageiq modules

* Hello 2.9 my old friend, I've come to roll you back again...
2020-11-12 08:28:32 +01:00
Alexei Znamensky
adbf624a42
Tidy up validate-modules ignores for cloud/scaleway modules (#1268)
* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_compute.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_image_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_image_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_ip_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_ip_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_ip.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_lb.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group_rule.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_server_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_server_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_snapshot_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_snapshot_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_sshkey.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_user_data.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_volume_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_volume_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_volume.py

* Enabling validation-modules for cloud/scaleway modules

* Reverted invalid-documentation validations in 2.9
2020-11-12 08:26:54 +01:00
Alexei Znamensky
4b26990d8b
Tidy up validate-modules ignores for cloud/google modules (#1265)
* fixed validation-modules for plugins/modules/cloud/google/gcdns_record.py

* fixed validation-modules for plugins/modules/cloud/google/gcdns_zone.py

* fixed validation-modules for plugins/modules/cloud/google/gce_eip.py

* fixed validation-modules for plugins/modules/cloud/google/gce_img.py

* fixed validation-modules for plugins/modules/cloud/google/gce_instance_template.py

* fixed validation-modules for plugins/modules/cloud/google/gce_labels.py

* fixed validation-modules for plugins/modules/cloud/google/gce_lb.py

* fixed validation-modules for plugins/modules/cloud/google/gce_mig.py

* fixed validation-modules for plugins/modules/cloud/google/gce_net.py

* fixed validation-modules for plugins/modules/cloud/google/gce_pd.py

* fixed validation-modules for plugins/modules/cloud/google/gce_snapshot.py

* fixed validation-modules for plugins/modules/cloud/google/gce_tag.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_backend_service.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_forwarding_rule.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_healthcheck.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_target_proxy.py

* fixed validation-modules for plugins/modules/cloud/google/gcpubsub_info.py

* fixed validation-modules for plugins/modules/cloud/google/gcpubsub.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_url_map.py

* fixed validation-modules for plugins/modules/cloud/google/gcspanner.py

* fixed validation-modules for plugins/modules/cloud/google/gc_storage.py

* adjust parameter description in gce_eip.py

* fixed validation-modules for plugins/modules/cloud/google/gce.py

* removed extra type definition

* reformatted long lines

* Tidy up validate-modules ignores for cloud/google modules

* gc_storage.py: fixed parameter to be overwrite and alias force, instead of the other way around

* rolled back a number of ignore lines that ansible 2.9 believes to defy sanity

* gce_instance_template.py: the metadata parameter brings no definition whatsoever in argument_spec, causing a number of problems. Rolling back for now.

* Fixes on docs from the PR
2020-11-12 08:24:30 +01:00
Alexei Znamensky
7db2ce5be3
added description parameter to create request (#1196)
* added description parameter to create request

* added changelog fragment

* Update changelogs/fragments/1196-use_description-in-gitlab-group-creation.yml

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

* added integration test for description in gitlab_group

* per request in the PR, creating separate task for the description issue in the integration test

* replaced deprecated param names with new names

* description should be optional to keep backward compatibility

* Update plugins/modules/source_control/gitlab/gitlab_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-11 13:33:38 +01:00
Alexei Znamensky
af4474efd7
Tidy up validate-modules ignores for rackspace modules (#1242)
* fixed validation-modules for plugins/doc_fragments/rackspace.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cbs.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cbs_attachments.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb_database.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb_user.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_clb_nodes.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_clb.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_clb_ssl.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_dns.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_dns_record.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_facts.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_files.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_files_objects.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_identity.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_keypair.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_meta.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_alarm.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_check.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_entity.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_notification_plan.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_mon_notification.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_network.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_queue.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_scaling_group.py

* fixed validation-modules for plugins/modules/cloud/rackspace/rax_scaling_policy.py

* Enabling validation-modules for rackspace modules

* Removed test in rax.py

* Added markup to items in list

* rax_monm_check.py: moved choices doc to description for check_type

As the argument_spec does not contain the "choices" spec, adjusting that in the docs

* rax_monm_check.py: a number of things missing in docs, fixed
2020-11-08 09:44:28 +01:00
Alexei Znamensky
24f780ec9a
Tidy up validate-modules ignores for notification modules (#1229)
* fixed validation-modules for plugins/modules/notification/bearychat.py

* fixed validation-modules for plugins/modules/notification/campfire.py

* fixed validation-modules for plugins/modules/notification/catapult.py

* fixed validation-modules for plugins/modules/notification/flowdock.py

* fixed validation-modules for plugins/modules/notification/grove.py

* fixed validation-modules for plugins/modules/notification/hipchat.py

* fixed validation-modules for plugins/modules/notification/irc.py

* fixed validation-modules for plugins/modules/notification/jabber.py

* fixed validation-modules for plugins/modules/notification/logentries_msg.py

* fixed validation-modules for plugins/modules/notification/mail.py

* fixed validation-modules for plugins/modules/notification/matrix.py

* fixed validation-modules for plugins/modules/notification/mattermost.py

* fixed validation-modules for plugins/modules/notification/mqtt.py

* fixed validation-modules for plugins/modules/notification/nexmo.py

* fixed validation-modules for plugins/modules/notification/office_365_connector_card.py

* fixed some docs issues in plugins/modules/notification/pushbullet.py, but cannot remove the ignore lines yet

* fixed validation-modules for plugins/modules/notification/pushover.py

* fixed some docs issues in plugins/modules/notification/rocketchat.py, but cannot remove all ignore lines yet

* fixed validation-modules for plugins/modules/notification/say.py

* fixed validation-modules for plugins/modules/notification/sendgrid.py

* fixed validation-modules for plugins/modules/notification/slack.py

* fixed validation-modules for plugins/modules/notification/syslogger.py

* fixed validation-modules for plugins/modules/notification/telegram.py

* fixed validation-modules for plugins/modules/notification/twilio.py

* fixed validation-modules for plugins/modules/notification/typetalk.py

* Enabling validation-modules for modules in: notification

* removed naughty trailing space
2020-11-05 06:50:47 +01:00
Alexei Znamensky
1202d034b3
Enabling validation-modules for system modules (#1212)
* fixed validation-modules for aix_devices.py

* fixed validation-modules for aix_filesystem.py

* fixed validation-modules for aix_inittab.py

* fixed validation-modules for aix_lvg.py

* fixed validation-modules for aix_lvol.py

* fixed validation-modules for awall.py

* fixed validation-modules for dconf.py

* fixed validation-modules for gconftool2.py

* fixed validation-modules for interfaces_file.py

* fixed validation-modules for java_keystore.py

* fixed validation-modules for kernel_blacklist.py

* fixed validation-modules for plugins/modules/system/lbu.py

* fixed validation-modules for plugins/modules/system/locale_gen.py

* fixed validation-modules for plugins/modules/system/lvg.py

* fixed validation-modules for plugins/modules/system/lvol.py

* fixed validation-modules for plugins/modules/system/mksysb.py

* fixed validation-modules for plugins/modules/system/modprobe.py

* fixed validation-modules for plugins/modules/system/nosh.py

* fixed validation-modules for plugins/modules/system/open_iscsi.py

* fixed validation-modules for plugins/modules/system/openwrt_init.py

* fixed validation-modules for plugins/modules/system/osx_defaults.py

* fixed validation-modules for plugins/modules/system/pamd.py

* fixed validation-modules for plugins/modules/system/pam_limits.py

* fixed validation-modules for plugins/modules/system/parted.py

* fixed validation-modules for plugins/modules/system/puppet.py

* fixed validation-modules for plugins/modules/system/python_requirements_info.py

* fixed validation-modules for plugins/modules/system/runit.py

the parameter "dist" is not used anywhere in the module

* fixed validation-modules for plugins/modules/system/sefcontext.py

* fixed validation-modules for plugins/modules/system/selogin.py

* fixed validation-modules for plugins/modules/system/seport.py

* fixed validation-modules for plugins/modules/system/solaris_zone.py

* fixed validation-modules for plugins/modules/system/syspatch.py

* fixed validation-modules for plugins/modules/system/vdo.py

* fixed validation-modules for plugins/modules/system/xfconf.py

* removed ignore almost all validate-modules lines in system

* removed unnecessary validations, per shippable test

* kernel_blacklist: keeping blacklist_file as str instead of path

* mksysb: keeping storage_path as str instead of path

* pam_limits: keeping dest as str instead of path

* rollback on adding doc for puppet.py legacy param

* rolledback param seuser required in selogin module

* rolledback changes in runit

* rolledback changes in osx_defaults

* rolledback changes in aix_defaults
2020-11-04 09:02:50 +01:00
Zach Peterson
b661c9476f
Remove redundant aliases from NIOS modules (#1223)
* remove redundant alias

* remove redundant aliases

* remove redundant aliases

* remove parameter-alias-self for nios_*

* add fragment

* Update changelogs/fragments/1223-nios-remove-redundant-aliases.yml

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

* Update plugins/modules/net_tools/nios/nios_host_record.py

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

* remove parameter-alias-self for nios_host_record

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-04 07:54:53 +01:00
Felix Fontein
549f228e1c
Fix callback_log_plays tests for current devel branch of ansible-base. (#1221) 2020-11-03 14:11:31 +01:00
Alexei Znamensky
85371e7b6d
Enabling validation-modules for web_infrastructure modules (#1200)
* fixed validation-modules for apache2_mod_proxy.py

* fixed validation-modules for apache2_module.py

* fixed validation-modules for deploy_helper.py

The ignore lines were put back in place because
add_file_common_args=True is used and the module inherits a number of
options that do not show up in the documentation (nor should they).

* fixed validation-modules for ejabberd_user.py

* fixed validation-modules for gunicorn.py

* fixed validation-modules for htpasswd.py

* fixed validation-modules for jenkins_job.py

* fixed validation-modules for jenkins_job_info.py

* fixed validation-modules for jenkins_plugin.py

* fixed validation-modules for jenkins_script.py

* fixed validation-modules for jira.py

* fixed validation-modules for nginx_status_facts.py

* fixed validation-modules for rundeck_acl_policy.py

* fixed validation-modules for rundeck_project.py

* fixed validation-modules for supervisorctl.py

* fixed validation-modules for taiga_issue.py

* fixed pylint mistake in plugins/modules/web_infrastructure/jenkins_job_info.py

* removed ignore lines for almost-all web_infrastructure modules

* rolled back ignore lines for nested sophos_utm modules that were not adjusted

* Removed doc-missing-type from ignore-2.11.txt for deploy_helper and jenkins_plugin

* When adding lines back to ignore files, we added more than it was before. Removing.

* Rolled back deprecation line in ignore-2.9.txt for nginx_status_facts

* Rolled back yet another line in ignore-2.9.txt for nginx_status_facts

* Fixed argument_spec and docs for crypt_scheme parameter in htpasswd, per PR

* Added extends_documentation_fragment:files to deploy_helper and jenkins_plugin

* Removed long-deprecated option params from jenkins_plugin, removed validate-modules lines from ignore files for that module

* Update plugins/modules/web_infrastructure/htpasswd.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-31 13:53:57 +01:00
Krzysztof Dąbrowski
c488cb1dd3
proxmox: ignore QEMU templates altogether (#1185)
* proxmox: ignore QEMU templates altogether

* add changelog fragment

* add test case

* Update changelogs/fragments/1185-proxmox-ignore-qemu-templates.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-30 19:51:49 +01:00
Amin Vakil
d6f5029187
proxmox, proxmox_kvm: Deprecate hard-coded defaults (#850)
* Remove hard-coded defaults

* Remove hard-coded defaults in proxmox.py

* Add changelog

* Remove defaults in proxmox docs

* Remove more default values

* Remove defaults in doc proxmox_kvm

* Restore default=True to onboot

* Add unspecified back to format

* correct changelog format and grammar

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

* improve changelog

* Fix changelog formatting

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

* Fix changelog formatting

* Deprecate before behaviour change

* Change changelog

* Remove unnecessary ignored sanity tests, fix

* Fix

* Better mention it too often than too little :)

* Deprecate in version 4.0.0 instead of 2.0.0

* Fix changelog

* Fix

* Remove none values

* Improve documentation as suggessted by felixfontein

* fix changelog

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

* Remove default value in force in proxmox_kvm

* Add description to force in proxmox_kvm

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-30 13:15:25 +01:00
Felix Fontein
25b38d907e
Disable docker tests (#1194)
* Disable docker tests.

ci_complete

* Get rid of shippable groups 4 and 5. Redistribute the few remaining entries of group 4 to groups 1 to 3.

ci_complete

* Try group 1.
2020-10-29 08:02:33 +01:00
Felix Fontein
20f470cc64
Remove ansible.posix dependency (#1157)
* Vendor plugins/module_utils/mount.py from ansible.posix, and drop ansible.posix dependency (except for testing).

* Add ignore.txt entries.

* Install test requirements conditionally.

* Apply suggestions from code review

Co-authored-by: John R Barker <john@johnrbarker.com>

* Bump to major changes.

Co-authored-by: John R Barker <john@johnrbarker.com>
2020-10-28 12:57:00 +01:00
MichaelWasher
4c379bd3b2
Resolve homebrew and homebrew_cask package name validation issues (#1038)
Add basic regression tests
Add changelog
Rename _create_regex_group to better suit function
Fix '-' use in Homebrew validation
2020-10-27 22:46:49 +01:00
Felix Fontein
8670eff750
docker_container: add device_requests option (#1119)
* docker_container: add device_requests option.

* Fix copy'n'paste mistake.

* Fix failure test.

* Added example.

* Adjust tense.
2020-10-27 05:52:39 +01:00
quidame
a5ca990857
filesystem: fix 355 state absent (#1149)
* add support for filesystem removal (fix #355)

- Add 'state' option, defaults to 'present'.
- When state=absent, ignore other options (even 'dev' if the device
  doesn't exist)

* test filesystem state=absent (+ check_mode + idempotency)

* fix doc-required-mismatch

* add changelog fragment

* fix blkid return code

* ext4dev may be deprecated

* base checks on UUID instead

* Update changelogs/fragments/1149-filesystem-fix-355-state-absent.yml

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

* Update plugins/modules/system/filesystem.py (version_added)

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

* use array for new run_command() calls; do not wipefs if no fs found

* use dd as a fallback

* do not use bare 'except' (pep8)

* force string type

* use dd anyway (wipefs not supported everywhere, possibly buggy with vfat, etc.)

* do not truncate regular files; update changelog fragment

* doc: update state description and an example; notice check_mode support

* do not wipe mounted fs, fail instead

* back to wipefs implementation

* update test's main conditions

* update changelog fragment

* explicit types

* fail state=absent on freebsd

* remove doc-missing-type exceptions (2.9, 2.10, 2.11)

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-26 19:43:01 +01:00
Felix Fontein
167153bff5
Improve docker test setups (#1161)
* Improve readability.

* Move common code to new file.
2020-10-26 08:33:04 +01:00
Alexei Znamensky
a93fce6755
Fixed django_manage markup in docs (#1154)
* Fixed django_manage markup in docs

* Update plugins/modules/web_infrastructure/django_manage.py

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

* Full validation in sanity-check

- removed restrictions from the tests/sanity/ignore-*.txt for django_manage
- adjusted documentation and code accordingly

* typo

* ... and added the necessary removed_from_collection='community.general'

* Update plugins/modules/web_infrastructure/django_manage.py

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

* Update plugins/modules/web_infrastructure/django_manage.py

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

* Update plugins/modules/web_infrastructure/django_manage.py

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

* Update plugins/modules/web_infrastructure/django_manage.py

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

* Added changelog fragment

* Documentation sentence lacking period, as pointed in the PR.

* Update plugins/modules/web_infrastructure/django_manage.py

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

* Update changelogs/fragments/1154-django_manage-docs.yml

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

* Update changelogs/fragments/1154-django_manage-docs.yml

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

* Removed the markup for 'shebang' in the docs.

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-26 07:54:57 +01:00
John R Barker
909a98d1d9
Don't run postgresql tests (#1167)
These modules have moved to community.postgresql, so don't run the tests
here in community.general

These modules and tests will be deleted soon
2020-10-23 19:56:15 +01:00
Simon Kelly
8de1c0c205
monit: fix module detection of monitored process state (#1107)
* refactor and test

* require version >= 5.21.0

Prior to this version the status output was different

* python version compatability

* use exception classes from utils

* modify monit to use 'status' output instead of 'summary' output

The summary output is a fixed width table which truncates the
contents and prevents us from parsing the actual status of the
program.

* add integration tests + fixes

* remove unused handlers in monit integration test

* fix lint

* add '__metaclass__ = type' to integration python files

* raise AttributeError

* simplify status

* lint: add type to parameter docs

* remove lint ignore

* move monit process config into main file

* specify path to monit PID file

* set config location based on os_family

* create required directories

* update aliases to set group and skips

* add changelog

* add author

* add types to docs

* add EPEL repo

* custom vars for centos-6

* uninstall EPEL

* support older versions

* wait for status to change before exiting

* use 'validate' to force status updates

* handle 'execution failed'

* better status output for errors

* add more context to failure + standardize

* don't check rc for validate

* legacy string format support

* add integration test for 'reloaded' and 'present'

* don't wait after reload

* lint

* Revert "uninstall EPEL"

This reverts commit 4d548718d0.

* make 'present' more robust

* Apply suggestions from code review

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* add license header

* drop daemon.py and use python-daemon instead

* skip python2.6 which is not supported by python-daemon

* refactor test tasks for reuse

* cleanup files after test

* lint

* start process before enabling monit

This shouldn't be necessary but I'm adding it in the hopes
it will make tests more robust.

* retry task

* attempt to rescue the task on failure

* fix indentation

* ignore check if rescue ran

* restart monit instead of reload

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-10-23 12:26:23 +02:00
Felix Fontein
6d960e9e10
Try to make pids test more stable. (#1160) 2020-10-23 09:53:02 +01:00
Justin Bronn
7722800561
nmcli: module refactor (#1113)
* * Refactor `nmcli` module to use consistent parameters when creating/modifying connections and detecting changes.
* Keep DNS list arguments as lists internally.
* Remove duplicated code where practical.

* DBus and GObject dependencies are not necessary.

* Update changelog fragment.

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

* Update changelog fragment.

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

* Use identity operator instead of equality for type comparison.

* Don't start changelog notes with a capital letter.

* * Have `settings_type` return `str` by default instead of `None`.
* Improve variable naming, use `convert_func` instead of `type_cast`.

* Revert new feature of allowing ethernet types as slaves.

* Bring back `list_connection_info` to list all connections with `nmcli con show`.

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-23 07:13:39 +02:00
Sebastiaan Mannem
3a5669991f
Update postgresql_pg_hba.py (#1124)
* Update postgresql_pg_hba.py

Fixes #1108

* Create changelog fragment for pull 1124

* Adding a unit test for pg_hba
2020-10-21 20:20:21 +03:00
Felix Fontein
16baefd167
docker_login: fix internal config file storage to handle credentials for more than one registry (#1118)
* docker_login: fix internal config file storage to handle credentials for more than one registry

* Improve setup for docker registry.

* Add second registry frontend. Add tests for #1118.

* Fix cleanup.
2020-10-21 08:18:05 +02:00
Andrew Klychkov
8267fd3809
postgresql_query: add query_all_results ret value (#886)
* postgresql_query: add query_all_results ret value

* add changelog fragment

* fix CI

* fix doc

* Update plugins/modules/database/postgresql/postgresql_query.py

Co-authored-by: Tobias Birkefeld <t@craxs.de>

* Update plugins/modules/database/postgresql/postgresql_query.py

Co-authored-by: Tobias Birkefeld <t@craxs.de>

* fix doc

Co-authored-by: Tobias Birkefeld <t@craxs.de>
2020-10-20 09:08:16 +03:00
chris93111
b2e075e6d3
new module nomad_job & nomad_job_info (#867)
* nomad_job module

* Delete nomad_job.py

* new module nomad_job

* fix symlink

* disable test with centos6 , not supported

* fix centos unsupported

* fix

* requested changes doc

* disable freebsd ci

* requested change docs + check_mode

* lint

* fix syntax

* update docs

* doc fix

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

* Update nomad_job.py

fix docs + ssl true default

* Update nomad_job.yml

disable ssl ci

* nomad_job_info

* Update nomad_job_info.py

fix token nomad job info

* Update nomad_job.py

idempotence + check_mode plan result

* Update nomad_job.py

fail if no id with json content

* Update nomad_job.yml

ci idempotence + check_mode , nomad_job and nomad_job_info

* Update nomad_job.yml

fix ci

* Update main.yml

add kill nomad ci

* Update main.yml

always kill

* fix check mode delete job

* ci with delete and check_mode

* lint

* force start in first deploy

* 12.4 nomad

* fix version nomad

* fix ci assert

* fix ci

* fix ci

* lint

* fix version job id None, import os unused

* lint job_info

* Update aliases

* docs frag + info refacto

* lint

lint

* ci

* jmespath

* fix ci

Co-authored-by: FERREIRA Christophe <christophe.ferreira@cnaf.fr>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-19 13:40:07 +02:00
Andreas Lutro
b5b5410575
move conversion of data to json in slack API handling (#1101)
* move conversion of data to json in slack API handling

at one point in do_notify_slack, we do operations on the payload
variable assuming it's a dict, but it's not: it's a json encoded string.

it's useful to operate on the payload as a dict rather than a string, so
solve this problem by moving the jsonify call to right before sending
the payload to the slack API.

fixes #1097

* add changelog fragment

* Update changelogs/fragments/1101-slack-ts-fix.yaml

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

* return payload as a json encoded string for backwards compatibility

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-10-19 10:58:14 +03:00
Andrew Klychkov
398421a9d1
postgresql_ext: fix module's failing when available ext versions contain a pure string (#1099)
* postgresql_ext: fix module's failing when available ext versions contain a pure string

* Add unit tests

* Add changelog fragment

* fix
2020-10-16 11:56:15 +03:00