Skip to content

MDOQ-UK/netbox-php

 
 

Repository files navigation

NetBox PHP

Note, this is a fork of the Wicked Software Corp. "Laravel NetBox" Package, original Credits go to them.

Note, this is a fork of the "port389/netbox-php" Package, original Credits go to them

The Package was refactored to allow Installation as a standalone composer package (thus is available under the mkevenaar namespace for this package). The package was tested against NetBox v3.2.2 while implementing NetBox in the company I'm working for in "scratch your own itch"-Mode. We mainly use the IPAM module in NetBox, other components are not heavily tested.

Installation

composer require mkevenaar/netbox

Environment Variables

The package requires 2 environment variables being set accessible through getenv()

Variable Type Default Description
NETBOX_API string "" the NetBox API Endpoint (e.g. http://localhost:8080/api)
NETBOX_API_KEY string "" The NetBox API Key created from eg http://127.0.0.1:8080/user/api-tokens/

Example Usage

$api = new \mkevenaar\NetBox\Api\IPAM\IpAddresses(new \mkevenaar\NetBox\Client());
$result = $api->add([
    'address'  => '11.22.33.44/32',
    'dns_name' => 'foo.example.com'
]);

$result = $api->list(['address' => '11.22.33.44/32'])

Iterator

This will lazily load all items in the collection as required.

$iterator = $this->netboxApi->aggregates()->listAll([
    'rir' => 'demo'
]);
foreach($iterator as $aggregate){
    // do something
}

Supported NetBox APIs

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%