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.
composer require mkevenaar/netbox
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/ |
$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'])
This will lazily load all items in the collection as required.
$iterator = $this->netboxApi->aggregates()->listAll([
'rir' => 'demo'
]);
foreach($iterator as $aggregate){
// do something
}
- Circuits
- DCIM
- Cables
- ConnectedDevices
- ConsoleConnections
- ConsolePortTemplates
- ConsolePorts
- ConsoleServerPortTemplates
- ConsoleServerPorts
- DeviceBayTemplates
- DeviceBays
- DeviceRoles
- DeviceTypes
- Devices
- FrontPortTemplates
- FrontPorts
- InterfaceConnections
- InterfaceTemplates
- Interfaces
- InventoryItems
- Manufacturers
- ModuleBays
- Modules
- Platforms
- PowerFeeds
- PowerOutletTemplates
- PowerOutlets
- PowerPanels
- PowerPortTemplates
- PowerPorts
- RackGroups
- RackReservations
- RackRoles
- Racks
- RearPortTemplates
- RearPorts
- Regions
- Sites
- VirtualChassis
- Extras
- IPAM
- Secrets
- Tenancy
- Users
- Virtualization