Skip to content

Commit 4d3f69c

Browse files
Merge pull request #558 from nahun/fix_529
Quick fix to support ansible-core 2.11
2 parents c612612 + 6ba6a6e commit 4d3f69c

File tree

3 files changed

+26
-62
lines changed

3 files changed

+26
-62
lines changed

changelogs/fragments/issue-558.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bugfixes:
2+
- Fix to the argspec for support of ansible-core 2.11 (#558)

plugins/module_utils/netbox_utils.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
from ansible.module_utils._text import to_native
2121
from ansible.module_utils.common.collections import is_iterable
22-
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
22+
from ansible.module_utils.basic import AnsibleModule, missing_required_lib, _load_params
2323
from ansible.module_utils.urls import open_url
2424

2525
PYNETBOX_IMP_ERR = None
@@ -1166,18 +1166,37 @@ def __init__(
11661166
required_if=None,
11671167
required_by=None,
11681168
):
1169+
# Sets each check to None so they are not run in AnsibleModule
11691170
super().__init__(
11701171
argument_spec,
11711172
bypass_checks=False,
11721173
no_log=False,
1173-
mutually_exclusive=mutually_exclusive,
1174-
required_together=required_together,
1175-
required_one_of=required_one_of,
1174+
mutually_exclusive=None,
1175+
required_together=None,
1176+
required_one_of=None,
11761177
add_file_common_args=False,
11771178
supports_check_mode=supports_check_mode,
1178-
required_if=required_if,
1179+
required_if=None,
11791180
)
11801181

1182+
# Quick fix to support ansible-core 2.11
1183+
#
1184+
# Load the params manually as the self.params already have the defaults set
1185+
params = _load_params()
1186+
1187+
# Run each check manually providing the params
1188+
if mutually_exclusive:
1189+
self._check_mutually_exclusive(mutually_exclusive, param=params)
1190+
1191+
if required_together:
1192+
self._check_required_together(required_together, param=params)
1193+
1194+
if required_one_of:
1195+
self._check_required_one_of(required_one_of, param=params)
1196+
1197+
if required_if:
1198+
self._check_required_if(required_if, param=params)
1199+
11811200
def _check_mutually_exclusive(self, spec, param=None):
11821201
if param is None:
11831202
param = self.params

tests/sanity/ignore-2.10.txt

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,27 @@
11
plugins/modules/netbox_aggregate.py validate-modules:parameter-list-no-elements
2-
plugins/modules/netbox_aggregate.py validate-modules:required_if-requirements-unknown
3-
plugins/modules/netbox_cable.py validate-modules:required_if-requirements-unknown
4-
plugins/modules/netbox_circuit.py validate-modules:required_if-requirements-unknown
52
plugins/modules/netbox_circuit.py validate-modules:parameter-list-no-elements
6-
plugins/modules/netbox_circuit_termination.py validate-modules:required_if-requirements-unknown
7-
plugins/modules/netbox_circuit_type.py validate-modules:required_if-requirements-unknown
8-
plugins/modules/netbox_cluster.py validate-modules:required_if-requirements-unknown
93
plugins/modules/netbox_cluster.py validate-modules:parameter-list-no-elements
10-
plugins/modules/netbox_cluster_group.py validate-modules:required_if-requirements-unknown
11-
plugins/modules/netbox_cluster_type.py validate-modules:required_if-requirements-unknown
12-
plugins/modules/netbox_console_port.py validate-modules:required_if-requirements-unknown
134
plugins/modules/netbox_console_port.py validate-modules:parameter-list-no-elements
14-
plugins/modules/netbox_console_port_template.py validate-modules:required_if-requirements-unknown
15-
plugins/modules/netbox_console_server_port.py validate-modules:required_if-requirements-unknown
165
plugins/modules/netbox_console_server_port.py validate-modules:parameter-list-no-elements
17-
plugins/modules/netbox_device.py validate-modules:required_if-requirements-unknown
186
plugins/modules/netbox_device.py validate-modules:parameter-list-no-elements
19-
plugins/modules/netbox_console_server_port_template.py validate-modules:required_if-requirements-unknown
20-
plugins/modules/netbox_device_bay.py validate-modules:required_if-requirements-unknown
217
plugins/modules/netbox_device_bay.py validate-modules:parameter-list-no-elements
22-
plugins/modules/netbox_device_bay_template.py validate-modules:required_if-requirements-unknown
23-
plugins/modules/netbox_device_interface.py validate-modules:required_if-requirements-unknown
248
plugins/modules/netbox_device_interface.py validate-modules:parameter-list-no-elements
25-
plugins/modules/netbox_device_interface_template.py validate-modules:required_if-requirements-unknown
26-
plugins/modules/netbox_device_role.py validate-modules:required_if-requirements-unknown
27-
plugins/modules/netbox_device_type.py validate-modules:required_if-requirements-unknown
289
plugins/modules/netbox_device_type.py validate-modules:parameter-list-no-elements
29-
plugins/modules/netbox_front_port.py validate-modules:required_if-requirements-unknown
3010
plugins/modules/netbox_front_port.py validate-modules:parameter-list-no-elements
31-
plugins/modules/netbox_front_port_template.py validate-modules:required_if-requirements-unknown
32-
plugins/modules/netbox_inventory_item.py validate-modules:required_if-requirements-unknown
3311
plugins/modules/netbox_inventory_item.py validate-modules:parameter-list-no-elements
34-
plugins/modules/netbox_ip_address.py validate-modules:mutually_exclusive-unknown
35-
plugins/modules/netbox_ip_address.py validate-modules:required_if-requirements-unknown
3612
plugins/modules/netbox_ip_address.py validate-modules:parameter-list-no-elements
37-
plugins/modules/netbox_ipam_role.py validate-modules:required_if-requirements-unknown
38-
plugins/modules/netbox_manufacturer.py validate-modules:required_if-requirements-unknown
39-
plugins/modules/netbox_platform.py validate-modules:required_if-requirements-unknown
40-
plugins/modules/netbox_power_feed.py validate-modules:required_if-requirements-unknown
4113
plugins/modules/netbox_power_feed.py validate-modules:parameter-list-no-elements
42-
plugins/modules/netbox_power_outlet.py validate-modules:required_if-requirements-unknown
4314
plugins/modules/netbox_power_outlet.py validate-modules:parameter-list-no-elements
44-
plugins/modules/netbox_power_outlet_template.py validate-modules:required_if-requirements-unknown
45-
plugins/modules/netbox_power_panel.py validate-modules:required_if-requirements-unknown
46-
plugins/modules/netbox_power_port.py validate-modules:required_if-requirements-unknown
4715
plugins/modules/netbox_power_port.py validate-modules:parameter-list-no-elements
48-
plugins/modules/netbox_power_port_template.py validate-modules:required_if-requirements-unknown
49-
plugins/modules/netbox_prefix.py validate-modules:required_if-requirements-unknown
5016
plugins/modules/netbox_prefix.py validate-modules:parameter-list-no-elements
51-
plugins/modules/netbox_provider.py validate-modules:required_if-requirements-unknown
5217
plugins/modules/netbox_provider.py validate-modules:parameter-list-no-elements
53-
plugins/modules/netbox_rack.py validate-modules:required_if-requirements-unknown
5418
plugins/modules/netbox_rack.py validate-modules:parameter-list-no-elements
55-
plugins/modules/netbox_rack_group.py validate-modules:required_if-requirements-unknown
56-
plugins/modules/netbox_rack_role.py validate-modules:required_if-requirements-unknown
57-
plugins/modules/netbox_rear_port.py validate-modules:required_if-requirements-unknown
5819
plugins/modules/netbox_rear_port.py validate-modules:parameter-list-no-elements
59-
plugins/modules/netbox_rear_port_template.py validate-modules:required_if-requirements-unknown
60-
plugins/modules/netbox_region.py validate-modules:required_if-requirements-unknown
61-
plugins/modules/netbox_rir.py validate-modules:required_if-requirements-unknown
6220
plugins/modules/netbox_route_target.py validate-modules:parameter-list-no-elements
63-
plugins/modules/netbox_service.py validate-modules:mutually_exclusive-unknown
64-
plugins/modules/netbox_service.py validate-modules:required_if-requirements-unknown
6521
plugins/modules/netbox_service.py validate-modules:parameter-list-no-elements
66-
plugins/modules/netbox_service.py validate-modules:required_one_of-unknown
67-
plugins/modules/netbox_site.py validate-modules:required_if-requirements-unknown
6822
plugins/modules/netbox_site.py validate-modules:parameter-list-no-elements
69-
plugins/modules/netbox_tag.py validate-modules:required_if-requirements-unknown
70-
plugins/modules/netbox_tenant.py validate-modules:required_if-requirements-unknown
71-
plugins/modules/netbox_tenant.py validate-modules:parameter-list-no-elements
72-
plugins/modules/netbox_tenant_group.py validate-modules:required_if-requirements-unknown
7323
plugins/modules/netbox_virtual_chassis.py validate-modules:parameter-list-no-elements
74-
plugins/modules/netbox_virtual_chassis.py validate-modules:required_one_of-unknown
75-
plugins/modules/netbox_virtual_machine.py validate-modules:required_if-requirements-unknown
7624
plugins/modules/netbox_virtual_machine.py validate-modules:parameter-list-no-elements
77-
plugins/modules/netbox_vlan.py validate-modules:required_if-requirements-unknown
7825
plugins/modules/netbox_vlan.py validate-modules:parameter-list-no-elements
79-
plugins/modules/netbox_vlan_group.py validate-modules:required_if-requirements-unknown
80-
plugins/modules/netbox_vlan_group.py validate-modules:required_together-unknown
81-
plugins/modules/netbox_vm_interface.py validate-modules:required_if-requirements-unknown
8226
plugins/modules/netbox_vm_interface.py validate-modules:parameter-list-no-elements
83-
plugins/modules/netbox_vrf.py validate-modules:required_if-requirements-unknown
8427
plugins/modules/netbox_vrf.py validate-modules:parameter-list-no-elements

0 commit comments

Comments
 (0)