mirror of
				https://github.com/netbox-community/netbox.git
				synced 2024-05-10 07:54:54 +00:00 
			
		
		
		
	Added NAPALM documentation
This commit is contained in:
		
							
								
								
									
										65
									
								
								docs/additional-features/napalm.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								docs/additional-features/napalm.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
# NAPALM
 | 
			
		||||
 | 
			
		||||
NetBox supports integration with the [NAPALM automation](https://napalm-automation.net/) library. NAPALM allows NetBox to fetch live data from devices and return it to a requester via its REST API.
 | 
			
		||||
 | 
			
		||||
!!! info
 | 
			
		||||
    To enable the integration, the NAPALM library must be installed. See [installation steps](../../installation/2-netbox/#napalm-automation-optional) for more information.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
GET /api/dcim/devices/1/napalm/?method=get_environment
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "get_environment": {
 | 
			
		||||
        ...
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Authentication
 | 
			
		||||
 | 
			
		||||
By default, the [`NAPALM_USERNAME`](../../configuration/optional-settings/#napalm_username) and [`NAPALM_PASSWORD`](../../configuration/optional-settings/#napalm_password) are used for NAPALM authentication. They can be overridden for an individual API call through the `NAPALM-Username` and `NAPALM-Password` headers.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ curl "http://localhost/api/dcim/devices/1/napalm/?method=get_environment" \
 | 
			
		||||
-H "Authorization: Token f4b378553dacfcfd44c5a0b9ae49b57e29c552b5" \
 | 
			
		||||
-H "Content-Type: application/json" \
 | 
			
		||||
-H "Accept: application/json; indent=4" \
 | 
			
		||||
-H "NAPALM-Username: foo" \
 | 
			
		||||
-H "NAPALM-Password: bar"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Method Support
 | 
			
		||||
 | 
			
		||||
The list of supported NAPALM methods depends on the [NAPALM driver](https://napalm.readthedocs.io/en/latest/support/index.html#general-support-matrix) configured for the platform of a device. NetBox only supports [get](https://napalm.readthedocs.io/en/latest/support/index.html#getters-support-matrix) methods.
 | 
			
		||||
 | 
			
		||||
## Multiple Methods
 | 
			
		||||
 | 
			
		||||
More than one method in an API call can be invoked by adding multiple `method` parameters. For example:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
GET /api/dcim/devices/1/napalm/?method=get_ntp_servers&method=get_ntp_peers
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "get_ntp_servers": {
 | 
			
		||||
        ...
 | 
			
		||||
    },
 | 
			
		||||
    "get_ntp_peers": {
 | 
			
		||||
        ...
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Optional Arguments
 | 
			
		||||
 | 
			
		||||
The behavior of NAPALM drivers can be adjusted according to the [optional arguments](https://napalm.readthedocs.io/en/latest/support/index.html#optional-arguments). NetBox exposes those arguments using headers prefixed with `NAPALM-`.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
For instance, the SSH port is changed to 2222 in this API call:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ curl "http://localhost/api/dcim/devices/1/napalm/?method=get_environment" \
 | 
			
		||||
-H "Authorization: Token f4b378553dacfcfd44c5a0b9ae49b57e29c552b5" \
 | 
			
		||||
-H "Content-Type: application/json" \
 | 
			
		||||
-H "Accept: application/json; indent=4" \
 | 
			
		||||
-H "NAPALM-port: 2222"
 | 
			
		||||
```
 | 
			
		||||
@@ -35,6 +35,7 @@ pages:
 | 
			
		||||
        - Custom Scripts: 'additional-features/custom-scripts.md'
 | 
			
		||||
        - Export Templates: 'additional-features/export-templates.md'
 | 
			
		||||
        - Graphs: 'additional-features/graphs.md'
 | 
			
		||||
        - NAPALM: 'additional-features/napalm.md'
 | 
			
		||||
        - Prometheus Metrics: 'additional-features/prometheus-metrics.md'
 | 
			
		||||
        - Reports: 'additional-features/reports.md'
 | 
			
		||||
        - Tags: 'additional-features/tags.md'
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user