{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "deviceData", "definitions": { "deviceName": { "type": "string", "title": "name", "examples": [ "xr9kv-atl" ] }, "deviceDetails": { "title": "deviceDetails", "type": "object", "properties": { "name": { "type": "string", "examples": [ "xr9kv01-aws" ] }, "authgroup": { "type": "string", "examples": [ "xr9kv-aws" ] }, "ipaddress": { "type": "string", "examples": [ "10.1.6.100" ] }, "address": { "type": "string", "examples": [ "10.1.6.100" ] }, "port": { "type": "string", "examples": [ "22" ] }, "device-type": { "type": "string", "examples": [ "cli" ] }, "ostype": { "type": "string", "examples": [ "cisco-ios-xr" ] }, "ned": { "type": "string", "examples": [ "cisco-ios-xr" ] }, "admin": { "type": "boolean" }, "host": { "type": "string", "examples": [ "nso46" ] }, "actions": { "type": "array", "items": { "type": "string", "examples": [ "addDevice", "addDeviceGroup", "addDeviceToGroup", "addToAuthGroup", "applyTemplate", "applyTemplates", "applyVariableTemplate", "checkSync", "checkSyncDevices", "isAlive", "deleteDevice", "deleteDeviceGroup", "dryRunVariableTemplate", "getAuthGroups", "getConfig", "getDevice", "getDeviceGroups", "getDeviceGroupsForDevices", "getDevices", "getDevicesFiltered", "getNEDs", "getOutOfSyncConfig", "getTemplates", "liveStatus", "passThru", "pingDevice", "removeDeviceFromGroup", "restoreDevice", "runAction", "runCommand", "setConfig", "syncFrom", "syncFromDevices", "syncTo", "syncToDevices", "turnUpDevice", "verifyConfig" ] }, "uniqueItems": true }, "origins": { "type": "array", "items": { "type": "string", "examples": [ "nso46" ] } } }, "required": [ "name", "device-type", "ipaddress", "port", "ostype", "host", "actions", "origin" ] }, "deviceConfigurationFormat": { "title": "format", "type": "string", "enum": [ "native", "xml", "json" ], "examples": [ "native" ] }, "deviceConfiguration": { "title": "config", "type": "object", "properties": { "device": { "$ref": "#/definitions/deviceName", "examples": [ "ios0" ] }, "config": { "$ref": "#/definitions/deviceConfigurationString" } } }, "deviceConfigurationString": { "type": "string", "examples": [ "hostname ios0\nno service password-encryption\n..." ] }, "backupDescription": { "type": "string", "examples": [ "description of backup" ] }, "backupNotes": { "type": "string", "examples": [ "notes about backup" ] }, "backup": { "type": "object", "properties": { "id": { "$ref": "common#/definitions/mongoObjectId" }, "name": { "$ref": "#/definitions/deviceName" }, "provider": { "type": "string" }, "type": { "$ref": "#/definitions/deviceConfigurationFormat" }, "date": { "$ref": "common#/definitions/timestamp" }, "rawConfig": { "$ref": "#/definitions/deviceConfigurationString" }, "description": { "$ref": "#/definitions/backupDescription" }, "notes": { "$ref": "#/definitions/backupNotes" }, "gbac": { "type": "object", "description": "Sets of group Ids that are allowd to access this automation.", "properties": { "write": { "type": "array", "description": "Group ids that have write access to the automation document." }, "read": { "type": "array", "description": "Group ids that have read access to the automation document." } }, "required": [ "write", "read" ] } } } } }