Download the PHP package cmdrsharp/netbox-laravel without Composer
On this page you can find all versions of the php package cmdrsharp/netbox-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cmdrsharp/netbox-laravel
More information about cmdrsharp/netbox-laravel
Files in cmdrsharp/netbox-laravel
Package netbox-laravel
Short Description A client for creating/reading from NetBox
License Apache-2.0
Informations about the package netbox-laravel
NetBox Laravel
This repo contains a client for interacting with the NetBox API - more specifically to be able to treat them more like resources (akin to Laravel models).
Each resource type defines a fillable
property which allows mass assignment. Each property is named 1:1 with the NetBox API documentation.
Resources also contain helper methods to allow easy lookups.
Current Requirements
- PHP 7.4 or newer
- Laravel 7.0 or newer
- NetBox (2.10 tested)
Installation
Via composer
After installation, publish the configuration file.
Which will create a netbox.php
file in your Laravel config directory which contains keys for the NetBox URL and API Token.
It is recommended to simply define these in your .env
file. The config file will automatically read from these values.
If you for some reason wish to disable SSL Validation toward the NetBox API, you can override validation in the .env
file.
Usage
For creating a new resource, instantiate the correct model and call its create method.
For your convenience, each resource also contains named set-methods that cover all fillable properties. ``
Example: Get a prefix from the NetBox API
Other resources
- Laravel NetBox BGP - Extension that includes BGP Resources
Developing
When creating new resources, please ensure to follow existing standards to ensure they remain compatible. The fillable array should ideally map 1:1 with the NetBox API Documentation. In cases where this requires special attribute management, we rely on the user knowing this ahead of time for mass assignment, and offer helpers in fluid setters to deal with these scenarios.
Currently, no validation of input should be performed. This is subject to change as we may opt to validate attributes according to NetBox API specs.
Testing
All resources should be covered by tests. Tests should extend the NetBoxTestCase class, which defines config values such as the URL to the NetBox Instance (which can easily be spun up via Docker) and a random API Key which should be created in said NetBox instance.
Versioning
This package follows Explicit Versioning.
All versions of netbox-laravel with dependencies
laravel/framework Version >=7.0
cmdrsharp/guzzle-api Version >=2.2.0.2
ext-json Version *