UNPKG

@itentialopensource/adapter-nokia_nsp_device_configurator

Version:

This adapter integrates with system described as: 22.11Modeled-deviceConfiguratorRestconfApis.

1,326 lines (1,325 loc) 341 kB
{ "openapi": "3.0.0", "info": { "title": "22.11 Modeled-Device Configurator RestCONF APIs", "contact": {}, "version": "1.0" }, "servers": [ { "url": "http://example.com", "variables": {} } ], "paths": { "/rest-gateway/rest/api/v1/auth/token": { "post": { "tags": [ "Get Bearer Token" ], "summary": "Get Auth Bearer Token", "description": "Get a token from NSP server for the provided user", "operationId": "GetAuthBearerToken", "parameters": [], "requestBody": { "description": "", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GetAuthBearerTokenRequest" }, { "example": { "grant_type": "client_credentials" } } ] }, "example": { "grant_type": "client_credentials" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "Content-Length": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "202" } } }, "Date": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Tue, 09 Jul 2019 18:52:26 GMT" } } } }, "content": { "application/json;charset=ISO-8859-1": { "schema": { "allOf": [ { "$ref": "#/components/schemas/GetAuthBearerToken" }, { "example": { "access_token": "VEtOLWFkbWluYjcxY2RiMzMtYWZkMS00ZGY2LWFlMDktMDBiNmQ5OTYwNGQ5", "refresh_token": "UkVUS04tYWRtaW41M2I3YWUwOS1iYzRlLTQ2N2UtOWEwYy0wMDljOTc0YjQ2YWY=", "token_type": "Bearer", "expires_in": 3600 } } ] }, "example": { "access_token": "VEtOLWFkbWluYjcxY2RiMzMtYWZkMS00ZGY2LWFlMDktMDBiNmQ5OTYwNGQ5", "refresh_token": "UkVUS04tYWRtaW41M2I3YWUwOS1iYzRlLTQ2N2UtOWEwYy0wMDljOTc0YjQ2YWY=", "token_type": "Bearer", "expires_in": 3600 } } } } }, "deprecated": false, "security": [ { "basic": [] } ] } }, "/.well-known/host-meta": { "get": { "tags": [ "Basic RESTCONF Flow" ], "summary": "1. Get the RESTCONF Root", "description": "In this step discovering the RESTCONF API root is done.", "operationId": "1.GettheRESTCONFRoot", "parameters": [ { "name": "Accept", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/json" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "private" } } }, "Expires": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Thu, 01 Jan 1970 00:00:00 GMT" } } }, "Transfer-Encoding": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "chunked" } } }, "Content-Encoding": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "gzip" } } }, "Vary": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Accept-Encoding" } } }, "Date": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Tue, 29 Sep 2020 13:42:48 GMT" } } } }, "content": { "application/json;charset=UTF-8": { "schema": { "allOf": [ { "$ref": "#/components/schemas/1.GettheRESTCONFRoot" }, { "example": { "links": [ { "rel": "restconf", "href": "/restconf" } ] } } ] }, "example": { "links": [ { "rel": "restconf", "href": "/restconf" } ] } } } } }, "deprecated": false, "security": [] } }, "/restconf": { "get": { "tags": [ "Basic RESTCONF Flow" ], "summary": "2. Get the data store", "description": "Request to GET the root resource \"/restconf\"", "operationId": "2.Getthedatastore", "parameters": [ { "name": "Accept", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/yang-data+json" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "no-store, no-cache, max-age=0, must-revalidate" } } }, "Expires": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Thu, 01 Jan 1970 00:00:00 GMT" } } }, "Pragma": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "no-cache" } } }, "Strict-Transport-Security": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "max-age=0" } } }, "X-Frame-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "SAMEORIGIN" } } }, "X-Content-Type-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "nosniff" } } }, "X-XSS-Protection": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "1; mode=block" } } }, "Content-Security-Policy": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "frame-ancestors 'self' https://135.121.156.102:* https://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.155.54:*; connect-src 'self' wss://135.121.156.102:* wss://135.121.155.54:* wss://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.156.102:* https://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.155.54:*; default-src 'self' data: https://135.121.156.102:* https://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.155.54:* 'unsafe-inline'" } } }, "Transfer-Encoding": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "chunked" } } }, "Date": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Tue, 29 Sep 2020 13:43:01 GMT" } } } }, "content": { "application/yang-data+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/2.Getthedatastore" }, { "example": { "ietf-restconf:restconf": { "data": {}, "yang-library-version": "2019-01-04" } } } ] }, "example": { "ietf-restconf:restconf": { "data": {}, "yang-library-version": "2019-01-04" } } } } } }, "deprecated": false } }, "/restconf/data/ietf-yang-library:yang-library": { "get": { "tags": [ "Basic RESTCONF Flow" ], "summary": "3. Get the yang-library", "description": "Lists the yang modules comprising the data model", "operationId": "3.Gettheyang-library", "parameters": [ { "name": "Accept", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/yang-data+json" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "private" } } }, "Expires": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Thu, 01 Jan 1970 00:00:00 GMT" } } }, "Strict-Transport-Security": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "max-age=0" } } }, "X-Frame-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "SAMEORIGIN" } } }, "X-Content-Type-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "nosniff" } } }, "X-XSS-Protection": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "1; mode=block" } } }, "Content-Security-Policy": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "frame-ancestors 'self' https://135.121.156.102:* https://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.155.54:*; connect-src 'self' wss://135.121.156.102:* wss://135.121.155.54:* wss://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.156.102:* https://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.155.54:*; default-src 'self' data: https://135.121.156.102:* https://vSAM156-102.labs.ca.alcatel-lucent.com:* https://135.121.155.54:* 'unsafe-inline'" } } }, "Transfer-Encoding": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "chunked" } } }, "Date": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Tue, 29 Sep 2020 13:43:23 GMT" } } } }, "content": { "application/yang-data+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/3.Gettheyang-library" }, { "example": { "ietf-yang-library:yang-library": { "content-id": "NSP-2019-05-20", "module-set": [ { "name": "NSP-MDC-2019-05-20", "module": [ { "name": "network-device-mgr", "revision": "2018-06-06", "namespace": "urn:nokia:nsp:mdm:network-device-mgr", "conformance-type": "implement" }, { "name": "ietf-yang-library", "revision": "2019-01-04", "namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-library", "conformance-type": "implement" }, { "name": "ietf-yang-schema-mount", "revision": "2017-10-09", "namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount", "conformance-type": "implement" }, { "name": "ietf-restconf", "revision": "2016-08-15", "namespace": "urn:ietf:params:xml:ns:yang:ietf-restconf", "conformance-type": "implement" } ] } ] } } } ] }, "example": { "ietf-yang-library:yang-library": { "content-id": "NSP-2019-05-20", "module-set": [ { "name": "NSP-MDC-2019-05-20", "module": [ { "name": "network-device-mgr", "revision": "2018-06-06", "namespace": "urn:nokia:nsp:mdm:network-device-mgr", "conformance-type": "implement" }, { "name": "ietf-yang-library", "revision": "2019-01-04", "namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-library", "conformance-type": "implement" }, { "name": "ietf-yang-schema-mount", "revision": "2017-10-09", "namespace": "urn:ietf:params:xml:ns:yang:ietf-yang-schema-mount", "conformance-type": "implement" }, { "name": "ietf-restconf", "revision": "2016-08-15", "namespace": "urn:ietf:params:xml:ns:yang:ietf-restconf", "conformance-type": "implement" } ] } ] } } } } } }, "deprecated": false } }, "/restconf/data/ietf-yang-schema-mount:schema-mounts": { "get": { "tags": [ "Basic RESTCONF Flow" ], "summary": "4. Get the schema mounts", "description": "Request to GET the list of mount points and the yang modules where they are used.", "operationId": "4.Gettheschemamounts", "parameters": [ { "name": "Authorization", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "{{token}}" } }, { "name": "Accept", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/yang-data+json" } } ], "responses": { "200": { "description": "OK", "headers": { "Date": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Mon, 25 Jul 2022 14:30:50 GMT" } } }, "Transfer-Encoding": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "chunked" } } }, "Connection": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "keep-alive" } } }, "Cache-Control": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "private" } } }, "Strict-Transport-Security": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "max-age=0" } } }, "X-Frame-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "SAMEORIGIN" } } }, "X-Content-Type-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "nosniff" } } }, "X-XSS-Protection": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "1; mode=block" } } }, "Content-Security-Policy": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "frame-ancestors 'self' https://145.40.97.59:* https://145.40.97.58:*; connect-src 'self' wss://145.40.97.58:* wss://145.40.97.59:* https://145.40.97.59:* https://145.40.97.58:*; default-src 'self' data: https://145.40.97.59:* https://145.40.97.58:* 'unsafe-inline' ; img-src * data:;" } } } }, "content": { "application/yang-data+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/4.Gettheschemamounts" }, { "example": { "ietf-yang-schema-mounts:schema-mounts": { "mount-point": [ { "module": "ietf-network", "label": "ne-management-nm", "inline": {} }, { "module": "nsp-network", "label": "node-root", "inline": {} }, { "module": "ietf-network", "label": "system-root", "inline": {} }, { "module": "ietf-network", "label": "protocol-root", "inline": {} }, { "module": "ietf-network", "label": "port-root", "inline": {} }, { "module": "ietf-network", "label": "interfaces-root", "inline": {} }, { "module": "ietf-network", "label": "routing-root", "inline": {} }, { "module": "nsp-service-intent", "label": "intent", "inline": {} }, { "module": "nsp-tunnel-intent", "label": "intent", "inline": {} }, { "module": "network-device-mgr", "label": "root", "inline": {} } ] } } } ] }, "example": { "ietf-yang-schema-mounts:schema-mounts": { "mount-point": [ { "module": "ietf-network", "label": "ne-management-nm", "inline": {} }, { "module": "nsp-network", "label": "node-root", "inline": {} }, { "module": "ietf-network", "label": "system-root", "inline": {} }, { "module": "ietf-network", "label": "protocol-root", "inline": {} }, { "module": "ietf-network", "label": "port-root", "inline": {} }, { "module": "ietf-network", "label": "interfaces-root", "inline": {} }, { "module": "ietf-network", "label": "routing-root", "inline": {} }, { "module": "nsp-service-intent", "label": "intent", "inline": {} }, { "module": "nsp-tunnel-intent", "label": "intent", "inline": {} }, { "module": "network-device-mgr", "label": "root", "inline": {} } ] } } } } } }, "deprecated": false, "security": [] } }, "/restconf/data/network-device-mgr:network-devices": { "get": { "tags": [ "Basic RESTCONF Flow" ], "summary": "5. Get all the network devices", "description": "Lists all of the NEs known to the MDM server, which are supported by the MDC application, along with the device-specific yang schema mounts", "operationId": "5.Getallthenetworkdevices", "parameters": [ { "name": "Content-Type", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "enum": [ "application/yang-data+json" ], "type": "string", "example": "application/yang-data+json" } }, { "name": "Authorization", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "{{token}}" } }, { "name": "Accept", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "application/yang-data+json" } } ], "responses": { "200": { "description": "OK", "headers": { "Date": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "Wed, 24 Nov 2021 17:16:21 GMT" } } }, "Transfer-Encoding": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "chunked" } } }, "Connection": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "keep-alive" } } }, "Cache-Control": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "private" } } }, "Strict-Transport-Security": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "max-age=0" } } }, "X-Frame-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "SAMEORIGIN" } } }, "X-Content-Type-Options": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "nosniff" } } }, "X-XSS-Protection": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "1; mode=block" } } }, "Content-Security-Policy": { "content": { "text/plain": { "schema": { "type": "string" }, "example": "frame-ancestors 'self' https://vSAM158-147.labs.ca.alcatel-lucent.com:* https://135.121.157.53:* https://135.121.158.147:* https://vSAM157-53.labs.ca.alcatel-lucent.com:*; connect-src 'self' wss://135.121.157.53:* wss://135.121.158.147:* wss://vSAM157-53.labs.ca.alcatel-lucent.com:* wss://vSAM158-147.labs.ca.alcatel-lucent.com:* https://vSAM158-147.labs.ca.alcatel-lucent.com:* https://135.121.157.53:* https://135.121.158.147:* https://vSAM157-53.labs.ca.alcatel-lucent.com:*; default-src 'self' data: https://vSAM158-147.labs.ca.alcatel-lucent.com:* https://135.121.157.53:* https://135.121.158.147:* https://vSAM157-53.labs.ca.alcatel-lucent.com:* 'unsafe-inline'" } } } }, "content": { "application/yang-data+json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/5.Getallthenetworkdevices" }, { "example": { "network-device-mgr:network-devices": { "network-device": [ { "neId": "10.10.10.1", "type": "SR-7750", "version": "20.10.R3", "root": { "yanglib:yang-library": { "content-id": "NSP-19.6.0", "module-set": [ { "name": "SrosOpenConfigMDCNBI@1.0.0", "module": [ { "name": "openconfig-interfaces", "namespace": "2.0.0", "revision": "2.0.0" }, { "name": "openconfig-lacp", "namespace": "1.1.0", "revision": "1.1.0" }, { "name": "openconfig-network-instance", "namespace": "0.8.0", "revision": "0.8.0" }, { "name": "openconfig-relay-agent", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-routing-policy", "namespace": "3.0.0", "revision": "3.0.0" }, { "name": "openconfig-lldp", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-mpls", "namespace": "2.3.0", "revision": "2.3.0" }, { "name": "openconfig-acl", "namespace": "1.0.0", "revision": "1.0.0" }, { "name": "openconfig-bgp", "namespace": "3.0.1", "revision": "3.0.1" }, { "name": "openconfig-local-routing", "namespace": "1.0.1", "revision": "1.0.1" } ] } ] } } }, { "neId": "10.10.10.2", "type": "SR-7750", "version": "20.10.R3", "root": { "yanglib:yang-library": { "content-id": "NSP-19.6.0", "module-set": [ { "name": "SrosOpenConfigMDCNBI@1.0.0", "module": [ { "name": "openconfig-interfaces", "namespace": "2.0.0", "revision": "2.0.0" }, { "name": "openconfig-lacp", "namespace": "1.1.0", "revision": "1.1.0" }, { "name": "openconfig-network-instance", "namespace": "0.8.0", "revision": "0.8.0" }, { "name": "openconfig-relay-agent", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-routing-policy", "namespace": "3.0.0", "revision": "3.0.0" }, { "name": "openconfig-lldp", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-mpls", "namespace": "2.3.0", "revision": "2.3.0" }, { "name": "openconfig-acl", "namespace": "1.0.0", "revision": "1.0.0" }, { "name": "openconfig-bgp", "namespace": "3.0.1", "revision": "3.0.1" }, { "name": "openconfig-local-routing", "namespace": "1.0.1", "revision": "1.0.1" } ] } ] } } } ] } } } ] }, "example": { "network-device-mgr:network-devices": { "network-device": [ { "neId": "10.10.10.1", "type": "SR-7750", "version": "20.10.R3", "root": { "yanglib:yang-library": { "content-id": "NSP-19.6.0", "module-set": [ { "name": "SrosOpenConfigMDCNBI@1.0.0", "module": [ { "name": "openconfig-interfaces", "namespace": "2.0.0", "revision": "2.0.0" }, { "name": "openconfig-lacp", "namespace": "1.1.0", "revision": "1.1.0" }, { "name": "openconfig-network-instance", "namespace": "0.8.0", "revision": "0.8.0" }, { "name": "openconfig-relay-agent", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-routing-policy", "namespace": "3.0.0", "revision": "3.0.0" }, { "name": "openconfig-lldp", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-mpls", "namespace": "2.3.0", "revision": "2.3.0" }, { "name": "openconfig-acl", "namespace": "1.0.0", "revision": "1.0.0" }, { "name": "openconfig-bgp", "namespace": "3.0.1", "revision": "3.0.1" }, { "name": "openconfig-local-routing", "namespace": "1.0.1", "revision": "1.0.1" } ] } ] } } }, { "neId": "10.10.10.2", "type": "SR-7750", "version": "20.10.R3", "root": { "yanglib:yang-library": { "content-id": "NSP-19.6.0", "module-set": [ { "name": "SrosOpenConfigMDCNBI@1.0.0", "module": [ { "name": "openconfig-interfaces", "namespace": "2.0.0", "revision": "2.0.0" }, { "name": "openconfig-lacp", "namespace": "1.1.0", "revision": "1.1.0" }, { "name": "openconfig-network-instance", "namespace": "0.8.0", "revision": "0.8.0" }, { "name": "openconfig-relay-agent", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-routing-policy", "namespace": "3.0.0", "revision": "3.0.0" }, { "name": "openconfig-lldp", "namespace": "0.1.0", "revision": "0.1.0" }, { "name": "openconfig-mpls", "namespace": "2.3.0", "revision": "2.3.0" }, { "name": "openconfig-acl", "namespace": "1.0.0", "revision": "1.0.0" }, { "name": "openconfig-bgp", "namespace": "3.0.1", "revision": "3.0.1" }, { "name": "openconfig-local-routing", "namespace": "1.0.1", "revision": "1.0.1" } ] } ] } } } ] } } } } } }, "deprecated": false, "security": [] } }, "/restconf/data/network-device-mgr:network-devices/network-device={neId}": { "get": { "tags": [ "Basic RESTCONF Flow" ], "summary": "6. Get a given network device", "description": "Device info along with device-specific nodal yang schema mounts", "operationId": "6.Getagivennetworkdevice", "parameters": [ { "name": "Content-Type", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "enum": [ "application/yang-data+json" ], "type": "string", "example": "application/yang-data+json" } }, { "name": "Authorization", "in": "header", "description": "", "required": true, "style": "simple", "schema": { "type": "string", "example": "{{token}}" } }, { "name": "Accept", "in": "header", "description": "",