Skip to content
Snippets Groups Projects
Commit 271aab54 authored by Erik Reid's avatar Erik Reid
Browse files

updated /poller/interfaces schema

parent 5a842a26
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,27 @@ ...@@ -4,6 +4,27 @@
* [Configuration](#configuration) * [Configuration](#configuration)
* [Running this module](#running-this-module) * [Running this module](#running-this-module)
* [Protocol Specification](#protocol-specification) * [Protocol Specification](#protocol-specification)
* [/data/version](#dataversion)
* [/data/routers](#datarouters)
* [/data/interfaces](#datainterfaces)
* [/data/pop](#datapop)
* [/jobs/update](#jobsupdate)
* [/jobs/log](#jobslog)
* [/jobs/reload-router-config](#jobsreload-router-config)
* [/jobs/check-task-status](#jobscheck-task-status)
* [/classifier/juniper-link-info](#classifierjuniper-link-info)
* [/classifier/peer-info](#classifierpeer-info)
* [/classifier/infinera-lambda-info](#classifierinfinera-lambda-info)
* [/classifier/coriant-info](#classifiercoriant-info)
* [/poller/interfaces](#pollerinterfaces)
* [/lg/routers](#lgrouters)
* [/msr/access-services](#msraccess-services)
* [/testing/flushdb](#testingflushdb)
* [/testing/infinera-dna-addresses](#testinginfinera-dna-addresses)
* [/testing/coriant-tnms-addresses](#testingcoriant-tnms-addresses)
* [/testing/juniper-server-addresses](#testingjuniper-server-addresses)
* [/data/snmp](#datasnmp)
* [/data/bgp](#databgp)
* [Backend (Redis) Storage Schema](#backend-redis-storage-schema) * [Backend (Redis) Storage Schema](#backend-redis-storage-schema)
...@@ -191,7 +212,9 @@ The following resources can be requested from the webservice. ...@@ -191,7 +212,9 @@ The following resources can be requested from the webservice.
Any non-empty responses are JSON formatted messages. Any non-empty responses are JSON formatted messages.
* /data/version #### /data/version
* /data/version
The response will be an object The response will be an object
containing the module and protocol versions of the containing the module and protocol versions of the
...@@ -216,7 +239,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -216,7 +239,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /data/routers #### /data/routers
* /data/routers
The response will be a list of router hostnames The response will be a list of router hostnames
for which information is available and will be for which information is available and will be
...@@ -230,7 +255,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -230,7 +255,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /data/interfaces/*`hostname`* #### /data/interfaces
* /data/interfaces</*`hostname`*>
The response will be a list of information about The response will be a list of information about
the interfaces present on the requested host the interfaces present on the requested host
...@@ -261,7 +288,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -261,7 +288,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /data/pop/*`name`* #### /data/pop
* /data/pop/*`name`*
Returns location information for the equipment identified Returns location information for the equipment identified
by `name`. by `name`.
...@@ -316,7 +345,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -316,7 +345,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /jobs/update #### /jobs/update
* /jobs/update
This resource updates the inventory network data for juniper devices. This resource updates the inventory network data for juniper devices.
The function completes asynchronously and a list of outstanding The function completes asynchronously and a list of outstanding
...@@ -332,7 +363,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -332,7 +363,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /jobs/log #### /jobs/log
* /jobs/log
This resource returns the state of the previous (or current) This resource returns the state of the previous (or current)
tasks associated with a call to `/jobs/update`. The response tasks associated with a call to `/jobs/update`. The response
...@@ -353,7 +386,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -353,7 +386,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /jobs/reload-router-config/*`equipment-name`* #### /jobs/reload-router-config
* /jobs/reload-router-config/*`equipment-name`*
This resource updates the inventory network data for This resource updates the inventory network data for
the identified juniper device. This function completes the identified juniper device. This function completes
...@@ -361,7 +396,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -361,7 +396,9 @@ Any non-empty responses are JSON formatted messages.
`/jobs/update`, except the return contains exactly `/jobs/update`, except the return contains exactly
one task id. one task id.
* /jobs/check-task-status/*`task-id`* #### /jobs/check-task-status
* /jobs/check-task-status/*`task-id`*
This resource returns the current status of This resource returns the current status of
an asynchronous task started by `/jobs/update` an asynchronous task started by `/jobs/update`
...@@ -385,7 +422,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -385,7 +422,9 @@ Any non-empty responses are JSON formatted messages.
} }
``` ```
* /classifier/juniper-link-info/*`source-equipment`*/*`source-interface`* #### /classifier/juniper-link-info
* /classifier/juniper-link-info/*`source-equipment`*/*`source-interface`*
The source-equipment is the equipment that causes the trap, not the NMS that The source-equipment is the equipment that causes the trap, not the NMS that
sends it. sends it.
...@@ -550,7 +589,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -550,7 +589,9 @@ Any non-empty responses are JSON formatted messages.
- `related-services`: all top-level services depending on this interface - `related-services`: all top-level services depending on this interface
* /classifier/peer-info/*`address`* #### /classifier/peer-info
* /classifier/peer-info/*`address`*
The `address` parameter should be the ip address of The `address` parameter should be the ip address of
a remote peer. If this address is found in the system a remote peer. If this address is found in the system
...@@ -697,7 +738,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -697,7 +738,9 @@ Any non-empty responses are JSON formatted messages.
- `ix-public-peer-info`: peering info - `ix-public-peer-info`: peering info
* /classifier/infinera-lambda-info/*`source-equipment`*/*`source-interface`* #### /classifier/infinera-lambda-info
* /classifier/infinera-lambda-info/*`source-equipment`*/*`source-interface`*
The source-equipment is the equipment that causes the trap, not the NMS that The source-equipment is the equipment that causes the trap, not the NMS that
sends it. sends it.
...@@ -841,7 +884,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -841,7 +884,9 @@ Any non-empty responses are JSON formatted messages.
- `geant-lambda`: info about the lambda service using this port - `geant-lambda`: info about the lambda service using this port
* /classifier/coriant-info/*`equipment name`*/*`entity name`* #### /classifier/coriant-info
* /classifier/coriant-info/*`equipment name`*/*`entity name`*
Returns information about the effective path Returns information about the effective path
of a coriant card/port combination. of a coriant card/port combination.
...@@ -969,7 +1014,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -969,7 +1014,9 @@ Any non-empty responses are JSON formatted messages.
- `related-services`: any top-level services depending on this circuit - `related-services`: any top-level services depending on this circuit
* /poller/interfaces/*`hostname`* #### /poller/interfaces
* /poller/interfaces</*`hostname`*>
The response will be the list of active interfaces on the The response will be the list of active interfaces on the
router `hostname`. router `hostname`.
...@@ -983,52 +1030,56 @@ Any non-empty responses are JSON formatted messages. ...@@ -983,52 +1030,56 @@ Any non-empty responses are JSON formatted messages.
"$schema": "http://json-schema.org/draft-07/schema#", "$schema": "http://json-schema.org/draft-07/schema#",
"definitions": { "definitions": {
"circuit": { "service": {
"type": "object", "type": "object",
"properties": { "properties": {
"id": {"type": "integer"},
"name": {"type": "string"}, "name": {"type": "string"},
"status": {"type": "string"},
"type": {"type": "string"}, "type": {"type": "string"},
"id": {"type": "integer"} "status": {"type": "string"},
}, },
"required": ["name", "status", "type", "id"], "required": ["id", "name", "type", "status"],
"additionalProperties": False "additionalProperties": False
} },
"interface": {
"type": "object",
"properties": {
"router": {"type": "string"},
"name": {"type": "string"},
"description": {"type": "string"},
"snmp-index": {
"type": "integer",
"minimum": 1
},
"bundle": {
"type": "array",
"items": {"type": "string"}
},
"bundle-parents": {
"type": "array",
"items": {"type": "string"}
},
"circuits": {
"type": "array",
"items": {"$ref": "#/definitions/service"}
}
},
"required": [
"router", "name", "description",
"snmp-index", "bundle", "bundle-parents",
"circuits"],
"additionalProperties": False
},
}, },
"type": "array", "type": "array",
"items": { "items": {"$ref": "#/definitions/interface"}
"type": "object",
"properties": {
"circuits": {
"type": "array",
"items": {"$ref": "#/definitions/circuit"}
},
"bundle": {
"type": "array",
"items": {"type": "string"}
},
"bundle-parents": {
"type": "array",
"items": {"type": "string"}
},
"description": {"type": "string"},
"name": {"type": "string"},
"snmp-index": {"type": "integer"}
},
"required": [
"circuits",
"bundle",
"bundle-parents",
"description",
"name",
"snmp-index"],
"additionalProperties": False
}
} }
``` ```
* /lg/routers/*`access`* #### /lg/routers
* /lg/routers/*`access`*
The response will be the list of routers with pop location information. The response will be the list of routers with pop location information.
The list will be filtered according to the value of the `access` parameter. The list will be filtered according to the value of the `access` parameter.
...@@ -1085,7 +1136,9 @@ Any non-empty responses are JSON formatted messages. ...@@ -1085,7 +1136,9 @@ Any non-empty responses are JSON formatted messages.
``` ```
* /msr/access-services #### /msr/access-services
* /msr/access-services
The response will be the list of services that The response will be the list of services that
are of type 'IP Acccess', and will formatted are of type 'IP Acccess', and will formatted
...@@ -1131,12 +1184,20 @@ are present only for testing, or for deprectated routes that ...@@ -1131,12 +1184,20 @@ are present only for testing, or for deprectated routes that
are intended to be deleted. are intended to be deleted.
* `/testing/flushdb` #### /testing/flushdb
* /testing/flushdb
This method erases all data in the backend redis This method erases all data in the backend redis
database. database.
* /testing/infinera-dna-addresses, /testing/coriant-tnmp-addresses, /testing/juniper-server-addresses` #### /testing/infinera-dna-addresses
#### /testing/coriant-tnms-addresses
#### /testing/juniper-server-addresses
* /testing/infinera-dna-addresses
* /testing/coriant-tnms-addresses
* /testing/juniper-server-addresses
All of these resources return lists of source addresses All of these resources return lists of source addresses
of known senders of snmp traps. Responses will be of known senders of snmp traps. Responses will be
...@@ -1151,7 +1212,9 @@ are intended to be deleted. ...@@ -1151,7 +1212,9 @@ are intended to be deleted.
``` ```
* /data/snmp/*`hostname`* #### /data/snmp
* /data/snmp/*`hostname`*
The response will be a list of information about The response will be a list of information about
the interfaces discovered through snmp the interfaces discovered through snmp
...@@ -1174,7 +1237,9 @@ are intended to be deleted. ...@@ -1174,7 +1237,9 @@ are intended to be deleted.
} }
``` ```
* /data/bgp/*`hostname`* #### /data/bgp
* /data/bgp/*`hostname`*
The response will be a list of information about The response will be a list of information about
the bgp peerings configured for the requested host the bgp peerings configured for the requested host
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment