|  | 
| 723 | 723 |     query_params=dict(required=False, type="list", elements="str"), | 
| 724 | 724 |     validate_certs=dict(type="raw", default=True), | 
| 725 | 725 |     cert=dict(type="raw", required=False), | 
|  | 726 | +    headers=dict(type="dict", required=False), | 
| 726 | 727 | ) | 
| 727 | 728 | 
 | 
| 728 | 729 | 
 | 
| @@ -751,10 +752,11 @@ def __init__(self, module, endpoint, nb_client=None): | 
| 751 | 752 |         token = self.module.params["netbox_token"] | 
| 752 | 753 |         ssl_verify = self.module.params["validate_certs"] | 
| 753 | 754 |         cert = self.module.params["cert"] | 
|  | 755 | +        headers = self.module.params["headers"] | 
| 754 | 756 | 
 | 
| 755 | 757 |         # Attempt to initiate connection to NetBox | 
| 756 | 758 |         if nb_client is None: | 
| 757 |  | -            self.nb = self._connect_netbox_api(url, token, ssl_verify, cert) | 
|  | 759 | +            self.nb = self._connect_netbox_api(url, token, ssl_verify, cert, headers) | 
| 758 | 760 |         else: | 
| 759 | 761 |             self.nb = nb_client | 
| 760 | 762 |             try: | 
| @@ -804,10 +806,14 @@ def _version_check_greater(self, greater, lesser, greater_or_equal=False): | 
| 804 | 806 | 
 | 
| 805 | 807 |         return False | 
| 806 | 808 | 
 | 
| 807 |  | -    def _connect_netbox_api(self, url, token, ssl_verify, cert): | 
|  | 809 | +    def _connect_netbox_api(self, url, token, ssl_verify, cert, headers=None): | 
| 808 | 810 |         try: | 
| 809 | 811 |             session = requests.Session() | 
| 810 | 812 |             session.verify = ssl_verify | 
|  | 813 | +            if isinstance(headers, str): | 
|  | 814 | +                headers = json.load(headers) | 
|  | 815 | +            if isinstance(headers, dict): | 
|  | 816 | +                session.headers.update(headers) | 
| 811 | 817 |             if cert: | 
| 812 | 818 |                 session.cert = tuple(i for i in cert) | 
| 813 | 819 |             nb = pynetbox.api(url, token=token) | 
|  | 
0 commit comments