From 0a424640b59e1aae71c06287ca718db97ec9e99e Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Thu, 3 Jun 2021 09:43:15 +0200 Subject: [PATCH] moved gws-direct to config --- inventory_provider/config.py | 300 ++++++++++++++---------- inventory_provider/routes/poller.py | 346 +--------------------------- test/conftest.py | 6 +- test/data/gws-direct.json | 164 +++++++++++++ 4 files changed, 350 insertions(+), 466 deletions(-) create mode 100644 test/data/gws-direct.json diff --git a/inventory_provider/config.py b/inventory_provider/config.py index 2ddd10ee..4b0a42bd 100644 --- a/inventory_provider/config.py +++ b/inventory_provider/config.py @@ -2,144 +2,202 @@ import json import jsonschema CONFIG_SCHEMA = { - "$schema": "http://json-schema.org/draft-07/schema#", + '$schema': 'http://json-schema.org/draft-07/schema#', - "definitions": { - "timeout": { - "type": "number", - "maximum": 60, # sanity - "exclusiveMinimum": 0 - }, - "database-credentials": { - "type": "object", - "properties": { - "hostname": {"type": "string"}, - "dbname": {"type": "string"}, - "username": {"type": "string"}, - "password": {"type": "string"} + 'definitions': { + 'timeout': { + 'type': 'number', + 'maximum': 60, # sanity + 'exclusiveMinimum': 0 + }, + 'database-credentials': { + 'type': 'object', + 'properties': { + 'hostname': {'type': 'string'}, + 'dbname': {'type': 'string'}, + 'username': {'type': 'string'}, + 'password': {'type': 'string'} }, - "required": ["hostname", "dbname", "username", "password"], - "additionalProperties": False - }, - "ssh-credentials": { - "type": "object", - "properties": { - "username": {"type": "string"}, - "private-key": {"type": "string"}, - "known-hosts": {"type": "string"} + 'required': ['hostname', 'dbname', 'username', 'password'], + 'additionalProperties': False + }, + 'ssh-credentials': { + 'type': 'object', + 'properties': { + 'username': {'type': 'string'}, + 'private-key': {'type': 'string'}, + 'known-hosts': {'type': 'string'} }, - "required": ["private-key", "known-hosts"], - "additionalProperties": False - }, - "ims": { - "type": "object", - "properties": { - "api": {"type": "string"}, - "username": {"type": "string"}, - "password": {"type": "string"} + 'required': ['private-key', 'known-hosts'], + 'additionalProperties': False + }, + 'ims': { + 'type': 'object', + 'properties': { + 'api': {'type': 'string'}, + 'username': {'type': 'string'}, + 'password': {'type': 'string'} }, - "required": ["api", "username", "password"], - "additionalProperties": False - }, - "otrs-export": { - "type": "object", - "properties": { - "username": {"type": "string"}, - "private-key": {"type": "string"}, - "known-hosts": {"type": "string"}, - "destination": {"type": "string"} + 'required': ['api', 'username', 'password'], + 'additionalProperties': False + }, + 'otrs-export': { + 'type': 'object', + 'properties': { + 'username': {'type': 'string'}, + 'private-key': {'type': 'string'}, + 'known-hosts': {'type': 'string'}, + 'destination': {'type': 'string'} }, - "required": [ - "username", - "private-key", - "known-hosts", - "destination" + 'required': [ + 'username', + 'private-key', + 'known-hosts', + 'destination' ], - "additionalProperties": False - }, - "redis-credentials": { - "type": "object", - "properties": { - "hostname": {"type": "string"}, - "port": {"type": "integer"}, - "celery-db-index": {"type": "integer"}, - "socket_timeout": {"$ref": "#/definitions/timeout"} + 'additionalProperties': False + }, + 'redis-credentials': { + 'type': 'object', + 'properties': { + 'hostname': {'type': 'string'}, + 'port': {'type': 'integer'}, + 'celery-db-index': {'type': 'integer'}, + 'socket_timeout': {'$ref': '#/definitions/timeout'} }, - "required": ["hostname", "port"], - "additionalProperties": False - }, - "redis-sentinel-config": { - "type": "object", - "properties": { - "hostname": {"type": "string"}, - "port": {"type": "integer"}, - "celery-db-index": {"type": "integer"}, - "name": {"type": "string"}, - "redis_socket_timeout": {"$ref": "#/definitions/timeout"}, - "sentinel_socket_timeout": {"$ref": "#/definitions/timeout"} + 'required': ['hostname', 'port'], + 'additionalProperties': False + }, + 'redis-sentinel-config': { + 'type': 'object', + 'properties': { + 'hostname': {'type': 'string'}, + 'port': {'type': 'integer'}, + 'celery-db-index': {'type': 'integer'}, + 'name': {'type': 'string'}, + 'redis_socket_timeout': {'$ref': '#/definitions/timeout'}, + 'sentinel_socket_timeout': {'$ref': '#/definitions/timeout'} }, - "required": ["hostname", "port", "name"], - "additionalProperties": False - }, - "interface-address": { - "type": "object", - "properties": { - "address": {"type": "string"}, - "network": {"type": "string"}, - "interface": {"type": "string"}, - "router": {"type": "string"} + 'required': ['hostname', 'port', 'name'], + 'additionalProperties': False + }, + 'interface-address': { + 'type': 'object', + 'properties': { + 'address': {'type': 'string'}, + 'network': {'type': 'string'}, + 'interface': {'type': 'string'}, + 'router': {'type': 'string'} }, - "required": ["address", "network", "interface", "router"], - "additionalProperties": False - } + 'required': ['address', 'network', 'interface', 'router'], + 'additionalProperties': False + }, + 'gws-direct-snmp-counter': { + 'type': 'object', + 'properties': { + 'hostname': {'type': 'string'}, + 'community': {'type': 'string'}, + 'oid': { + 'type': 'string', + 'pattern': r'^(\d+\.)*\d+$' + } + }, + 'required': ['hostname', 'community', 'oid'], + 'additionalProperties': False + }, + 'gws-direct-snmp-counter-list': { + 'type': 'array', + 'items': {'$ref': '#/definitions/gws-direct-snmp-counter'}, + 'minItems': 1 + }, + 'gws-direct-counters': { + 'type': 'object', + 'properties': { + 'traffic_in': { + '$ref': '#/definitions/gws-direct-snmp-counter-list'}, + 'traffic_out': { + '$ref': '#/definitions/gws-direct-snmp-counter-list'}, + 'discards_in': { + '$ref': '#/definitions/gws-direct-snmp-counter-list'}, + 'discards_out': { + '$ref': '#/definitions/gws-direct-snmp-counter-list'}, + 'errors_in': { + '$ref': '#/definitions/gws-direct-snmp-counter-list'}, + 'errors_out': { + '$ref': '#/definitions/gws-direct-snmp-counter-list'} + }, + 'required': ['traffic_in', 'traffic_out'], + 'additionalProperties': False + }, + 'gws-direct-nren-isp-counters': { + 'type': 'object', + 'properties': { + 'nren': {'type': 'string'}, + 'isp': { + 'type': 'string', + 'enum': ['Cogent', 'Telia', 'Century Link'] + }, + 'counters': {'$ref': '#/definitions/gws-direct-counters'}, + }, + 'required': ['nren', 'isp', 'counters'], + 'additionalProperties': False + }, + 'gws-direct': { + 'type': 'array', + 'items': {'$ref': '#/definitions/gws-direct-nren-isp-counters'} + }, }, - "type": "object", - "properties": { - "ops-db": {"$ref": "#/definitions/database-credentials"}, - "ssh": {"$ref": "#/definitions/ssh-credentials"}, - "redis": {"$ref": "#/definitions/redis-credentials"}, - "sentinel": {"$ref": "#/definitions/redis-sentinel-config"}, - "ims": {"$ref": "#/definitions/ims"}, - "otrs-export": {"$ref": "#/definitions/otrs-export"}, - "redis-databases": { - "type": "array", - "minItems": 1, - "items": {"type": "integer"} - }, - "managed-routers": {"type": "string"}, - "lab-routers": { - "type": "array", - "items": {"type": "string"} - }, - "unmanaged-interfaces": { - "type": "array", - "items": {"$ref": "#/definitions/interface-address"} - } + 'type': 'object', + 'properties': { + 'ops-db': {'$ref': '#/definitions/database-credentials'}, + 'ssh': {'$ref': '#/definitions/ssh-credentials'}, + 'redis': {'$ref': '#/definitions/redis-credentials'}, + 'sentinel': {'$ref': '#/definitions/redis-sentinel-config'}, + 'ims': {'$ref': '#/definitions/ims'}, + 'otrs-export': {'$ref': '#/definitions/otrs-export'}, + 'redis-databases': { + 'type': 'array', + 'minItems': 1, + 'items': {'type': 'integer'} + }, + 'managed-routers': {'type': 'string'}, + 'lab-routers': { + 'type': 'array', + 'items': {'type': 'string'} + }, + 'unmanaged-interfaces': { + 'type': 'array', + 'items': {'$ref': '#/definitions/interface-address'} + }, + 'gws-direct': {'$ref': '#/definitions/gws-direct'} + }, - "oneOf": [ + 'oneOf': [ { - "required": [ - "ops-db", - "ssh", - "redis", - "redis-databases", - "otrs-export", - "ims", - "managed-routers"] + 'required': [ + 'ops-db', + 'ssh', + 'redis', + 'redis-databases', + 'otrs-export', + 'ims', + 'managed-routers', + 'gws-direct'] }, { - "required": [ - "ops-db", - "ssh", - "sentinel", - "redis-databases", - "otrs-export", - "ims", - "managed-routers"] + 'required': [ + 'ops-db', + 'ssh', + 'sentinel', + 'redis-databases', + 'otrs-export', + 'ims', + 'managed-routers', + 'gws-direct'] } ], - "additionalProperties": False + 'additionalProperties': False } diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py index 97c4fb3b..8aacdf41 100644 --- a/inventory_provider/routes/poller.py +++ b/inventory_provider/routes/poller.py @@ -626,349 +626,7 @@ def gws_direct(): This method returns essentially hard-coded data, based on the information in POL1-422. - TODO: this hard-coded data should be in the config file - :return: """ - data = [ - { - "nren": "ARNES", - "isp": "Cogent", - "counters": { - "discards_in": [ - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.2.2.1.13.533" - } - ], - "discards_out": [ - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.2.2.1.19.533" - } - ], - "errors_in": [ - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.2.2.1.14.533" - } - ], - "errors_out": [ - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.2.2.1.20.533" - } - ], - "traffic_in": [ - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.6.531" - }, - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.6.525" - }, - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.6.553" - }, - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.6.563" - } - ], - "traffic_out": [ - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.10.531" - }, - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.10.525" - }, - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.10.553" - }, - { - "hostname": "88.200.0.63", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.10.563" - } - ] - } - }, - { - "nren": "ARNES", - "isp": "Telia", - "counters": { - "traffic_in": [ - { - "hostname": "62.40.124.6", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.6.611" - }, - { - "hostname": "62.40.124.6", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.6.589" - } - ], - "traffic_out": [ - { - "hostname": "62.40.124.6", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.10.611" - }, - { - "hostname": "62.40.124.6", - "community": "gn2nocT3st", - "oid": "1.3.6.1.2.1.31.1.1.1.10.589" - } - ] - } - }, - { - "nren": "CARNET", - "isp": "Cogent", - "counters": { - "traffic_in": [ - { - "hostname": "62.40.124.10", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.35" - } - ], - "traffic_out": [ - { - "hostname": "62.40.124.10", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.35" - } - ] - } - }, - { - "nren": "CARNET", - "isp": "Telia", - "counters": { - "traffic_in": [ - { - "hostname": "62.40.125.150", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.48" - } - ], - "traffic_out": [ - { - "hostname": "62.40.125.150", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.48" - } - ] - } - }, - { - "nren": "KIFU", - "isp": "Cogent", - "counters": { - "traffic_in": [ - { - "hostname": "195.111.97.108", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.155" - } - ], - "traffic_out": [ - { - "hostname": "195.111.97.108", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.155" - } - ] - } - }, - { - "nren": "KIFU", - "isp": "Telia", - "counters": { - "traffic_in": [ - { - "hostname": "195.111.97.108", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.148" - } - ], - "traffic_out": [ - { - "hostname": "195.111.97.108", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.148" - } - ] - } - }, - { - "nren": "RedIRIS", - "isp": "Telia", - "counters": { - "traffic_in": [ - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.1487" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.1488" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.1489" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.760" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.796" - } - ], - "traffic_out": [ - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.1487" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.1488" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.1489" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.760" - }, - { - "hostname": "130.206.206.250", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.796" - } - ] - } - }, - { - "nren": "RoEduNet", - "isp": "Cogent", - "counters": { - "traffic_in": [ - { - "hostname": "149.6.50.10", - "community": "dante", - "oid": "1.3.6.1.2.1.31.1.1.1.6.531" - } - ], - "traffic_out": [ - { - "hostname": "149.6.50.10", - "community": "dante", - "oid": "1.3.6.1.2.1.31.1.1.1.10.531" - } - ] - } - }, - { - "nren": "RoEduNet", - "isp": "Century Link", - "counters": { - "traffic_in": [ - { - "hostname": "212.162.45.194", - "community": "dante", - "oid": "1.3.6.1.2.1.31.1.1.1.6.9" - } - ], - "traffic_out": [ - { - "hostname": "212.162.45.194", - "community": "dante", - "oid": "1.3.6.1.2.1.31.1.1.1.10.9" - } - ] - } - }, - { - "nren": "EENet", - "isp": "Telia", - "counters": { - "traffic_in": [ - { - "hostname": "193.40.133.2", - "community": "geant-mon-telia", - "oid": "1.3.6.1.2.1.31.1.1.1.6.263" - } - ], - "traffic_out": [ - { - "hostname": "193.40.133.2", - "community": "geant-mon-telia", - "oid": "1.3.6.1.2.1.31.1.1.1.10.263" - } - ] - } - }, - { - "nren": "PSNC", - "isp": "Century Link", - "counters": { - "traffic_in": [ - { - "hostname": "212.191.126.6", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.675" - }, - { - "hostname": "212.191.126.7", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.6.677" - } - ], - "traffic_out": [ - { - "hostname": "212.191.126.6", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.675" - }, - { - "hostname": "212.191.126.7", - "community": "atlas1453", - "oid": "1.3.6.1.2.1.31.1.1.1.10.677" - } - ] - } - } - ] - - return jsonify(data) + config_params = current_app.config['INVENTORY_PROVIDER_CONFIG'] + return jsonify(config_params['gws-direct']) diff --git a/test/conftest.py b/test/conftest.py index 7a30988b..d6066602 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -67,9 +67,13 @@ def data_config_filename(): "interface": "ZZZ/9/a/x:0.123", "router": "another.bogus.host.name" } - ] + ], + 'gws-direct': {} } + with open(os.path.join(TEST_DATA_DIRNAME, 'gws-direct.json')) as gws: + config['gws-direct'] = json.loads(gws.read()) + f.write(json.dumps(config).encode('utf-8')) f.flush() yield f.name diff --git a/test/data/gws-direct.json b/test/data/gws-direct.json new file mode 100644 index 00000000..87d4449b --- /dev/null +++ b/test/data/gws-direct.json @@ -0,0 +1,164 @@ +[ + { + "nren": "ARNES", + "isp": "Cogent", + "counters": { + "discards_in": [ + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.2.2.1.13.533"} + ], + "discards_out": [ + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.2.2.1.19.533"} + ], + "errors_in": [ + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.2.2.1.14.533"} + ], + "errors_out": [ + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.2.2.1.20.533"} + ], + "traffic_in": [ + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.6.531"}, + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.6.525"}, + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.6.553"}, + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.6.563"} + ], + "traffic_out": [ + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.10.531"}, + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.10.525"}, + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.10.553"}, + {"hostname": "88.200.0.63", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.10.563"} + ] + } + }, + { + "nren": "ARNES", + "isp": "Telia", + "counters": { + "traffic_in": [ + {"hostname": "62.40.124.6", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.6.611"}, + {"hostname": "62.40.124.6", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.6.589"} + ], + "traffic_out": [ + {"hostname": "62.40.124.6", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.10.611"}, + {"hostname": "62.40.124.6", "community": "gn2nocT3st", "oid": "1.3.6.1.2.1.31.1.1.1.10.589"} + ] + } + }, + { + "nren": "CARNET", + "isp": "Cogent", + "counters": { + "traffic_in": [ + {"hostname": "62.40.124.10", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.35"} + ], + "traffic_out": [ + {"hostname": "62.40.124.10", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.35"} + ] + } + }, + { + "nren": "CARNET", + "isp": "Telia", + "counters": { + "traffic_in": [ + {"hostname": "62.40.125.150", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.48"} + ], + "traffic_out": [ + {"hostname": "62.40.125.150", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.48"} + ] + } + }, + { + "nren": "KIFU", + "isp": "Cogent", + "counters": { + "traffic_in": [ + {"hostname": "195.111.97.108", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.155"} + ], + "traffic_out": [ + {"hostname": "195.111.97.108", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.155"} + ] + } + }, + { + "nren": "KIFU", + "isp": "Telia", + "counters": { + "traffic_in": [ + {"hostname": "195.111.97.108", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.148"} + ], + "traffic_out": [ + {"hostname": "195.111.97.108", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.148"} + ] + } + }, + { + "nren": "RedIRIS", + "isp": "Telia", + "counters": { + "traffic_in": [ + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.1487"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.1488"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.1489"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.760"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.796"} + ], + "traffic_out": [ + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.1487"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.1488"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.1489"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.760"}, + {"hostname": "130.206.206.250", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.796"} + ] + } + }, + { + "nren": "RoEduNet", + "isp": "Cogent", + "counters": { + "traffic_in": [ + {"hostname": "149.6.50.10", "community": "dante", "oid": "1.3.6.1.2.1.31.1.1.1.6.531"} + ], + "traffic_out": [ + {"hostname": "149.6.50.10", "community": "dante", "oid": "1.3.6.1.2.1.31.1.1.1.10.531"} + ] + } + }, + { + "nren": "RoEduNet", + "isp": "Century Link", + "counters": { + "traffic_in": [ + {"hostname": "212.162.45.194", "community": "dante", "oid": "1.3.6.1.2.1.31.1.1.1.6.9"} + ], + "traffic_out": [ + {"hostname": "212.162.45.194", "community": "dante", "oid": "1.3.6.1.2.1.31.1.1.1.10.9"} + ] + } + }, + { + "nren": "EENet", + "isp": "Telia", + "counters": { + "traffic_in": [ + {"hostname": "193.40.133.2", "community": "geant-mon-telia", "oid": "1.3.6.1.2.1.31.1.1.1.6.263"} + ], + "traffic_out": [ + {"hostname": "193.40.133.2", "community": "geant-mon-telia", "oid": "1.3.6.1.2.1.31.1.1.1.10.263"} + ] + } + }, + { + "nren": "PSNC", + "isp": "Century Link", + "counters": { + "traffic_in": [ + {"hostname": "212.191.126.6", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.675"}, + {"hostname": "212.191.126.7", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.6.677"} + ], + "traffic_out": [ + {"hostname": "212.191.126.6", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.675"}, + {"hostname": "212.191.126.7", "community": "atlas1453", "oid": "1.3.6.1.2.1.31.1.1.1.10.677"} + ] + } + } +] \ No newline at end of file -- GitLab