Skip to content

Commit 4a16c05

Browse files
authored
Closes #477: Fix virtual chassis functionality (#657)
* Fix issue where you could not create a new virtual chassis without defining a master * Add custom_fields and update the example
1 parent 0d5378b commit 4a16c05

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

plugins/module_utils/netbox_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -836,7 +836,7 @@ def _build_query_params(
836836
)
837837

838838
elif parent == "virtual_chassis":
839-
query_dict = {"q": self.module.params["data"].get("master")}
839+
query_dict.update({"master": self.module.params["data"].get("master")})
840840

841841
elif parent == "rear_port" and self.endpoint == "front_ports":
842842
if isinstance(module_data.get("rear_port"), str):

plugins/modules/netbox_virtual_chassis.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@
5858
required: false
5959
type: list
6060
elements: raw
61+
custom_fields:
62+
description:
63+
- must exist in NetBox
64+
required: false
65+
type: dict
6166
"""
6267

6368
EXAMPLES = r"""
@@ -81,7 +86,7 @@
8186
netbox_url: http://netbox.local
8287
netbox_token: thisIsMyToken
8388
data:
84-
master: Test Device
89+
name: "Virtual Chassis 1"
8590
domain: Domain Text
8691
state: present
8792
@@ -90,7 +95,7 @@
9095
netbox_url: http://netbox.local
9196
netbox_token: thisIsMyToken
9297
data:
93-
master: Test Device
98+
name: "Virtual Chassis 1"
9499
state: absent
95100
"""
96101

@@ -131,21 +136,17 @@ def main():
131136
master=dict(required=False, type="raw"),
132137
domain=dict(required=False, type="str"),
133138
tags=dict(required=False, type="list", elements="raw"),
139+
custom_fields=dict(required=False, type="dict"),
134140
),
135141
),
136142
)
137143
)
138144

139-
# required_if = [
140-
# ("state", "present", ["master"]),
141-
# ("state", "absent", ["master"]),
142-
# ]
143145
required_one_of = [["name", "master"]]
144146

145147
module = NetboxAnsibleModule(
146148
argument_spec=argument_spec,
147149
supports_check_mode=True,
148-
# required_if=required_if,
149150
required_one_of=required_one_of,
150151
)
151152

0 commit comments

Comments
 (0)