derlucas / snipeit-netbox

This Software can sync Data from SnipeIt to NetBox.
15 stars 5 forks source link
netbox snipe-it

Snipe-IT to NetBox Sync

This Software can sync Data from Snipe-IT to NetBox.

Requirements + Installation

Install dependencies by creating a Python Virtual Environment:

python -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Configure the API endpoints and Access Tokens in the "config.ini" file. Use the example "config.ini.default" file, rename it to "config.ini" and change the values in the File.

Usage

The Program will introduce a new Custom Field in Netbox to allow linking the Snipe-IT Database ID.

source venv/bin/activate  (just once you open a new Terminal)
python main.py [--allow-update] [--allow-linking] [--update-unique-existing|--no-append-assettag]

By default, without any command line args, the programm will just create new Items in NetBox. When duplicate Items are found by Name, it will skip Updating.

To Enable Updating already present Items, use the Command line switch "--allow-update".

To allow adding the Database ID to already present Items, use the Command Line Switch "--allow-linking". This will match Items by Name and other NetBox unique constraints to find possible Matches and set the Snipe-IT Database ID in the NetBox Item.

If you have already items in netbox and want to update them by just the asset-name enable "--update-unique-existing". Only assets with a unique name in snipe-it will be updated. If there are more assets in snipe-it with the same name they are all added. In this mode also "--no-append-assettag" is enabled.

Usually the imported (created/updated) devices get the snipe-it-assettag appended to the name. Use "--no-append-assettag" to disable dis behavior. If there are more assets in snipe-it with the same name for this assets the tag is added to the name.

Link, Sync, Information

Deleted Items in Snipe-IT will NOT be deleted from NetBox.

The software will only sync Device Types (and thus Devices) with a MAC field set assigned in Snipe-IT.