Skip to content

Commit b55cb2f

Browse files
committed
allow query params parent_object* for services in netbox_utils
- elif parent == "services": is workaround for Netbox 4.3.0 - 4.4.3 - #20554 GET Parent_object_type wrong data type - integer instead of string Just delete parent_object_type and parent_object_id GET is broken anyway
1 parent f546b68 commit b55cb2f

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

plugins/module_utils/netbox_utils.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,17 @@
566566
"rir": set(["slug"]),
567567
"role": set(["slug"]),
568568
"route_target": set(["name"]),
569-
"services": set(["device", "virtual_machine", "name", "port", "protocol"]),
569+
"services": set(
570+
[
571+
"device",
572+
"virtual_machine",
573+
"name",
574+
"port",
575+
"protocol",
576+
"parent_object_type",
577+
"parent_object_id",
578+
]
579+
),
570580
"service_template": set(["name"]),
571581
"site": set(["slug", "name"]),
572582
"site_group": set(["slug"]),
@@ -1190,6 +1200,15 @@ def _build_query_params(
11901200
query_dict["device_type_id"] = query_dict.pop("device_type")
11911201
else:
11921202
query_dict["devicetype_id"] = query_dict.pop("device_type")
1203+
# TODO workaround for Netbox 4.3.0 - 4.4.3 - #20554
1204+
# Remove 'elif parent == "services":' block after support for
1205+
# Netbox 4.3.0 - 4.4.3 is removed
1206+
elif parent == "services":
1207+
if self._version_check_greater(
1208+
self.version, "4.3", greater_or_equal=True
1209+
) and self._version_less_than(self.full_version, "4.4.4"):
1210+
query_dict.pop("parent_object_id", None)
1211+
query_dict.pop("parent_object_type", None)
11931212

11941213
if not query_dict:
11951214
provided_kwargs = child.keys() if child else module_data.keys()

0 commit comments

Comments
 (0)