Skip to content

Commit c57f272

Browse files
committed
Add custom header parameter to all module
Add custom header parameter based on @clinta work in netbox-community#1327
1 parent f57ef66 commit c57f272

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
minor-changes:
2+
- Add support for custom headers for all modules

plugins/doc_fragments/common.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,8 @@ class ModuleDocFragment(object):
5050
- Certificate path
5151
required: false
5252
type: raw
53+
headers:
54+
description: Dictionary of headers to be passed to the NetBox API.
55+
required: false
56+
type: dict
5357
"""

plugins/module_utils/netbox_utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,7 @@
723723
query_params=dict(required=False, type="list", elements="str"),
724724
validate_certs=dict(type="raw", default=True),
725725
cert=dict(type="raw", required=False),
726+
headers=dict(type="dict", required=False),
726727
)
727728

728729

@@ -751,6 +752,10 @@ def __init__(self, module, endpoint, nb_client=None):
751752
token = self.module.params["netbox_token"]
752753
ssl_verify = self.module.params["validate_certs"]
753754
cert = self.module.params["cert"]
755+
headers = self.module.params["netbox_url"]
756+
757+
if isinstance(headers, str):
758+
headers = json.loads(headers)
754759

755760
# Attempt to initiate connection to NetBox
756761
if nb_client is None:
@@ -807,6 +812,7 @@ def _version_check_greater(self, greater, lesser, greater_or_equal=False):
807812
def _connect_netbox_api(self, url, token, ssl_verify, cert):
808813
try:
809814
session = requests.Session()
815+
session.headers = headers
810816
session.verify = ssl_verify
811817
if cert:
812818
session.cert = tuple(i for i in cert)

0 commit comments

Comments
 (0)