netbox¶
Netbox module.
-
exception
spicerack.netbox.
NetboxAPIError
[source]¶ Bases:
spicerack.netbox.NetboxError
Usually a wrapper for pynetbox.RequestError, errors that occur when accessing the API.
-
exception
spicerack.netbox.
NetboxError
[source]¶ Bases:
spicerack.exceptions.SpicerackError
General errors raised by this module.
-
exception
spicerack.netbox.
NetboxHostNotFoundError
[source]¶ Bases:
spicerack.netbox.NetboxError
Raised when a host is not found for an operation.
-
class
spicerack.netbox.
Netbox
(url: str, token: str, *, dry_run: bool = True)[source]¶ Bases:
object
Class which wraps Netbox API operations.
Create Netbox instance.
- Parameters
-
fetch_host_detail
(hostname: str) → Dict[source]¶ Return a dict containing details about the host.
- Parameters
hostname (str) -- the name of the host to retrieve.
- Returns
data about the host
- Return type
- Raises
NetboxAPIError -- on API error
NetboxError -- on parameter error
NetboxHostNotFoundError -- if the host is not found
-
fetch_host_status
(hostname: str) → str[source]¶ Return the current status of a host as a string.
- Parameters
hostname (str) -- the name of the host status
- Returns
the normalized status name
- Return type
- Raises
NetboxAPIError -- on API error
NetboxError -- on parameter error
NetboxHostNotFoundError -- if the host is not found
-
put_host_status
(hostname: str, status: str) → None[source]¶ Set the device status.
Note
This method does not operate on virtual machines since they are updated automatically from Ganeti into Netbox.
- Parameters
- Raises
NetboxAPIError -- on API error.
NetboxError -- on parameter error.
-
property
api
¶ Getter for the Netbox API property.
Todo
When feasible expose instead higher level functionalities.
- Returns
the Netbox API instance.
- Return type
pynetbox.api