Description
The addEIGRP operation handles configuration related to EIGRP model.
This API call is not allowed on the standby unit in an HA pair.
HTTP request
POST /api/fdm/v6/devices/default/routing/virtualrouters/{vrfId}/eigrp
Data Parameters
Parameter | Required | Type | Description | |||
---|---|---|---|---|---|---|
name | True | string | A string that represents the name of the object | |||
description | False | string | Field level constraints: length must be between 0 and 200 (inclusive). (Note: Additional constraints might exist) |
|||
processConfiguration | True | object | An object of type EIGRP process configuration that represents advanced configuration for this process. Field level constraints: cannot be null. (Note: Additional constraints might exist) |
|||
defaultRouteDistributionIn | False | object | An object of type standard access list that accepts input default routing information. Allowed types are: [StandardAccessList] |
|||
defaultRouteDistributionOut | False | object | An object of type standard access list that accepts output default routing information. Allowed types are: [StandardAccessList] |
|||
distributionList | True | [object] | An object of type EIGRP distribution list that represents the configuration of filtering incoming or outgoing routes using access control lists. Field level constraints: cannot be null. (Note: Additional constraints might exist) |
|||
routingInterfaces | False | object | An object of type EIGRP routing interfaces to suppress routing information on the listed interfaces. | |||
neighbors | True | [object] | A list of objects of type EIGRP neighbor to configure the neighbor interfaces and IPv4 address to be configured for the process. Field level constraints: cannot be null. (Note: Additional constraints might exist) |
|||
networks | True | [object] | A list of network objects that accepts IPv4 addresses to enable routing. Field level constraints: cannot be null. (Note: Additional constraints might exist) Allowed types are: [NetworkObject] |
|||
redistributeProtocols | True | [object] | A list of objects or type EIGRP redistribute protocol that represents the redistributed routes. Field level constraints: cannot be null. (Note: Additional constraints might exist) |
|||
autonomousSystemNumber | True | string | Identifier for the EIGRP Process. Field level constraints: cannot be null, must match pattern \d|[1-9]\d+, must be between 1 and 65535 (inclusive). (Note: Additional constraints might exist) |
|||
type | True | string | A UTF8 string, all letters lower-case, that represents the class-type. This corresponds to the class name. |
Path Parameters
Parameter | Required | Type | Description | |||
---|---|---|---|---|---|---|
vrfId | True | string |
Example
curl -X POST \
--header "Accept: application/json" \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"autonomousSystemNumber": "string",
"defaultRouteDistributionIn": {
"id": "string",
"name": "string",
"type": "string",
"version": "string"
},
"defaultRouteDistributionOut": {
"id": "string",
"name": "string",
"type": "string",
"version": "string"
},
"description": "string",
"distributionList": [
{
"distributeAccessList": {
"id": "string",
"name": "string",
"type": "string",
"version": "string"
},
"type": "eigrpdistributelist"
}
],
"id": "string",
"name": "string",
"neighbors": [
{
"ipAddress": "string",
"neighborInterface": {
"id": "string",
"name": "string",
"type": "string",
"version": "string"
},
"type": "eigrpneighbor"
}
],
"networks": [
{
"id": "string",
"name": "string",
"type": "string",
"version": "string"
}
],
"processConfiguration": {
"administrativeDistance": {
"external": 0,
"internal": 0,
"type": "eigrpadministrativedistance"
},
"autoSummary": true,
"logNeighborChanges": true,
"logNeighborWarningInterval": 0,
"routeMetric": {
"bandwidth": 0,
"delay": 0,
"effectiveBandwidth": 0,
"pathMTU": 0,
"reliability": 0,
"type": "eigrproutemetric"
},
"routerId": "string",
"stub": {
"type": "eigrpstuboptions"
},
"type": "eigrpprocessconfiguration"
},
"redistributeProtocols": [
{
"routeMap": {
"id": "string",
"name": "string",
"type": "string",
"version": "string"
},
"routeMetric": {
"bandwidth": 0,
"delay": 0,
"effectiveBandwidth": 0,
"pathMTU": 0,
"reliability": 0,
"type": "eigrproutemetric"
},
"type": "eigrpredistributeprotocol"
}
],
"routingInterfaces": {
"members": [],
"type": "eigrproutinginterfaces"
},
"type": "eigrp",
"version": "string"
}' \
"https://${HOST}:${PORT}/api/fdm/v6/devices/default/routing/virtualrouters/{vrfId}/eigrp"
from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClient
def get_client(host, token):
http_client = RequestsClient()
http_client.ssl_verify = False
http_client.set_api_key(
host,
"Bearer {}".format(token),
param_name="Authorization",
param_in="header"
)
return SwaggerClient.from_url(
"https://{}/apispec/ngfw.json".format(host),
http_client=http_client,
config={
"validate_responses": False,
"validate_swagger_spec": False
}
)
def add_eigrp(client, vrf_id, body):
return client.EIGRP.addEIGRP(
vrfId=vrf_id,
body=body
).response().result
if __name__ == "__main__":
host = "ftd.example.com"
token = "access_token"
client = get_client(host, token)
vrf_id = "string"
body = {'autonomousSystemNumber': 'string',
'defaultRouteDistributionIn': {'id': 'string',
'name': 'string',
'type': 'string',
'version': 'string'},
'defaultRouteDistributionOut': {'id': 'string',
'name': 'string',
'type': 'string',
'version': 'string'},
'description': 'string',
'distributionList': [{'distributeAccessList': {'id': 'string',
'name': 'string',
'type': 'string',
'version': 'string'},
'type': 'eigrpdistributelist'}],
'name': 'string',
'neighbors': [{'ipAddress': 'string',
'neighborInterface': {'id': 'string',
'name': 'string',
'type': 'string',
'version': 'string'},
'type': 'eigrpneighbor'}],
'networks': [{'id': 'string',
'name': 'string',
'type': 'string',
'version': 'string'}],
'processConfiguration': {'administrativeDistance': {'external': 0,
'internal': 0,
'type': 'eigrpadministrativedistance'},
'autoSummary': True,
'logNeighborChanges': True,
'logNeighborWarningInterval': 0,
'routeMetric': {'bandwidth': 0,
'delay': 0,
'effectiveBandwidth': 0,
'pathMTU': 0,
'reliability': 0,
'type': 'eigrproutemetric'},
'routerId': 'string',
'stub': {'type': 'eigrpstuboptions'},
'type': 'eigrpprocessconfiguration'},
'redistributeProtocols': [{'routeMap': {'id': 'string',
'name': 'string',
'type': 'string',
'version': 'string'},
'routeMetric': {'bandwidth': 0,
'delay': 0,
'effectiveBandwidth': 0,
'pathMTU': 0,
'reliability': 0,
'type': 'eigrproutemetric'},
'type': 'eigrpredistributeprotocol'}],
'routingInterfaces': {'members': [],
'type': 'eigrproutinginterfaces'},
'type': 'eigrp'}
add_eigrp(client, vrf_id, body)