-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement basic support for read-only and write-only keys in api_info and api_modify #213
Implement basic support for read-only and write-only keys in api_info and api_modify #213
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #213 +/- ##
==========================================
- Coverage 83.87% 83.15% -0.72%
==========================================
Files 32 32
Lines 3962 4031 +69
Branches 837 867 +30
==========================================
+ Hits 3323 3352 +29
- Misses 470 494 +24
- Partials 169 185 +16
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
Docs Build 📝Thank you for contribution!✨ This PR has been merged and the docs are now incorporated into |
52c2ffe
to
7541fe9
Compare
7541fe9
to
7fada30
Compare
I did some testing with a modified version of #211: diff --git a/plugins/module_utils/_api_data.py b/plugins/module_utils/_api_data.py
index 9dbe2a2..b92c611 100644
--- a/plugins/module_utils/_api_data.py
+++ b/plugins/module_utils/_api_data.py
@@ -3231,6 +3231,22 @@ PATHS = {
},
),
),
+ ('user',): APIData(
+ unversioned=VersionedAPIData(
+ primary_keys=('name', ),
+ fully_understood=True,
+ fields={
+ 'address': KeyInfo(),
+ 'comment': KeyInfo(can_disable=True, remove_value=''),
+ 'disabled': KeyInfo(default=False),
+ 'expired': KeyInfo(read_only=True),
+ 'group': KeyInfo(),
+ 'last-logged-in': KeyInfo(read_only=True),
+ 'name': KeyInfo(),
+ 'password': KeyInfo(write_only=True),
+ },
+ ),
+ ),
('user', 'aaa'): APIData(
unversioned=VersionedAPIData(
single_value=True, and it works fine (with the last change I pushed). |
cf6c79e
into
ansible-collections:main
@hansmi thanks for reviewing this! |
8.5.0 amazon.aws ~~~~~~~~~~ - ec2_ami - add support for ``org_arns`` and ``org_unit_arns`` in launch_permissions (ansible-collections/amazon.aws#1690). - elb_application_lb_info - drop redundant ``describe_load_balancers`` call fetching ``ip_address_type`` (ansible-collections/amazon.aws#1768). community.general ~~~~~~~~~~~~~~~~~ - cargo - add option ``executable``, which allows user to specify path to the cargo binary (ansible-collections/community.general#7352). - cargo - add option ``locked`` which allows user to specify install the locked version of dependency instead of latest compatible version (ansible-collections/community.general#6134). - dig lookup plugin - add TCP option to enable the use of TCP connection during DNS lookup (ansible-collections/community.general#7343). - gitlab_group - add option ``force_delete`` (default: false) which allows delete group even if projects exists in it (ansible-collections/community.general#7364). - ini_file - add ``ignore_spaces`` option (ansible-collections/community.general#7273). - newrelic_deployment - add option ``app_name_exact_match``, which filters results for the exact app_name provided (ansible-collections/community.general#7355). - onepassword lookup plugin - introduce ``account_id`` option which allows specifying which account to use (ansible-collections/community.general#7308). - onepassword_raw lookup plugin - introduce ``account_id`` option which allows specifying which account to use (ansible-collections/community.general#7308). - parted - on resize, use ``--fix`` option if available (ansible-collections/community.general#7304). - pnpm - set correct version when state is latest or version is not mentioned. Resolves previous idempotency problem (ansible-collections/community.general#7339). - proxmox - add ``vmid`` (and ``taskid`` when possible) to return values (ansible-collections/community.general#7263). - random_string - added new ``ignore_similar_chars`` and ``similar_chars`` option to ignore certain chars (ansible-collections/community.general#7242). - redfish_command - add new option ``update_oem_params`` for the ``MultipartHTTPPushUpdate`` command (ansible-collections/community.general#7331). - redfish_config - add ``CreateVolume`` command to allow creation of volumes on servers (ansible-collections/community.general#6813). - redfish_config - adding ``SetSecureBoot`` command (ansible-collections/community.general#7129). - redfish_info - add support for ``GetBiosRegistries`` command (ansible-collections/community.general#7144). - redfish_info - adds ``LinkStatus`` to NIC inventory (ansible-collections/community.general#7318). - redis_info - refactor the redis_info module to use the redis module_utils enabling to pass TLS parameters to the Redis client (ansible-collections/community.general#7267). - supervisorctl - allow to stop matching running processes before removing them with ``stop_before_removing=true`` (ansible-collections/community.general#7284). community.libvirt ~~~~~~~~~~~~~~~~~ - virt - add `mutate_flags` parameter to enable XML mutation (add UUID, MAC addresses from existing domain) (ansible-collections/community.libvirt#142). - virt - support ``--diff`` for ``define`` command (ansible-collections/community.libvirt#142). community.routeros ~~~~~~~~~~~~~~~~~~ - api_info - add new ``include_read_only`` option to select behavior for read-only values. By default these are not returned (ansible-collections/community.routeros#213). - api_info, api_modify - add support for ``address-list`` and ``match-subdomain`` introduced by RouterOS 7.7 in the ``ip dns static`` path (ansible-collections/community.routeros#197). - api_info, api_modify - add support for ``user``, ``time`` and ``gmt-offset`` under the ``system clock`` path (ansible-collections/community.routeros#210). - api_info, api_modify - add support for the ``interface ppp-client`` path (ansible-collections/community.routeros#199). - api_info, api_modify - add support for the ``interface wireless`` path (ansible-collections/community.routeros#195). - api_info, api_modify - add support for the ``iot modbus`` path (ansible-collections/community.routeros#205). - api_info, api_modify - add support for the ``ip dhcp-server option`` and ``ip dhcp-server option sets`` paths (ansible-collections/community.routeros#223). - api_info, api_modify - add support for the ``ip upnp interfaces``, ``tool graphing interface``, ``tool graphing resource`` paths (ansible-collections/community.routeros#227). - api_info, api_modify - add support for the ``ipv6 firewall nat`` path (ansible-collections/community.routeros#204). - api_info, api_modify - add support for the ``mode`` property in ``ip neighbor discovery-settings`` introduced in RouterOS 7.7 (ansible-collections/community.routeros#198). - api_info, api_modify - add support for the ``port remote-access`` path (ansible-collections/community.routeros#224). - api_info, api_modify - add support for the ``routing filter rule`` and ``routing filter select-rule`` paths (ansible-collections/community.routeros#200). - api_info, api_modify - add support for the ``routing table`` path in RouterOS 7 (ansible-collections/community.routeros#215). - api_info, api_modify - add support for the ``tool netwatch`` path in RouterOS 7 (ansible-collections/community.routeros#216). - api_info, api_modify - add support for the ``user settings`` path (ansible-collections/community.routeros#201). - api_info, api_modify - add support for the ``user`` path (ansible-collections/community.routeros#211). - api_info, api_modify - finalize fields for the ``interface wireless security-profiles`` path and enable it (ansible-collections/community.routeros#203). - api_info, api_modify - finalize fields for the ``ppp profile`` path and enable it (ansible-collections/community.routeros#217). - api_modify - add new ``handle_read_only`` and ``handle_write_only`` options to handle the module's behavior for read-only and write-only fields (ansible-collections/community.routeros#213). - api_modify, api_info - support API paths ``routing id``, ``routing bgp connection`` (ansible-collections/community.routeros#220). community.vmware ~~~~~~~~~~~~~~~~ - add moid property in the return value for the module(ansible-collections/community.vmware#1855). - add new snapshot_id option to the vmware_guest_snapshot module(ansible-collections/community.vmware#1847). dellemc.powerflex ~~~~~~~~~~~~~~~~~ - Added Ansible role to support installation and uninstallation of Gateway. - Added Ansible role to support installation and uninstallation of SDR. - Added Ansible role to support installation and uninstallation of Web UI. grafana.grafana ~~~~~~~~~~~~~~~ - Add check for Curl and failure step if Agent Version is not retrieved - Allow alert resource provisioning in Grafana Role - Bump cryptography from 39.0.2 to 41.0.3 - Bump cryptography from 41.0.3 to 41.0.4 - Bump semver from 5.7.1 to 5.7.2 - Bump word-wrap from 1.2.3 to 1.2.5 - Create local dashboard directory in check mode - Create missing notification directory in Grafana Role - Remove check_mode from create local directory task in Grafana Role - Remove dependency on local-fs.target from Grafana Agent role - Update CI Testing - Update Cloud Stack Module failures - Use 'ansible_system' env variable to detect os typ in Grafana Agent Role - hange grafana Agent Wal and Positions Directory in Grafana Agent Role ovirt.ovirt ~~~~~~~~~~~ - ovirt_vm - Add tpm_enabled (oVirt/ovirt-ansible-collection#722). - storage_error_resume_behaviour - Support VM storage error resume behaviour "auto_resume", "kill", "leave_paused". (oVirt/ovirt-ansible-collection#721) - vm_infra - Support boot disk renaming and resizing. (oVirt/ovirt-ansible-collection#705) purestorage.flashblade ~~~~~~~~~~~~~~~~~~~~~~ - purefb_bucket_replica - Added support for cascading replica links - purefb_info - New fields to display free space (remaining quota) for Accounts and Buckets. Space used by destroyed buckets is split out from virtual field to new destroyed_virtual field - purefb_info - Report encryption state in SMB client policy rules - purefb_info - Report more detailed space data from Purity//FB 4.3.0 - purefb_policy - Add deny effect for object store policy rules. Requires Purity//FB 4.3.0+ - purefb_policy - Added parameter to define object store policy description vultr.cloud ~~~~~~~~~~~ - inventory - Added VPC/VPC 2.0 support by adding ``internal_ip`` to the attributes (vultr/ansible-collection-vultr#86).
SUMMARY
Ref: https://github.com/ansible-collections/community.routeros/pull/211/files#r1313462457
CC @hansmi - I didn't really have time to test this yet, but if you already want to try it out: enjoy ;-)
ISSUE TYPE
COMPONENT NAME
API data
api_info
api_modify