diff --git a/hackfest/commands.txt b/hackfest/commands.txt index c34c6acc112e3d5dee47752967b60bab32556c94..31558364d74aa1fec729c80c9fab50aa7e0c2313 100644 --- a/hackfest/commands.txt +++ b/hackfest/commands.txt @@ -262,5 +262,43 @@ Service b8c99e2c-39d8-424d-9833-554634269555 deleted (mock-osm) exit Bye! +############ +# gNMI +############ + +## Download and install the latest release +$ sudo bash -c "$(curl -sL https://get.containerlab.dev)“ + +## Deploy proposed two SR node scenario +$ cd tfs-ctrl/hackfest/gnmi +$ sudo containerlab deploy -t srlinux.clab.yml + +## Access SR Bash +$ docker exec -it clab-srlinux-srl1 bash + +## Acess SR CLI +$ docker exec -it clab-srlinux-srl1 sr_cli + +## Destroy scenario +$ sudo containerlab destroy --topo srlinux.clab.yml + +## Install gNMIc +$ sudo bash -c "$(curl -sL https://get-gnmic.kmrd.dev)" + +## gNMI Capabilities request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify capabilities + +## gNMI Get request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path /system/name/host-name +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path /interface[name=mgmt0] + +## gNMI Set request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --update-path /system/name/host-name --update-value slr11 +(we check the changed value) +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path /system/name/host-name +## Subscribe request +$ gnmic -a clab-srlinux-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf subscribe --path /interface[name=mgmt0]/statistics +(In another terminal, you can generate traffic) +$ssh admin@clab-srlinux-srl1 diff --git a/hackfest/gnmi/.gitkeep b/hackfest/gnmi/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hackfest/gnmi/commands.txt b/hackfest/gnmi/commands.txt deleted file mode 100644 index 6fae7f9a8fc8b9b69d364b1d279aca80759c90ef..0000000000000000000000000000000000000000 --- a/hackfest/gnmi/commands.txt +++ /dev/null @@ -1,17 +0,0 @@ -== GNMI -$ cd /usr/share/gocode/src/ -$ export GOPATH=/usr/share/gocode/ -$ go run github.com/openconfig/ygot/generator/generator.go -generate_fakeroot -output_file github.com/google/gnxi/gnmi/modeldata/gostruct/generated.go -package_name gostruct github.com/rvilalta/OFC_SC472/yang/topology.yang -$ cd /usr/share/gocode/src/github.com/google/gnxi/gnmi_target -$ go run gnmi_target.go -bind_address :10161 -config ~/tfs-ctrl/hackfest/gnmi/topology.json --notls -alsologtostderr - -RUN CLIENT (in another window) -$ export GOPATH=/usr/share/gocode/ -$ cd /usr/share/gocode/src/github.com/google/gnxi/gnmi_get -$ go run gnmi_get.go -notls -xpath "/topology/" -target_addr localhost:10161 -alsologtostderr -$ go run gnmi_get.go -notls -xpath "/topology/node[node-id=A]" -target_addr localhost:10161 -alsologtostderr - -USE PYTHON CLIENT -$ cd /usr/share/gocode/src/github.com/google/gnxi/gnmi_cli_py -$ python py_gnmicli.py -n -m get -t localhost -p 10161 -x /topology -u foo -pass bar - diff --git a/hackfest/gnmi/sonic.clab.yml b/hackfest/gnmi/sonic.clab.yml new file mode 100644 index 0000000000000000000000000000000000000000..dc4f743213406531fab9ac5988342c2b213d88ad --- /dev/null +++ b/hackfest/gnmi/sonic.clab.yml @@ -0,0 +1,15 @@ +# file: sonic.clab.yml +name: sonic-vs + +topology: + nodes: + srl1: + kind: sonic-vs + image: docker-sonic-vs + srl2: + kind: sonic-vs + image: docker-sonic-vs + + links: + - endpoints: ["srl1:e1-1", "srl2:e1-1"] + diff --git a/hackfest/gnmi/topology.json b/hackfest/gnmi/topology.json deleted file mode 100644 index 9b64536a7992fbbde22f95c9cd9275354a9f7d81..0000000000000000000000000000000000000000 --- a/hackfest/gnmi/topology.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "topology" : { - "node" : [ - { "node-id" : "A" , "port" : [ { "port-id" : "portA1" } ] }, - { "node-id" : "B" , "port" : [ { "port-id" : "portB1" } ] } - ] - } -} diff --git a/proto/uml/monitoring.png b/proto/uml/monitoring.png index 98f2e1d64766faf55599e465dd30f57e3518b11f..4257b4d3f4b570fa9c51734480bd8c73e8c72622 100644 Binary files a/proto/uml/monitoring.png and b/proto/uml/monitoring.png differ diff --git a/src/device/service/drivers/xr/ipm_rest_api_0_6_71.json b/src/device/service/drivers/xr/ipm_rest_api_0_6_71.json new file mode 100644 index 0000000000000000000000000000000000000000..72c641c5da6add9d32f094a18728030056869312 --- /dev/null +++ b/src/device/service/drivers/xr/ipm_rest_api_0_6_71.json @@ -0,0 +1,26618 @@ +{ + "openapi": "3.0.2", + "info": { + "description": "Infinera XR Optics Intelligent Pluggables Manager Application API", + "title": "IPM", + "version": "1.0", + "x-initials": "NDUS", + "x-cm-api-version": "v0.6.71" + }, + "servers": [ + { + "url": "/api/v1" + } + ], + "paths": { + "/modules": { + "get": { + "operationId": "getModules", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of modules" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all modules" + } + }, + "/modules/{moduleId}": { + "delete": { + "operationId": "deleteSpecificModule", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "delete specific module" + }, + "get": { + "operationId": "getModuleByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module data" + }, + "put": { + "operationId": "UpdateModule", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.update" + } + } + }, + "description": "Update Module", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "update module data" + } + }, + "/modules/{moduleId}/linePtps": { + "get": { + "operationId": "getLinePtps", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of module line ports" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module line ports" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}": { + "get": { + "operationId": "getLinePtpByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module line port data" + }, + "put": { + "operationId": "UpdateLinePtp", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp.update" + } + } + }, + "description": "Update module line port", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update module line port data" + } + }, + "/modules/{moduleId}/ethernetClients": { + "get": { + "operationId": "getEthernetClients", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.ethernetClient" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of ethernetClients" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module client ethernet interfaces" + } + }, + "/modules/{moduleId}/ethernetClients/{ethernetColId}": { + "get": { + "operationId": "getEthernetClientByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Ethernet client signal identifier within module.", + "explode": false, + "in": "path", + "name": "ethernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.ethernetClient" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific client ethernet interface data" + }, + "put": { + "operationId": "updateEthernetClient", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Ethernet client signal identifier within module.", + "explode": false, + "in": "path", + "name": "ethernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.ethernetClient.update" + } + } + }, + "description": "Update client ethernet interface", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update module client ethernet interface data" + } + }, + "/modules/{moduleId}/ethernetClients/{ethernetColId}/acs": { + "get": { + "operationId": "getEthernetClientAcs", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Ethernet client signal identifier within module.", + "explode": false, + "in": "path", + "name": "ethernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ac" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of ethernetClients" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all attachment circuits of a module client ethernet interface" + } + }, + "/modules/{moduleId}/ethernetClients/{ethernetColId}/acs/{acColId}": { + "get": { + "operationId": "getEthernetClientAcByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Ethernet client signal identifier within module.", + "explode": false, + "in": "path", + "name": "ethernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "attachment circuit identifier within module client ethernet interface.", + "explode": false, + "in": "path", + "name": "acColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ac" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific client ethernet attachment circuit data" + } + }, + "/modules/{moduleId}/localConnections": { + "get": { + "operationId": "getLcs", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.localConnection" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of local connections" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module localConnections" + } + }, + "/modules/{moduleId}/localConnections/{lcColId}": { + "get": { + "operationId": "getLcByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "local connection identifier within module.", + "explode": false, + "in": "path", + "name": "lcColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.localConnection" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module local connection data" + } + }, + "/modules/{moduleId}/otus": { + "get": { + "operationId": "getOtus", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.otu" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of otus" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module OTUs" + } + }, + "/modules/{moduleId}/otus/{otuColId}": { + "get": { + "operationId": "getOtuByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within module.", + "explode": false, + "in": "path", + "name": "otuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.otu" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module OTU data" + }, + "put": { + "operationId": "updateOtu", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within module.", + "explode": false, + "in": "path", + "name": "otuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.otu.update" + } + } + }, + "description": "Update OTU", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update module OTU data" + } + }, + "/modules/{moduleId}/otus/{otuColId}/odus": { + "get": { + "operationId": "getOdus", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within module.", + "explode": false, + "in": "path", + "name": "otuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.odu" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of hosts" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module ODUs" + } + }, + "/modules/{moduleId}/otus/{otuColId}/odus/{oduColId}": { + "get": { + "operationId": "getOduByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within module.", + "explode": false, + "in": "path", + "name": "otuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "ODU signal identifier within module.", + "explode": false, + "in": "path", + "name": "oduColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.odu" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module ODU data" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}/carriers": { + "get": { + "operationId": "getCarriers", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of module carriers" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module carriers" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}/carriers/{carrierColId}": { + "get": { + "operationId": "getCarrierByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module carrier data" + }, + "put": { + "operationId": "updateCarrier", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.update" + } + } + }, + "description": "Update Carrier", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update module Carrier data" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}/carriers/{carrierColId}/dscgs": { + "get": { + "operationId": "getDscgs", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscg" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of otus" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all module Dscgs" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}/carriers/{carrierColId}/dscgs/{dscgColId}": { + "get": { + "operationId": "getDscgByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "DSCG identifier within module carrier.", + "explode": false, + "in": "path", + "name": "dscgColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscg" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module dscg data" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}/carriers/{carrierColId}/dscs": { + "get": { + "operationId": "getCarrierDscs", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of modules" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all carrier dscs" + } + }, + "/modules/{moduleId}/linePtps/{linePtpColId}/carriers/{carrierColId}/dscs/{dscColId}": { + "get": { + "operationId": "getCarrierDscByID", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "DSC identifier within module carrier.", + "explode": false, + "in": "path", + "name": "dscColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific carrier dsc data" + }, + "put": { + "operationId": "UpdateCarrierDsc", + "parameters": [ + { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "DSC identifier within module carrier.", + "explode": false, + "in": "path", + "name": "dscColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.update" + } + } + }, + "description": "Update carrier DSC", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update carrier DSC data" + } + }, + "/devices": { + "get": { + "operationId": "getDevices", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": [ + { + "href": "/devices/02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "rt": [ + "cm.device" + ], + "id": "02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "config": { + "status": "onboarded" + }, + "state": { + "moduleName": "XR LEAF 1", + "piid": "abb81108-8bbf-4222-9bf3-0a6bbb75ac65", + "dmn": { + "language": "en", + "value": "Infinera" + }, + "ownershipStatus": "owned", + "status": "onboarded", + "online": true + } + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.device" + }, + "type": "array" + } + } + }, + "description": "Sucessful response containing an array of network connections" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieves available devices cached in the system" + }, + "put": { + "operationId": "UpdateDevices", + "requestBody": { + "content": { + "application/json": { + "example": [ + { + "id": "02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "config": { + "status": "onboarded" + } + }, + { + "id": "230bfea9-1579-412d-54b9-860e8a832608", + "config": { + "status": "offboarded" + } + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.device.updateRequest" + }, + "type": "array" + } + } + }, + "description": "Update device onboard status", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "update Devices" + } + }, + "/devices/{deviceIdx}": { + "get": { + "operationId": "getDeviceByID", + "parameters": [ + { + "description": "Index into the device list", + "explode": false, + "in": "path", + "name": "deviceIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "href": "/devices/02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "rt": [ + "cm.device" + ], + "id": "02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "config": { + "status": "onboarded" + }, + "state": { + "moduleName": "XR LEAF 1", + "piid": "abb81108-8bbf-4222-9bf3-0a6bbb75ac65", + "dmn": { + "language": "en", + "value": "Infinera" + }, + "ownershipStatus": "owned", + "status": "onboarded", + "online": true + } + }, + "schema": { + "$ref": "#/components/schemas/cm.device" + } + } + }, + "description": "Successful response containing the specified device" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific device cached in the system" + }, + "put": { + "operationId": "UpdateDevice", + "parameters": [ + { + "description": "Index into the device list", + "explode": false, + "in": "path", + "name": "deviceIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "example": { + "status": "onboarded" + }, + "schema": { + "$ref": "#/components/schemas/cm.device.config" + } + } + }, + "description": "Update specific device onboard status", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "update Device" + } + }, + "/sw/actions": { + "get": { + "operationId": "getSwCtrlActions", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.sw.action" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of software control action objects" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of software control action objects" + }, + "post": { + "operationId": "createSwCtrlActions", + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.sw.action.create" + }, + "maxLength": 1, + "type": "array" + } + } + }, + "description": "Software control actions", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create software control actions" + } + }, + "/sw/actions/{actionId}": { + "get": { + "operationId": "getSwCtrlActionByID", + "parameters": [ + { + "description": "Software control action identifier within the sw action list", + "explode": false, + "in": "path", + "name": "actionId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.sw.action" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific software control action data" + } + }, + "/sw/moduleActions/": { + "get": { + "operationId": "getSwCtrlModuleActions", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.sw.moduleAction" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of module software control actions" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of module software control actions of an action request" + } + }, + "/sw/moduleActions/{moduleActionId}": { + "get": { + "operationId": "getSwCtrlModuleActionByID", + "parameters": [ + { + "description": "Software control action identifier within the module sw action list", + "explode": false, + "in": "path", + "name": "moduleActionId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.sw.moduleAction" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific module software control action data" + } + }, + "/sw/inventory/ctrl": { + "get": { + "operationId": "getSwImages", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.sw.ctrl" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all XR module SW images" + } + }, + "/sw/inventory/device/{deviceId}/ctrl": { + "get": { + "operationId": "getSwCtrlByID", + "parameters": [ + { + "description": "Device identifier (XR pluggable module or NDU).", + "explode": false, + "in": "path", + "name": "deviceId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.sw.ctrl" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific software control object data" + } + }, + "/sw/inventory/device/{deviceId}/swBanks": { + "get": { + "operationId": "getSwBanks", + "parameters": [ + { + "description": "Device identifier (XR pluggable module or NDU).", + "explode": false, + "in": "path", + "name": "deviceId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.sw.banks" + } + } + }, + "description": "Successful response containing an array of hosts" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all software banks in a XR pluggable module or ndu device" + } + }, + "/sw/inventory/device/{deviceId}/swBanks/{swBankColId}": { + "get": { + "operationId": "getSwBankByID", + "parameters": [ + { + "description": "Device identifier (XR pluggable module or NDU).", + "explode": false, + "in": "path", + "name": "deviceId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Software bank identifier within module.\n- '1': Refers to Bank A\n- '2': Refers to Bank B\n", + "explode": false, + "in": "path", + "name": "swBankColId", + "required": true, + "schema": { + "format": "int64", + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.sw.bank" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific software bank data" + } + }, + "/network-connections": { + "get": { + "operationId": "getConnections", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.network-connection" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all network connections" + }, + "post": { + "operationId": "createConnections", + "requestBody": { + "content": { + "application/json": { + "example": [ + { + "name": "connection 01: Sunnyvale <> San Jose", + "owner": "CM", + "endpoints": [ + { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:2" + } + }, + { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + } + ] + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.network-connection.create" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Network connection configuration data", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": [ + { + "code": "NCS-07-006", + "message": "Missing endpoint selector configuration" + } + ] + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create network connections" + } + }, + "/network-connections/{ncId}": { + "delete": { + "operationId": "deleteConnection", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": [ + { + "code": "NCS-07-006", + "message": "Network-Connection must be owned by CM" + } + ] + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Delete specific network connection" + }, + "get": { + "operationId": "getConnectionByID", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.network-connection" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific network connection data" + }, + "put": { + "operationId": "updateConnection", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "example": { + "name": "connection 01: Sunnyvale <> San Jose", + "owner": "CM" + }, + "schema": { + "$ref": "#/components/schemas/cm.network-connection.update" + } + } + }, + "description": "Update connection", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update specific network connection data" + } + }, + "/network-connections/{ncId}/endpoints": { + "get": { + "operationId": "getConnectionEndpoints", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.network-connection.endpoint" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve network connection endpoints" + }, + "post": { + "operationId": "createConnectionEndpoints", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.create" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Connection endpoints info", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create network connection endpoints" + } + }, + "/network-connections/{ncId}/endpoints/{epId}": { + "delete": { + "operationId": "deleteConnectionEndpoint", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Endpoint identifier within the connection", + "explode": false, + "in": "path", + "name": "epId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": [ + { + "code": "NCS-07-006", + "message": "Network-Connection must be owned by CM" + } + ] + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Delete specific network connection endpoint" + }, + "get": { + "operationId": "getConnectionEndpointByID", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Endpoint identifier within the connection", + "explode": false, + "in": "path", + "name": "epId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.network-connection.endpoint" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific endpoint data from a network connection" + }, + "put": { + "operationId": "updateConnectionEndpoint", + "parameters": [ + { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Endpoint identifier within the connection", + "explode": false, + "in": "path", + "name": "epId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.update" + } + } + }, + "description": "Update connection endpoint", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update specific network connection endpoint data" + } + }, + "/lcs": { + "get": { + "operationId": "getLocalConnections", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.network-connection.local-connection" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all local connections with associated network connections information" + } + }, + "/lcs/{lcId}": { + "get": { + "operationId": "getConnectionLocalConnectionByID", + "parameters": [ + { + "description": "Local connection identifier within the connection scope", + "explode": false, + "in": "path", + "name": "lcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.network-connection.local-connection" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific local connection data with associated network connections" + } + }, + "/acs": { + "get": { + "operationId": "getAcs", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.network-connection.ac" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all attachment circuits with associated network connections information" + } + }, + "/acs/{acId}": { + "get": { + "operationId": "getAcByID", + "parameters": [ + { + "description": "Attachment circuit identifier within the connection scope", + "explode": false, + "in": "path", + "name": "acId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.network-connection.ac" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific attachment circuit data with associated network connections" + } + }, + "/xr-networks": { + "get": { + "operationId": "getConstellations", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.xr-network" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of xr networks" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all xr-network objects" + }, + "post": { + "operationId": "createConstellation", + "requestBody": { + "content": { + "application/json": { + "example": [ + { + "config": { + "name": "Sunnyvale Constellation", + "constellationFrequency": 193000000, + "modulation": "16QAM" + }, + "hubModule": { + "config": { + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:2" + } + }, + "module": { + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "maxAllowedDSCs": 16 + } + } + }, + "leafModules": [ + { + "config": { + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + }, + "module": { + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual" + } + } + }, + { + "config": { + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:99:F8:2c:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + }, + "module": { + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual" + } + } + } + ] + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.xr-network.createRequest" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Constellation info", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create xr-network" + } + }, + "/xr-networks/{networkId}": { + "delete": { + "operationId": "deleteConstellation", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "delete specific xr-network" + }, + "get": { + "operationId": "getConstellationByID", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.xr-network" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific xr-network data" + }, + "put": { + "operationId": "UpdateConstellation", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.xr-network.update" + } + } + }, + "description": "Update xr-network", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update xr-network" + } + }, + "/xr-networks/{networkId}/hubModule": { + "get": { + "operationId": "getConstellationHub", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.xr-network.hubModule" + }, + "type": "array" + } + } + }, + "description": "Successful response containing xr-network hub node" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve xr-network hub info" + }, + "put": { + "operationId": "UpdateConstellationHub", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.xr-network.node.update" + } + } + }, + "description": "Update hub module constellation parameters", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update hub module constellation parameters" + } + }, + "/xr-networks/{networkId}/leafModules": { + "get": { + "operationId": "getConstellationLeafModules", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.xr-network.leafModule" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of xr-network leaf modules" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve xr-network leaf modules" + }, + "post": { + "operationId": "createConstellationLeafModule", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.xr-network.node.create" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Constellation leaf module info", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Add xr-network leaf modules" + } + }, + "/xr-networks/{networkId}/leafModules/{nodeId}": { + "delete": { + "operationId": "deleteConstellationLeafModule", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index of leaf module into xr-network list", + "explode": false, + "in": "path", + "name": "nodeId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "delete specific xr-network leaf module" + }, + "get": { + "operationId": "getConstellationLeafModuleByID", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index of leaf module into xr-network list", + "explode": false, + "in": "path", + "name": "nodeId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.xr-network.leafModule" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific xr-network leaf module data" + }, + "put": { + "operationId": "UpdateConstellationLeafModule", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index of leaf module into xr-network list", + "explode": false, + "in": "path", + "name": "nodeId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.xr-network.node.update" + } + } + }, + "description": "Update leaf module constellation parameters", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update leaf module constellation parameters" + } + }, + "/xr-networks/{networkId}/reachableModules": { + "get": { + "operationId": "getConstellationreachableModules", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.xr-network.reachableModule" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of xr-network reachableModules" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve xr-network reachableModules" + } + }, + "/xr-networks/{networkId}/reachableModules/{nodeId}": { + "get": { + "operationId": "getConstellationReachableModuleByID", + "parameters": [ + { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index of leaf module into xr-network list", + "explode": false, + "in": "path", + "name": "nodeId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.xr-network.reachableModule" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific xr-network reachableModule data" + } + }, + "/transport-capacities": { + "get": { + "operationId": "getTransportCapacities", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.transport-capacity" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all transport-capacity services" + }, + "post": { + "operationId": "createTransportCapacities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.transport-capacity.createRequest" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "transport-capacity configuration data", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create transport-capacity services" + } + }, + "/transport-capacities/{tcId}": { + "delete": { + "operationId": "deleteTransportCapacity", + "parameters": [ + { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Delete specific transport-capacity" + }, + "get": { + "operationId": "getTransportCapacityByID", + "parameters": [ + { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.transport-capacity" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific transport-capacity data" + }, + "put": { + "operationId": "UpdateTransportCapacity", + "parameters": [ + { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.transport-capacity.update" + } + } + }, + "description": "Update transport-capacity", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update specific transport-capacity data" + } + }, + "/transport-capacities/{tcId}/endpoints": { + "get": { + "operationId": "getTransportCapacityEndpoints", + "parameters": [ + { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve transport-capacity connection endpoints" + } + }, + "/transport-capacities/{tcId}/endpoints/{epId}": { + "get": { + "operationId": "getTransportCapacityEndpointByID", + "parameters": [ + { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Endpoint identifier within the transport-connection", + "explode": false, + "in": "path", + "name": "epId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific endpoint data from a transport-capacity connection" + }, + "put": { + "operationId": "updateTransportCapacityEndpoint", + "parameters": [ + { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Endpoint identifier within the transport-connection", + "explode": false, + "in": "path", + "name": "epId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.update" + } + } + }, + "description": "Update transport-capacity endpoint", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update specific transport-capacity connection endpoint data" + } + }, + "/capacity-links": { + "get": { + "operationId": "getCapacityLinks", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.capacity-link" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all capacity-links" + } + }, + "/capacity-links/{clId}": { + "get": { + "operationId": "getCapacityLinkByID", + "parameters": [ + { + "description": "Index into the capacity-link list", + "explode": false, + "in": "path", + "name": "clId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.capacity-link" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific capacity-link data" + } + }, + "/subscriptions": { + "get": { + "operationId": "getSubscriptions", + "responses": { + "200": { + "content": { + "application/json": { + "example": [ + { + "href": "/subscription/a9575258-c1ce-4c35-9930-d3d902061cf3", + "rt": [ + "cm.subscription" + ], + "subscriptionId": "a9575258-c1ce-4c35-9930-d3d902061cf3", + "subscriptionName": "ConstellationNeighboursTable", + "notificationChannel": { + "streamAddress": "/api/v1/ws/a9575258-c1ce-4c35-9930-d3d902061cf3" + }, + "subscriptionFilters": [ + { + "requestedNotificationTypes": [ + "AVC" + ], + "requestedResources": [ + { + "resourceType": "cm.network", + "ids": [ + "c664b89e-6a3c-4747-559f-d79d0563a6a9" + ] + } + ] + }, + { + "requestedNotificationTypes": [ + "AVC" + ], + "requestedResources": [ + { + "resourceType": "cm.network", + "moduleIds": [ + "0705ee6f-2c79-40c0-41ce-967da13fbf8f" + ] + } + ] + }, + { + "requestedNotificationTypes": [ + "AVC" + ], + "requestedResources": [ + { + "resourceType": "cm.module", + "moduleIds": [ + "0705ee6f-2c79-40c0-41ce-967da13fbf8f" + ] + } + ] + } + ] + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.subscription" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array subscriptions" + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-001", + "message": "Invalid URI: /api/v1/eg/subscriptions/?error" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of subscriptions" + }, + "post": { + "operationId": "createSubscriptions", + "requestBody": { + "content": { + "application/json": { + "example": [ + { + "subscriptionName": "ConstellationNeighboursTable", + "subscriptionFilters": [ + { + "requestedNotificationTypes": [ + "AVC" + ], + "requestedResources": [ + { + "resourceType": "cm.network", + "ids": [ + "c664b89e-6a3c-4747-559f-d79d0563a6a9" + ] + } + ] + }, + { + "requestedNotificationTypes": [ + "AVC" + ], + "requestedResources": [ + { + "resourceType": "cm.network", + "moduleIds": [ + "0705ee6f-2c79-40c0-41ce-967da13fbf8f" + ] + } + ] + }, + { + "requestedNotificationTypes": [ + "AVC" + ], + "requestedResources": [ + { + "resourceType": "cm.network", + "moduleIds": [ + "0705ee6f-2c79-40c0-41ce-967da13fbf8f" + ] + } + ] + } + ] + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.subscription.request" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Subscription info", + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "example": [ + { + "subscriptionId": "a9575258-c1ce-4c35-9930-d3d902061cf3", + "notificationChannel": { + "streamAddress": "/ws/a9575258-c1ce-4c35-9930-d3d902061cf3" + } + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.subscription.response" + }, + "type": "array" + } + } + }, + "description": "Request has been fulfilled and new a new subscription resource has been created." + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-01-001", + "message": "Invalid request body: line \"5\"; parameter: \"subscriptionFilter.resourceType\"; value: \"cm.invalidResourceType\"" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "503": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create Subscriptions" + } + }, + "/subscriptions/{subscriptionIdx}": { + "delete": { + "operationId": "deleteSubscription", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "subscriptionIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-002", + "message": "Path: \"/subscriptions/0e64146b-1335-4fa6-61ad-f05f9fdde3e0\"; Resource Type: \"cm.subscription\"; ID: \"0e64146b-1335-4fa6-61ad-f05f9fdde3e0\"" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Delete subscription" + }, + "get": { + "operationId": "getSubscriptionById", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "subscriptionIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.subscription" + } + } + }, + "description": "Successful response containing subscription data" + }, + "401": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-002", + "message": "Path: \"/subscriptions/0e64146b-1335-4fa6-61ad-f05f9fdde3e0\"; Resource Type: \"cm.subscription\"; ID: \"0e64146b-1335-4fa6-61ad-f05f9fdde3e0\"" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific subscription data" + }, + "put": { + "operationId": "UpdateSubscription", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "subscriptionIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.subscription.request" + } + } + }, + "description": "Subscription data to be updated", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-01-001", + "message": "Invalid request body: line \"5\"; parameter: \"subscriptionFilter.resourceType\"; value: \"cm.invalidResourceType\"" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-002", + "message": "Path: \"/subscriptions/0e64146b-1335-4fa6-61ad-f05f9fdde3e0\"; Resource Type: \"cm.subscription\"; ID: \"0e64146b-1335-4fa6-61ad-f05f9fdde3e0\"" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "example": { + "errors": { + "code": "EG-00-xxx", + "message": "xxxTBDxxx" + } + }, + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update subscription data" + } + }, + "/{subscriptionIdx}": { + "description": "WebSocket endpoints for existing subscriptions", + "servers": [ + { + "url": "/api/v1/ws" + } + ] + }, + "/hosts": { + "get": { + "operationId": "getHosts", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": [ + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "rt": [ + "cm.host" + ], + "id": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "name": "Sunnyvale Router 001", + "managedBy": "CM", + "location": { + "latitude": 20, + "longitude": 134.1 + }, + "selector": { + "hostSelectorByChassisId": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "state": { + "name": "Sunnyvale Router 001", + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "sysName": "Vendor A Router", + "sysDescr": "", + "managedBy": "CM", + "lldpState": "Present", + "location": { + "latitude": 37.368832, + "longitude": -122.036346 + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "ports": [ + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/5f8c47b4-c02a-6242-260c-185dd04b8faf", + "rt": [ + "cm.host.port" + ], + "id": "5f8c47b4-c02a-6242-260c-185dd04b8faf", + "config": { + "name": "towards San Jose", + "managedBy": "CM", + "selector": { + "ifSelectorByHostPortSourceMAC": { + "portSourceMAC": "28:c0:da:3e:3e:44" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "state": { + "name": "towards San Jose", + "managedBy": "CM", + "lldpState": "Present", + "hostPort": { + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "28:c0:da:3e:3e:44" + }, + "moduleIf": { + "moduleId": "aa079e7c-02df-43ed-636e-71f7bfc212ff", + "moduleName": "Sunnyvale-1/0/0", + "macAddress": "00:0B:F8:00:01:01", + "serialNumber": "12345678901", + "clientIfAid": "XR-T1" + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + } + }, + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/4868c57e-0f4f-11ec-82a8-0242ac130003", + "rt": [ + "cm.host.port" + ], + "id": "4868c57e-0f4f-11ec-82a8-0242ac130003", + "config": { + "name": "towards Santa Clara", + "managedBy": "CM", + "selector": { + "ifSelectorByModuleMAC": { + "moduleMAC": "00:0B:F8:00:01:01", + "clientIfAid": "XR-T1" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "state": { + "name": "towards Santa Clara", + "managedBy": "Host", + "lldpState": "Present", + "hostPort": { + "portIdSubtype": "interfaceName", + "portId": "et-1/0/2:0", + "portSourceMAC": "58:00:BB:00:00:12" + }, + "moduleIf": { + "moduleId": "4e58f211-oa575-41ae-65d6-54fbeba5a2fe", + "moduleName": "Sunnyvale-1/0/2", + "macAddress": "00:0B:F8:00:01:01", + "serialNumber": "12345678901", + "clientIfAid": "XR-T2" + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + } + } + ] + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.host" + }, + "type": "array" + } + } + }, + "description": "Sucessful response containing an array of hosts" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all hosts" + }, + "post": { + "operationId": "createHosts", + "requestBody": { + "content": { + "application/json": { + "example": [ + { + "name": "Sunnyvale Router 001", + "location": { + "latitude": 37.368832, + "longitude": -122.036346 + }, + "selector": { + "hostSelectorByChassisId": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + { + "name": "Santa Clara", + "location": { + "latitude": 37.354107, + "longitude": -121.955238 + }, + "selector": { + "hostSelectorByChassisId": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:10" + } + } + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.host.create" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Host info", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create hosts" + } + }, + "/hosts/{hostId}": { + "delete": { + "operationId": "deleteSpecificHost", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "delete specific host" + }, + "get": { + "operationId": "getHostByID", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "rt": [ + "cm.host" + ], + "id": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "name": "Sunnyvale Router 001", + "managedBy": "CM", + "location": { + "latitude": 37.368832, + "longitude": -122.036346 + }, + "selector": { + "hostSelectorByChassisId": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + }, + "ports": [ + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/5f8c47b4-c02a-6242-260c-185dd04b8faf" + }, + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/4868c57e-0f4f-11ec-82a8-0242ac130003" + } + ] + }, + "state": { + "name": "Sunnyvale Router 001", + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "sysName": "Vendor A Router", + "sysDescr": "", + "lldpState": "Present", + "managedBy": "CM", + "location": { + "latitude": 37.368832, + "longitude": -122.036346 + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + }, + "ports": [ + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/5f8c47b4-c02a-6242-260c-185dd04b8faf", + "rt": [ + "cm.host.port" + ] + }, + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/4868c57e-0f4f-11ec-82a8-0242ac130003", + "rt": [ + "cm.host.port" + ] + } + ] + } + }, + "schema": { + "$ref": "#/components/schemas/cm.host" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific host data" + }, + "put": { + "operationId": "UpdateHost", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "example": { + "name": "Madrid Router 001", + "location": { + "latitude": 40.416775, + "longitude": -3.70379 + } + }, + "schema": { + "$ref": "#/components/schemas/cm.host.update" + } + } + }, + "description": "Update Host", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "update host" + } + }, + "/hosts/{hostId}/ports": { + "get": { + "operationId": "getHostPorts", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "example": [ + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/5f8c47b4-c02a-6242-260c-185dd04b8faf", + "rt": [ + "cm.host.port" + ] + }, + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/4868c57e-0f4f-11ec-82a8-0242ac130003", + "rt": [ + "cm.host.port" + ] + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.host.port" + }, + "type": "array" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve host' ports" + }, + "post": { + "operationId": "createHostPorts", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "example": [ + { + "name": "towards Lisbon", + "managedBy": "CM", + "selector": { + "ifSelectorByHostPortId": { + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + }, + "labels": { + "region": "Iberia", + "city": "Madrid" + } + } + ], + "schema": { + "items": { + "$ref": "#/components/schemas/cm.host.port.create" + }, + "maxLength": 30, + "type": "array" + } + } + }, + "description": "Host ports info", + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.resource" + }, + "type": "array" + } + } + }, + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Create host ports" + } + }, + "/hosts/{hostId}/ports/{portIdx}": { + "delete": { + "operationId": "deleteHostPort", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index into the Ports list", + "explode": false, + "in": "path", + "name": "portIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "delete specific host port" + }, + "get": { + "operationId": "getHostPort", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index into the Ports list", + "explode": false, + "in": "path", + "name": "portIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.host.port" + } + } + }, + "description": "Successful" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + } + }, + "summary": "Retrieve specific host's port" + }, + "put": { + "operationId": "updateHostPort", + "parameters": [ + { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Index into the Ports list", + "explode": false, + "in": "path", + "name": "portIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.host.port.update" + } + } + }, + "description": "Update Host Port", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "update hosts' Port" + } + }, + "/ndus": { + "get": { + "operationId": "getNdus", + "parameters": [ + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDUs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDUs" + } + }, + "/ndus/{nduId}": { + "delete": { + "operationId": "deleteSpecificNdu", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "delete specific NDU" + }, + "get": { + "operationId": "getNduByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU data" + }, + "put": { + "operationId": "UpdateNdu", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.update" + } + } + }, + "description": "Update NDU", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "update NDU data" + } + }, + "/ndus/{nduId}/ports": { + "get": { + "operationId": "getNduPorts", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU ports" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU ports" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}": { + "get": { + "operationId": "getNduPortByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU port data" + }, + "put": { + "operationId": "UpdateNduPort", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.update" + } + } + }, + "description": "Update NDU port", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU port data" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/toms": { + "get": { + "operationId": "getNduToms", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.tom" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU TOMs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU TOMs" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/toms/{nduTomColId}": { + "get": { + "operationId": "getNduTomByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Tom identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduTomColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.tom" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU port TOM data" + }, + "put": { + "operationId": "UpdateNduTom", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Tom identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduTomColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.tom.update" + } + } + }, + "description": "Update NDU TOM", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU port TOM data" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/xrs": { + "get": { + "operationId": "getNduXRs", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.xr" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU XRs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU XR pluggable interfaces" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/xrs/{nduXrColId}": { + "get": { + "operationId": "getNduXrByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "XR pluggable identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduXrColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.xr" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU port XR pluggable data" + }, + "put": { + "operationId": "UpdateNduXr", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "XR pluggable identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduXrColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.xr.update" + } + } + }, + "description": "Update NDU XR pluggable", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU port XR pluggable data" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/edfas": { + "get": { + "operationId": "getNduEdfas", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.edfa" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU EDFAa" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU EDFAa" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/edfas/{nduEdfaColId}": { + "get": { + "operationId": "getNduEdfaByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Edfa identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduEdfaColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.edfa" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU port EDFA data" + }, + "put": { + "operationId": "UpdateNduEdfa", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Edfa identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduEdfaColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.edfa.update" + } + } + }, + "description": "Update NDU EDFA", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU port EDFA data" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/voas": { + "get": { + "operationId": "getNduVoas", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.voa" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU VOAs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU VOAs" + } + }, + "/ndus/{nduId}/ports/{nduPortColId}/voas/{nduVoaColId}": { + "get": { + "operationId": "getNduVoaByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "VOA identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduVoaColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.voa" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU port VOA data" + }, + "put": { + "operationId": "UpdateNduVoa", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "VOA identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduVoaColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.port.voa.update" + } + } + }, + "description": "Update NDU VOA", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU port VOA data" + } + }, + "/ndus/{nduId}/lineptps": { + "get": { + "operationId": "getNduLinePtps", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.linePtp" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU line ports" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU line ports" + } + }, + "/ndus/{nduId}/lineptps/{nduLinePtpColId}": { + "get": { + "operationId": "getNduLinePtpByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduLinePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.linePtp" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU line port data" + } + }, + "/ndus/{nduId}/lineptps/{nduLinePtpColId}/carriers": { + "get": { + "operationId": "getNduLinePtpCarriers", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduLinePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.linePtp.carrier" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU line port carriers" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU line port carriers" + } + }, + "/ndus/{nduId}/lineptps/{nduLinePtpColId}/carriers/{nduCarrierColId}": { + "get": { + "operationId": "getNduLinePtpCarrierByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Line port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduLinePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Carrier identifier within NDU line port.", + "explode": false, + "in": "path", + "name": "nduCarrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.linePtp.carrier" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU line port carrier data" + } + }, + "/ndus/{nduId}/tribPtps": { + "get": { + "operationId": "getNduTribPtps", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.tribPtp" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU tributary ports" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU tributary ports" + } + }, + "/ndus/{nduId}/tribPtps/{nduTribPtpColId}": { + "get": { + "operationId": "getNduTribPtpByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Triburaty port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduTribPtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.tribPtp" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU tributary port data" + }, + "put": { + "operationId": "UpdateNduTribPtp", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Triburaty port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduTribPtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.tribPtp.update" + } + } + }, + "description": "Update NDU tributary port", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU tributary port data" + } + }, + "/ndus/{nduId}/otus": { + "get": { + "operationId": "getNduOtus", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.otu" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU OTUs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU OTUs" + } + }, + "/ndus/{nduId}/otus/{nduOtuColId}": { + "get": { + "operationId": "getNduOtuByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOtuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.otu" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU OTU data" + }, + "put": { + "operationId": "updateNduOtu", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOtuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.otu.update" + } + } + }, + "description": "Update NDU OTU", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU OTU data" + } + }, + "/ndus/{nduId}/otus/{nduOtuColId}/odus": { + "get": { + "operationId": "getNduOdus", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOtuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.otu.odu" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of ODUs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of ODUs from a NDU OTU" + } + }, + "/ndus/{nduId}/otus/{nduOtuColId}/odus/{nduOduColId}": { + "get": { + "operationId": "getNduOduByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "OTU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOtuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "ODU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOduColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.otu.odu" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific ODU data from a NDU OTU" + } + }, + "/ndus/{nduId}/ethernetClients": { + "get": { + "operationId": "getNduEthernetClients", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.ethernetClient" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU ethernet clients" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU ethernet clients" + } + }, + "/ndus/{nduId}/ethernetClients/{nduEthernetColId}": { + "get": { + "operationId": "getNduEthernetClientByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Ethernet client signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduEthernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.ethernetClient" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU ethernet client data" + }, + "put": { + "operationId": "updateNduEthernetClient", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Ethernet client signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduEthernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.ethernetClient.update" + } + } + }, + "description": "Update NDU Ethernet client", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU Ethernet client data" + } + }, + "/ndus/{nduId}/trails": { + "get": { + "operationId": "getNduTrails", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.trail" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU trails" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU trail" + } + }, + "/ndus/{nduId}/trails/{nduTrailColId}": { + "get": { + "operationId": "getNduTrailByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Trail identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduTrailColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.trail" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU ethernetClient data" + } + }, + "/ndus/{nduId}/fans": { + "get": { + "operationId": "getNduFans", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/cm.ndu.fan" + }, + "type": "array" + } + } + }, + "description": "Successful response containing an array of NDU fan modules" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU fan modules" + } + }, + "/ndus/{nduId}/fans/{nduFanColId}": { + "get": { + "operationId": "getNduFanByID", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Fan identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduFanColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.fan" + } + } + }, + "description": "Successful" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve specific NDU fan module data" + } + }, + "/ndus/{nduId}/pem": { + "get": { + "operationId": "getNduPem", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.pem" + } + } + }, + "description": "Successful response containing an NDU pem module" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU pem module" + }, + "put": { + "operationId": "updateNduPem", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.pem.update" + } + } + }, + "description": "Update NDU PEM", + "required": true + }, + "responses": { + "202": { + "description": "Request has been accepted for processing, but the processing has not been completed." + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Update NDU PEM data" + } + }, + "/ndus/{nduId}/leds": { + "get": { + "operationId": "getNduLeds", + "parameters": [ + { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + { + "description": "Query content type\n- 'base' indicates response payload links are not resolved.\n- 'all' indicates that response payload is resolved (i.e. resource representation) and links are not resolved.\n- 'expanded' indicates that response payload and links are resolved\n", + "in": "query", + "name": "content", + "required": false, + "schema": { + "default": "base", + "enum": [ + "base", + "all", + "expanded" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/cm.ndu.leds" + } + } + }, + "description": "Successful response containing an NDU LEDs" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "BadRequest" + }, + "401": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Unauthorized" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Not Found" + }, + "503": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Service Unavailable" + }, + "504": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/errors" + } + } + }, + "description": "Gateway Timeout" + } + }, + "summary": "Retrieve list of all NDU LEDs" + } + } + }, + "components": { + "parameters": { + "moduleId": { + "description": "Module identifier.", + "explode": false, + "in": "path", + "name": "moduleId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "linePtpColId": { + "description": "Line port identifier within module.", + "explode": false, + "in": "path", + "name": "linePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "carrierColId": { + "description": "Carrier identifier within module line port.", + "explode": false, + "in": "path", + "name": "carrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "dscgColId": { + "description": "DSCG identifier within module carrier.", + "explode": false, + "in": "path", + "name": "dscgColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "dscColId": { + "description": "DSC identifier within module carrier.", + "explode": false, + "in": "path", + "name": "dscColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "otuColId": { + "description": "OTU signal identifier within module.", + "explode": false, + "in": "path", + "name": "otuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "oduColId": { + "description": "ODU signal identifier within module.", + "explode": false, + "in": "path", + "name": "oduColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "ethernetColId": { + "description": "Ethernet client signal identifier within module.", + "explode": false, + "in": "path", + "name": "ethernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "hostNeighborColId": { + "description": "hostNeighbor data identifier.", + "explode": false, + "in": "path", + "name": "hostNeighborColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "ethernetLldpColId": { + "description": "ethernet LLDP data identifier.", + "explode": false, + "in": "path", + "name": "ethernetLldpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "lcColId": { + "description": "local connection identifier within module.", + "explode": false, + "in": "path", + "name": "lcColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "acColId": { + "description": "attachment circuit identifier within module client ethernet interface.", + "explode": false, + "in": "path", + "name": "acColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "deviceIdx": { + "description": "Index into the device list", + "explode": false, + "in": "path", + "name": "deviceIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "actionId": { + "description": "Software control action identifier within the sw action list", + "explode": false, + "in": "path", + "name": "actionId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "moduleActionId": { + "description": "Software control action identifier within the module sw action list", + "explode": false, + "in": "path", + "name": "moduleActionId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "deviceId": { + "description": "Device identifier (XR pluggable module or NDU).", + "explode": false, + "in": "path", + "name": "deviceId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "swBankColId": { + "description": "Software bank identifier within module.\n- '1': Refers to Bank A\n- '2': Refers to Bank B\n", + "explode": false, + "in": "path", + "name": "swBankColId", + "required": true, + "schema": { + "format": "int64", + "type": "integer" + }, + "style": "simple" + }, + "ncId": { + "description": "Connection identifier within the connection list", + "explode": false, + "in": "path", + "name": "ncId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "epId": { + "description": "Endpoint identifier within the transport-connection", + "explode": false, + "in": "path", + "name": "epId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "lcId": { + "description": "Local connection identifier within the connection scope", + "explode": false, + "in": "path", + "name": "lcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "acId": { + "description": "Attachment circuit identifier within the connection scope", + "explode": false, + "in": "path", + "name": "acId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "networkId": { + "description": "Index into the xr-network list", + "explode": false, + "in": "path", + "name": "networkId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "nodeId": { + "description": "Index of leaf module into xr-network list", + "explode": false, + "in": "path", + "name": "nodeId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "tcId": { + "description": "Index into the transport-connection list", + "explode": false, + "in": "path", + "name": "tcId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "clId": { + "description": "Index into the capacity-link list", + "explode": false, + "in": "path", + "name": "clId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "subscriptionIdx": { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "subscriptionIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "hostId": { + "description": "Index into the Hosts list", + "explode": false, + "in": "path", + "name": "hostId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "portIdx": { + "description": "Index into the Ports list", + "explode": false, + "in": "path", + "name": "portIdx", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "nduId": { + "description": "NDU identifier.", + "explode": false, + "in": "path", + "name": "nduId", + "required": true, + "schema": { + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "type": "string" + }, + "style": "simple" + }, + "nduPortColId": { + "description": "NDU port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduPortColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduTomColId": { + "description": "Tom identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduTomColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduXrColId": { + "description": "XR pluggable identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduXrColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduEdfaColId": { + "description": "Edfa identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduEdfaColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduVoaColId": { + "description": "VOA identifier within NDU port.", + "explode": false, + "in": "path", + "name": "nduVoaColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduLinePtpColId": { + "description": "Line port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduLinePtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduTribPtpColId": { + "description": "Triburaty port identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduTribPtpColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduCarrierColId": { + "description": "Carrier identifier within NDU line port.", + "explode": false, + "in": "path", + "name": "nduCarrierColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduOtuColId": { + "description": "OTU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOtuColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduOduColId": { + "description": "ODU signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduOduColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduEthernetColId": { + "description": "Ethernet client signal identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduEthernetColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduTrailColId": { + "description": "Trail identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduTrailColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + }, + "nduFanColId": { + "description": "Fan identifier within NDU.", + "explode": false, + "in": "path", + "name": "nduFanColId", + "required": true, + "schema": { + "type": "integer" + }, + "style": "simple" + } + }, + "schemas": { + "cm.module": { + "description": "Definition of host object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.module.config" + }, + "state": { + "$ref": "#/components/schemas/cm.module.state" + }, + "linePtps": { + "$ref": "#/components/schemas/cm.module.linePtps" + }, + "otus": { + "$ref": "#/components/schemas/cm.module.otus" + }, + "ethernetClients": { + "$ref": "#/components/schemas/cm.module.ethernetClients" + }, + "localConnections": { + "$ref": "#/components/schemas/cm.module.localConnections" + } + } + }, + "cm.module.config": { + "additionalProperties": false, + "description": "Definition of module configurable parameters", + "properties": { + "moduleName": { + "$ref": "#/components/schemas/cm.module.parameters.moduleName" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.module.state": { + "description": "Definition of module state object", + "properties": { + "moduleName": { + "$ref": "#/components/schemas/xr.device.n" + }, + "moduleAid": { + "$ref": "#/components/schemas/xr.device.aid" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + }, + "configuredRole": { + "$ref": "#/components/schemas/xr.configuration.configuredRole" + }, + "currentRole": { + "$ref": "#/components/schemas/xr.configuration.currentRole" + }, + "roleStatus": { + "$ref": "#/components/schemas/xr.configuration.roleStatus" + }, + "trafficMode": { + "$ref": "#/components/schemas/xr.configuration.trafficMode" + }, + "serdesRate": { + "$ref": "#/components/schemas/xr.configuration.serdesRate" + }, + "fiberConnectionMode": { + "$ref": "#/components/schemas/xr.configuration.fiberConnectionMode" + }, + "tcMode": { + "$ref": "#/components/schemas/xr.configuration.tcMode" + }, + "connectivityState": { + "$ref": "#/components/schemas/cm.module.parameters.connectivityState" + }, + "hwDescription": { + "$ref": "#/components/schemas/cm.module.state.hwDescription" + } + } + }, + "cm.module.state.hwDescription": { + "description": "Definition of module platform properties", + "properties": { + "pi": { + "$ref": "#/components/schemas/xr.platform.pi" + }, + "mnfv": { + "$ref": "#/components/schemas/xr.platform.mnfv" + }, + "mnmn": { + "$ref": "#/components/schemas/xr.platform.mnmn" + }, + "mnmo": { + "$ref": "#/components/schemas/xr.platform.mnmo" + }, + "mnhw": { + "$ref": "#/components/schemas/xr.platform.mnhw" + }, + "mndt": { + "$ref": "#/components/schemas/xr.platform.mndt" + }, + "serialNumber": { + "$ref": "#/components/schemas/xr.platform.mnsel" + }, + "clei": { + "$ref": "#/components/schemas/xr.platform.clei" + }, + "macAddress": { + "$ref": "#/components/schemas/xr.platform.macAddress" + }, + "connectorType": { + "$ref": "#/components/schemas/xr.platform.connectorType" + }, + "formFactor": { + "$ref": "#/components/schemas/xr.platform.formFactor" + }, + "piid": { + "$ref": "#/components/schemas/xr.device.piid" + }, + "dmn": { + "$ref": "#/components/schemas/xr.device.dmn" + }, + "sv": { + "$ref": "#/components/schemas/xr.device.sv" + }, + "icv": { + "$ref": "#/components/schemas/xr.device.icv" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "hwDescription" + } + }, + "cm.module.parameters.moduleName": { + "description": "Property to change the device name. This is also reflected in the same property in oic.wk.d", + "maxLength": 64, + "title": "Device name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleName" + } + }, + "cm.module.parameters.connectivityState": { + "description": "The CM connectivity state between the CM and the device.", + "enum": [ + "active", + "inactive" + ], + "title": "Connectivity state", + "type": "string", + "x-enum-varnames": [ + "Active", + "Inactive" + ], + "x-oapi-codegen-extra-tags": { + "bson": "connectivityState" + } + }, + "cm.module.update": { + "additionalProperties": false, + "description": "Definition of module editable parameters", + "minProperties": 1, + "properties": { + "moduleName": { + "$ref": "#/components/schemas/cm.module.parameters.moduleName" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.module.linePtp": { + "description": "Definition of module line port object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.module.linePtp.config" + }, + "state": { + "$ref": "#/components/schemas/cm.module.linePtp.state" + }, + "carriers": { + "$ref": "#/components/schemas/cm.module.linePtp.carriers" + } + } + }, + "cm.module.linePtps": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "linePtps" + } + }, + "cm.module.linePtp.config": { + "additionalProperties": false, + "description": "Definition of module port configurable parameters", + "properties": { + "administrativeState": { + "$ref": "#/components/schemas/cm.module.linePtp.parameters.administrativeState" + } + }, + "type": "object" + }, + "cm.module.linePtp.state": { + "description": "Definition of module line port state object", + "properties": { + "linePtpAid": { + "$ref": "#/components/schemas/xr.lineptp.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.lineptp.parentAid" + }, + "administrativeState": { + "$ref": "#/components/schemas/cm.module.linePtp.parameters.administrativeState" + }, + "operStatus": { + "$ref": "#/components/schemas/xr.lineptp.operStatus" + }, + "discoveredNeighbors": { + "$ref": "#/components/schemas/cm.module.linePtp.discoveredNeighbors" + }, + "ctrlPlaneNeighbors": { + "$ref": "#/components/schemas/cm.module.linePtp.ctrlPlaneNeighbors" + } + }, + "type": "object" + }, + "cm.module.linePtp.ctrlPlaneNeighbor": { + "properties": { + "macAddress": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.macAddress" + }, + "currentRole": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.currentRole" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.constellationFrequency" + }, + "conState": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.conState" + }, + "lastConStateChange": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.lastConStateChange" + } + } + }, + "cm.module.linePtp.ctrlPlaneNeighbors": { + "description": "Array of XR modules to which control plane connectivity is, or has been, established.", + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.ctrlPlaneNeighbor" + }, + "maxItems": 20, + "minItems": 0, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "ctrlPlaneNeighbors" + } + }, + "cm.module.linePtp.discoveredNeighbor": { + "properties": { + "macAddress": { + "$ref": "#/components/schemas/xr.discovered.neighbor.macAddress" + }, + "currentRole": { + "$ref": "#/components/schemas/xr.discovered.neighbor.currentRole" + }, + "discoveredTime": { + "$ref": "#/components/schemas/xr.discovered.neighbor.discoveredTime" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/xr.discovered.neighbor.constellationFrequency" + } + } + }, + "cm.module.linePtp.discoveredNeighbors": { + "description": "Array of XR modules discovered in the last performed fast scan.\nEntities in the ctrlPlaneNeighbors array will not be shown here.\n", + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.discoveredNeighbor" + }, + "maxItems": 10, + "minItems": 0, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "discoveredNeighbors" + } + }, + "cm.module.linePtp.parameters.administrativeState": { + "description": "Configurable admin state of the line side port", + "enum": [ + "lock", + "unlock", + "maintenance" + ], + "title": "Administrative State", + "type": "string", + "x-enum-varnames": [ + "Lock", + "Unlock", + "Maintenance" + ], + "x-oapi-codegen-extra-tags": { + "bson": "administrativeState" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.update": { + "additionalProperties": false, + "description": "Definition of module line port editable parameters", + "minProperties": 1, + "properties": { + "administrativeState": { + "$ref": "#/components/schemas/cm.module.linePtp.parameters.administrativeState" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier": { + "description": "Definition of module carrier object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.config" + }, + "state": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.state" + }, + "dscgs": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscgs" + }, + "dscs": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscs" + } + } + }, + "cm.module.linePtp.carriers": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "carriers" + } + }, + "cm.module.linePtp.carrier.config": { + "description": "Definition of module carrier configurable parameters", + "properties": { + "loopback": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.parameters.loopback" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.state": { + "description": "Definition of module carrier state object", + "properties": { + "carrierAid": { + "$ref": "#/components/schemas/xr.carrier.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.carrier.parentAid" + }, + "frequencyCtrl": { + "$ref": "#/components/schemas/xr.carrier.frequencyCtrl" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/xr.carrier.constellationFrequency" + }, + "operatingFrequency": { + "$ref": "#/components/schemas/xr.carrier.operatingFrequency" + }, + "ncoFrequency": { + "$ref": "#/components/schemas/xr.carrier.ncoFrequency" + }, + "modulation": { + "$ref": "#/components/schemas/xr.carrier.modulation" + }, + "capacity": { + "$ref": "#/components/schemas/xr.carrier.capacity" + }, + "clientPortMode": { + "$ref": "#/components/schemas/xr.carrier.clientPortMode" + }, + "baudRate": { + "$ref": "#/components/schemas/xr.carrier.baudRate" + }, + "maxAllowedDSCs": { + "$ref": "#/components/schemas/xr.carrier.maxAllowedDSCs" + }, + "txPowerTargetPerDsc": { + "$ref": "#/components/schemas/xr.carrier.txPowerTargetPerDsc" + }, + "loopback": { + "$ref": "#/components/schemas/xr.carrier.diagnostic.loopback" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.parameters.loopback": { + "default": "disabled", + "description": "Enable/Disable loopback", + "enum": [ + "disabled", + "terminal" + ], + "title": "Loopback", + "type": "string", + "x-enum-varnames": [ + "Disabled", + "Terminal" + ], + "x-oapi-codegen-extra-tags": { + "bson": "loopback" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.update": { + "additionalProperties": false, + "description": "Definition of module carrier editable parameters", + "minProperties": 1, + "properties": { + "loopback": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.parameters.loopback" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.dsc": { + "description": "Definition of module dsc object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.config" + }, + "state": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.state" + } + } + }, + "cm.module.linePtp.carrier.dscs": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "dscs" + } + }, + "cm.module.linePtp.carrier.dsc.config": { + "additionalProperties": false, + "description": "Definition of module dsc configurable parameters", + "properties": { + "usability": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.usability" + }, + "txEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.txEnabled" + }, + "rxEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.rxEnabled" + }, + "facPRBSGenEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.facPRBSGenEnabled" + }, + "facPRBSMonEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.facPRBSMonEnabled" + }, + "powerOffset": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.powerOffset" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.dsc.state": { + "description": "Definition of module dsc state object", + "properties": { + "dscAid": { + "$ref": "#/components/schemas/xr.carrier.dsc.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.carrier.dsc.parentAid" + }, + "cDsc": { + "$ref": "#/components/schemas/xr.carrier.dsc.cDsc" + }, + "usability": { + "$ref": "#/components/schemas/xr.carrier.dsc.usability" + }, + "txEnabled": { + "$ref": "#/components/schemas/xr.carrier.dsc.txEnabled" + }, + "rxEnabled": { + "$ref": "#/components/schemas/xr.carrier.dsc.rxEnabled" + }, + "txStatus": { + "$ref": "#/components/schemas/xr.carrier.dsc.txStatus" + }, + "rxStatus": { + "$ref": "#/components/schemas/xr.carrier.dsc.rxStatus" + }, + "powerOffset": { + "$ref": "#/components/schemas/xr.carrier.dsc.powerOffset" + }, + "facPRBSGenEnabled": { + "$ref": "#/components/schemas/xr.carrier.dsc.diagnostic.facPRBSGenEnabled" + }, + "facPRBSMonEnabled": { + "$ref": "#/components/schemas/xr.carrier.dsc.diagnostic.facPRBSMonEnabled" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.dsc.parameters.usability": { + "default": "usable", + "description": "Usability of this DSC. Configurable to control the allowed uses.\n * `usable` - DSC is usable for either PRBS or data.\n * `prbsOnly` - DSC is usable only for PRBS. This is done for optical power balancing reasons.\n * `reserved` - DSC is reserved and is not usable for either PRBS or data.\n", + "enum": [ + "usable", + "prbsOnly", + "reserved" + ], + "title": "Usability", + "type": "string", + "x-enum-varnames": [ + "Usable", + "PRBS only", + "Reserved" + ], + "x-oapi-codegen-extra-tags": { + "bson": "usability" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.dsc.parameters.txEnabled": { + "default": false, + "description": "Configurable to enable/disable Tx transmission on this DSC. \nWhen disabled, this prevents any traffic from going out of the DSC.\n", + "title": "TX Enabled", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "txEnabled" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.dsc.parameters.rxEnabled": { + "default": true, + "description": "Configurable to enable/disable the DSC to receive traffic.", + "title": "Rx Enabled", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "rxEnabled" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.dsc.parameters.facPRBSGenEnabled": { + "default": false, + "description": "Configurable to enable/disable facility PRBS test pattern generation", + "title": "Facility PRBS generation", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSGenEnabled" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.dsc.parameters.facPRBSMonEnabled": { + "default": false, + "description": "Configurable to enable/disable facility PRBS test pattern monitoring", + "title": "Facility PRBS monitoring", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSMonEnabled" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.dsc.parameters.powerOffset": { + "default": 0, + "description": "Power offset relative to the average DSC power.", + "format": "double", + "maximum": 6, + "minimum": -6, + "multipleOf": 0.1, + "title": "Power offset", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "powerOffset" + }, + "x-trafficAffecting": true + }, + "cm.module.linePtp.carrier.dsc.update": { + "additionalProperties": false, + "description": "Definition of module dsc editable parameters", + "minProperties": 1, + "properties": { + "usability": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.usability" + }, + "txEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.txEnabled" + }, + "rxEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.rxEnabled" + }, + "facPRBSGenEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.facPRBSGenEnabled" + }, + "facPRBSMonEnabled": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.facPRBSMonEnabled" + }, + "powerOffset": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dsc.parameters.powerOffset" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.dscg": { + "description": "Definition of module dscg object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscg.state" + } + } + }, + "cm.module.linePtp.carrier.dscgs": { + "items": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscg" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "dscgs" + } + }, + "cm.module.linePtp.carrier.dscg.state": { + "description": "Definition of module dscg state object", + "properties": { + "dscgAid": { + "$ref": "#/components/schemas/xr.carrier.dscg.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.carrier.dscg.parentAid" + }, + "txDSCs": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscg.txDSCs" + }, + "rxDSCs": { + "$ref": "#/components/schemas/cm.module.linePtp.carrier.dscg.rxDSCs" + } + }, + "type": "object" + }, + "cm.module.linePtp.carrier.dscg.txDSCs": { + "items": { + "$ref": "#/components/schemas/xr.carrier.dsc.aid" + }, + "maxItems": 16, + "minItems": 0, + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "txDSCs" + } + }, + "cm.module.linePtp.carrier.dscg.rxDSCs": { + "items": { + "$ref": "#/components/schemas/xr.carrier.dsc.aid" + }, + "maxItems": 16, + "minItems": 0, + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "rxDSCs" + } + }, + "cm.module.otu": { + "description": "Definition of module otu object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.module.otu.config" + }, + "state": { + "$ref": "#/components/schemas/cm.module.otu.state" + }, + "odus": { + "$ref": "#/components/schemas/cm.module.odus" + } + } + }, + "cm.module.otus": { + "items": { + "$ref": "#/components/schemas/cm.module.otu" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "otus" + } + }, + "cm.module.otu.config": { + "additionalProperties": false, + "description": "Definition of module otu configurable parameters", + "properties": { + "txTTI": { + "$ref": "#/components/schemas/cm.module.otu.parameters.txTTI" + }, + "expectedTTI": { + "$ref": "#/components/schemas/cm.module.otu.parameters.expectedTTI" + }, + "facPRBSGen": { + "$ref": "#/components/schemas/cm.module.otu.parameters.facPRBSGen" + }, + "facPRBSMon": { + "$ref": "#/components/schemas/cm.module.otu.parameters.facPRBSMon" + } + }, + "type": "object" + }, + "cm.module.otu.state": { + "description": "Definition of module otu state object", + "properties": { + "otuAid": { + "$ref": "#/components/schemas/xr.otu.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.otu.parentAid" + }, + "otuType": { + "$ref": "#/components/schemas/xr.otu.otuType" + }, + "rate": { + "$ref": "#/components/schemas/xr.otu.rate" + }, + "operStatus": { + "$ref": "#/components/schemas/xr.otu.operStatus" + }, + "txTTI": { + "$ref": "#/components/schemas/xr.otu.txTTI" + }, + "rxTTI": { + "$ref": "#/components/schemas/xr.otu.rxTTI" + }, + "expectedTTI": { + "$ref": "#/components/schemas/xr.otu.expectedTTI" + }, + "facPRBSGen": { + "$ref": "#/components/schemas/xr.otu.diagnostic.facPRBSGen" + }, + "facPRBSMon": { + "$ref": "#/components/schemas/xr.otu.diagnostic.facPRBSMon" + } + }, + "type": "object" + }, + "cm.module.otu.parameters.txTTI": { + "default": "", + "description": "Up to 64 byte string for transmitting as TTI.", + "maxLength": 64, + "title": "Transmit TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "txTTI" + } + }, + "cm.module.otu.parameters.expectedTTI": { + "default": "", + "description": "Up to 64 byte string of TTI that is expected to be received.", + "maxLength": 64, + "title": "Expected TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "expectedTTI" + } + }, + "cm.module.otu.parameters.facPRBSGen": { + "default": "disabled", + "description": "Enable/Disable facility PRBS test pattern generation", + "enum": [ + "enabled", + "disabled" + ], + "title": "Facility PRBS generation", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSGen" + }, + "x-trafficAffecting": true + }, + "cm.module.otu.parameters.facPRBSMon": { + "default": "disabled", + "description": "Enable/Disable facility PRBS test pattern monitoring", + "enum": [ + "enabled", + "disabled" + ], + "title": "Facility PRBS monitoring", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSMon" + }, + "x-trafficAffecting": true + }, + "cm.module.otu.update": { + "additionalProperties": false, + "description": "Definition of module otu editable parameters", + "minProperties": 1, + "properties": { + "txTTI": { + "$ref": "#/components/schemas/cm.module.otu.parameters.txTTI" + }, + "expectedTTI": { + "$ref": "#/components/schemas/cm.module.otu.parameters.expectedTTI" + }, + "facPRBSGen": { + "$ref": "#/components/schemas/cm.module.otu.parameters.facPRBSGen" + }, + "facPRBSMon": { + "$ref": "#/components/schemas/cm.module.otu.parameters.facPRBSMon" + } + }, + "type": "object" + }, + "cm.module.odu": { + "description": "Definition of module odu object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.module.odu.state" + } + } + }, + "cm.module.odus": { + "items": { + "$ref": "#/components/schemas/cm.module.odu" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "odus" + } + }, + "cm.module.odu.state": { + "description": "Definition of module odu state object", + "properties": { + "oduAid": { + "$ref": "#/components/schemas/xr.otu.odu.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.otu.odu.parentAid" + }, + "oduType": { + "$ref": "#/components/schemas/xr.otu.odu.oduType" + }, + "operStatus": { + "$ref": "#/components/schemas/xr.otu.odu.operStatus" + } + } + }, + "cm.module.ethernetClient": { + "description": "Definition of module ethernetClient object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.module.ethernetClient.config" + }, + "state": { + "$ref": "#/components/schemas/cm.module.ethernetClient.state" + }, + "acs": { + "$ref": "#/components/schemas/cm.module.ethernetClient.acs" + } + } + }, + "cm.module.ethernetClients": { + "items": { + "$ref": "#/components/schemas/cm.module.ethernetClient" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "ethernetClients" + } + }, + "cm.module.ethernetClient.config": { + "additionalProperties": false, + "description": "Definition of module ethernetClient configuration object", + "properties": { + "fecMode": { + "$ref": "#/components/schemas/cm.module.ethernetClient.parameters.fecMode" + }, + "loopbackType": { + "$ref": "#/components/schemas/cm.module.ethernetClient.parameters.loopbackType" + }, + "loopbackMode": { + "$ref": "#/components/schemas/cm.module.ethernetClient.parameters.loopbackMode" + }, + "lldp": { + "$ref": "#/components/schemas/cm.module.ethernetClient.config.lldp" + } + }, + "type": "object" + }, + "cm.module.ethernetClient.config.lldp": { + "additionalProperties": false, + "description": "Definition of module ethernetClient ethernetLLDP configurable parameters", + "properties": { + "adminStatus": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.adminStatus" + }, + "gccFwd": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.gccFwd" + }, + "hostRxDrop": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.hostRxDrop" + }, + "TTLUsage": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.TTLUsage" + }, + "clrStats": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.clrStats" + }, + "flushHostDb": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.flushHostDb" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "lldp" + } + }, + "cm.module.ethernetClient.state": { + "description": "Definition of module ethernetClient state parameters", + "properties": { + "clientIfAid": { + "$ref": "#/components/schemas/xr.ethernet.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ethernet.parentAid" + }, + "clientIfPortSpeed": { + "$ref": "#/components/schemas/xr.ethernet.portSpeed" + }, + "fecType": { + "$ref": "#/components/schemas/xr.ethernet.fecType" + }, + "fecMode": { + "$ref": "#/components/schemas/xr.ethernet.fecMode" + }, + "loopbackType": { + "$ref": "#/components/schemas/xr.ethernet.diagnostic.loopbackType" + }, + "loopbackMode": { + "$ref": "#/components/schemas/xr.ethernet.diagnostic.loopbackMode" + }, + "lldp": { + "$ref": "#/components/schemas/cm.module.ethernetClient.state.lldp" + } + }, + "type": "object" + }, + "cm.module.ethernetClient.state.lldp": { + "description": "Definition of module ethernetClient ethernetLLDP state parameters", + "properties": { + "lldpconfigAid": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.parentAid" + }, + "adminStatus": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.adminStatus" + }, + "gccFwd": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.gccFwd" + }, + "hostRxDrop": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.hostRxDrop" + }, + "TTLUsage": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.TTLUsage" + }, + "tooManyNeighbors": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.tooManyNeighbors" + }, + "clrStats": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.clrStats" + }, + "flushHostDb": { + "$ref": "#/components/schemas/xr.ethernet.lldpconfig.flushHostDb" + }, + "neighbors": { + "$ref": "#/components/schemas/cm.module.ethernetClient.state.lldp.neighbors" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "lldp" + } + }, + "cm.module.ethernetClient.state.lldp.neighbors": { + "items": { + "$ref": "#/components/schemas/cm.module.ethernetClient.state.lldp.neighbor" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "neighbors" + } + }, + "cm.module.ethernetClient.state.lldp.neighbor": { + "description": "Definition of module host neighbors state parameters", + "properties": { + "hostneighborAid": { + "$ref": "#/components/schemas/xr.ethernet.hostneighbors.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ethernet.hostneighbors.parentAid" + }, + "portSourceMAC": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.localPortSourceMAC" + }, + "chassisIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisIdSubtype" + }, + "chassisId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisId" + }, + "portIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portIdSubtype" + }, + "portId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portId" + }, + "portDescr": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portDescr" + }, + "sysName": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysName" + }, + "sysDescr": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysDescr" + }, + "sysTTL": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysTTL" + }, + "lldpPDU": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.lldpPDU" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "neighbor" + } + }, + "cm.module.ethernetClient.parameters.fecMode": { + "default": "enabled", + "description": "Forward error correction mode of operation", + "enum": [ + "enabled", + "disabled" + ], + "title": "Forward error correction mode", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "fecMode" + }, + "x-trafficAffecting": true + }, + "cm.module.ethernetClient.parameters.loopbackType": { + "default": "loopbackAndContinue", + "description": "Loopback type.\n* `loopbackAndContinue` - Signal is looped back and is also forwarded downstream.\n* `loopback` - Signal is looped back and LF maintenance signal is sent downstream.\n", + "enum": [ + "loopbackAndContinue", + "loopback" + ], + "title": "Loopback type", + "type": "string", + "x-enum-varnames": [ + "Loopback and continue", + "Loopback" + ], + "x-oapi-codegen-extra-tags": { + "bson": "loopbackType" + } + }, + "cm.module.ethernetClient.parameters.loopbackMode": { + "default": "disabled", + "description": "Post-FEC Loopback mode for the ethernet client.", + "enum": [ + "disabled", + "facility", + "terminal" + ], + "title": "Loopback mode", + "type": "string", + "x-enum-varnames": [ + "Disabled", + "Facility", + "Terminal" + ], + "x-oapi-codegen-extra-tags": { + "bson": "loopbackMode" + }, + "x-trafficAffecting": true + }, + "cm.module.ethernetClient.ethernetLLDP.parameters.adminStatus": { + "default": "disabled", + "description": "Administrative state to Enable/Disable LLDP in rxOnly mode.", + "enum": [ + "rxOnly", + "disabled" + ], + "title": "Admin state", + "type": "string", + "x-enum-varnames": [ + "RX only", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "adminStatus" + } + }, + "cm.module.ethernetClient.ethernetLLDP.parameters.gccFwd": { + "default": false, + "description": "Enable/Disable forwarding of untagged LLDP frames over GCC.\n * `true` - Enabled.\n * `false` - Disabled.\n", + "title": "Forward GCC", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "gccFwd" + } + }, + "cm.module.ethernetClient.ethernetLLDP.parameters.hostRxDrop": { + "default": false, + "description": "Enable/Disable LLDP drop in Rx direction of Ethernet Client ports.\n * `true`: - Enabled.\n * `false`: - Disabled.\n", + "title": "LLDP drop", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "hostRxDrop" + } + }, + "cm.module.ethernetClient.ethernetLLDP.parameters.TTLUsage": { + "default": true, + "description": "Enable/Disable usage of TTL values for flushing/starting LLDP internal flush timer.\n * `true`: - Enabled.\n * `false`: - Disabled.\n", + "title": "TTL usage", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "TTLUsage" + } + }, + "cm.module.ethernetClient.ethernetLLDP.parameters.clrStats": { + "default": false, + "description": "Action to clear LLDP statistics. Set to true to trigger the action. Server resets it to false when action is completed.", + "title": "Clear LLDP statistics", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "clrStats" + } + }, + "cm.module.ethernetClient.ethernetLLDP.parameters.flushHostDb": { + "default": false, + "description": "Action to flush the learned host system information. Set to true to trigger the action. Server resets it to false when action is completed.", + "title": "Flush neighbor information", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "flushHostDb" + } + }, + "cm.module.ethernetClient.update": { + "additionalProperties": false, + "description": "Definition of module ethernetClient editable object", + "minProperties": 1, + "properties": { + "fecMode": { + "$ref": "#/components/schemas/cm.module.ethernetClient.parameters.fecMode" + }, + "loopbackType": { + "$ref": "#/components/schemas/cm.module.ethernetClient.parameters.loopbackType" + }, + "loopbackMode": { + "$ref": "#/components/schemas/cm.module.ethernetClient.parameters.loopbackMode" + }, + "lldp": { + "$ref": "#/components/schemas/cm.module.ethernetClient.update.lldp" + } + }, + "type": "object" + }, + "cm.module.ethernetClient.update.lldp": { + "additionalProperties": false, + "description": "Definition of module ethernetClient lldp editable parameters", + "minProperties": 1, + "properties": { + "adminStatus": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.adminStatus" + }, + "gccFwd": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.gccFwd" + }, + "hostRxDrop": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.hostRxDrop" + }, + "TTLUsage": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.TTLUsage" + }, + "clrStats": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.clrStats" + }, + "flushHostDb": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ethernetLLDP.parameters.flushHostDb" + } + }, + "type": "object" + }, + "cm.module.ethernetClient.ac": { + "description": "Definition of module ethernetClient attachmentCircuit object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.module.ethernetClient.attachmentCircuit.state" + } + } + }, + "cm.module.ethernetClient.acs": { + "items": { + "$ref": "#/components/schemas/cm.module.ethernetClient.ac" + }, + "maxItems": 16, + "minItems": 0, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "acs" + } + }, + "cm.module.ethernetClient.attachmentCircuit.state": { + "description": "Definition of module ethernet client attachment circuit state parameters", + "properties": { + "attachmentCircuitAid": { + "$ref": "#/components/schemas/xr.ethernet.ac.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ethernet.ac.parentAid" + }, + "capacity": { + "$ref": "#/components/schemas/xr.ethernet.ac.capacity" + }, + "imc": { + "$ref": "#/components/schemas/xr.ethernet.ac.imc" + }, + "imcOuterVID": { + "$ref": "#/components/schemas/xr.ethernet.ac.imcOuterVID" + }, + "emc": { + "$ref": "#/components/schemas/xr.ethernet.ac.emc" + }, + "emcOuterVID": { + "$ref": "#/components/schemas/xr.ethernet.ac.emcOuterVID" + } + }, + "type": "object" + }, + "cm.module.localConnection": { + "description": "Definition of module localConnection object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.module.localConnection.state" + } + } + }, + "cm.module.localConnections": { + "items": { + "$ref": "#/components/schemas/cm.module.localConnection" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "localConnections" + } + }, + "cm.module.localConnection.state": { + "description": "Definition of module ethernetClient state parameters", + "properties": { + "lcAid": { + "$ref": "#/components/schemas/xr.lc.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.lc.parentAid" + }, + "direction": { + "$ref": "#/components/schemas/xr.lc.direction" + }, + "clientAid": { + "$ref": "#/components/schemas/xr.lc.clientAid" + }, + "dscgAid": { + "$ref": "#/components/schemas/xr.lc.dscgAid" + }, + "lineAid": { + "$ref": "#/components/schemas/xr.lc.lineAid" + }, + "remoteModuleId": { + "$ref": "#/components/schemas/xr.lc.remoteModuleId" + }, + "remoteClientId": { + "$ref": "#/components/schemas/xr.lc.remoteClientId" + } + } + }, + "errors": { + "properties": { + "errors": { + "description": "List of errors for a given request", + "items": { + "$ref": "#/components/schemas/cm.error" + }, + "type": "array" + } + }, + "type": "object" + }, + "cm.error": { + "description": "Error message.", + "minLength": 1, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "title": "Error Message", + "type": "object" + }, + "cm.parameters.href": { + "description": "Resource HREF", + "title": "ResourceHREF", + "type": "string", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "href" + } + }, + "cm.parameters.rt": { + "description": "Resource Type or set of Resource Types", + "items": { + "maxLength": 64, + "type": "string" + }, + "minItems": 1, + "readOnly": true, + "title": "Resource Type", + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "rt" + } + }, + "cm.parameters.uuid": { + "description": "Object identifier", + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "title": "ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "id" + } + }, + "cm.parameters.labels": { + "additionalProperties": { + "maxLength": 64, + "minLength": 1, + "pattern": "^([A-Za-z0-9_\\-.,: ]*)$", + "type": "string" + }, + "description": "Assign key:value labels to objects", + "title": "Labels", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "labels" + } + }, + "xr.device.n": { + "description": "Friendly name of the device", + "maxLength": 64, + "readOnly": true, + "title": "Module name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleName" + } + }, + "xr.device.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleAid" + } + }, + "xr.configuration.configuredRole": { + "default": "auto", + "description": "Module role configured by user.\nPossible values:\n- auto: When role is automatically assigned by XR or by user via the Host interface\n- hub\n- leaf\n", + "enum": [ + "hub", + "leaf", + "auto" + ], + "title": "Configured Role", + "type": "string", + "x-enum-varnames": [ + "Hub", + "Leaf", + "Auto" + ], + "x-oapi-codegen-extra-tags": { + "bson": "configuredRole" + } + }, + "xr.configuration.currentRole": { + "default": "unknown", + "description": "Current module role\nPossible values:\n- unknown\n- hub\n- leaf\n", + "enum": [ + "hub", + "leaf", + "unknown" + ], + "readOnly": true, + "title": "Current Role", + "type": "string", + "x-enum-varnames": [ + "Hub", + "Leaf", + "Unknown" + ], + "x-oapi-codegen-extra-tags": { + "bson": "currentRole" + } + }, + "xr.configuration.roleStatus": { + "default": "scanning", + "description": "Transitional state when currentRole is unknown or user is changing currentRole to a new role.\nPossible values:\n- scanning\n- changeInProgress\n- ready\n", + "enum": [ + "scanning", + "changeInProgress", + "ready" + ], + "readOnly": true, + "title": "Role Status", + "type": "string", + "x-enum-varnames": [ + "Scanning", + "Change in progress", + "Ready" + ], + "x-oapi-codegen-extra-tags": { + "bson": "roleStatus" + } + }, + "xr.configuration.trafficMode": { + "default": "L1Mode", + "description": "Possible Values:\n- L1Mode: Allows transparent transport of client traffic between XR hub and leaf client ports\n- VTIMode: Allows transport of VLAN flows between an XR hub client port to 1 or more XR leaf client ports\n", + "enum": [ + "L1Mode", + "VTIMode" + ], + "title": "Traffic mode", + "type": "string", + "x-enum-varnames": [ + "L1 mode", + "VTI mode" + ], + "x-oapi-codegen-extra-tags": { + "bson": "trafficMode" + } + }, + "xr.configuration.serdesRate": { + "default": "25", + "description": "Rate of serdes lanes as configured by the Host device in Gbps", + "enum": [ + "undefined", + "25", + "50" + ], + "readOnly": true, + "title": "Serdes lane rate", + "type": "string", + "x-enum-varnames": [ + "Undefined", + "25", + "50" + ], + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "serdesRate" + } + }, + "xr.configuration.fiberConnectionMode": { + "description": "Possible Values:\n- single: only one fiber is connected for by-directional traffic\n- dual: separate fibers for transmit and receive\n", + "enum": [ + "single", + "dual" + ], + "title": "Fiber Mode", + "type": "string", + "x-enum-varnames": [ + "Single", + "Dual" + ], + "x-oapi-codegen-extra-tags": { + "bson": "fiberConnectionMode" + } + }, + "xr.configuration.tcMode": { + "default": true, + "description": "Enable/Disable IEEE 1588 Transparent Clock for VTI-mode.\n- true: Enabled\n- false: Disabled\n", + "title": "1588 Transparent Clock", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "tcMode" + } + }, + "xr.platform.pi": { + "description": "Unique UUID for the hardware platform calculated from the mac address", + "maxLength": 36, + "minLength": 36, + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "readOnly": true, + "title": "Platform UUID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "pi" + } + }, + "xr.platform.mnfv": { + "description": "Manufacturer's firmware version", + "maxLength": 64, + "readOnly": true, + "title": "Firmware version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnfv" + } + }, + "xr.platform.mnmn": { + "description": "Manufacturer name", + "maxLength": 64, + "readOnly": true, + "title": "Manufacturer", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnmn" + } + }, + "xr.platform.mnmo": { + "description": "Manufacturer's Model/Part number", + "maxLength": 64, + "readOnly": true, + "title": "Model number", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnmo" + } + }, + "xr.platform.mnhw": { + "description": "Platform Hardware Version", + "maxLength": 64, + "readOnly": true, + "title": "HW Version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnhw" + } + }, + "xr.platform.mndt": { + "description": "HW Manufacturing date", + "pattern": "([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])", + "readOnly": true, + "title": "Manufacturing date", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mndt" + } + }, + "xr.platform.mnsel": { + "description": "Device Serial number", + "maxLength": 64, + "readOnly": true, + "title": "Serial number", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "serialNumber" + } + }, + "xr.platform.clei": { + "description": "Globally unique 10-character alphanumeric intelligent code identifying equipment in a structured naming format", + "readOnly": true, + "title": "CLEI Code", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clei" + } + }, + "xr.platform.macAddress": { + "description": "Device MAC Address", + "readOnly": true, + "title": "MAC address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "macAddress" + } + }, + "xr.platform.connectorType": { + "description": "Module connector type", + "enum": [ + "lcConnector" + ], + "readOnly": true, + "title": "Connector type", + "type": "string", + "x-enum-varnames": [ + "LC connector" + ], + "x-oapi-codegen-extra-tags": { + "bson": "connectorType" + } + }, + "xr.platform.formFactor": { + "description": "Module form factor", + "enum": [ + "cfp2-dco", + "qsfp-dd" + ], + "readOnly": true, + "title": "Form factor", + "type": "string", + "x-enum-varnames": [ + "CFP2-DCO", + "QSFP-DD" + ], + "x-oapi-codegen-extra-tags": { + "bson": "formFactor" + } + }, + "xr.device.piid": { + "description": "Protocol independent unique identifier for the Device that is immutable.", + "maxLength": 36, + "minLength": 36, + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "readOnly": true, + "title": "PIID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "piid" + } + }, + "xr.device.dmn": { + "properties": { + "language": { + "$ref": "#/components/schemas/xr.device.dmn.language" + }, + "value": { + "$ref": "#/components/schemas/xr.device.dmn.value" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "dmn" + } + }, + "xr.device.dmn.language": { + "description": "Format pattern according to IETF RFC 5646 (language tag).", + "pattern": "[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})", + "title": "Language", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "language" + } + }, + "xr.device.dmn.value": { + "description": "Vendor name", + "maxLength": 64, + "readOnly": true, + "title": "Vendor", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "value" + } + }, + "xr.device.sv": { + "description": "Software version.", + "maxLength": 64, + "readOnly": true, + "title": "Software version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "sv" + } + }, + "xr.device.icv": { + "description": "Device HW version.", + "maxLength": 64, + "readOnly": true, + "title": "Hardware version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "icv" + } + }, + "cm.parameters.parentId": { + "description": "Parent Object identifier", + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "title": "Parent ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "parentId" + } + }, + "xr.common.colId": { + "description": "Object identifier in the supporting collection.", + "readOnly": true, + "title": "Collection Id", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "colId" + } + }, + "xr.lineptp.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "linePtpAid" + } + }, + "xr.lineptp.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.lineptp.operStatus": { + "description": "Operational Status of line port.", + "enum": [ + "enabled", + "disabled" + ], + "readOnly": true, + "title": "Operational status", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "operStatus" + } + }, + "xr.controlplane.neighbor.macAddress": { + "description": "MAC address of the XR neighbor", + "readOnly": true, + "title": "MAC address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "macAddress" + } + }, + "xr.controlplane.neighbor.currentRole": { + "description": "Role of the XR neighbor", + "enum": [ + "hub", + "leaf", + "unknown" + ], + "readOnly": true, + "title": "Current role", + "type": "string", + "x-enum-varnames": [ + "Hub", + "Leaf", + "Unknown" + ], + "x-oapi-codegen-extra-tags": { + "bson": "currentRole" + } + }, + "xr.controlplane.neighbor.constellationFrequency": { + "description": "Carrier center frequency of the Hub module within the constellation.", + "readOnly": true, + "title": "Constellation frequency", + "type": "integer", + "x-unit": "MHz", + "x-oapi-codegen-extra-tags": { + "bson": "constellationFrequency" + } + }, + "xr.controlplane.neighbor.conState": { + "description": "Shows if the control plane towards this XR module is currently active or not", + "enum": [ + "active", + "inactive" + ], + "readOnly": true, + "title": "Connection Status", + "type": "string", + "x-enum-varnames": [ + "Active", + "Inactive" + ], + "x-oapi-codegen-extra-tags": { + "bson": "conState" + } + }, + "xr.controlplane.neighbor.lastConStateChange": { + "description": "Timestamp of last change in connectivity in date-time format pattern according to IETF RFC 3339.\nIf conState is inactive, this timestamp shows when connectivity was lost.\nIf conState is active this timestamp shows when connection was established.\n", + "format": "date-time", + "readOnly": true, + "title": "Update Time", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lastConStateChange" + } + }, + "xr.discovered.neighbor.macAddress": { + "description": "Device MAC address of the discovered XR neighbor", + "readOnly": true, + "title": "MAC address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "macAddress" + } + }, + "xr.discovered.neighbor.currentRole": { + "description": "Role of the discovered XR neighbor", + "enum": [ + "hub", + "leaf", + "unknown" + ], + "readOnly": true, + "title": "Current role", + "type": "string", + "x-enum-varnames": [ + "Hub", + "Leaf", + "Unknown" + ], + "x-oapi-codegen-extra-tags": { + "bson": "currentRole" + } + }, + "xr.discovered.neighbor.discoveredTime": { + "description": "Timestamp of latest discovered beacon message from this XR neighbor in date-time format pattern according to IETF RFC 3339.", + "format": "date-time", + "readOnly": true, + "title": "Discovery Time", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "discoveredTime" + } + }, + "xr.discovered.neighbor.constellationFrequency": { + "description": "Constellation frequency of the discovered XR neighbor. I.e. the frequency at which this neighbor was discovered.", + "readOnly": true, + "title": "Constellation Frequency", + "type": "integer", + "x-unit": "MHz", + "x-oapi-codegen-extra-tags": { + "bson": "constellationFrequency" + } + }, + "xr.carrier.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "carrierAid" + } + }, + "xr.carrier.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.lineptp.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.carrier.frequencyCtrl": { + "default": "xr", + "description": "Shows the ownership of the constellation frequency configuration.\nPossible Values:\n- xr: hubFrequency can also be configured by XR CM\n- host: host system where the module is inserted is the master of constellationFrequency configuration.\n", + "enum": [ + "xr", + "host" + ], + "readOnly": true, + "title": "Frequency control", + "type": "string", + "x-enum-varnames": [ + "XR", + "Host" + ], + "x-oapi-codegen-extra-tags": { + "bson": "frequencyCtrl" + } + }, + "xr.carrier.constellationFrequency": { + "description": "The center frequency in MHz of the Hub within the constellation. \nConfigurable on both Hub and Leaf modules when frequencyCtrl is \"xr\".\nPossible values:\n- Minimum: 191000000\n- Maximum: 196100000\nOr\n- Value '0': used for \"Undefined\"\n", + "readOnly": true, + "title": "Constellation Frequency", + "type": "integer", + "x-unit": "MHz", + "x-oapi-codegen-extra-tags": { + "bson": "constellationFrequency" + } + }, + "xr.carrier.operatingFrequency": { + "description": "Carrier center frequency.\nPossible values:\n- Minimum: 191000000\n- Maximum: 196100000\n Or\n- Value '0': used for \"Undefined\"\n", + "readOnly": true, + "title": "Operating frequency", + "type": "integer", + "x-unit": "MHz", + "x-oapi-codegen-extra-tags": { + "bson": "operatingFrequency" + } + }, + "xr.carrier.ncoFrequency": { + "description": "Nominal carrier central frequency overloaded in MHz. \nPossible values:\n- Minimum: 191000000\n- Maximum: 196100000\n Or\n- Value '0': used for \"Undefined\".\n", + "readOnly": true, + "title": "Nominal central frequency overloaded", + "type": "integer", + "x-unit": "MHz", + "x-oapi-codegen-extra-tags": { + "bson": "ncoFrequency" + } + }, + "xr.carrier.modulation": { + "default": "16QAM", + "description": "Constellation carrier signal modulation (applied to Hub and leaf modules).\nPossible values: '16QAM', 'QPSK' ' 8QAM'\n", + "enum": [ + "16QAM", + "QPSK", + "8QAM" + ], + "title": "Modulation", + "type": "string", + "x-enum-varnames": [ + "16QAM", + "QPSK", + "8QAM" + ], + "x-oapi-codegen-extra-tags": { + "bson": "modulation" + } + }, + "xr.carrier.capacity": { + "description": "Modulation and maximum digital subcarriers determine the capacity in Gbps.\nPossible values: [ 25,50,100,200,300,400 ]\n", + "enum": [ + 25, + 50, + 100, + 200, + 300, + 400 + ], + "readOnly": true, + "title": "Capacity", + "type": "integer", + "x-enum-varnames": [ + "25", + "50", + "100", + "200", + "300", + "400" + ], + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "capacity" + } + }, + "xr.carrier.clientPortMode": { + "default": "ethernet", + "description": "User can configure expected client port type", + "enum": [ + "ethernet", + "ethernetOtn" + ], + "title": "Client port mode", + "type": "string", + "x-enum-varnames": [ + "Ethernet", + "Ethernet or OTN" + ], + "x-oapi-codegen-extra-tags": { + "bson": "clientPortMode" + } + }, + "xr.carrier.baudRate": { + "description": "Baud rate in Giga-baud", + "readOnly": true, + "title": "Baud rate", + "type": "integer", + "x-unit": "GBd", + "x-oapi-codegen-extra-tags": { + "bson": "baudRate" + } + }, + "xr.carrier.maxAllowedDSCs": { + "description": "Number of digital subcarriers allowed to be used", + "enum": [ + 2, + 4, + 8, + 16 + ], + "readOnly": true, + "title": "Max number of digital subcarriers", + "type": "integer", + "x-enum-varnames": [ + "2", + "4", + "8", + "16" + ], + "x-oapi-codegen-extra-tags": { + "bson": "maxAllowedDSCs" + } + }, + "xr.carrier.txPowerTargetPerDsc": { + "default": -100, + "description": "Target power per DSC (applicable for all DSCs on the carrier) in dBm.\nPossible values:\n- Minimum: -35\n- Maximum: 0\n- Step: 0.1\n Or\n- Value '-100': used for \"Not configured\"\n", + "format": "double", + "maximum": 0, + "minimum": -100, + "multipleOf": 0.1, + "title": "Target power per DSC", + "type": "number", + "x-unit": "dBm", + "x-oapi-codegen-extra-tags": { + "bson": "txPowerTargetPerDsc" + } + }, + "xr.carrier.diagnostic.loopback": { + "default": "disabled", + "description": "Enable/Disable loopback", + "enum": [ + "disabled", + "terminal" + ], + "title": "Loopback", + "type": "string", + "x-enum-varnames": [ + "Disabled", + "Terminal" + ], + "x-oapi-codegen-extra-tags": { + "bson": "loopback" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dsc.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "dscAid" + } + }, + "xr.carrier.dsc.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.carrier.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.carrier.dsc.cDsc": { + "description": "Constellation/Hub DSC ID assigned to a Leaf module. \nIn case of a Hub module, it defaults to the DSC instance ID (e.g., 1 to 16 when Hub is a 400G module\n", + "title": "Constellation DSC", + "type": "integer" + }, + "xr.carrier.dsc.usability": { + "default": "usable", + "description": "Usability of this DSC. Configurable to control the allowed uses.\n * `usable` - DSC is usable for either PRBS or data.\n * `prbsOnly` - DSC is usable only for PRBS. This is done for optical power balancing reasons.\n * `reserved` - DSC is reserved and is not usable for either PRBS or data.\n", + "enum": [ + "usable", + "prbsOnly", + "reserved" + ], + "title": "Usability", + "type": "string", + "x-enum-varnames": [ + "Usable", + "PRBS only", + "Reserved" + ], + "x-oapi-codegen-extra-tags": { + "bson": "usability" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dsc.txEnabled": { + "default": false, + "description": "Configurable to enable/disable Tx transmission on this DSC. When disabled, this prevents any traffic from going out of the DSC.", + "title": "TX Enabled", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "txEnabled" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dsc.rxEnabled": { + "default": true, + "description": "Configurable to enable/disable the DSC to receive traffic.", + "title": "Rx Enabled", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "rxEnabled" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dsc.txStatus": { + "description": "Current DSC TX status.", + "enum": [ + "disabled", + "data", + "prbs" + ], + "readOnly": true, + "title": "TX status", + "type": "string", + "x-enum-varnames": [ + "Disabled", + "Data", + "PRBS" + ], + "x-oapi-codegen-extra-tags": { + "bson": "txStatus" + } + }, + "xr.carrier.dsc.rxStatus": { + "description": "Current DSC RX status.", + "enum": [ + "disabled", + "data", + "prbs" + ], + "readOnly": true, + "title": "RX status", + "type": "string", + "x-enum-varnames": [ + "Disabled", + "Data", + "PRBS" + ], + "x-oapi-codegen-extra-tags": { + "bson": "rxStatus" + } + }, + "xr.carrier.dsc.powerOffset": { + "default": 0, + "description": "Power offset relative to the average DSC power.", + "format": "double", + "maximum": 6, + "minimum": -6, + "multipleOf": 0.1, + "title": "Power offset", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "powerOffset" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dsc.diagnostic.facPRBSGenEnabled": { + "default": false, + "description": "Configurable to enable/disable facility PRBS test pattern generation", + "title": "Facility PRBS generation", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSGenEnabled" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dsc.diagnostic.facPRBSMonEnabled": { + "default": false, + "description": "Configurable to enable/disable facility PRBS test pattern monitoring", + "title": "Facility PRBS monitoring", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSMonEnabled" + }, + "x-trafficAffecting": true + }, + "xr.carrier.dscg.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "dscgAid" + } + }, + "xr.carrier.dscg.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.carrier.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.otu.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "otuAid" + } + }, + "xr.otu.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.carrier.dscg.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.otu.otuType": { + "description": "OTU Type", + "enum": [ + "OTUCni", + "OTUCn", + "OTUCni-M", + "OTU4" + ], + "readOnly": true, + "title": "OTU type", + "type": "string", + "x-enum-varnames": [ + "OTUCni", + "OTUCn", + "OTUCni-M", + "OTU4" + ], + "x-oapi-codegen-extra-tags": { + "bson": "otuType" + } + }, + "xr.otu.rate": { + "description": "Rate of the OTU.", + "enum": [ + 25, + 50, + 100, + 200, + 400 + ], + "readOnly": true, + "title": "Rate", + "type": "integer", + "x-enum-varnames": [ + "25", + "50", + "100", + "200", + "400" + ], + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "rate" + } + }, + "xr.otu.operStatus": { + "description": "Operational Status of OTU.", + "enum": [ + "enabled", + "disabled" + ], + "readOnly": true, + "title": "Operational status", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "operStatus" + } + }, + "xr.otu.txTTI": { + "default": "", + "description": "Up to 64 byte string for transmitting as TTI.", + "maxLength": 64, + "title": "Transmit TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "txTTI" + } + }, + "xr.otu.rxTTI": { + "description": "Up to 64 byte string of received TTI.", + "maxLength": 64, + "readOnly": true, + "title": "Received TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "rxTTI" + } + }, + "xr.otu.expectedTTI": { + "default": "", + "description": "Up to 64 byte string of TTI that is expected to be received.", + "maxLength": 64, + "title": "Expected TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "expectedTTI" + } + }, + "xr.otu.diagnostic.facPRBSGen": { + "default": "disabled", + "description": "Enable/Disable facility PRBS test pattern generation", + "enum": [ + "enabled", + "disabled" + ], + "title": "Facility PRBS generation", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSGen" + }, + "x-trafficAffecting": true + }, + "xr.otu.diagnostic.facPRBSMon": { + "default": "disabled", + "description": "Enable/Disable facility PRBS test pattern monitoring", + "enum": [ + "enabled", + "disabled" + ], + "title": "Facility PRBS monitoring", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSMon" + }, + "x-trafficAffecting": true + }, + "xr.otu.odu.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "oduAid" + } + }, + "xr.otu.odu.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.carrier.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.otu.odu.oduType": { + "description": "ODU type", + "enum": [ + "ODUCni", + "ODUflexi", + "ODUCni-M", + "ODU4i" + ], + "readOnly": true, + "title": "ODU type", + "type": "string", + "x-enum-varnames": [ + "ODUCni", + "ODUflexi", + "ODUCni-M", + "ODU4i" + ], + "x-oapi-codegen-extra-tags": { + "bson": "oduType" + } + }, + "xr.otu.odu.operStatus": { + "description": "Operational Status of ODU.", + "enum": [ + "enabled", + "disabled" + ], + "readOnly": true, + "title": "Operational status", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "operStatus" + } + }, + "xr.ethernet.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clientIfAid" + } + }, + "xr.ethernet.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.ethernet.portSpeed": { + "description": "Ethernet port speed in Gbps", + "enum": [ + 100, + 400, + 200, + 50, + 25 + ], + "readOnly": true, + "title": "Port speed", + "type": "integer", + "x-enum-varnames": [ + "100", + "400", + "200", + "50", + "25" + ], + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "clientIfPortSpeed" + } + }, + "xr.ethernet.fecType": { + "description": "Automatically set by the module based on SerDes and Port configuration.", + "enum": [ + "KR4", + "KP4" + ], + "readOnly": true, + "title": "Fec type", + "type": "string", + "x-enum-varnames": [ + "KR4", + "KP4" + ], + "x-oapi-codegen-extra-tags": { + "bson": "fecType" + } + }, + "xr.ethernet.fecMode": { + "default": "enabled", + "description": "Forward error correction mode of operation", + "enum": [ + "enabled", + "disabled" + ], + "title": "Forward error correction mode", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "fecMode" + }, + "x-trafficAffecting": true + }, + "xr.ethernet.diagnostic.loopbackType": { + "default": "loopbackAndContinue", + "description": "Loopback type.\n- 'loopbackAndContinue': Signal is looped back and is also forwarded downstream.\n- 'loopback': Signal is looped back and LF maintenance signal is sent downstream.\n", + "enum": [ + "loopbackAndContinue", + "loopback" + ], + "title": "Loopback type", + "type": "string", + "x-enum-varnames": [ + "Loopback and continue", + "Loopback" + ], + "x-oapi-codegen-extra-tags": { + "bson": "loopbackType" + } + }, + "xr.ethernet.diagnostic.loopbackMode": { + "default": "disabled", + "description": "Post-FEC Loopback mode for the ethernet client.", + "enum": [ + "disabled", + "facility", + "terminal" + ], + "title": "Loopback mode", + "type": "string", + "x-enum-varnames": [ + "Disabled", + "Facility", + "Terminal" + ], + "x-oapi-codegen-extra-tags": { + "bson": "loopbackMode" + }, + "x-trafficAffecting": true + }, + "xr.ethernet.lldpconfig.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lldpconfigAid" + } + }, + "xr.ethernet.lldpconfig.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.ethernet.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.ethernet.lldpconfig.adminStatus": { + "default": "disabled", + "description": "Administrative state to Enable/Disable LLDP in rxOnly mode.", + "enum": [ + "rxOnly", + "disabled" + ], + "title": "Administrative State", + "type": "string", + "x-enum-varnames": [ + "RX only", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "adminStatus" + } + }, + "xr.ethernet.lldpconfig.gccFwd": { + "default": false, + "description": "Enable/Disable forwarding of untagged LLDP frames over GCC.\n * `true` - Enabled.\n * `false` - Disabled.\n", + "title": "Forward GCC", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "gccFwd" + } + }, + "xr.ethernet.lldpconfig.hostRxDrop": { + "default": false, + "description": "Enable/Disable LLDP drop in Rx direction of Ethernet Client ports.\n * `true`: - Enabled.\n * `false`: - Disabled.\n", + "title": "LLDP drop", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "hostRxDrop" + } + }, + "xr.ethernet.lldpconfig.TTLUsage": { + "default": true, + "description": "Enable/Disable usage of TTL values for flushing/starting LLDP internal flush timer.\n * `true`: - Enabled.\n * `false`: - Disabled.\n", + "title": "TTL usage", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "TTLUsage" + } + }, + "xr.ethernet.lldpconfig.tooManyNeighbors": { + "description": "Indication that this LLDP Agent has too many discovered neighbors.", + "readOnly": true, + "title": "Too many neighbors", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "tooManyNeighbors" + } + }, + "xr.ethernet.lldpconfig.clrStats": { + "default": false, + "description": "Action to clear LLDP statistics.\nSet to true to trigger the action.\nServer resets it to false when action is completed.\n", + "title": "Clear LLDP statistics", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "clrStats" + } + }, + "xr.ethernet.lldpconfig.flushHostDb": { + "default": false, + "description": "Action to flush the learned host system information.\nSet to true to trigger the action.\nServer resets it to false when action is completed.\n", + "title": "Flush neighbor information", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "flushHostDb" + } + }, + "xr.ethernet.hostneighbors.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "hostneighborAid" + } + }, + "xr.ethernet.hostneighbors.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.ethernet.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.ethernet.neighbor.localPortSourceMAC": { + "description": "Neighbor MAC addres", + "readOnly": true, + "title": "MAC address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "portSourceMAC" + } + }, + "xr.ethernet.neighbor.chassisIdSubtype": { + "default": "macAddress", + "description": "Encoding of chassisId within LLDP data.", + "enum": [ + "reserved", + "chassisComponent", + "interfaceAlias", + "portComponent", + "macAddress", + "networkAddress", + "interfaceName", + "local" + ], + "readOnly": true, + "title": "LLDP Chassis ID encoding", + "type": "string", + "x-enum-varnames": [ + "Reserved", + "Chassis component", + "Interface alias", + "Port component", + "MAC address", + "Network address", + "Interface name", + "Locally assigned" + ], + "x-oapi-codegen-extra-tags": { + "bson": "chassisIdSubtype" + } + }, + "xr.ethernet.neighbor.chassisId": { + "description": "Host chassis ID within LLDP data.", + "readOnly": true, + "title": "LLDP Chassis ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "chassisId" + } + }, + "xr.ethernet.neighbor.portIdSubtype": { + "default": "macAddress", + "description": "Encoding of portId within LLDP data.", + "enum": [ + "interfaceAlias", + "portComponent", + "macAddress", + "networkAddress", + "interfaceName", + "agentCircuitId", + "local" + ], + "readOnly": true, + "title": "LLDP Port ID encoding", + "type": "string", + "x-enum-varnames": [ + "Interface alias", + "Port component", + "MAC address", + "Network address", + "Interface name", + "Agent circuit ID", + "Locally assigned" + ], + "x-oapi-codegen-extra-tags": { + "bson": "portIdSubtype" + } + }, + "xr.ethernet.neighbor.portId": { + "description": "Host port ID within LLDP data.", + "readOnly": true, + "title": "LLDP Port ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "portId" + } + }, + "xr.ethernet.neighbor.portDescr": { + "description": "Port Description of Neighbor within LLDP data.", + "readOnly": true, + "title": "LLDP Port description", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "portDescr" + } + }, + "xr.ethernet.neighbor.sysName": { + "description": "Host System Name within LLDP data.", + "readOnly": true, + "title": "LLDP System Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "sysName" + } + }, + "xr.ethernet.neighbor.sysDescr": { + "description": "Host System description within LLDP data.", + "readOnly": true, + "title": "LLDP System Description", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "sysDescr" + } + }, + "xr.ethernet.neighbor.sysTTL": { + "description": "LLDP TTL (time to live) of Neighbor, in seconds", + "readOnly": true, + "title": "Neighbor LLDP TTL", + "type": "integer", + "x-unit": "s", + "x-oapi-codegen-extra-tags": { + "bson": "sysTTL" + } + }, + "xr.ethernet.neighbor.lldpPDU": { + "description": "Complete LLDP PDU received from this Neighbor, to enable external analysis and extraction of additional TLVs.", + "readOnly": true, + "title": "LLDP PDU", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lldpPDU" + } + }, + "xr.ethernet.ac.aid": { + "description": "Attachment Circuit Access Identifier (AID) - unique instance within a xr.ethernet resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "attachmentCircuitAid" + } + }, + "xr.ethernet.ac.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.ethernet.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.ethernet.ac.capacity": { + "description": "Capacity of the attachment circuit expressed in multiples of 25Gbps.", + "maximum": 16, + "minimum": 1, + "title": "Rate", + "type": "integer", + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "capacity" + } + }, + "xr.ethernet.ac.imc": { + "description": "Ingress match criteria of the AC for traffic coming from the host", + "enum": [ + "matchAll", + "matchOuterVID", + "none" + ], + "title": "Ingress Match Criteria", + "type": "string", + "x-enum-varnames": [ + "Match all", + "Match outer VLAN Id", + "None" + ], + "x-oapi-codegen-extra-tags": { + "bson": "imc" + } + }, + "xr.ethernet.ac.imcOuterVID": { + "description": "String format listing of one or more individual VLAN IDs separated by \"&\" and/or ranges of VLAN IDs connected with \"&&\". For example \"10 & 20 & 50 && 100\" to represent the 52 VLAN IDs 10, 20 and 50-100.", + "pattern": "((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&\\& (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))* | ((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&)* | (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])", + "title": "Ingress Match Criteria VLAN IDs", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "imcOuterVID" + } + }, + "xr.ethernet.ac.emc": { + "description": "Egress match criteria of the AC for traffic going out to the host", + "enum": [ + "matchAll", + "matchOuterVID", + "none" + ], + "title": "Egress Match Criteria", + "type": "string", + "x-enum-varnames": [ + "Match all", + "Match outer VLAN Id", + "None" + ], + "x-oapi-codegen-extra-tags": { + "bson": "emc" + } + }, + "xr.ethernet.ac.emcOuterVID": { + "description": "String format listing of one or more individual VLAN IDs separated by \"&\" and/or ranges of VLAN IDs connected with \"&&\". For example \"10 & 20 & 50 && 100\" to represent the 52 VLAN IDs 10, 20 and 50-100.", + "pattern": "((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&\\& (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))* | ((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&)* | (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])", + "title": "Egress Match Criteria VLAN IDs", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "emcOuterVID" + } + }, + "xr.lc.aid": { + "description": "Access Identifier (AID) of a local connection", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lcAid" + } + }, + "xr.lc.parentAid": { + "items": { + "$ref": "#/components/schemas/xr.common.aid" + }, + "maxItems": 2, + "minItems": 2, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.common.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string" + }, + "xr.lc.direction": { + "default": "txRx", + "description": "Directionality of the local connection. \nPossible values:\n- 'txRx': Both Transmit (Client to Line) and Receive (Line to Client) direction \n- 'tx': Client to Line direction only. \n- 'rx': Line to Client direction only.\n", + "enum": [ + "txRx", + "tx", + "rx" + ], + "title": "Directionality of the LC.", + "type": "string", + "x-enum-varnames": [ + "Tx and RX", + "TX only", + "RX only" + ], + "x-oapi-codegen-extra-tags": { + "bson": "direction" + } + }, + "xr.lc.clientAid": { + "description": "Points to the AID of the connected client side resource of the LC. \nThis could be an ethernet resource or a specific attachment circuit on an ethernet resource.\n", + "title": "Client side AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clientAid" + } + }, + "xr.lc.dscgAid": { + "description": "Points to the AID of the DSCG which is used at the optical layer at the line side. This is entered as part of LC creation.", + "title": "DSCG AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "dscgAid" + } + }, + "xr.lc.lineAid": { + "description": "Points to the AID of the connected LO-ODU resource at the line side of the LC.", + "readOnly": true, + "title": "Line side AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lineAid" + } + }, + "xr.lc.remoteModuleId": { + "description": "Remote service endpoint module ID. Set by Host device as part of service creation.", + "readOnly": true, + "title": "Remote module ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "remoteModuleId" + } + }, + "xr.lc.remoteClientId": { + "description": "Remote service endpoint client resource AID. Set by Host device as part of service creation.", + "readOnly": true, + "title": "Remote module Client AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "remoteClientId" + } + }, + "cm.device": { + "description": "Device data definition for onboarding tool", + "example": { + "href": "/devices/02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "rt": [ + "cm.device" + ], + "id": "02dbd2b0-3baf-43f0-51c8-5da9498709e4", + "config": { + "status": "onboarded" + }, + "state": { + "moduleName": "XR LEAF 1", + "piid": "abb81108-8bbf-4222-9bf3-0a6bbb75ac65", + "dmn": { + "language": "en", + "value": "Infinera" + }, + "ownershipStatus": "owned", + "status": "onboarded", + "online": true + } + }, + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.device.config" + }, + "state": { + "$ref": "#/components/schemas/cm.device.state" + } + }, + "type": "object" + }, + "cm.device.config": { + "additionalProperties": false, + "description": "Configurable device parameters", + "properties": { + "status": { + "$ref": "#/components/schemas/cm.device.config.parameters.status" + } + }, + "type": "object" + }, + "cm.device.state": { + "description": "Definition of device state parameters", + "properties": { + "moduleName": { + "$ref": "#/components/schemas/xr.device.n" + }, + "piid": { + "$ref": "#/components/schemas/xr.device.piid" + }, + "dmn": { + "$ref": "#/components/schemas/xr.device.dmn" + }, + "ownership": { + "$ref": "#/components/schemas/cm.device.parameters.ownershipStatus" + }, + "status": { + "$ref": "#/components/schemas/cm.device.state.parameters.status" + }, + "online": { + "$ref": "#/components/schemas/cm.device.parameters.online" + } + }, + "type": "object" + }, + "cm.device.parameters.ownershipStatus": { + "description": "Device ownership status\nPossible values:\n- 'readytobeowned': The device is discovered and ready to be owned\n- 'owned': Device is owned by this onboard tool user\n- 'ownedbyother': Device is owned by another user\n- 'unknown': Device is unsecure or status cannot be obtained\n", + "enum": [ + "readytobeowned", + "owned", + "ownedbyother", + "unknown" + ], + "readOnly": true, + "title": "Status", + "type": "string", + "x-enum-varnames": [ + "Ready to be owned", + "Owned", + "Owned by other", + "Unknown" + ] + }, + "cm.device.parameters.online": { + "description": "Indicates if device is currently reachable", + "readOnly": true, + "title": "Online", + "type": "boolean" + }, + "cm.device.config.parameters.status": { + "description": "Device onboard status configuration", + "enum": [ + "onboarded", + "offboarded" + ], + "title": "Status", + "type": "string", + "x-enum-varnames": [ + "Onboarded", + "Offboarded" + ] + }, + "cm.device.state.parameters.status": { + "description": "Device onboard status state", + "enum": [ + "discovered", + "onboardPending", + "onboarded", + "onboardFailed", + "offboardPending", + "offboardFailed", + "offboarded" + ], + "readOnly": true, + "title": "Status", + "type": "string", + "x-enum-varnames": [ + "Discovered", + "Onboard pending", + "Onboarded", + "Onboard failed", + "Offboard pending", + "Offboard failed", + "Offboarded" + ] + }, + "cm.device.updateRequest": { + "additionalProperties": false, + "description": "Object used in the request body of PUT requests in /devices endpoint.\nContains the device identifier and its onboard status.\n", + "properties": { + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.device.update" + } + }, + "required": [ + "config", + "id" + ], + "type": "object" + }, + "cm.device.update": { + "additionalProperties": false, + "description": "Configurable device parameters", + "minProperties": 1, + "properties": { + "status": { + "$ref": "#/components/schemas/cm.device.config.parameters.status" + } + }, + "type": "object" + }, + "cm.sw.action": { + "description": "Definition of CM software action requests", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.sw.action.config" + }, + "state": { + "$ref": "#/components/schemas/cm.sw.action.state" + }, + "moduleActions": { + "$ref": "#/components/schemas/cm.sw.moduleActions" + } + } + }, + "cm.sw.action.config": { + "additionalProperties": false, + "description": "Definition of software action configuration parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "selectors": { + "$ref": "#/components/schemas/cm.sw.action.config.selectors" + }, + "operations": { + "$ref": "#/components/schemas/cm.sw.action.config.operations" + } + }, + "type": "object" + }, + "cm.sw.action.config.selectors": { + "description": "List of software action target modules.\nModules can be specified individually (via module ID), per constellation, per NDU or per host.\n", + "items": { + "$ref": "#/components/schemas/cm.sw.action.config.selector" + }, + "minItems": 1, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "selectors" + } + }, + "cm.sw.action.config.selector": { + "maxProperties": 1, + "minProperties": 1, + "properties": { + "moduleIds": { + "$ref": "#/components/schemas/cm.sw.action.config.selector.moduleIds" + }, + "nduIds": { + "$ref": "#/components/schemas/cm.sw.action.config.selector.nduIds" + } + }, + "type": "object" + }, + "cm.sw.action.config.selector.moduleIds": { + "items": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "minItems": 1, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIds" + } + }, + "cm.sw.action.config.selector.nduIds": { + "items": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "minItems": 1, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "nduIds" + } + }, + "cm.sw.action.config.operations": { + "description": "List of software actions to be executed on target modules.\nPossible values:\n- 'clearBank' \n- 'validateUrl'\n- 'download'\n- 'prepareUpgrade'\n- 'commit'\n- 'abort' \nIf multiple modules are target, action is executed in parallel for different modules.\nIf multiple operations are defined, they are executed per module with the following priority:\n- 1: 'abort'\n- 2: 'activate' with 'rollback' option\n- 3: 'clearBank'\n- 4: 'validateUrl'\n- 5: 'download'\n- 6: 'prepareUpgrade'\n- 8: 'activate' with 'apply' option\nIf an operation fails , remaining module operations are aborted.\nIf an 'abort' operation is executed, remaining operations for that module are aborted.\nIf an 'activate' with 'rollback' option is executed, remaining operations for that module are aborted.\n", + "items": { + "$ref": "#/components/schemas/cm.sw.action.config.operation" + }, + "minItems": 1, + "title": "Actions", + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "operations" + } + }, + "cm.sw.action.config.operation": { + "additionalProperties": false, + "maxProperties": 1, + "minProperties": 1, + "properties": { + "clearBank": { + "$ref": "#/components/schemas/cm.sw.action.config.operation.clearBank" + }, + "validateUrl": { + "$ref": "#/components/schemas/cm.sw.action.config.operation.validateUrl" + }, + "download": { + "$ref": "#/components/schemas/cm.sw.action.config.operation.download" + }, + "prepareUpgrade": { + "$ref": "#/components/schemas/cm.sw.action.config.operation.prepareUpgrade" + }, + "activate": { + "$ref": "#/components/schemas/cm.sw.action.config.operation.activate" + }, + "abort": { + "$ref": "#/components/schemas/cm.sw.action.config.operation.abort" + } + }, + "type": "object" + }, + "cm.sw.action.config.operation.clearBank": { + "description": "Operation to delete the software image and associated configuration from the inactive bank.", + "enum": [ + true + ], + "title": "clear", + "type": "boolean", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "clearBank" + } + }, + "cm.sw.action.config.operation.validateUrl": { + "additionalProperties": false, + "description": "Operation to validate that the software image file is available at specified location.", + "minProperties": 1, + "properties": { + "swURL": { + "$ref": "#/components/schemas/cm.sw.action.parameters.swURL" + } + }, + "title": "validate", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "validateUrl" + } + }, + "cm.sw.action.config.operation.download": { + "additionalProperties": false, + "description": "Operation to executes the download of the software image to the upgrade bank.", + "minProperties": 1, + "properties": { + "swURL": { + "$ref": "#/components/schemas/cm.sw.action.parameters.swURL" + } + }, + "title": "download", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "download" + } + }, + "cm.sw.action.config.operation.prepareUpgrade": { + "description": "Operation to classify the upgrade impact (i.e., the impact of executing the software in the upgrade bank).\nResult is available on upgradeClassification property of the respective module swCtrl object.\n", + "enum": [ + true + ], + "title": "clear", + "type": "boolean", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "prepareUpgrade" + } + }, + "cm.sw.action.config.operation.activate": { + "additionalProperties": false, + "description": "Operation to execute software image and commit it upon successful module restart.\nIf executed with 'apply' option, execution is done over the upgrade bank image\n(note that after commit, the former upgrade bank becomes active bank and the former active bank becomes previous bank).\nIf executed with 'rollback' option, execution is done over the previous active bank image\n(note that no commit is executed after module restart)\n", + "minProperties": 1, + "properties": { + "option": { + "$ref": "#/components/schemas/cm.sw.action.parameters.activateOptions" + } + }, + "title": "clear", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "activate" + } + }, + "cm.sw.action.config.operation.abort": { + "description": "Operation to abort module current action (if any) and clear pending operations.", + "enum": [ + true + ], + "title": "Abort", + "type": "boolean", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "abort" + } + }, + "cm.sw.action.state": { + "description": "Definition of module state object", + "properties": { + "lifecycleState": { + "$ref": "#/components/schemas/cm.sw.action.state.parameters.lifecycleState" + } + } + }, + "cm.sw.action.parameters.swURL": { + "description": "Source of software package for download to upgrade bank.", + "format": "uri", + "maxLength": 255, + "title": "Software URL", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "swURL" + } + }, + "cm.sw.action.parameters.activateOptions": { + "description": "Activate operation options.\nPossible values:\n- 'apply': Activation is done over the upgrade bank image and is committed upon successful module restart.\n- 'rollback': Activation is done over the previous active bank image and no commit is issue upon module restart.\n", + "enum": [ + "apply", + "rollback" + ], + "title": "Activate option", + "type": "string", + "x-enum-varnames": [ + "Apply", + "Rollback" + ], + "x-oapi-codegen-extra-tags": { + "bson": "option" + } + }, + "cm.sw.action.state.parameters.lifecycleState": { + "description": "Provides the aggregated status of a software module action.\nPossible values:\n- 'pending': This state occurs when all module operations related to this request are not yet created or in pending state.\n- 'executing': This state occurs when all module operations related to this request are currently under execution.\n- 'partiallyExecuted': This state may occur when at least one module operation related to this request is in executed state.\n- 'executed': This state occurs when all module operations related to this request are in executed state.\n- 'partiallyFailed': This state may occur when at least one module operation related to this request is in failed state.\n- 'failed': This state occurs when all module operations related to this request are in failed state.\n- 'deleted': This state occurs when an action is removed.\n", + "enum": [ + "pending", + "executing", + "partiallyExecuted", + "executed", + "partiallyFailed", + "failed", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending", + "Executing", + "Partially executed", + "Executed", + "Partially failed", + "Failed", + "Deleted" + ] + }, + "cm.sw.action.create": { + "additionalProperties": false, + "description": "Software action creation parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "selectors": { + "$ref": "#/components/schemas/cm.sw.action.config.selectors" + }, + "operations": { + "$ref": "#/components/schemas/cm.sw.action.config.operations" + } + }, + "required": [ + "operations", + "selectors" + ], + "type": "object" + }, + "cm.sw.moduleAction": { + "description": "Definition of CM operations resulting from a software action request", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "state": { + "$ref": "#/components/schemas/cm.sw.moduleAction.state" + } + }, + "title": "Operations" + }, + "cm.sw.moduleActions": { + "items": { + "$ref": "#/components/schemas/cm.sw.moduleAction" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "moduleActions" + } + }, + "cm.sw.moduleAction.state": { + "description": "Definition of moduleAction state object", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/xr.device.di" + }, + "action": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action" + }, + "actionDate": { + "$ref": "#/components/schemas/cm.sw.moduleAction.parameters.actionDate" + }, + "actionSource": { + "$ref": "#/components/schemas/cm.sw.moduleAction.parameters.actionSource" + }, + "moduleSwmStatus": { + "$ref": "#/components/schemas/cm.sw.moduleAction.parameters.moduleSwmStatus" + }, + "actionResult": { + "$ref": "#/components/schemas/cm.sw.moduleAction.state.actionResult" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.sw.moduleAction.parameters.lifecycleState" + } + } + }, + "cm.sw.moduleAction.action": { + "description": "Definition of module software operations", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "wipeoutBank": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.wipeoutBank" + }, + "validateSwUrl": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.validateSwUrl" + }, + "download": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.download" + }, + "classifyUpgradeImpact": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.classifyUpgradeImpact" + }, + "execute": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.execute" + }, + "commit": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.commit" + }, + "abort": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.abort" + }, + "rollback": { + "$ref": "#/components/schemas/cm.sw.moduleAction.action.rollback" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "action" + } + }, + "cm.sw.moduleAction.action.wipeoutBank": { + "additionalProperties": false, + "description": "Action to delete the SW and associated configuration in this Bank. Set to true to trigger the action..\nUpon completion, the module cm.sw.moduleAction.actionResult 'result' parameter is updated.\n", + "enum": [ + true + ], + "type": "object", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "wipeoutBank" + } + }, + "cm.sw.moduleAction.action.validateSwUrl": { + "additionalProperties": false, + "description": "Action to validate software image location.\nUpon completion, the module cm.swCtrl.state.actionResult 'moduleClassification' and 'result' parameters is updated.\n", + "properties": { + "source": { + "$ref": "#/components/schemas/cm.sw.moduleAction.parameters.source" + } + }, + "required": [ + "source" + ], + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "validateSwUrl" + } + }, + "cm.sw.moduleAction.action.download": { + "additionalProperties": false, + "description": "Action to download software image to upgrade bank.\nUpon execution, the module cm.swCtrl.config.swURL parameter is updated to the source URL and an URL validation is executed. \nDuring execution, the module cm.swCtrl.state.status parameter is updated to [1] 'Downloading'.\nDuring execution, the module cm.swCtrl.state.downloadProgress parameter is updated to reflect the download process.\nUpon completion, the module cm.sw.moduleAction.actionResult 'moduleClassification' and 'result' parameters are updated.\n", + "properties": { + "source": { + "$ref": "#/components/schemas/cm.sw.moduleAction.parameters.source" + } + }, + "required": [ + "source" + ], + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "download" + } + }, + "cm.sw.moduleAction.action.classifyUpgradeImpact": { + "additionalProperties": false, + "description": "Action to validate the software image in upgrade bank.\nUpon completion, the module cm.sw.moduleAction.actionResult 'upgradeClassification' and 'result' parameters are updated.\n", + "enum": [ + true + ], + "type": "object", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "classifyUpgradeImpact" + } + }, + "cm.sw.moduleAction.action.execute": { + "additionalProperties": false, + "description": "Action to execute software in upgradeBank.\nUpon completion, the module cm.sw.moduleAction.actionResult 'result' parameter is updated.\n", + "enum": [ + true + ], + "type": "object", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "executeSwImage" + } + }, + "cm.sw.moduleAction.action.commit": { + "additionalProperties": false, + "description": "Action to commit software in upgradeBank. \nAfter restart, previous active bank becomes inactive and previous bank, the upgrade bank becomes active bank.\nUpon completion, the module cm.sw.moduleAction.actionResult 'result' parameter is updated.\n", + "enum": [ + true + ], + "type": "object", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "commitSwImage" + } + }, + "cm.sw.moduleAction.action.abort": { + "additionalProperties": false, + "description": "Action to abort current upgrade process. \nUpon completion, the module cm.sw.moduleAction.actionResult 'result' parameter is updated.\n", + "enum": [ + true + ], + "type": "object", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "abortSwUpgrade" + } + }, + "cm.sw.moduleAction.action.rollback": { + "additionalProperties": false, + "description": "Action to fall back to previous running bank. \nUpon completion, the module cm.sw.moduleAction.actionResult 'result' parameter is updated.\n", + "enum": [ + true + ], + "type": "object", + "x-enum-varnames": [ + "True" + ], + "x-oapi-codegen-extra-tags": { + "bson": "rollback" + } + }, + "cm.sw.moduleAction.state.actionResult": { + "description": "Action' result as reported by module.\n'downloadProgress' property is only applicable to 'download' action\n'upgradeClassification' property is only applicable to 'classifyUpgradeImpact' action\n", + "properties": { + "downloadProgress": { + "$ref": "#/components/schemas/cm.sw.moduleAction.actionResult.parameters.downloadProgress" + }, + "moduleClassification": { + "$ref": "#/components/schemas/cm.sw.moduleAction.actionResult.parameters.moduleClassification" + }, + "upgradeClassification": { + "$ref": "#/components/schemas/cm.sw.moduleAction.actionResult.parameters.upgradeClassification" + }, + "result": { + "$ref": "#/components/schemas/cm.sw.moduleAction.actionResult.parameters.result" + } + }, + "readOnly": true, + "title": "Action result", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "actionResult" + } + }, + "cm.sw.moduleAction.parameters.source": { + "description": "Software image URL", + "title": "Source", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "source" + } + }, + "cm.sw.moduleAction.parameters.actionDate": { + "description": "Timestamp in date-time format pattern according to IETF RFC 3339.", + "format": "date-time", + "readOnly": true, + "title": "Action Date", + "type": "string" + }, + "cm.sw.moduleAction.parameters.actionSource": { + "description": "Defines the source of the module action request.\nPossible values:\n- '0': NA\n- '1': CM\n- '2': Host\n", + "enum": [ + 0, + 1, + 2 + ], + "readOnly": true, + "title": "Action Source", + "type": "integer", + "x-enum-varnames": [ + "Not applicable", + "IPM", + "Host" + ] + }, + "cm.sw.moduleAction.parameters.moduleSwmStatus": { + "description": "State of ongoing download or upgrade procedure. \nWhen no upgrade procedure is in progress the status is Idle.\nPossible values:\n- '0': Idle\n- '1': Downloading\n- '2': Executing\n- '3': Restarting\n- '4': runningNotCommitted\n- '5': Committing\n- '6': Reverting\n- '7': Falling Back\n", + "readOnly": true, + "title": "Status", + "type": "integer" + }, + "cm.sw.moduleAction.actionResult.parameters.downloadProgress": { + "description": "Percentage of SW package download, 0-100, when download is in progress.\n", + "readOnly": true, + "title": "Download progress", + "type": "integer" + }, + "cm.sw.moduleAction.actionResult.parameters.moduleClassification": { + "description": "Classification of the module so a client can identify which XR Deliverable Packages are suitable for it.", + "maxLength": 40, + "readOnly": true, + "title": "Module classification", + "type": "string" + }, + "cm.sw.moduleAction.actionResult.parameters.upgradeClassification": { + "description": "Classification of upgrade impact of executing the software in upgradeBank. \nResult of swm Action to classify upgrade impact.\nPossible values:\n- '0': Upgrade not classified yet\n- '1': Upgrade classification failed\n- '2': Configuration cannot be migrated\n- '3': Service affecting upgrade\n- '4': Non-service affecting upgrade\n", + "readOnly": true, + "title": "Upgrade classification", + "type": "integer" + }, + "cm.sw.moduleAction.actionResult.parameters.result": { + "description": "Result of the last completed swm Action.\nEither successfully or reason for failure.\nResult is Unknown during the execution of an action.\nPossible value:\n- '0': Unknown\n- '1': Success\n- '2': Fail -Invalid or unreachable software URL\n- '3': Fail -Not Enough RAM\n- '4': Fail -Not Enough Flash\n- '5': Fail -Connection Lost\n- '6': Fail -SW validation failure\n- '7': Wrong SW For Module\n- '8': Validating\n- '9': Downloading\n- '10': Upgrade Classificating\n- '21': Activate Fail - Connection Lost\n- '22': Activate Fail - SW execute failure\n- '23': Activate Fail - Commit failure\n- '24': Executing software in upgradeBank\n- '25': Committing software in upgradeBank\n- '25': Falling back - Execute software in previous Bank\n- '30': Aborting\n", + "readOnly": true, + "title": "Action Result", + "type": "integer" + }, + "cm.sw.moduleAction.parameters.lifecycleState": { + "description": "Provides the status of a software module action.\nPossible values:\n- 'pending': This state occurs when the module configuration was not yet sent to the module.\n- 'executing': This state occurs when the module configuration was sent to the module and is currently under execution.\n- 'executed': This state occurs when the module configuration was already executed and reported finished.\n- 'failed': This state occurs when the module configuration was rejected by the module.\n- 'deleted': This state occurs when a moduleAction is removed.\n", + "enum": [ + "pending", + "executing", + "executed", + "failed", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending", + "Executing", + "Executed", + "Failed", + "Deleted" + ] + }, + "cm.sw.ctrl": { + "description": "Definition of CM module/ndu software control object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "state": { + "$ref": "#/components/schemas/cm.sw.ctrl.state" + }, + "swBanks": { + "$ref": "#/components/schemas/cm.sw.banks" + } + } + }, + "cm.sw.ctrl.state": { + "description": "Definition of module/ndu software bank state parameters", + "properties": { + "deviceType": { + "$ref": "#/components/schemas/cm.parameters.deviceType" + }, + "deviceId": { + "$ref": "#/components/schemas/cm.parameters.deviceId" + }, + "deviceName": { + "$ref": "#/components/schemas/xr.device.n" + }, + "deviceLabels": { + "$ref": "#/components/schemas/cm.parameters.labels" + }, + "activeBank": { + "$ref": "#/components/schemas/xr.swmctrl.activeBank" + }, + "committedBank": { + "$ref": "#/components/schemas/xr.swmctrl.committedBank" + }, + "previousActiveBank": { + "$ref": "#/components/schemas/xr.swmctrl.previousActiveBank" + }, + "status": { + "$ref": "#/components/schemas/xr.swmctrl.swmStatus" + }, + "latestAction": { + "$ref": "#/components/schemas/cm.sw.ctrl.state.latestAction" + }, + "latestStatusChangedTime": { + "$ref": "#/components/schemas/xr.swmctrl.latestStatusChangedTime" + } + } + }, + "cm.sw.ctrl.state.latestAction": { + "description": "Module latest action parameters", + "properties": { + "timestamp": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMActionDateTime" + }, + "action": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMAction" + }, + "source": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMActionSource" + }, + "bank": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMActionUpgradeBank" + }, + "swUrl": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMActionSWURL" + }, + "revertTimeout": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMActionRevertTimeout" + }, + "downloadProgress": { + "$ref": "#/components/schemas/xr.swmctrl.recentDownloadProgress" + }, + "upgradeClassification": { + "$ref": "#/components/schemas/xr.swmctrl.recentUpgradeClassification" + }, + "result": { + "$ref": "#/components/schemas/xr.swmctrl.recentSWMActionResult" + } + } + }, + "cm.sw.bank": { + "description": "Definition of xr-network object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.sw.bank.state" + } + } + }, + "cm.sw.banks": { + "items": { + "$ref": "#/components/schemas/cm.sw.bank" + }, + "maxItems": 2, + "minItems": 2, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "swBanks" + } + }, + "cm.sw.bank.state": { + "description": "Definition of module software bank state parameters", + "properties": { + "version": { + "$ref": "#/components/schemas/xr.swmbank.version" + }, + "bankStatus": { + "$ref": "#/components/schemas/cm.sw.bank.state.bankStatus" + }, + "imageStatus": { + "$ref": "#/components/schemas/cm.sw.bank.state.imageStatus" + }, + "configCompVersion": { + "$ref": "#/components/schemas/xr.swmbank.configCompVersion" + }, + "configDataSentry": { + "$ref": "#/components/schemas/xr.swmbank.configDataSentry" + }, + "imageActivationHistory": { + "$ref": "#/components/schemas/cm.sw.bank.state.imageActivationHistory" + }, + "imageConfiguration": { + "$ref": "#/components/schemas/cm.sw.bank.state.imageConfiguration" + }, + "action": { + "$ref": "#/components/schemas/xr.swmbank.action" + } + } + }, + "cm.sw.bank.state.bankStatus": { + "description": "Indicates the software bank status\nPossible values:\n- 'empty': Software bank image is empty\n- 'installing': Software image is under installation\n- 'installed': Software image is installed in the bank\n- 'invalid': Signature of the software in this bank is invalid\n", + "enum": [ + "empty", + "installing", + "installed", + "invalid" + ], + "readOnly": true, + "title": "Bank status", + "type": "string", + "x-enum-varnames": [ + "Empty", + "Installing", + "Installed", + "Invalid" + ] + }, + "cm.sw.bank.state.imageStatus": { + "description": "Indicates the software image status in the bank\nPossible values:\n- 'notApplicable': Bank is empty\n- 'inactive': Software image is currently\n- 'running':\n- 'runningNotCommitted'\n", + "enum": [ + "notApplicable", + "inactive", + "running", + "runningNotCommitted" + ], + "readOnly": true, + "title": "Image status", + "type": "string", + "x-enum-varnames": [ + "Not applicable", + "Inactive", + "Running", + "Running not committed" + ] + }, + "cm.sw.bank.state.imageActivationHistory": { + "description": "Indicates the software image status in the bank\nPossible values:\n- 'notApplicable': Software image in the bank was never activated\n- 'failed': Software image latest activation failed\n- 'succeed': Software image latest activation succeed\n", + "enum": [ + "notApplicable", + "failed", + "succeed" + ], + "readOnly": true, + "title": "Image status", + "type": "string", + "x-enum-varnames": [ + "Not applicable", + "Failed", + "Succeed" + ] + }, + "cm.sw.bank.state.imageConfiguration": { + "description": "Indicates the software image status in the bank\nPossible values:\n- 'notApplicable': Software image is invalid or not present.\n- 'none': Software in this bank has no associated config data.\n- 'upgradeNotClassified': Software in this bank has associated config data but upgrade classification was not executed.\n- 'upgradeClassificationFailed': Software upgrade classification failed.\n- 'invalidUpgradeConfiguration': Software configuration cannot be migrated.\n- 'validUpgradeServiceAffecting': Software configuration is valid and upgrade is service affecting.\n- 'validUpgradeNonServiceAffecting': Software configuration is valid and upgrade is non-service affecting.\n- 'validRunning': Software configuration is valid and applied.\n", + "enum": [ + "notApplicable", + "none", + "upgradeNotClassified", + "upgradeClassificationFailed", + "invalidUpgradeConfiguration", + "validUpgradeServiceAffecting", + "validUpgradeNonServiceAffecting", + "validRunning" + ], + "readOnly": true, + "title": "Image status", + "type": "string", + "x-enum-varnames": [ + "Not applicable", + "None", + "Upgrade not classified", + "Upgrade classification failed", + "Invalid upgrade configuration", + "Valid upgrade service affecting", + "Valid upgrade non service affecting", + "Valid running" + ] + }, + "cm.resource": { + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + } + }, + "type": "object" + }, + "cm.parameters.name": { + "description": "User defined object name.\n", + "maxLength": 64, + "pattern": "^([A-Za-z0-9_\\-.,: ]*)$", + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "xr.device.di": { + "description": "Device identifier.", + "readOnly": true, + "title": "Device identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleId" + } + }, + "cm.parameters.deviceType": { + "description": "Device type\nPossible values:\n- 'ndu'\n- 'moduleHub'\n- 'moduleLeaf'\n- 'moduleUnknown\n", + "enum": [ + "ndu", + "moduleHub", + "moduleLeaf", + "moduleUnknown" + ], + "readOnly": true, + "type": "string", + "x-enum-varnames": [ + "NDU", + "Hub", + "Leaf", + "Unknown" + ], + "x-oapi-codegen-extra-tags": { + "bson": "deviceType" + } + }, + "cm.parameters.deviceId": { + "description": "Object identifier", + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "title": "ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "deviceId" + } + }, + "xr.swmctrl.activeBank": { + "description": "Bank ID of currently active running SW.", + "readOnly": true, + "title": "Running SW bank", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "activeBank" + } + }, + "xr.swmctrl.committedBank": { + "description": "Bank ID of currently committed SW. \n0 = NoValue, 1 = A, 2 = B. \nThis will be the Bank to be used at startup.\n", + "readOnly": true, + "title": "Module Classification", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "committedBank" + } + }, + "xr.swmctrl.previousActiveBank": { + "description": "Bank ID of the previously Active Bank before the currently running SW. 0 is used for N/A.", + "readOnly": true, + "title": "Previous SW bank", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "previousActiveBank" + } + }, + "xr.swmctrl.swmStatus": { + "description": "State of ongoing download or upgrade procedure.\nWhen no upgrade procedure is in progress the status is Idle.\n- '0': Idle\n- '1': Downloading\n- '2': Executing\n- '3': Restarting\n- '4': runningNotCommitted\n- '5': Committing\n- '6': Reverting\n- '7': Falling Back\n", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "readOnly": true, + "type": "integer", + "x-enum-varnames": [ + "Idle", + "Downloading", + "Executing", + "Restarting", + "runningNotCommitted", + "Committing", + "Reverting", + "Falling Back" + ], + "x-oapi-codegen-extra-tags": { + "bson": "status" + } + }, + "xr.swmctrl.latestStatusChangedTime": { + "description": "Timestamp of last sw change in date-time format pattern according to IETF RFC 3339.\nEmpty if there is no image in the bank.\n", + "format": "date-time", + "readOnly": true, + "title": "Request Date", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "latestChangedDate" + } + }, + "xr.swmctrl.recentSWMActionDateTime": { + "format": "date-time", + "readOnly": true, + "title": "Action Date Time", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "timestamp" + } + }, + "xr.swmctrl.recentSWMAction": { + "default": 0, + "description": "Software Management Action. \nSet to a non-zero value to trigger the different SWM actions.\n- '0': No Action\n- '1': Validate swURL\n- '2': Start software download to upgradeBank\n- '3': Classify upgrade impact. I.e. the impact of executing the software in upgradeBank. Result is seen on upgradeClassification property.\n- '4': Execute software in upgradeBank\n- '5': Commit software in runningBank\n- '6': Execute software in previousBank (Fallback)\n- '7': Abort\n", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "readOnly": true, + "title": "SWM Action", + "type": "integer", + "x-enum-varnames": [ + "No Action", + "Validate swURL", + "Start software download to upgradeBank", + "Classify upgrade impact.", + "Execute software in upgradeBank", + "Commit software in runningBank", + "Execute software in previousBank (Fallback)", + "Abort" + ], + "x-oapi-codegen-extra-tags": { + "bson": "action" + } + }, + "xr.swmctrl.recentSWMActionSource": { + "description": "- 0: NA \n- 1: CM \n- 2: Host\n", + "enum": [ + 0, + 1, + 2 + ], + "readOnly": true, + "type": "integer", + "x-enum-varnames": [ + "Not applicable", + "CM", + "Host" + ], + "x-oapi-codegen-extra-tags": { + "bson": "source" + } + }, + "xr.swmctrl.recentSWMActionUpgradeBank": { + "default": 0, + "description": "Bank ID used for swm Actions. \nInactive bank ID is used if not set.\n", + "maximum": 2, + "minimum": 0, + "readOnly": true, + "title": "Upgrade SW bank", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "bank" + } + }, + "xr.swmctrl.recentSWMActionSWURL": { + "default": "", + "description": "Source of software package for download to upgradebank. \nSet to empty if it is not applicable for the recent SWM cction.\n", + "format": "uri", + "maxLength": 255, + "readOnly": true, + "title": "SW URL", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "swUrl" + } + }, + "xr.swmctrl.recentSWMActionRevertTimeout": { + "default": 120, + "description": "Seconds until automatic revert to previousBank after executing new SW, unless the new SW is committed. 0 used for no revert. Set to empty if it is not applicable for the recent SWM action.", + "readOnly": true, + "title": "Revert timeout", + "type": "integer", + "x-unit": "s", + "x-oapi-codegen-extra-tags": { + "bson": "revertTimeout" + } + }, + "xr.swmctrl.recentDownloadProgress": { + "description": "Percentage of SW package download, 0-100, when download is in progress. \n255 is used for \"N/A\" when no download is in progress. \nSet to empty if it is not applicable for the recent SWM action.\n", + "readOnly": true, + "title": "Download progress", + "type": "integer", + "x-unit": "%", + "x-oapi-codegen-extra-tags": { + "bson": "downloadProgress" + } + }, + "xr.swmctrl.recentUpgradeClassification": { + "description": "Classification of upgrade impact of executing the software in upgradeBank. \nResult of swmAction to classify upgrade impact. \nSet to empty if it is not applicable for the recent SWM action.\nPossible values:\n- '0': Upgrade not classified yet\n- '1': Upgrade classification failed\n- '2': Configuration cannot be migrated\n- '3': Service affecting upgrade\n- '4': Non-service affecting upgrade\n", + "readOnly": true, + "title": "Upgrade classification", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "upgradeClassification" + } + }, + "xr.swmctrl.recentSWMActionResult": { + "description": "Result of the last completed swmAction. \nEither successfull or reason for failure.\nResult is Unknown during the execution of an SWM action and can be monitored to see both when an SWM action is completed and the result.\nPossible values:\n- '0': Unknown\n- '1': Success. The last SWM action was run successfully.\n- '2': Invalid or unreachable software URL. \n- '3': Not Enough RAM \n- '4': Not Enough Flash\n- '5': Connection Lost\n- '6': SW validation failure\n- '7': SW execute failure\n- '8': Commit failure\n- '9': Wrong SW For Module.\n", + "readOnly": true, + "title": "Last Action Result", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "result" + } + }, + "xr.swmbank.version": { + "description": "Version of the SW deliverable stored in this bank.", + "maxLength": 20, + "readOnly": true, + "title": "Version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "version" + } + }, + "xr.swmbank.configCompVersion": { + "description": "This is compiled into the SW. \nSee Migration above for details Divided into Major Minor Version. \n0xFFFFFFFF = n/a, i.e. there is no data\n", + "readOnly": true, + "title": "Configuration Compatibility Version", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "configCompVersion" + } + }, + "xr.swmbank.configDataSentry": { + "description": "Incremented at every change of user configuration. \nThis refers to the data stored in association with this specific version. \n0xFFFFFFFF = n/a, i.e. there is no data.\n", + "readOnly": true, + "title": "Configuration Data Sentry", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "configDataSentry" + } + }, + "xr.swmbank.action": { + "description": "Bank operation.\nPossible values:\n- 'none'\n- 'wipeout': Action to delete the SW and associated configuration in this Bank. Set to true to trigger the action.\n", + "enum": [ + "wipeout", + "none" + ], + "title": "Action", + "type": "string", + "x-enum-varnames": [ + "Wipeout", + "None" + ], + "x-oapi-codegen-extra-tags": { + "bson": "action" + } + }, + "cm.network-connection": { + "description": "Definition of network connection", + "example": { + "href": "/network-connections/d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "rt": [ + "cm.network-connection" + ], + "id": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "name": "connection 01: Sunnyvale <> San Jose", + "serviceMode": "portMode", + "labels": { + "region": "West Coast" + } + }, + "state": { + "name": "connection 01: Sunnyvale <> San Jose", + "createdBy": "cm", + "lifecycleState": "configured", + "operationalStatus": "enabled", + "labels": { + "region": "West Coast" + } + }, + "endpoints": [ + { + "href": "/network-connections/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/endpoints/9d37cb82-e7e3-45f0-bf9d-0a9f9b7ffd72", + "rt": [ + "cm.network-connection.endpoint" + ], + "id": "9d37cb82-e7e3-45f0-bf9d-0a9f9b7ffd72", + "parentId": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "selector": { + "ifSelectorByHostPortId": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:2" + } + } + }, + "state": { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:2", + "portSourceMAC": "28:c0:da:3e:3e:44" + }, + "moduleIf": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "3c:2c:99:c0:89:00", + "moduleSerialNumber": "12345678900", + "moduleRole": "hub", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T2", + "moduleClientIfPortSpeed": 100 + } + } + }, + { + "href": "/network-connections/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/endpoints/bc8079be-8b19-4f28-a47e-9b30c8fe41f6", + "rt": [ + "cm.network-connection.endpoint" + ], + "id": "bc8079be-8b19-4f28-a47e-9b30c8fe41f6", + "parentId": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "selector": { + "ifSelectorByHostPortId": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + } + }, + "state": { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "28:c0:da:3e:3e:44" + }, + "moduleIf": { + "moduleId": "37fb48e6-bc3f-4f98-766c-5e8fdc7d0335", + "moduleName": "XR Device", + "moduleMAC": "2b-d3-3f-e4-77-c2", + "moduleSerialNumber": "12345678901", + "moduleClientIfAid": "XR T1", + "role": "leaf" + }, + "bandwidth": 100, + "policy": { + "ingressMatchCriteria": "matchAll", + "ingressMatchOuterVlanId": "", + "egressMatchCriteria": "matchAll", + "egressMatchOuterVlanId": "" + } + } + } + ], + "localConnections": [ + { + "href": "/network-connections/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/local-connections/138ffcf5-5e77-4121-9e84-9fb9e677cbc4", + "rt": [ + "cm.network-connection.localConnection" + ], + "id": "138ffcf5-5e77-4121-9e84-9fb9e677cbc4", + "parentId": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "moduleId": "37fb48e6-bc3f-4f98-766c-5e8fdc7d0335", + "clientAid": "XR T1", + "dscgAid": "XR-L1-C1-DSCG1", + "directionality": "biDir" + }, + "state": { + "lcColId": 1, + "aid": "XR-T1,XR-L1-C1-ODUCni-1-ODUji-1", + "directionality": "biDir", + "moduleId": "37fb48e6-bc3f-4f98-766c-5e8fdc7d0335", + "moduleMAC": "2b-d3-3f-e4-77-c2", + "clientAid": "XR-T1", + "lineAid": "XR-L1-C1-ODUCni-1-ODUji-1", + "dscgAid": "XR-L1-C1-DSCG1", + "remoteModuleMAC": "3c:2c:99:c0:89:00", + "remoteClientAid": "XR T2" + } + }, + { + "href": "/network-connections/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/local-connections/92c8cd71-4d8b-412f-90b4-de4ec3448eb2", + "rt": [ + "cm.network-connection.localConnection" + ], + "id": "92c8cd71-4d8b-412f-90b4-de4ec3448eb2", + "parentId": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "clientAid": "XR T2", + "dscgAid": "XR-L1-C1-DSCG1", + "directionality": "biDir" + }, + "state": { + "lcColId": 1, + "aid": "XR-T2,XR-L1-C1-ODUCni-1-ODUji-1", + "directionality": "biDir", + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleMAC": "2b-d3-3f-e4-77-c2", + "clientAid": "XR-T2", + "lineAid": "XR-L1-C1-ODUCni-1-ODUji-1", + "dscgAid": "XR-L1-C1-DSCG1", + "remoteModuleMAC": "3c:2c:99:c0:89:00", + "remoteClientAid": "XR T2" + } + } + ] + }, + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.network-connection.config" + }, + "state": { + "$ref": "#/components/schemas/cm.network-connection.state" + }, + "endpoints": { + "$ref": "#/components/schemas/cm.network-connection.endpoints" + }, + "lcs": { + "$ref": "#/components/schemas/cm.network-connection.local-connections" + } + }, + "type": "object" + }, + "cm.network-connection.config": { + "additionalProperties": false, + "description": "Definition of network connection configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "serviceMode": { + "$ref": "#/components/schemas/cm.network-connection.parameters.serviceMode" + }, + "mc": { + "$ref": "#/components/schemas/cm.network-connection.parameters.mc" + }, + "outerVID": { + "$ref": "#/components/schemas/cm.network-connection.parameters.outerVID" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.network-connection.state": { + "description": "Definition of network connection state parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "serviceMode": { + "$ref": "#/components/schemas/cm.network-connection.parameters.serviceMode" + }, + "createdBy": { + "$ref": "#/components/schemas/cm.network-connection.parameters.createdBy" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.network-connection.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + }, + "operationalStatus": { + "$ref": "#/components/schemas/cm.network-connection.parameters.operationalStatus" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.network-connection.parameters.serviceMode": { + "default": "portMode", + "description": "Provides the network connection type.\nPossible values:\n- 'portMode': Provides transparent transport of Ethernet or OTN traffic between XR hub and leaf client ports\n- 'vtiP2mpMode': Provides transport of VLAN flows between XR hub and leaf client ports where downstream traffic and bandwidth from Hub module can be shared by multiple Leaf modules\n- 'vtiP2pSymmetric': Provides transport of VLAN flows between XR hub and leaf client ports using a symmetric P2P bidirectional (upstream and downstream) flow between a Hub and a Leaf module\n- 'vtiP2pAsymmetric': Provides transport of VLAN flows between XR hub and leaf client ports using an asymmetric P2P bidirectional (upstream and downstream) flow between a Hub and a Leaf module\n", + "enum": [ + "portMode", + "vtiP2mpMode", + "vtiP2pSymmetric", + "vtiP2pAsymmetric" + ], + "title": "Service Mode", + "type": "string", + "x-enum-varnames": [ + "Port mode", + "VTI P2MP mode", + "VTI P2MP symmetric", + "VTI P2MP asymmetric" + ], + "x-oapi-codegen-extra-tags": { + "bson": "serviceMode" + } + }, + "cm.network-connection.parameters.createdBy": { + "description": "Indicates whether network-connection orchestration should be done through CM interface or through Host interface\nPossible values: 'host', 'cm'\n- 'host': Created through host interface and discovered by CM\n Cannot be edited or deleted through CM interface\n- 'cm': Created through CM interface\n Can be edited or deleted through CM interface\n", + "enum": [ + "host", + "cm" + ], + "readOnly": true, + "title": "Created by", + "type": "string", + "x-enum-varnames": [ + "Host", + "IPM" + ], + "x-oapi-codegen-extra-tags": { + "bson": "createdBy" + } + }, + "cm.network-connection.parameters.lifecycleState": { + "description": "Provides the configuration status of a network connection.\nPossible values:\n- 'pendingConfiguration': This state occurs when one of the network connection modules is pending configuration or pending deletion.\n- 'configured': This state occurs when all network connection modules are configured.\n- 'configurationFailed': This state may occur when at least a configuration of a module from this network connection failed or timeout.\n- 'pendingDeletion': This state may occur when a request to delete this network connection is being processed.\n- 'deletionFailed': This state may occur when at least a removal of a module from this network connection failed or timeout.\n- 'networkConflict': This state may occur when there is a conflict in a network connection module configuration.\n- 'deleted': This state occurs when a network connection is removed.\n", + "enum": [ + "pendingConfiguration", + "configured", + "configurationFailed", + "pendingDeletion", + "deletionFailed", + "networkConflict", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending configuration", + "Configured", + "Configuration failed", + "Pending deletion", + "Deletion failed", + "Network conflict", + "Deleted" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleState" + } + }, + "cm.network-connection.parameters.operationalStatus": { + "description": "Operational Status.", + "enum": [ + "enabled", + "disabled" + ], + "readOnly": true, + "title": "Operational status", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "operationalStatus" + } + }, + "cm.network-connection.parameters.mc": { + "description": "Match Criteria applied to the packets received from network side before sending to the client side.\nPossible Values:\n- 'matchAll': All packets from the associated client interface\n- 'matchOuterVID': Based on outer VLAN ID\n- 'none'\n", + "enum": [ + "matchAll", + "matchOuterVID", + "none" + ], + "type": "string", + "x-enum-varnames": [ + "Match all", + "Match outer VLAN Id", + "None" + ], + "x-oapi-codegen-extra-tags": { + "bson": "mc" + } + }, + "cm.network-connection.parameters.outerVID": { + "description": "String format listing of one or more individual VLAN IDs separated by \"&\" and/or ranges of VLAN IDs connected with \"&&\". \nExample \"10 & 20 & 50 && 100\" represents the VLAN IDs 10, 20 and 50-100.\n", + "pattern": "((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&\\& (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))* | ((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&)* | (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])", + "title": "Match Criteria VLAN IDs", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "outerVID" + } + }, + "cm.network-connection.create": { + "additionalProperties": false, + "description": "Definition of network connection creation parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "serviceMode": { + "$ref": "#/components/schemas/cm.network-connection.parameters.serviceMode" + }, + "mc": { + "$ref": "#/components/schemas/cm.network-connection.parameters.mc" + }, + "outerVID": { + "$ref": "#/components/schemas/cm.network-connection.parameters.outerVID" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + }, + "endpoints": { + "items": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.create" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "endpoints", + "name", + "serviceMode" + ], + "type": "object" + }, + "cm.network-connection.update": { + "additionalProperties": false, + "description": "Definition of network connection configurable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "serviceMode": { + "$ref": "#/components/schemas/cm.network-connection.parameters.serviceMode" + }, + "mc": { + "$ref": "#/components/schemas/cm.network-connection.parameters.mc" + }, + "outerVID": { + "$ref": "#/components/schemas/cm.network-connection.parameters.outerVID" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.network-connection.endpoint": { + "description": "Definition of network connection endpoint object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "config": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.config" + }, + "state": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.state" + }, + "acs": { + "$ref": "#/components/schemas/cm.network-connection.acs" + } + } + }, + "cm.network-connection.endpoints": { + "description": "List of network connection endpoints", + "items": { + "$ref": "#/components/schemas/cm.network-connection.endpoint" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "endpoints" + } + }, + "cm.network-connection.endpoint.config": { + "additionalProperties": false, + "description": "Definition of network connection endpoint configurable parameters", + "properties": { + "selector": { + "$ref": "#/components/schemas/cm.selectors.ifSelector" + }, + "capacity": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.parameters.capacity" + } + }, + "type": "object" + }, + "cm.network-connection.endpoint.state": { + "description": "Definition of network-connection endpoint state object", + "properties": { + "hostPort": { + "$ref": "#/components/schemas/cm.interface.hostPort" + }, + "moduleIf": { + "$ref": "#/components/schemas/cm.interface.moduleIf" + }, + "capacity": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.parameters.capacity" + } + } + }, + "cm.network-connection.endpoint.parameters.capacity": { + "description": "Client to network capacity of the attachment circuit.\nPossible values are defined in multiples of 25Gbps up to maximum module rate.\n", + "title": "Capacity", + "type": "integer", + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "capacity" + } + }, + "cm.network-connection.endpoint.create": { + "additionalProperties": false, + "description": "Definition of network connection endpoint creation parameters", + "properties": { + "selector": { + "$ref": "#/components/schemas/cm.selectors.ifSelector" + }, + "capacity": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.parameters.capacity" + } + }, + "required": [ + "selector" + ], + "type": "object" + }, + "cm.network-connection.endpoint.update": { + "additionalProperties": false, + "description": "Definition of network connection endpoint editable parameters", + "properties": { + "capacity": { + "$ref": "#/components/schemas/cm.network-connection.endpoint.parameters.capacity" + } + }, + "required": [ + "capacity" + ], + "type": "object" + }, + "cm.network-connection.ac": { + "description": "Attachment circuit", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentIds": { + "$ref": "#/components/schemas/cm.parameters.parentIds" + }, + "config": { + "$ref": "#/components/schemas/cm.network-connection.ac.config" + }, + "state": { + "$ref": "#/components/schemas/cm.network-connection.ac.state" + } + }, + "type": "object" + }, + "cm.network-connection.acs": { + "description": "List of attachment circuits", + "items": { + "$ref": "#/components/schemas/cm.network-connection.ac" + }, + "maxItems": 2, + "minItems": 1, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "acs" + } + }, + "cm.network-connection.ac.config": { + "description": "Definition attachment circuit configurable parameters", + "properties": { + "capacity": { + "$ref": "#/components/schemas/cm.network-connection.ac.parameters.capacity" + }, + "imc": { + "$ref": "#/components/schemas/cm.network-connection.ac.parameters.imc" + }, + "imcOuterVID": { + "$ref": "#/components/schemas/cm.network-connection.ac.parameters.imcOuterVID" + }, + "emc": { + "$ref": "#/components/schemas/cm.network-connection.ac.parameters.emc" + }, + "emcOuterVID": { + "$ref": "#/components/schemas/cm.network-connection.ac.parameters.emcOuterVID" + } + }, + "type": "object" + }, + "cm.network-connection.ac.state": { + "description": "Definition of the attachment circuit state parameters.", + "properties": { + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "capacity": { + "$ref": "#/components/schemas/xr.ethernet.ac.capacity" + }, + "imc": { + "$ref": "#/components/schemas/xr.ethernet.ac.imc" + }, + "imcOuterVID": { + "$ref": "#/components/schemas/xr.ethernet.ac.imcOuterVID" + }, + "emc": { + "$ref": "#/components/schemas/xr.ethernet.ac.emc" + }, + "emcOuterVID": { + "$ref": "#/components/schemas/xr.ethernet.ac.emcOuterVID" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.network-connection.ac.parameters.lifecycleState" + } + }, + "type": "object" + }, + "cm.network-connection.ac.parameters.capacity": { + "description": "Client to network capacity of the attachment circuit.\nPossible values are defined in multiples of 25Gbps up to maximum module rate.\n", + "title": "Capacity", + "type": "integer", + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "capacity" + } + }, + "cm.network-connection.ac.parameters.imc": { + "description": "Ingress Match Criteria applied to the packets received from client port before sending to the network side.\nPossible Values:\n- 'matchAll': All packets from the associated client interface\n- 'matchOuterVID': Based on outer VLAN ID\n- 'none'\n", + "enum": [ + "matchAll", + "matchOuterVID", + "none" + ], + "type": "string", + "x-enum-varnames": [ + "Match all", + "Match outer VLAN Id", + "None" + ], + "x-oapi-codegen-extra-tags": { + "bson": "imc" + } + }, + "cm.network-connection.ac.parameters.emc": { + "description": "Egress Match Criteria applied to the packets received from network side before sending to the client side.\nPossible Values:\n- 'matchAll': All packets from the associated client interface\n- 'matchOuterVID': Based on outer VLAN ID\n- 'none'\n", + "enum": [ + "matchAll", + "matchOuterVID", + "none" + ], + "type": "string", + "x-enum-varnames": [ + "Match all", + "Match outer VLAN Id", + "None" + ], + "x-oapi-codegen-extra-tags": { + "bson": "emc" + } + }, + "cm.network-connection.ac.parameters.imcOuterVID": { + "description": "String format listing of one or more individual VLAN IDs separated by \"&\" and/or ranges of VLAN IDs connected with \"&&\".\nExample \"10 & 20 & 50 && 100\" represents the VLAN IDs 10, 20 and 50-100.\n", + "pattern": "((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&\\& (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))* | ((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&)* | (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])", + "title": "Ingress Match Criteria VLAN IDs", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "imcOuterVID" + } + }, + "cm.network-connection.ac.parameters.emcOuterVID": { + "description": "String format listing of one or more individual VLAN IDs separated by \"&\" and/or ranges of VLAN IDs connected with \"&&\". \nExample \"10 & 20 & 50 && 100\" represents the VLAN IDs 10, 20 and 50-100.\n", + "pattern": "((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&\\& (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))* | ((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])\\&)* | (409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])", + "title": "Egress Match Criteria VLAN IDs", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "emcOuterVID" + } + }, + "cm.network-connection.ac.parameters.lifecycleState": { + "description": "Provides the configuration status of an attachment circuit.\nPossible values:\n- 'pendingConfiguration': This state occurs when the module ac configuration is required.\n- 'configured': This state occurs when the module is configured in the network according to its ac requirements.\n- 'configurationFailed': This state occurs when the module ac configuration failed or timeout.\n- 'pendingDeletion': This state occurs when the module shall be removed from the current network-connection.\n- 'deletionFailed': This state occurs when the configuration to remove the module from the network-connection failed or timeout.\n- 'networkConflict': The current module configuration does not match the request or was already a member of other existing network-connection.\n- 'deleted': This state occurs when the current module is removed from the network-connection.\n", + "title": "Lifecycle State" + }, + "cm.network-connection.local-connection": { + "description": "Cross-connection between ethernet interface and optical line interface within a device", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentIds": { + "$ref": "#/components/schemas/cm.parameters.parentIds" + }, + "config": { + "$ref": "#/components/schemas/cm.network-connection.local-connection.config" + }, + "state": { + "$ref": "#/components/schemas/cm.network-connection.local-connection.state" + } + }, + "type": "object" + }, + "cm.network-connection.local-connections": { + "description": "List of local connections", + "items": { + "$ref": "#/components/schemas/cm.network-connection.local-connection" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "lcs" + } + }, + "cm.network-connection.local-connection.config": { + "additionalProperties": false, + "description": "Definition of local-connection configurable parameters", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/cm.network-connection.local-connection.parameters.moduleId" + }, + "clientAid": { + "$ref": "#/components/schemas/cm.network-connection.local-connection.parameters.clientAid" + }, + "dscgAid": { + "$ref": "#/components/schemas/cm.network-connection.local-connection.parameters.dscgAid" + }, + "direction": { + "$ref": "#/components/schemas/cm.network-connection.local-connection.parameters.direction" + } + }, + "type": "object" + }, + "cm.network-connection.local-connection.state": { + "description": "Definition of network-connection state parameters", + "properties": { + "lcAid": { + "$ref": "#/components/schemas/xr.lc.aid" + }, + "colId": { + "$ref": "#/components/schemas/xr.common.colId" + }, + "direction": { + "$ref": "#/components/schemas/xr.lc.direction" + }, + "moduleId": { + "$ref": "#/components/schemas/xr.device.di" + }, + "macAddress": { + "$ref": "#/components/schemas/xr.platform.macAddress" + }, + "clientAid": { + "$ref": "#/components/schemas/xr.lc.clientAid" + }, + "lineAid": { + "$ref": "#/components/schemas/xr.lc.lineAid" + }, + "dscgAid": { + "$ref": "#/components/schemas/xr.lc.dscgAid" + }, + "remoteModuleId": { + "$ref": "#/components/schemas/xr.lc.remoteModuleId" + }, + "remoteClientAid": { + "$ref": "#/components/schemas/xr.lc.remoteClientId" + } + }, + "type": "object" + }, + "cm.network-connection.local-connection.parameters.moduleId": { + "description": "Module identifier", + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "title": "ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleId" + } + }, + "cm.network-connection.local-connection.parameters.clientAid": { + "description": "Access Identifier (AID) within module and client interface collection.", + "maxLength": 64, + "title": "Client AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clientAid" + } + }, + "cm.network-connection.local-connection.parameters.dscgAid": { + "description": "Access Identifier (AID) within module and DSCG collection.", + "maxLength": 64, + "title": "DSCG AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "dscgAid" + } + }, + "cm.network-connection.local-connection.parameters.direction": { + "description": "Directionality of the local connection. \nPossible values:\n- 'txRx': Both Transmit (Client to Line) and Receive (Line to Client) direction \n- 'tx': Client to Line direction only. \n- 'rx': Line to Client direction only.\n", + "enum": [ + "txRx", + "tx", + "rx" + ], + "title": "Directionality of the LC.", + "type": "string", + "x-enum-varnames": [ + "TX and RX", + "TX only", + "RX only" + ], + "x-oapi-codegen-extra-tags": { + "bson": "direction" + } + }, + "cm.parameters.lifecycleStateCause": { + "description": "Detailed information regarding the object lifecycle state.", + "properties": { + "action": { + "$ref": "#/components/schemas/cm.lifecycleStateCause.parameters.action" + }, + "timestamp": { + "$ref": "#/components/schemas/cm.lifecycleStateCause.parameters.timestamp" + }, + "traceId": { + "$ref": "#/components/schemas/cm.lifecycleStateCause.parameters.traceId" + }, + "errors": { + "items": { + "$ref": "#/components/schemas/cm.error" + }, + "type": "array" + } + }, + "title": "Lifecycle State Cause", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleStateCause" + } + }, + "cm.lifecycleStateCause.parameters.action": { + "description": "Internal id of the action that triggered the current lifecycle state change.", + "readOnly": true, + "title": "Action", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "action" + } + }, + "cm.lifecycleStateCause.parameters.timestamp": { + "description": "Timestamp of the action that triggered the current lifecycle state change in date-time format pattern according to IETF RFC 3339.", + "format": "date-time", + "readOnly": true, + "title": "Timestamp", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "timestamp" + } + }, + "cm.lifecycleStateCause.parameters.traceId": { + "description": "Id assigned to the request, job, or action that triggered the current lifecycle state change.", + "readOnly": true, + "title": "Trace Id", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "traceId" + } + }, + "cm.selectors.ifSelector": { + "description": "Definition of selector", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "hostPortSelectorByName": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorByName" + }, + "hostPortSelectorByPortId": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorByPortId" + }, + "hostPortSelectorBySysName": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorBySysName" + }, + "hostPortSelectorByPortSourceMAC": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorByPortSourceMAC" + }, + "moduleIfSelectorByModuleId": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelectorByModuleId" + }, + "moduleIfSelectorByModuleName": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelectorByModuleName" + }, + "moduleIfSelectorByModuleMAC": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelectorByModuleMAC" + }, + "moduleIfSelectorByModuleSerialNumber": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelectorByModuleSerialNumber" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "selector" + } + }, + "cm.selector.hostPortSelectorByName": { + "additionalProperties": false, + "description": "Definition of host port selector based on host port name information", + "maxProperties": 3, + "minProperties": 3, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "portIdSubtype": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portIdSubtype" + }, + "portId": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portId" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hostPortSelectorByName" + } + }, + "cm.selector.hostPortSelector.parameters.portIdSubtype": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria for associating the host port to a module client interface using the tuple chassisIdSubtype, chassisId, portIdSubtype, portId.\n", + "enum": [ + "interfaceAlias", + "portComponent", + "macAddress", + "networkAddress", + "interfaceName", + "agentCircuitId", + "local" + ], + "title": "LLDP Port ID encoding", + "type": "string", + "x-enum-varnames": [ + "Interface alias", + "Port component", + "MAC address", + "Network address", + "Interface name", + "Agent circuit ID", + "Locally assigned" + ], + "x-oapi-codegen-extra-tags": { + "bson": "portIdSubtype" + } + }, + "cm.selector.hostPortSelector.parameters.portId": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria for associating the host port to a module client interface using the tuple chassisIdSubtype, chassisId, portIdSubtype, portId.\n", + "title": "LLDP Port ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "portId" + } + }, + "cm.selector.hostPortSelectorByPortId": { + "additionalProperties": false, + "description": "Definition of host port selector based on host port id and chassis id information", + "maxProperties": 4, + "minProperties": 4, + "properties": { + "chassisIdSubtype": { + "$ref": "#/components/schemas/cm.selector.hostSelector.parameters.chassisIdSubtype" + }, + "chassisId": { + "$ref": "#/components/schemas/cm.selector.hostSelector.parameters.chassisId" + }, + "portIdSubtype": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portIdSubtype" + }, + "portId": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portId" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hostPortSelectorByPortId" + } + }, + "cm.selector.hostSelector.parameters.chassisIdSubtype": { + "default": "macAddress", + "description": "Value of chassisIdSubtype (encoding of chassisId) within LLDP data.\nOnly applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules.\n", + "enum": [ + "reserved", + "chassisComponent", + "interfaceAlias", + "portComponent", + "macAddress", + "networkAddress", + "interfaceName", + "local" + ], + "title": "LLDP Chassis ID encoding", + "type": "string", + "x-enum-varnames": [ + "Reserved", + "Chassis component", + "Interface alias", + "Port component", + "MAC address", + "Network address", + "Interface name", + "Locally assigned" + ], + "x-oapi-codegen-extra-tags": { + "bson": "chassisIdSubtype" + } + }, + "cm.selector.hostSelector.parameters.chassisId": { + "description": "Value of chassisId within LLDP data\nOnly applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules.\n", + "title": "LLDP Chassis ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "chassisId" + } + }, + "cm.selector.hostPortSelectorBySysName": { + "additionalProperties": false, + "description": "Definition of host port selector based on host port id and host system name information", + "maxProperties": 3, + "minProperties": 3, + "properties": { + "sysName": { + "$ref": "#/components/schemas/cm.selector.hostSelector.parameters.sysName" + }, + "portIdSubtype": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portIdSubtype" + }, + "portId": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portId" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hostPortSelectorBySysName" + } + }, + "cm.selector.hostSelector.parameters.sysName": { + "description": "Value of System Name within LLDP data\nOnly applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules.\n", + "title": "LLDP System Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "sysName" + } + }, + "cm.selector.hostPortSelectorByPortSourceMAC": { + "additionalProperties": false, + "description": "Definition of host port selector based on host port source MAC address id information", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "portSourceMAC": { + "$ref": "#/components/schemas/cm.selector.hostPortSelector.parameters.portSourceMAC" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hostPortSelectorByPortSourceMAC" + } + }, + "cm.selector.hostPortSelector.parameters.portSourceMAC": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria for associating the host port to a module client interface using the portSourceMAC.\n", + "title": "Host Port MAC Address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "portSourceMAC" + } + }, + "cm.selector.moduleIfSelectorByModuleId": { + "additionalProperties": false, + "description": "Definition of host port selector based on module id information", + "maxProperties": 2, + "minProperties": 2, + "properties": { + "moduleId": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleId" + }, + "moduleClientIfAid": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelector.parameters.moduleClientIfAid" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIfSelectorByModuleId" + } + }, + "cm.selector.moduleSelector.parameters.moduleId": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules using moduleId.\n", + "title": "Module Identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleId" + } + }, + "cm.selector.moduleIfSelector.parameters.moduleClientIfAid": { + "description": "TODO\n", + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleClientIfAid" + } + }, + "cm.selector.moduleIfSelectorByModuleName": { + "additionalProperties": false, + "description": "Definition of host port selector based on module serial number information", + "maxProperties": 2, + "minProperties": 2, + "properties": { + "moduleName": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleName" + }, + "moduleClientIfAid": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelector.parameters.moduleClientIfAid" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIfSelectorByModuleName" + } + }, + "cm.selector.moduleSelector.parameters.moduleName": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules.\n", + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleName" + } + }, + "cm.selector.moduleIfSelectorByModuleMAC": { + "additionalProperties": false, + "description": "Definition of host port selector based on module MAC address information", + "maxProperties": 2, + "minProperties": 2, + "properties": { + "moduleMAC": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleMAC" + }, + "moduleClientIfAid": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelector.parameters.moduleClientIfAid" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIfSelectorByModuleMAC" + } + }, + "cm.selector.moduleSelector.parameters.moduleMAC": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules.\n", + "title": "MAC Address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleMAC" + } + }, + "cm.selector.moduleIfSelectorByModuleSerialNumber": { + "additionalProperties": false, + "description": "Definition of host port selector based on module serial number information", + "maxProperties": 2, + "minProperties": 2, + "properties": { + "moduleSerialNumber": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleSerialNumber" + }, + "moduleClientIfAid": { + "$ref": "#/components/schemas/cm.selector.moduleIfSelector.parameters.moduleClientIfAid" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIfSelectorByModuleSerialNumber" + } + }, + "cm.selector.moduleSelector.parameters.moduleSerialNumber": { + "description": "Only applicable when pre-planning objects.\nIf defined, this parameter is used as matching criteria when associating discovered XR modules.\n", + "title": "Serial number", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleSerialNumber" + } + }, + "cm.interface.hostPort": { + "description": "Definition of interface host parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "hostName": { + "$ref": "#/components/schemas/cm.parameters.hostName" + }, + "chassisIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisIdSubtype" + }, + "chassisId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisId" + }, + "sysName": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysName" + }, + "portIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portIdSubtype" + }, + "portId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portId" + }, + "portSourceMAC": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.localPortSourceMAC" + }, + "portDescr": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portDescr" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hostPort" + } + }, + "cm.parameters.hostName": { + "description": "User defined object name.", + "maxLength": 64, + "pattern": "^([A-Za-z0-9_\\-.,: ]*)$", + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "hostName" + } + }, + "cm.interface.moduleIf": { + "description": "Definition of interface module parameters", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/xr.device.di" + }, + "moduleName": { + "$ref": "#/components/schemas/xr.device.n" + }, + "macAddress": { + "$ref": "#/components/schemas/xr.platform.macAddress" + }, + "serialNumber": { + "$ref": "#/components/schemas/xr.platform.mnsel" + }, + "currentRole": { + "$ref": "#/components/schemas/xr.configuration.currentRole" + }, + "clientIfColId": { + "$ref": "#/components/schemas/xr.ethernet.colId" + }, + "clientIfAid": { + "$ref": "#/components/schemas/xr.ethernet.aid" + }, + "clientIfPortSpeed": { + "$ref": "#/components/schemas/xr.ethernet.portSpeed" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIf" + } + }, + "cm.parameters.parentIds": { + "description": "List of Parent Object identifiers", + "items": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "title": "Parent IDs", + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentIds" + } + }, + "xr.ethernet.colId": { + "description": "Object identifier in the supporting Ethernet collection.", + "title": "Collection Id", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "clientIfColId" + } + }, + "cm.xr-network": { + "description": "Definition of xr-network object", + "example": { + "href": "/networks/5f8c47b4-c02a-6242-260c-185dd04b8faf", + "rt": [ + "cm.network" + ], + "id": "5f8c47b4-c02a-6242-260c-185dd04b8faf", + "config": { + "name": "Sunnyvale Constellation", + "constellationFrequency": 193100000, + "modulation": "16QAM" + }, + "state": { + "name": "Sunnyvale Constellation", + "constellationFrequency": 193100000, + "modulation": "16QAM", + "lifecycleState": "configured", + "reachableModules": [ + { + "discoveredTime": "2022-04-05T14:32Z", + "module": { + "moduleId": "c85c2904-1794-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:03", + "moduleSerialNumber": "12345678903", + "configuredRole": "Auto", + "currentRole": "Hub", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "frequencyCtrl": "XR", + "constellationFrequency": 194100000, + "operatingFrequency": 194100000, + "ncoFrequency": 194100000, + "modulation": "16QAM", + "capacity": 400, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 16, + "txPowerTargetPerDsc": -6.4 + }, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "49:48:59:74:0F:05", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "6F:B9:08:F0:C2:49", + "portDescr": "et-1/0/0:0" + }, + "module": { + "moduleId": "c85c2904-1794-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:03", + "moduleSerialNumber": "12345678903", + "moduleCurrentRole": "Hub", + "moduleClientIfColId": 1, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 400 + } + } + ] + }, + { + "discoveredTime": "2022-04-05T14:32Z", + "module": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "configuredRole": "Auto", + "currentRole": "hub", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "frequencyCtrl": "XR", + "constellationFrequency": 193100000, + "operatingFrequency": 193100000, + "ncoFrequency": 193100000, + "modulation": "16QAM", + "capacity": 400, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 16, + "txPowerTargetPerDsc": -6.4, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "da:3d:c2:4c:55:40", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "moduleCurrentRole": "hub", + "moduleClientIfColId": 1, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + } + }, + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:0", + "portSourceMAC": "04:34:D6:88:A8:CB", + "portDescr": "et-1/0/1:0" + }, + "moduleIf": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "moduleCurrentRole": "hub", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T2", + "moduleClientIfPortSpeed": 100 + } + } + ] + } + }, + { + "discoveredTime": "2022-04-05T14:32Z", + "module": { + "moduleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678901", + "configuredRole": "Auto", + "currentRole": "Leaf", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "frequencyCtrl": "XR", + "constellationFrequency": 193100000, + "operatingFrequency": 193074500, + "ncoFrequency": 193074500, + "modulation": "16QAM", + "capacity": 100, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 4, + "txPowerTargetPerDsc": -6.4, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "8C:23:5E:E9:72:1C", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678901", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 1, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + } + }, + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:0", + "portSourceMAC": "B9:0B:80:0E:0B:70", + "portDescr": "et-1/0/1:0" + }, + "moduleIf": { + "moduleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678901", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T2", + "moduleClientIfPortSpeed": 100 + } + } + ] + } + }, + { + "discoveredTime": "2022-04-05T14:32Z", + "module": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678902", + "configuredRole": "Auto", + "currentRole": "Leaf", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "frequencyCtrl": "XR", + "fiberConnectionMode": "dual", + "constellationFrequency": 193100000, + "operatingFrequency": 193074500, + "ncoFrequency": 193074500, + "modulation": "16QAM", + "capacity": 100, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 4, + "txPowerTargetPerDsc": -6.4, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:99:F8:2c:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "da:3d:c2:4c:55:40", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678902", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + } + } + ] + } + } + ], + "controlLinks": [ + { + "sourceModuleId": "18e47620-8848-4c7e-710f-05c668478c57", + "destinationModuleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "conState": "Active", + "lastConStateChange": 1628084981 + }, + { + "sourceModuleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "destinationModuleId": "18e47620-8848-4c7e-710f-05c668478c57", + "conState": "Active", + "lastConStateChange": 1628084981 + }, + { + "sourceModuleId": "18e47620-8848-4c7e-710f-05c668478c57", + "destinationModuleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "conState": "Active", + "lastConStateChange": 1628081381 + }, + { + "sourceModuleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "destinationModuleId": "18e47620-8848-4c7e-710f-05c668478c57", + "conState": "Active", + "lastConStateChange": 1628081381 + } + ], + "availableServices": [ + { + "type": "100G", + "maximum": 4, + "available": 2, + "used": 2 + }, + { + "type": "75G", + "maximum": 4, + "available": 0, + "used": 0 + }, + { + "type": "50G", + "maximum": 8, + "available": 0, + "used": 0 + }, + { + "type": "25G", + "maximum": 16, + "available": 0, + "used": 0 + } + ] + }, + "hub": { + "href": "/networks/5f8c47b4-c02a-6242-260c-185dd04b8faf/hub/80da9300-8e6d-49d6-890f-c6436188b0fb", + "rt": [ + "cm.xr-network.hub" + ], + "id": "80da9300-8e6d-49d6-890f-c6436188b0fb", + "parentId": "5f8c47b4-c02a-6242-260c-185dd04b8faf", + "config": { + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:2" + } + }, + "module": { + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "maxAllowedDSCs": 16 + } + }, + "state": { + "lifecycleState": "configured", + "module": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "configuredRole": "Auto", + "currentRole": "hub", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "frequencyCtrl": "XR", + "constellationFrequency": 193100000, + "operatingFrequency": 193100000, + "ncoFrequency": 193100000, + "modulation": "16QAM", + "capacity": 400, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 16, + "txPowerTargetPerDsc": -6.4 + }, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "da:3d:c2:4c:55:40", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "moduleCurrentRole": "hub", + "moduleClientIfColId": 1, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + } + }, + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:0", + "portSourceMAC": "04:34:D6:88:A8:CB", + "portDescr": "et-1/0/1:0" + }, + "moduleIf": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "moduleCurrentRole": "hub", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T2", + "moduleClientIfPortSpeed": 100 + } + } + ] + } + }, + "leafModules": [ + { + "href": "/networks/5f8c47b4-c02a-6242-260c-185dd04b8faf/leafModules/0f4d67fe-02aa-44ec-a5d8-4c7a71b240cb", + "rt": [ + "cm.xr-network.hub" + ], + "id": "0f4d67fe-02aa-44ec-a5d8-4c7a71b240cb", + "parentId": "5f8c47b4-c02a-6242-260c-185dd04b8faf", + "config": { + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + }, + "module": { + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual" + } + }, + "state": { + "lifecycleState": "configured", + "module": { + "moduleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678901", + "configuredRole": "Auto", + "currentRole": "Leaf", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual", + "frequencyCtrl": "XR", + "constellationFrequency": 193100000, + "operatingFrequency": 193074500, + "ncoFrequency": 193074500, + "modulation": "16QAM", + "capacity": 100, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 4, + "txPowerTargetPerDsc": -6.4 + }, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "8C:23:5E:E9:72:1C", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678901", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 1, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + } + }, + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:0B:F8:00:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:0", + "portSourceMAC": "B9:0B:80:0E:0B:70", + "portDescr": "et-1/0/1:0" + }, + "moduleIf": { + "moduleId": "153a21fc-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678901", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T2", + "moduleClientIfPortSpeed": 100 + } + } + ] + } + }, + { + "href": "/networks/5f8c47b4-c02a-6242-260c-185dd04b8faf/leafModules/0a6cd54a-7767-43b9-915b-0ccc643412b9", + "rt": [ + "cm.xr-network.hub" + ], + "id": "0a6cd54a-7767-43b9-915b-0ccc643412b9", + "parentId": "5f8c47b4-c02a-6242-260c-185dd04b8faf", + "config": { + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:99:F8:2c:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + }, + "module": { + "trafficMode": "L1Mode", + "fiberConnectionMode": "dual" + } + }, + "state": { + "lifecycleState": "configured", + "module": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678902", + "configuredRole": "Auto", + "currentRole": "Leaf", + "roleStatus": "Ready", + "trafficMode": "L1Mode", + "frequencyCtrl": "XR", + "fiberConnectionMode": "dual", + "constellationFrequency": 193100000, + "operatingFrequency": 193074500, + "ncoFrequency": 193074500, + "modulation": "16QAM", + "capacity": 100, + "clientPortMode": "ethernet", + "baudRate": 32, + "maxAllowedDSCs": 4, + "txPowerTargetPerDsc": -6.4 + }, + "endpoints": [ + { + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:99:F8:2c:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "da:3d:c2:4c:55:40", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678902", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + } + } + ] + } + } + ] + }, + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.xr-network.config" + }, + "state": { + "$ref": "#/components/schemas/cm.xr-network.state" + }, + "hubModule": { + "$ref": "#/components/schemas/cm.xr-network.hubModule" + }, + "leafModules": { + "$ref": "#/components/schemas/cm.xr-network.leafModules" + }, + "reachableModules": { + "$ref": "#/components/schemas/cm.xr-network.reachableModules" + } + }, + "type": "object" + }, + "cm.xr-network.config": { + "additionalProperties": false, + "description": "Definition of xr-network configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.xr-network.parameters.name" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/cm.xr-network.parameters.constellationFrequency" + }, + "modulation": { + "$ref": "#/components/schemas/cm.xr-network.parameters.modulation" + } + }, + "type": "object" + }, + "cm.xr-network.state": { + "description": "Definition of constellation state", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.xr-network.parameters.name" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/xr.carrier.constellationFrequency" + }, + "modulation": { + "$ref": "#/components/schemas/xr.carrier.modulation" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.xr-network.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + }, + "controlLinks": { + "$ref": "#/components/schemas/cm.xr-network.state.controlLinks" + }, + "availableServices": { + "$ref": "#/components/schemas/cm.xr-network.state.availableServices" + } + }, + "type": "object" + }, + "cm.xr-network.state.controlLink": { + "description": "Definition of constellation control link parameters", + "properties": { + "sourceModuleId": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.sourceModuleId" + }, + "destinationModuleId": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.destinationModuleId" + }, + "conState": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.conState" + }, + "lastConStateChange": { + "$ref": "#/components/schemas/xr.controlplane.neighbor.lastConStateChange" + } + }, + "type": "object" + }, + "cm.xr-network.state.controlLinks": { + "description": "List of constellation control links", + "items": { + "$ref": "#/components/schemas/cm.xr-network.state.controlLink" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "controlLinks" + } + }, + "cm.xr-network.state.availableService": { + "description": "Possible, used and available services on the constellation", + "properties": { + "type": { + "$ref": "#/components/schemas/cm.xr-network.availableService.parameters.type" + }, + "maximum": { + "$ref": "#/components/schemas/cm.xr-network.availableService.parameters.maximum" + }, + "available": { + "$ref": "#/components/schemas/cm.xr-network.availableService.parameters.available" + }, + "used": { + "$ref": "#/components/schemas/cm.xr-network.availableService.parameters.used" + } + }, + "type": "object" + }, + "cm.xr-network.state.availableServices": { + "description": "List of possible and configured services over the constellation", + "items": { + "$ref": "#/components/schemas/cm.xr-network.state.availableService" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "availableServices" + } + }, + "cm.xr-network.parameters.name": { + "description": "User defined xr-network name", + "maxLength": 64, + "title": "Name", + "type": "string", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "cm.xr-network.parameters.constellationFrequency": { + "description": "Carrier center frequency of the Hub module within the constellation (applied to Hub and leaf modules).", + "maximum": 196100000, + "minimum": 191000000, + "title": "Frequency", + "type": "integer", + "x-unit": "MHz", + "x-oapi-codegen-extra-tags": { + "bson": "constellationFrequency" + } + }, + "cm.xr-network.parameters.modulation": { + "description": "Constellation carrier signal mdoulation (applied to Hub and leaf modules).\nPossible values: '16QAM', 'QPSK' ' 8QAM'\n", + "enum": [ + "16QAM", + "QPSK", + "8QAM" + ], + "title": "Modulation", + "type": "string", + "x-enum-varnames": [ + "16QAM", + "QPSK", + "8QAM" + ], + "x-oapi-codegen-extra-tags": { + "bson": "modulation" + } + }, + "cm.xr-network.parameters.lifecycleState": { + "description": "Provides the configuration status of an object.\nPossible values:\n- 'pendingConfiguration': This state occurs when one of the xr-network modules is pending configuration or pending deletion.\n- 'configured': This state occurs when all xr-network modules are configured. \n- 'configurationFailed': This state may occur when at least a configuration of a module from this xr-network failed or timeout.\n- 'pendingDeletion': This state may occur when a request to delete this xr-network is being processed.\n- 'deletionFailed': This state may occur when at least a removal of a module from this xr-network failed or timeout.\n- 'networkConflict': This state may occur when there is a conflict in a xr-network module configuration.\n- 'deleted': This state occurs when a xr-network is removed.\n", + "enum": [ + "pendingConfiguration", + "configured", + "configurationFailed", + "pendingDeletion", + "deletionFailed", + "networkConflict", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending configuration", + "Configured", + "Configuration failed", + "Pending deletion", + "Deletion failed", + "Network conflict", + "Deleted" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleState" + } + }, + "cm.xr-network.availableService.parameters.type": { + "description": "Represents the bandwidth of the possible services in the hub module\nPossible values:\n- 400G\n- 100G\n- 75G\n- 50G\n- 25G\n", + "enum": [ + "100G", + "75G", + "50G", + "25G" + ], + "title": "Bandwidth", + "type": "string", + "x-enum-varnames": [ + "100G", + "75G", + "50G", + "25G" + ], + "x-oapi-codegen-extra-tags": { + "bson": "type" + } + }, + "cm.xr-network.availableService.parameters.maximum": { + "description": "Number of maximum services of the above type that can exist in the constellation.", + "title": "Maximum", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "maximum" + } + }, + "cm.xr-network.availableService.parameters.available": { + "description": "Number of available services of the above type that can be configured in the constellation taking in account the existing hub and leaf modules available resources.", + "title": "Available", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "available" + } + }, + "cm.xr-network.availableService.parameters.used": { + "description": "Number of maximum services of the above type that exist in the constellation.", + "title": "Used", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "used" + } + }, + "cm.xr-network.createRequest": { + "additionalProperties": false, + "description": "Object used in the request body of POST requests in /xr-networks endpoint.\nContains the xr-network, hub and leaf module configuration parameters.\n", + "properties": { + "config": { + "$ref": "#/components/schemas/cm.xr-network.create" + }, + "hubModule": { + "$ref": "#/components/schemas/cm.xr-network.node.create" + }, + "leafModules": { + "items": { + "$ref": "#/components/schemas/cm.xr-network.node.create" + }, + "type": "array" + } + }, + "required": [ + "config", + "hubModule" + ], + "type": "object" + }, + "cm.xr-network.create": { + "additionalProperties": false, + "description": "Definition of xr-network configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.xr-network.parameters.name" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/cm.xr-network.parameters.constellationFrequency" + }, + "modulation": { + "$ref": "#/components/schemas/cm.xr-network.parameters.modulation" + } + }, + "required": [ + "constellationFrequency", + "modulation", + "name" + ], + "type": "object" + }, + "cm.xr-network.update": { + "additionalProperties": false, + "description": "Definition of xr-network editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.xr-network.parameters.name" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/cm.xr-network.parameters.constellationFrequency" + }, + "modulation": { + "$ref": "#/components/schemas/cm.xr-network.parameters.modulation" + } + }, + "type": "object" + }, + "cm.xr-network.hubModule": { + "$ref": "#/components/schemas/cm.xr-network.node" + }, + "cm.xr-network.leafModule": { + "$ref": "#/components/schemas/cm.xr-network.node" + }, + "cm.xr-network.leafModules": { + "description": "List of network connection endpoints", + "items": { + "$ref": "#/components/schemas/cm.xr-network.leafModule" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "leafModules" + } + }, + "cm.xr-network.reachableModule": { + "$ref": "#/components/schemas/cm.xr-network.node" + }, + "cm.xr-network.reachableModules": { + "description": "List of reachable modules of this network", + "items": { + "$ref": "#/components/schemas/cm.xr-network.reachableModule" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "reachableModules" + } + }, + "cm.xr-network.node": { + "description": "Definition of xr-network module object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "config": { + "$ref": "#/components/schemas/cm.xr-network.node.config" + }, + "state": { + "$ref": "#/components/schemas/cm.xr-network.node.state" + } + } + }, + "cm.xr-network.node.config": { + "additionalProperties": false, + "description": "Definition of constellation hub and leaf module configurable parameters", + "properties": { + "selector": { + "$ref": "#/components/schemas/cm.selectors.moduleSelector" + }, + "module": { + "$ref": "#/components/schemas/cm.xr-network.node.config.module" + } + }, + "type": "object" + }, + "cm.xr-network.node.config.module": { + "additionalProperties": false, + "description": "Definition of constellation hub and leaf module configurable parameters", + "properties": { + "trafficMode": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.trafficMode" + }, + "fiberConnectionMode": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.fiberConnectionMode" + }, + "maxAllowedDSCs": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.maxAllowedDSCs" + }, + "txPowerTargetPerDsc": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.txPowerTargetPerDsc" + } + }, + "type": "object" + }, + "cm.xr-network.node.state": { + "description": "Definition of constellation hub and leaf module state object", + "properties": { + "lifecycleState": { + "$ref": "#/components/schemas/cm.xr-network.node.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + }, + "discoveredTime": { + "$ref": "#/components/schemas/xr.discovered.neighbor.discoveredTime" + }, + "module": { + "$ref": "#/components/schemas/cm.xr-network.node.state.module" + }, + "endpoints": { + "$ref": "#/components/schemas/cm.xr-network.node.state.endpoints" + } + } + }, + "cm.xr-network.node.state.module": { + "description": "Definition of constellation hub and leaf module state parameters", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/xr.device.di" + }, + "moduleName": { + "$ref": "#/components/schemas/xr.device.n" + }, + "macAddress": { + "$ref": "#/components/schemas/xr.platform.macAddress" + }, + "serialNumber": { + "$ref": "#/components/schemas/xr.platform.mnsel" + }, + "configuredRole": { + "$ref": "#/components/schemas/xr.configuration.configuredRole" + }, + "currentRole": { + "$ref": "#/components/schemas/xr.configuration.currentRole" + }, + "roleStatus": { + "$ref": "#/components/schemas/xr.configuration.roleStatus" + }, + "trafficMode": { + "$ref": "#/components/schemas/xr.configuration.trafficMode" + }, + "fiberConnectionMode": { + "$ref": "#/components/schemas/xr.configuration.fiberConnectionMode" + }, + "frequencyCtrl": { + "$ref": "#/components/schemas/xr.carrier.frequencyCtrl" + }, + "constellationFrequency": { + "$ref": "#/components/schemas/xr.carrier.constellationFrequency" + }, + "operatingFrequency": { + "$ref": "#/components/schemas/xr.carrier.operatingFrequency" + }, + "ncoFrequency": { + "$ref": "#/components/schemas/xr.carrier.ncoFrequency" + }, + "modulation": { + "$ref": "#/components/schemas/xr.carrier.modulation" + }, + "capacity": { + "$ref": "#/components/schemas/xr.carrier.capacity" + }, + "clientPortMode": { + "$ref": "#/components/schemas/xr.carrier.clientPortMode" + }, + "baudRate": { + "$ref": "#/components/schemas/xr.carrier.baudRate" + }, + "maxAllowedDSCs": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.maxAllowedDSCs" + }, + "txPowerTargetPerDsc": { + "$ref": "#/components/schemas/xr.carrier.txPowerTargetPerDsc" + } + }, + "type": "object" + }, + "cm.xr-network.node.state.endpoint": { + "description": "Result of module association", + "properties": { + "hostPort": { + "$ref": "#/components/schemas/cm.interface.hostPort" + }, + "moduleIf": { + "$ref": "#/components/schemas/cm.xr-network.node.state.endpoint.moduleIf" + } + }, + "type": "object" + }, + "cm.xr-network.node.state.endpoint.moduleIf": { + "description": "Definition of selector", + "properties": { + "clientIfColId": { + "$ref": "#/components/schemas/xr.ethernet.colId" + }, + "clientIfAid": { + "$ref": "#/components/schemas/xr.ethernet.aid" + }, + "clientIfPortSpeed": { + "$ref": "#/components/schemas/xr.ethernet.portSpeed" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleIf" + } + }, + "cm.xr-network.node.state.endpoints": { + "description": "List of module client interfaces", + "items": { + "$ref": "#/components/schemas/cm.xr-network.node.state.endpoint" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "endpoints" + } + }, + "cm.xr-network.node.module.parameters.trafficMode": { + "description": "Possible Values:\n- L1Mode: Allows transparent transport of client traffic between XR hub and leaf module client ports\n- VTIMode: Allows transport of VLAN flows between an XR hub module client port to 1 or more XR leaf module client ports\n", + "enum": [ + "L1Mode", + "VTIMode" + ], + "title": "Traffic Mode", + "type": "string", + "x-enum-varnames": [ + "L1 mode", + "VTI mode" + ], + "x-oapi-codegen-extra-tags": { + "bson": "trafficMode" + } + }, + "cm.xr-network.node.module.parameters.fiberConnectionMode": { + "description": "Possible Values:\n- single: only one fiber is connected for by-directional traffic\n- dual: separate fibers for transmit and receive\n", + "enum": [ + "single", + "dual" + ], + "title": "Fiber Mode", + "type": "string", + "x-enum-varnames": [ + "Single", + "Dual" + ], + "x-oapi-codegen-extra-tags": { + "bson": "fiberConnectionMode" + } + }, + "cm.xr-network.node.module.parameters.maxAllowedDSCs": { + "description": "Number of digital subcarriers allowed to be used", + "enum": [ + 2, + 4, + 8, + 16 + ], + "title": "Max DSCs", + "type": "integer", + "x-enum-varnames": [ + "2", + "4", + "8", + "16" + ], + "x-oapi-codegen-extra-tags": { + "bson": "maxAllowedDSCs" + } + }, + "cm.xr-network.node.module.parameters.txPowerTargetPerDsc": { + "default": -100, + "description": "Target power per DSC.\nApplicable for all DSCs on the Carrier.\nValue \"-100 us\" used for \"Not configured\".\n", + "format": "double", + "maximum": 0, + "minimum": -100, + "multipleOf": 0.1, + "title": "Target power per DSC", + "type": "number", + "x-unit": "dBm", + "x-oapi-codegen-extra-tags": { + "bson": "txPowerTargetPerDsc" + } + }, + "cm.xr-network.node.parameters.lifecycleState": { + "description": "Provides the configuration status of a node within a network.\nPossible values:\n- 'pendingConfiguration': This state occurs when the module xr-network configuration is required.\n- 'configured': This state occurs when the module is configured in the network according to its xr-network requirements.\n- 'configurationFailed': This state occurs when the module xr-network configuration failed or timeout.\n- 'pendingDeletion': This state occurs when the module shall be removed from the current xr-network.\n- 'deletionFailed': This state occurs when the configuration to remove the module from the xr-network failed or timeout.\n- 'networkConflict': The current module configuration does not match the request or was already a member of other existing xr-network.\n- 'deleted': This state occurs when the current module is removed from the xr-network.\n", + "enum": [ + "pendingConfiguration", + "configured", + "configurationFailed", + "pendingDeletion", + "deletionFailed", + "networkConflict", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleState" + } + }, + "cm.xr-network.node.create": { + "additionalProperties": false, + "description": "Definition of constellation hub and leaf module creation parameters", + "properties": { + "selector": { + "$ref": "#/components/schemas/cm.selectors.moduleSelector" + }, + "module": { + "$ref": "#/components/schemas/cm.xr-network.node.module.create" + } + }, + "required": [ + "module", + "selector" + ], + "type": "object" + }, + "cm.xr-network.node.module.create": { + "additionalProperties": false, + "description": "Definition of constellation hub and leaf module creation parameters", + "properties": { + "trafficMode": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.trafficMode" + }, + "fiberConnectionMode": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.fiberConnectionMode" + }, + "maxAllowedDSCs": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.maxAllowedDSCs" + }, + "txPowerTargetPerDsc": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.txPowerTargetPerDsc" + } + }, + "required": [ + "trafficMode" + ], + "type": "object" + }, + "cm.xr-network.node.update": { + "properties": { + "module": { + "$ref": "#/components/schemas/cm.xr-network.node.module.update" + } + } + }, + "cm.xr-network.node.module.update": { + "additionalProperties": false, + "description": "Definition of constellation hub and leaf module editable parameters", + "minProperties": 1, + "properties": { + "trafficMode": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.trafficMode" + }, + "fiberConnectionMode": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.fiberConnectionMode" + }, + "maxAllowedDSCs": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.maxAllowedDSCs" + }, + "txPowerTargetPerDsc": { + "$ref": "#/components/schemas/cm.xr-network.node.module.parameters.txPowerTargetPerDsc" + } + }, + "type": "object" + }, + "cm.transport-capacity": { + "description": "Definition of transport-capacity object", + "example": { + "href": "/transport-capacities/6ce3aa86-2685-44b0-9f86-49e6a6c991a8", + "rt": [ + "cm.transport-capacity" + ], + "id": "6ce3aa86-2685-44b0-9f86-49e6a6c991a8", + "config": { + "name": "Transport capacity service example", + "capacityMode": "dedicatedDownlinkSymmetric" + }, + "state": { + "name": "Transport capacity service example", + "capacityMode": "dedicatedDownlinkSymmetric", + "lifecycleState": "configured", + "labels": [] + }, + "endpoints": [ + { + "href": "/transport-capacities/6ce3aa86-2685-44b0-9f86-49e6a6c991a8/endpoints/4511bc3d-617b-4757-9f4c-41bc7d8912eb", + "rt": [ + "cm.transport-capacity.hub" + ], + "id": "4511bc3d-617b-4757-9f4c-41bc7d8912eb", + "parentId": "6ce3aa86-2685-44b0-9f86-49e6a6c991a8", + "config": { + "capacity": 100, + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/1:2" + } + } + }, + "state": { + "capacity": 100, + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "da:3d:c2:4c:55:40", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:00", + "moduleSerialNumber": "12345678900", + "moduleCurrentRole": "hub", + "moduleClientIfColId": 1, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + }, + "lifecycleState": "configured", + "labels": [] + } + }, + { + "href": "/transport-capacities/6ce3aa86-2685-44b0-9f86-49e6a6c991a8/endpoints/35e92b25-a682-4805-964a-6ce893a7aa56", + "rt": [ + "cm.transport-capacity.leaf" + ], + "id": "35e92b25-a682-4805-964a-6ce893a7aa56", + "parentId": "6ce3aa86-2685-44b0-9f86-49e6a6c991a8", + "config": { + "capacity": 100, + "selector": { + "hostPortSelector": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:99:F8:2c:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0" + } + } + }, + "state": { + "capacity": 100, + "hostPort": { + "chassisIdSubtype": "macAddress", + "chassisId": "00:99:F8:2c:01:01", + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "da:3d:c2:4c:55:40", + "portDescr": "et-1/0/0:0" + }, + "moduleIf": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "moduleName": "XR Device", + "moduleMAC": "46:00:84:A0:0C:02", + "moduleSerialNumber": "12345678902", + "moduleCurrentRole": "Leaf", + "moduleClientIfColId": 2, + "moduleClientIfAid": "XR T1", + "moduleClientIfPortSpeed": 100 + }, + "lifecycleState": "configured", + "labels": [] + } + } + ], + "capacity-links": [ + { + "href": "/capacity-links/d9580972-7a72-43e7-91d9-5473251040ca", + "rt": [ + "cm.capacity-link" + ], + "id": "d9580972-7a72-43e7-91d9-5473251040ca", + "parentId": "6ce3aa86-2685-44b0-9f86-49e6a6c991a8", + "config": { + "directionality": "biDir", + "hubModule": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "dscgShared": false, + "dscs": [ + 7, + 5, + 3, + 1 + ] + }, + "leafModule": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "dscgShared": false, + "dscs": [ + 3, + 1, + 2, + 4 + ] + } + }, + "state": { + "directionality": "biDir", + "hubModule": { + "moduleId": "18e47620-8848-4c7e-710f-05c668478c57", + "dscgId": "552d4e35-c7fc-4fdf-bb31-1688f926582e", + "dscgShared": false, + "dscs": [ + 7, + 5, + 3, + 1 + ], + "lifecycleState": "configured" + }, + "leafModule": { + "moduleId": "23ffd75e-1a30-11ec-9621-0242ac130002", + "dscgId": "831884a0-fac7-4f1a-8c0d-74f82498921c", + "dscgShared": false, + "dscs": [ + 3, + 1, + 2, + 4 + ], + "lifecycleState": "configured" + } + } + } + ] + }, + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.transport-capacity.config" + }, + "state": { + "$ref": "#/components/schemas/cm.transport-capacity.state" + }, + "endpoints": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoints" + }, + "capacityLinks": { + "$ref": "#/components/schemas/cm.capacity-links" + } + }, + "type": "object" + }, + "cm.transport-capacity.config": { + "additionalProperties": false, + "description": "Definition of transport-capacity configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "capacityMode": { + "$ref": "#/components/schemas/cm.transport-capacity.parameters.capacityMode" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.transport-capacity.state": { + "description": "Definition of transport-capacity state parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "createdBy": { + "$ref": "#/components/schemas/cm.transport-capacity.parameters.createdBy" + }, + "capacityMode": { + "$ref": "#/components/schemas/cm.transport-capacity.parameters.capacityMode" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.transport-capacity.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.transport-capacity.parameters.createdBy": { + "description": "Indicates whether transport-capacity orchestration should be done through CM interface or through Host interface\nPossible values: 'host', 'cm'\n- 'host': Created through host interface and discovered by CM\n Cannot be edited or deleted through CM interface\n- 'cm': Created through CM interface\n Can be edited or deleted through CM interface\n", + "enum": [ + "host", + "cm" + ], + "readOnly": true, + "title": "Created by", + "type": "string", + "x-enum-varnames": [ + "Host", + "IPM" + ], + "x-oapi-codegen-extra-tags": { + "bson": "createdBy" + } + }, + "cm.transport-capacity.parameters.capacityMode": { + "description": "Defines the traffic characteristics of the transport capacity service.\nPossible values:\n- 'portMode': Provides transparent transport between XR hub and leaf modules\n- 'dedicatedDownlinkSymmetric': VLAN based P2P bidirectional flow between Hub and a Leaf modules with symmetric upstream and downstream bandwidths.\n- 'dedicatedDownlinkAsymmetric': VLAN based P2P bidirectional flow between Hub and a Leaf modules with asymmetric upstream and downstream bandwidths.\n- 'sharedDownlink': VLAN based bidirectional flow between Hub and Leaf modules where downstream traffic (hub to leaf) can be shared by multiple Leaf modules (as in a P2MP).\n", + "enum": [ + "portMode", + "dedicatedDownlinkSymmetric", + "dedicatedDownlinkAsymmetric", + "sharedDownlink" + ], + "readOnly": true, + "title": "Capacity Mode", + "type": "string", + "x-enum-varnames": [ + "Port mode", + "Dedicated downlink Symmetric", + "Dedicated downlink asymmetric", + "Shared downlink" + ], + "x-oapi-codegen-extra-tags": { + "bson": "capacityMode" + } + }, + "cm.transport-capacity.parameters.lifecycleState": { + "description": "Provides the configuration status of a transport capacity connection (i.e., the aggregated status of its endpoints).\nPossible values:\n- 'pendingConfiguration': This state occurs when one of the transport capacity connection modules is pending configuration or pending deletion.\n- 'configured': This state occurs when all transport capacity connection modules are configured.\n- 'configurationFailed': This state may occur when at least a configuration of a module from this transport capacity connection failed or timeout.\n- 'pendingDeletion': This state may occur when a request to delete this transport capacity connection is being processed.\n- 'deletionFailed': This state may occur when at least a removal of a module from this transport capacity connection failed or timeout.\n- 'networkConflict': This state may occur when there is a conflict in a transport capacity connection module configuration.\n- 'deleted': This state occurs when a transport capacity connection is removed.\n", + "enum": [ + "pendingConfiguration", + "configured", + "configurationFailed", + "pendingDeletion", + "deletionFailed", + "networkConflict", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending configuration", + "Configured", + "Configuration failed", + "Pending deletion", + "Deletion failed", + "Network conflict", + "Deleted" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleState" + } + }, + "cm.transport-capacity.createRequest": { + "additionalProperties": false, + "description": "Object used in the request body of POST requests in /transport-capacities endpoint.\nContains configuration parameters for transport-capacity and its ednpoint.\n", + "properties": { + "config": { + "$ref": "#/components/schemas/cm.transport-capacity.create" + }, + "endpoints": { + "items": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.create" + }, + "maxItems": 2, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "config", + "endpoints" + ], + "type": "object" + }, + "cm.transport-capacity.create": { + "additionalProperties": false, + "description": "Definition of transport-capacity creation parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "capacityMode": { + "$ref": "#/components/schemas/cm.transport-capacity.parameters.capacityMode" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "required": [ + "capacityMode" + ], + "type": "object" + }, + "cm.transport-capacity.update": { + "additionalProperties": false, + "description": "Definition of transport-capacity editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.transport-capacity.endpoint": { + "description": "Definition of transport-capacity endpoint object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "config": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.config" + }, + "state": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.state" + } + } + }, + "cm.transport-capacity.endpoints": { + "items": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "endpoints" + } + }, + "cm.transport-capacity.endpoint.config": { + "additionalProperties": false, + "description": "Definition of transport-capacity endpoint configurable parameters", + "properties": { + "capacity": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.parameters.capacity" + }, + "selector": { + "$ref": "#/components/schemas/cm.selectors.ifSelector" + } + }, + "type": "object" + }, + "cm.transport-capacity.endpoint.state": { + "description": "Definition of transport-capacity endpoint state parameters", + "properties": { + "capacity": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.parameters.capacity" + }, + "hostPort": { + "$ref": "#/components/schemas/cm.interface.hostPort" + }, + "moduleIf": { + "$ref": "#/components/schemas/cm.interface.moduleIf" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + } + }, + "type": "object" + }, + "cm.transport-capacity.endpoint.parameters.capacity": { + "description": "Client to network capacity of the infrastructure connection dscg", + "title": "Upstream bandwidth", + "type": "integer", + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "capacity" + } + }, + "cm.transport-capacity.endpoint.parameters.lifecycleState": { + "description": "Provides the configuration status of a transport capacity endpoint.\nPossible values: \n- 'pendingConfiguration': This state occurs when the module transport capacity connection configuration is required.\n- 'configured': This state occurs when the module is configured in the network according to its transport capacity connection requirements.\n- 'configurationFailed': This state occurs when the module transport capacity connection configuration failed or timeout.\n- 'pendingDeletion': This state occurs when the module shall be removed from the current transport capacity connection.\n- 'deletionFailed': This state occurs when the configuration to remove the module from the transport capacity connection failed or timeout.\n- 'networkConflict': The current module is configured changed and no longer matches the transport capacity connection requirements.\n- 'deleted': This state occurs when the current module is removed from the xr-network.\n", + "enum": [ + "pendingConfiguration", + "configured", + "configurationFailed", + "pendingDeletion", + "deletionFailed", + "networkConflict", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending configuration", + "Configured", + "Configuration failed", + "Pending deletion", + "Deletion failed", + "Network conflict", + "Deleted" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleState" + } + }, + "cm.transport-capacity.endpoint.create": { + "additionalProperties": false, + "description": "Definition of transport-capacity endpoint creation parameters", + "properties": { + "capacity": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.parameters.capacity" + }, + "selector": { + "$ref": "#/components/schemas/cm.selectors.ifSelector" + } + }, + "required": [ + "selector" + ], + "type": "object" + }, + "cm.transport-capacity.endpoint.update": { + "additionalProperties": false, + "description": "Definition of transport-capacity endpoint editable parameters", + "minProperties": 1, + "properties": { + "capacity": { + "$ref": "#/components/schemas/cm.transport-capacity.endpoint.parameters.capacity" + } + }, + "required": [ + "capacity" + ], + "type": "object" + }, + "cm.capacity-link": { + "description": "Definition of capacity-link object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "config": { + "$ref": "#/components/schemas/cm.capacity-link.config" + }, + "state": { + "$ref": "#/components/schemas/cm.capacity-link.state" + } + }, + "type": "object" + }, + "cm.capacity-links": { + "items": { + "$ref": "#/components/schemas/cm.capacity-link" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "capacityLinks" + } + }, + "cm.capacity-link.config": { + "additionalProperties": false, + "description": "Definition of capacity-link configurable parameters", + "properties": { + "directionality": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.directionality" + }, + "hubModule": { + "$ref": "#/components/schemas/cm.capacity-link.config.node" + }, + "leafModule": { + "$ref": "#/components/schemas/cm.capacity-link.config.node" + } + }, + "type": "object" + }, + "cm.capacity-link.config.node": { + "additionalProperties": false, + "description": "Definition of capacity-link hub module configurable parameters.", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.moduleId" + }, + "dscgShared": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.dscgShared" + }, + "txDSCs": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.txDSCs" + }, + "rxDSCs": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.rxDSCs" + } + }, + "required": [ + "dscgMode", + "dscs", + "moduleId" + ], + "type": "object" + }, + "cm.capacity-link.state": { + "description": "Definition of capacity-link state parameters", + "properties": { + "directionality": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.directionality" + }, + "hubModule": { + "$ref": "#/components/schemas/cm.capacity-link.state.hubModule" + }, + "leafModule": { + "$ref": "#/components/schemas/cm.capacity-link.state.leafModule" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + } + }, + "type": "object" + }, + "cm.capacity-link.state.hubModule": { + "additionalProperties": false, + "description": "Definition of capacity-link hub module state parameters.", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/xr.device.di" + }, + "dscgId": { + "$ref": "#/components/schemas/xr.carrier.dscg.id" + }, + "dscgAid": { + "$ref": "#/components/schemas/xr.carrier.dscg.aid" + }, + "dscgShared": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.dscgShared" + }, + "txDSCs": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.txDSCs" + }, + "rxDSCs": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.rxDSCs" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hubModule" + } + }, + "cm.capacity-link.state.leafModule": { + "additionalProperties": false, + "description": "Definition of capacity-link leaf module state parameters.", + "properties": { + "moduleId": { + "$ref": "#/components/schemas/xr.device.di" + }, + "dscgId": { + "$ref": "#/components/schemas/xr.carrier.dscg.id" + }, + "dscgAid": { + "$ref": "#/components/schemas/xr.carrier.dscg.aid" + }, + "dscgShared": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.dscgShared" + }, + "txDSCs": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.txDSCs" + }, + "rxDSCs": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.rxDSCs" + }, + "lifecycleState": { + "$ref": "#/components/schemas/cm.capacity-link.parameters.lifecycleState" + }, + "lifecycleStateCause": { + "$ref": "#/components/schemas/cm.parameters.lifecycleStateCause" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "leafModule" + } + }, + "cm.capacity-link.parameters.moduleId": { + "description": "Module identifier", + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "title": "ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "moduleId" + } + }, + "cm.capacity-link.parameters.directionality": { + "description": "Directionality of the capacity-link. \nuniDirUs: Refers to upstream direction from Leaf to Hub. \nuniDirDs: Refers to downstream traffic direction from Hub to Leaf.\n", + "enum": [ + "biDir", + "uniDirUs", + "uniDirDs" + ], + "title": "Directionality", + "type": "string", + "x-enum-varnames": [ + "Bidirectional", + "Unidirectional upstream", + "Unidirectional downstream" + ], + "x-oapi-codegen-extra-tags": { + "bson": "directionality" + } + }, + "cm.capacity-link.parameters.lifecycleState": { + "description": "Provides the configuration status of a capacity-link.\nPossible values:\n- 'pendingConfiguration': This state occurs when the hub or leaf module of the transport capacity connection is pending its DSCG configuration.\n- 'configured': This state occurs when there are matching DSCG configurations in the hub and leaf modules.\n- 'configurationFailed': This state may occur when the hub or leaf module DSCG configurations failed or timeout.\n- 'pendingDeletion': This state may occur when a request to delete a capacity-link is being processed.\n- 'deletionFailed': This state may occur when the configuration to remove a DSCG from the hub or leaf module failed or timeout.\n- 'networkConflict': This state may occur when there is a conflict in the hub or leaf module DSCG configurations.\n- 'deleted': This state occurs when a capacity-link is removed.\n", + "enum": [ + "pendingConfiguration", + "configured", + "configurationFailed", + "pendingDeletion", + "deletionFailed", + "networkConflict", + "deleted" + ], + "readOnly": true, + "title": "Lifecycle State", + "type": "string", + "x-enum-varnames": [ + "Pending configuration", + "Configured", + "Configuration failed", + "Pending deletion", + "Deletion failed", + "Network conflict", + "Deleted" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lifecycleState" + } + }, + "cm.capacity-link.parameters.dscgShared": { + "description": "Indicates whether the dscg can be shared by multiple transport-capacity connection.\n'True' option is only applicable to hub module unidirectional downstream DSCGs\n", + "title": "Shared", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "dscgShared" + } + }, + "cm.capacity-link.parameters.txDSCs": { + "items": { + "type": "integer" + }, + "maxItems": 16, + "minItems": 0, + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "txDSCs" + } + }, + "cm.capacity-link.parameters.rxDSCs": { + "items": { + "type": "integer" + }, + "maxItems": 16, + "minItems": 0, + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "rxDSCs" + } + }, + "xr.controlplane.neighbor.sourceModuleId": { + "description": "Represents the source module device identifier of control-link.", + "readOnly": true, + "title": "Device identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "sourceModuleId" + } + }, + "xr.controlplane.neighbor.destinationModuleId": { + "description": "Represents the destimation module device identifier of control-link.", + "readOnly": true, + "title": "Device identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "destinationModuleId" + } + }, + "cm.selectors.moduleSelector": { + "description": "Definition of the parameters provided upon host creation used as matching criteria for discovered hosts", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "moduleSelectorByModuleId": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleId" + }, + "moduleSelectorByModuleName": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleName" + }, + "moduleSelectorByModuleMAC": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleMAC" + }, + "moduleSelectorByModuleSerialNumber": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleSerialNumber" + }, + "hostPortSelectorByName": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorByName" + }, + "hostPortSelectorByPortId": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorByPortId" + }, + "hostPortSelectorBySysName": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorBySysName" + }, + "hostPortSelectorByPortSourceMAC": { + "$ref": "#/components/schemas/cm.selector.hostPortSelectorByPortSourceMAC" + } + }, + "title": "Host Selector", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "selector" + } + }, + "cm.selector.moduleSelectorByModuleId": { + "additionalProperties": false, + "description": "Definition of module selector based on module Id information", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "moduleId": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleId" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleSelectorByModuleId" + } + }, + "cm.selector.moduleSelectorByModuleName": { + "additionalProperties": false, + "description": "Definition of port selector based on module aid information", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "moduleName": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleName" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleSelectorByModuleName" + } + }, + "cm.selector.moduleSelectorByModuleMAC": { + "additionalProperties": false, + "description": "Definition of module selector based on mac address information", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "moduleMAC": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleMAC" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleSelectorByModuleMAC" + } + }, + "cm.selector.moduleSelectorByModuleSerialNumber": { + "additionalProperties": false, + "description": "Definition of module selector based on module serial number information", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "moduleSerialNumber": { + "$ref": "#/components/schemas/cm.selector.moduleSelector.parameters.moduleSerialNumber" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "moduleSelectorByModuleSerialNumber" + } + }, + "xr.carrier.dscg.id": { + "description": "DSCG Object identifier", + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "readOnly": true, + "title": "DSCG ID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "dscgId" + } + }, + "cm.subscription": { + "description": "Subscription data", + "properties": { + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "subscriptionId": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionId" + }, + "subscriptionName": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionName" + }, + "notificationChannel": { + "$ref": "#/components/schemas/cm.subscription.notificationChannel" + }, + "subscriptionFilters": { + "$ref": "#/components/schemas/cm.subscription.subscriptionFilters" + }, + "conState": { + "$ref": "#/components/schemas/cm.subscription.parameters.conState" + }, + "lastConnectionTime": { + "$ref": "#/components/schemas/cm.subscription.parameters.lastConnectionTime" + } + }, + "title": "Subscription", + "type": "object" + }, + "cm.subscription.notificationChannel": { + "description": "Definition of subscription notification-channel", + "properties": { + "streamAddress": { + "$ref": "#/components/schemas/cm.subscription.parameters.notificationChannel.streamAddress" + } + }, + "title": "Notification Channel", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "notificationChannel" + } + }, + "cm.subscription.subscriptionFilters": { + "description": "List of subscription-filters", + "items": { + "$ref": "#/components/schemas/cm.subscription.subscriptionFilter" + }, + "minItems": 1, + "title": "Subscription Filters", + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "subscriptionFilters" + } + }, + "cm.subscription.subscriptionFilter": { + "description": "Definition of subscription-filters", + "properties": { + "requestedNotificationTypes": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionFilter.requestedNotificationTypes" + }, + "requestedResources": { + "$ref": "#/components/schemas/cm.subscription.subscriptionFilter.requestedResources" + } + }, + "title": "Subscription Filter", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "subscriptionFilter" + } + }, + "cm.subscription.subscriptionFilter.requestedResources": { + "description": "Required resource types to be available in the notification channel with optional filter by resource ids and/or moduleIds", + "items": { + "$ref": "#/components/schemas/cm_subscription_subscriptionFilter_requestedResources_inner" + }, + "minItems": 1, + "title": "Resource Types", + "type": "array", + "uniqueItems": true + }, + "cm.subscription.parameters.subscriptionId": { + "description": "Universally unique identifier (UUID) of a subscription.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "readOnly": true, + "title": "UUID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "subscriptionId" + } + }, + "cm.subscription.parameters.subscriptionName": { + "description": "User defined subscription name.", + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "subscriptionName" + } + }, + "cm.subscription.parameters.conState": { + "description": "Shows if the subscription is currently active or not", + "enum": [ + "active", + "inactive" + ], + "readOnly": true, + "title": "Connection Status", + "type": "string", + "x-enum-varnames": [ + "Active", + "Inactive" + ], + "x-oapi-codegen-extra-tags": { + "bson": "conState" + } + }, + "cm.subscription.parameters.lastConnectionTime": { + "description": "Timestamp of last connectivity in date-time format pattern according to IETF RFC 3339.\nIf subscription is inactive, this timestamp shows when connectivity was lost.\nIf subscription is active this timestamp shows when connection was established.\n", + "format": "date-time", + "readOnly": true, + "title": "Connection Time", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lastConnectionTime" + } + }, + "cm.subscription.parameters.notificationChannel.streamAddress": { + "description": "WebSocket URI made available upon subscription creation", + "readOnly": true, + "title": "WebSocket URI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "streamAddress" + } + }, + "cm.subscription.parameters.subscriptionFilter.requestedNotificationTypes": { + "description": "Required notification types to be available in the notification channel\n- OC: Object Creation\n- OD: Object Deletion\n- AVC: Attribute Value Change\n- ERROR: Error notifications\n", + "items": { + "enum": [ + "OC", + "OD", + "AVC", + "Error" + ], + "type": "string", + "x-enum-varnames": [ + "OC", + "OD", + "AVC", + "Error" + ] + }, + "minItems": 1, + "title": "Notification Types", + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "requestedNotificationTypes" + } + }, + "cm.subscription.parameters.subscriptionFilter.requestedResources.resourceType": { + "description": "Required resource types to be available in the notification channel\nResource types are identified by the 'rt' link in the resource object\n", + "enum": [ + "cm.device", + "cm.host", + "cm.host.port", + "cm.module", + "cm.module.linePtp", + "cm.module.linePtp.carrier", + "cm.module.linePtp.carrier.dscg", + "cm.module.linePtp.carrier.dsc", + "cm.module.otu", + "cm.module.odu", + "cm.module.ethernetClient", + "cm.module.localConnection", + "cm.transport-capacity", + "cm.transport-capacity.endpoint", + "cm.capacity-link", + "cm.network-connection", + "cm.network-connection.endpoint", + "cm.network-connection.local-connection", + "cm.xr-network", + "cm.xr-network.hubModule", + "cm.xr-network.leafModule", + "cm.xr-network.reachableModule", + "cm.sw.action", + "cm.sw.moduleAction", + "cm.sw.ctrl", + "cm.sw.bank" + ], + "title": "Resource Type", + "type": "string", + "x-enum-varnames": [ + "cm.device", + "cm.host", + "cm.host.port", + "cm.module", + "cm.module.linePtp", + "cm.module.linePtp.carrier", + "cm.module.linePtp.carrier.dscg", + "cm.module.linePtp.carrier.dsc", + "cm.module.otu", + "cm.module.odu", + "cm.module.ethernetClient", + "cm.module.localConnection", + "cm.transport-capacity", + "cm.transport-capacity.endpoint", + "cm.capacity-link", + "cm.network-connection", + "cm.network-connection.endpoint", + "cm.network-connection.local-connection", + "cm.xr-network", + "cm.xr-network.hubModule", + "cm.xr-network.leafModule", + "cm.xr-network.reachableModule", + "cm.sw.action", + "cm.sw.moduleAction", + "cm.sw.ctrl", + "cm.sw.bank" + ], + "x-oapi-codegen-extra-tags": { + "bson": "resourceType" + } + }, + "cm.subscription.parameters.subscriptionFilter.requestedResources.ids": { + "description": "Required resource ids (with type defined in resourceType) to be available in the notification channel", + "items": { + "type": "string" + }, + "minItems": 1, + "title": "Resource Ids", + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "ids" + } + }, + "cm.subscription.parameters.subscriptionFilter.requestedResources.moduleIds": { + "description": "Required device ids (di property) within the defined resourceType (i.e. resource type containing the device ids) to be available in the notification channel", + "items": { + "type": "string" + }, + "minItems": 1, + "title": "Device Ids", + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "moduleIds" + } + }, + "cm.subscription.parameters.subscriptionFilter.requestedResources.hrefs": { + "description": "Required HREFs to be available in the notification channel.\nNote that this filter definition supports regex.\n", + "items": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "minItems": 1, + "title": "HREFs", + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "hrefs" + } + }, + "cm.subscription.request": { + "additionalProperties": false, + "description": "Subscription creation request body content", + "properties": { + "subscriptionName": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionName" + }, + "subscriptionFilters": { + "items": { + "$ref": "#/components/schemas/cm.subscription.subscriptionFilter" + }, + "minItems": 1, + "type": "array" + } + }, + "title": "Subscription request body content", + "type": "object" + }, + "cm.subscription.response": { + "description": "Subscription creation response body content", + "properties": { + "subscriptionId": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionId" + }, + "notificationChannel": { + "$ref": "#/components/schemas/cm.subscription.notificationChannel" + } + }, + "title": "Subscription response body content", + "type": "object" + }, + "cm_subscription_subscriptionFilter_requestedResources_inner": { + "properties": { + "resourceType": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionFilter.requestedResources.resourceType" + }, + "ids": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionFilter.requestedResources.ids" + }, + "moduleIds": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionFilter.requestedResources.moduleIds" + }, + "hrefs": { + "$ref": "#/components/schemas/cm.subscription.parameters.subscriptionFilter.requestedResources.hrefs" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "requestedResources" + } + }, + "cm.host": { + "description": "Definition of host object", + "example": { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "rt": [ + "cm.host" + ], + "id": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a", + "config": { + "name": "Sunnyvale Router 001", + "managedBy": "CM", + "location": { + "latitude": 20, + "longitude": 134.1 + }, + "selector": { + "hostSelectorByChassisId": { + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "state": { + "name": "Sunnyvale Router 001", + "chassisIdSubtype": "macAddress", + "chassisId": "28:c0:da:3e:3e:40", + "sysName": "Vendor A Router", + "sysDescr": "", + "lldpState": "Present", + "managedBy": "CM", + "location": { + "latitude": 20, + "longitude": 134.1 + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "ports": [ + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/5f8c47b4-c02a-6242-260c-185dd04b8faf", + "rt": [ + "cm.host.port" + ], + "id": "d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/5f8c47b4-c02a-6242-260c-185dd04b8faf", + "config": { + "managedBy": "CM", + "selector": { + "ifSelectorByHostPortSourceMAC": { + "portSourceMAC": "28:c0:da:3e:3e:44" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "state": { + "name": "towards San Jose", + "managedBy": "CM", + "lldpState": "Present", + "hostPort": { + "portIdSubtype": "interfaceName", + "portId": "et-1/0/0:0", + "portSourceMAC": "28:c0:da:3e:3e:44" + }, + "moduleIf": { + "moduleId": "aa079e7c-02df-43ed-636e-71f7bfc212ff", + "moduleName": "Sunnyvale-1/0/0", + "macAddress": "00:0B:F8:00:01:01", + "serialNumber": "12345678901", + "clientIfAid": "XR-T1" + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + } + }, + { + "href": "/hosts/d9672ef1-ddc1-cd6b-3c77-ea86b442545a/ports/4868c57e-0f4f-11ec-82a8-0242ac130003", + "rt": [ + "cm.host.port" + ], + "id": "4868c57e-0f4f-11ec-82a8-0242ac130003", + "config": { + "name": "towards Santa Clara", + "managedBy": "CM", + "selector": { + "ifSelectorByModuleMAC": { + "moduleMAC": "00:0B:F8:00:01:01", + "clientIfAid": "XR-T1" + } + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + }, + "state": { + "name": "towards Santa Clara", + "managedBy": "Host", + "lldpState": "Present", + "hostPort": { + "portIdSubtype": "interfaceName", + "portId": "et-1/0/2:0", + "portSourceMAC": "58:00:BB:00:00:12" + }, + "moduleIf": { + "moduleId": "4e58f211-oa575-41ae-65d6-54fbeba5a2fe", + "moduleName": "Sunnyvale-1/0/2", + "macAddress": "00:0B:F8:00:01:01", + "serialNumber": "12345678901", + "clientIfAid": "XR-T2" + }, + "labels": { + "region": "West Coast", + "city": "Sunnyvale" + } + } + } + ] + }, + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.host.config" + }, + "state": { + "$ref": "#/components/schemas/cm.host.state" + }, + "ports": { + "$ref": "#/components/schemas/cm.host.ports" + } + } + }, + "cm.host.config": { + "additionalProperties": false, + "description": "Configurable host parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "location": { + "$ref": "#/components/schemas/cm.parameters.location" + }, + "selector": { + "$ref": "#/components/schemas/cm.selectors.hostSelector" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.host.state": { + "description": "Definition of host state parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "chassisIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisIdSubtype" + }, + "chassisId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisId" + }, + "sysName": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysName" + }, + "sysDescr": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysDescr" + }, + "lldpState": { + "$ref": "#/components/schemas/cm.host.parameters.lldpState" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "location": { + "$ref": "#/components/schemas/cm.parameters.location" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.host.parameters.lldpState": { + "description": "Represents the consolidated LLDP state of the XR modules in the host.\nPossible Values:\n- 'Pending': Applicable for pre-planned scenarios when the host port is not yet discovered from an XR module or there is no XR module associated to the host.\n- 'NotPresent': Applicable when the XR module is not reporting host LLDP information.\n- 'Present': Applicable when the XR module is reporting host LLDP information.\n- 'Unknown': Applicable when the XR module is in 'Offline' state\nNote that the information presented for hosts with 'Unknown' state refers to the last known host information.\n", + "enum": [ + "Pending", + "Present", + "Unknown", + "NotPresent" + ], + "readOnly": true, + "title": "State", + "type": "string", + "x-enum-varnames": [ + "Pending", + "Present", + "Unknown", + "Not present" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lldpState" + } + }, + "cm.host.parameters.managedBy": { + "description": "Defines the ownership of the object.\nPossible values: 'Host', 'CM'\n- Host: Applicable to discovered objects that are automaticcaly created / deleted based on Host reported information.\n- CM: Applicable to pre-planned objects or objects with exising depondencies (e.g. host ports used in a service with the respective host selector).\n", + "enum": [ + "Host", + "CM" + ], + "title": "Managed by", + "type": "string", + "x-enum-varnames": [ + "Host", + "CM" + ], + "x-oapi-codegen-extra-tags": { + "bson": "managedBy" + } + }, + "cm.host.create": { + "additionalProperties": false, + "description": "Host creation parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "location": { + "$ref": "#/components/schemas/cm.parameters.location" + }, + "selector": { + "$ref": "#/components/schemas/cm.selectors.hostSelector" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "required": [ + "selector" + ], + "type": "object" + }, + "cm.host.update": { + "additionalProperties": false, + "description": "Editable host parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "location": { + "$ref": "#/components/schemas/cm.parameters.location" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.host.port": { + "description": "Definition of host port object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "config": { + "$ref": "#/components/schemas/cm.host.port.config" + }, + "state": { + "$ref": "#/components/schemas/cm.host.port.state" + } + } + }, + "cm.host.ports": { + "description": "List of host ports", + "items": { + "$ref": "#/components/schemas/cm.host.port" + }, + "type": "array" + }, + "cm.host.port.config": { + "additionalProperties": false, + "description": "Definition of host port configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "selector": { + "$ref": "#/components/schemas/cm.selectors.ifSelector" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.host.port.state": { + "description": "Definition of host port state object", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "hostName": { + "$ref": "#/components/schemas/cm.parameters.hostName" + }, + "chassisIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisIdSubtype" + }, + "chassisId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.chassisId" + }, + "sysName": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.sysName" + }, + "portIdSubtype": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portIdSubtype" + }, + "portId": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portId" + }, + "portSourceMAC": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.localPortSourceMAC" + }, + "portDescr": { + "$ref": "#/components/schemas/xr.ethernet.neighbor.portDescr" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "lldpState": { + "$ref": "#/components/schemas/cm.host.port.parameters.lldpState" + }, + "moduleIf": { + "$ref": "#/components/schemas/cm.interface.moduleIf" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.host.port.parameters.lldpState": { + "description": "Represents the consolidated LLDP state of the XR modules in the host.\nPossible Values:\n- Pending: Applicable for pre-planned scenarios when the host port is not yet discovered from an XR module\n- NotPresent: Applicable when the XR module is not reporting host LLDP information.\n- Present: Applicable when the XR module is reporting host LLDP information.\n- Unknown: Applicable when the XR module is in 'Offline' state or there is no XR module associated to the host.\nNote that the information presented for hosts with 'Unknown' state refers to the last known host information.\n", + "enum": [ + "Pending", + "Present", + "Unknown", + "NotPresent" + ], + "readOnly": true, + "title": "State", + "type": "string", + "x-enum-varnames": [ + "Pending", + "Present", + "Unknown", + "Not present" + ], + "x-oapi-codegen-extra-tags": { + "bson": "lldpState" + } + }, + "cm.host.port.create": { + "additionalProperties": false, + "description": "Host port creation parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "selector": { + "$ref": "#/components/schemas/cm.selectors.ifSelector" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "required": [ + "selector" + ], + "type": "object" + }, + "cm.host.port.update": { + "additionalProperties": false, + "description": "Definition of host port editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.parameters.name" + }, + "managedBy": { + "$ref": "#/components/schemas/cm.host.parameters.managedBy" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.parameters.location": { + "description": "Geographic coordinates in decimal degree.\n", + "properties": { + "latitude": { + "format": "double", + "maximum": 90, + "minimum": -90, + "title": "Latitude", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "latitude" + } + }, + "longitude": { + "format": "double", + "maximum": 180, + "minimum": -180, + "title": "Longitude", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "longitude" + } + } + }, + "title": "Location", + "type": "object" + }, + "cm.selectors.hostSelector": { + "description": "Definition of the parameters provided upon host creation used as matching criteria for discovered hosts", + "maxProperties": 1, + "minProperties": 1, + "properties": { + "hostSelectorByHostChassisId": { + "$ref": "#/components/schemas/cm.selector.hostSelectorByChassisId" + }, + "moduleSelectorByModuleId": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleId" + }, + "moduleSelectorByModuleName": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleName" + }, + "moduleSelectorByModuleMAC": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleMAC" + }, + "moduleSelectorByModuleSerialNumber": { + "$ref": "#/components/schemas/cm.selector.moduleSelectorByModuleSerialNumber" + } + }, + "title": "Host Selector", + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "selector" + } + }, + "cm.selector.hostSelectorByChassisId": { + "additionalProperties": false, + "description": "Definition of host selector based on chassisId information", + "maxProperties": 2, + "minProperties": 2, + "properties": { + "chassisIdSubtype": { + "$ref": "#/components/schemas/cm.selector.hostSelector.parameters.chassisIdSubtype" + }, + "chassisId": { + "$ref": "#/components/schemas/cm.selector.hostSelector.parameters.chassisId" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "hostSelectorByChassisId" + } + }, + "cm.ndu": { + "description": "Definition of ndu object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.state" + }, + "ports": { + "$ref": "#/components/schemas/cm.ndu.ports" + }, + "linePtps": { + "$ref": "#/components/schemas/cm.ndu.linePtps" + }, + "tribPtps": { + "$ref": "#/components/schemas/cm.ndu.tribPtps" + }, + "otus": { + "$ref": "#/components/schemas/cm.ndu.otus" + }, + "ethernetClients": { + "$ref": "#/components/schemas/cm.ndu.ethernetClients" + }, + "trails": { + "$ref": "#/components/schemas/cm.ndu.trails" + }, + "fans": { + "$ref": "#/components/schemas/cm.ndu.fans" + }, + "pem": { + "$ref": "#/components/schemas/cm.ndu.pem" + }, + "leds": { + "$ref": "#/components/schemas/cm.ndu.leds" + } + } + }, + "cm.ndu.config": { + "additionalProperties": false, + "description": "Definition of module configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/cm.ndu.parameters.name" + }, + "location": { + "$ref": "#/components/schemas/cm.ndu.config.location" + }, + "contact": { + "$ref": "#/components/schemas/ndu.configuration.contact" + }, + "managedBy": { + "$ref": "#/components/schemas/ndu.configuration.mgmtMode" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.ndu.config.location": { + "additionalProperties": false, + "description": "Location parameter", + "minProperties": 1, + "properties": { + "description": { + "$ref": "#/components/schemas/ndu.configuration.neLocation" + }, + "clli": { + "$ref": "#/components/schemas/ndu.configuration.clli" + }, + "latitude": { + "$ref": "#/components/schemas/ndu.configuration.latitude" + }, + "longitude": { + "$ref": "#/components/schemas/ndu.configuration.longitude" + }, + "altitude": { + "$ref": "#/components/schemas/ndu.configuration.altitude" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "location" + } + }, + "cm.ndu.state": { + "description": "Definition of module state object", + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.device.n" + }, + "nduAid": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "location": { + "$ref": "#/components/schemas/cm.ndu.config.location" + }, + "contact": { + "$ref": "#/components/schemas/ndu.configuration.contact" + }, + "managedBy": { + "$ref": "#/components/schemas/ndu.configuration.mgmtMode" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + }, + "connectivityState": { + "$ref": "#/components/schemas/cm.ndu.parameters.connectivityState" + }, + "hwDescription": { + "$ref": "#/components/schemas/cm.ndu.state.hwDescription" + } + } + }, + "cm.ndu.state.hwDescription": { + "description": "Definition of module platform properties", + "properties": { + "pi": { + "$ref": "#/components/schemas/ndu.platform.pi" + }, + "mnfv": { + "$ref": "#/components/schemas/ndu.platform.mnfv" + }, + "mnmn": { + "$ref": "#/components/schemas/ndu.platform.mnmn" + }, + "mnmo": { + "$ref": "#/components/schemas/ndu.platform.mnmo" + }, + "mnhw": { + "$ref": "#/components/schemas/ndu.platform.mnhw" + }, + "mndt": { + "$ref": "#/components/schemas/ndu.platform.mndt" + }, + "serialNumber": { + "$ref": "#/components/schemas/ndu.platform.mnsel" + }, + "clei": { + "$ref": "#/components/schemas/ndu.platform.clei" + }, + "macAddress": { + "$ref": "#/components/schemas/ndu.platform.macAddress" + }, + "piid": { + "$ref": "#/components/schemas/ndu.device.piid" + }, + "dmn": { + "$ref": "#/components/schemas/ndu.device.dmn" + }, + "sv": { + "$ref": "#/components/schemas/ndu.device.sv" + }, + "icv": { + "$ref": "#/components/schemas/ndu.device.icv" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "hwDescription" + } + }, + "cm.ndu.parameters.name": { + "description": "Property to change the NDU name. \nThis is also reflected in the same property in oic.wk.d\n", + "maxLength": 64, + "title": "NDU name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "cm.ndu.parameters.connectivityState": { + "description": "The CM connectivity state between the CM and the device.", + "enum": [ + "active", + "inactive" + ], + "title": "Connectivity state", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "connectivityState" + } + }, + "cm.ndu.update": { + "additionalProperties": false, + "description": "Definition of ndu editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/cm.ndu.parameters.name" + }, + "location": { + "$ref": "#/components/schemas/cm.ndu.config.location" + }, + "contact": { + "$ref": "#/components/schemas/ndu.configuration.contact" + }, + "managedBy": { + "$ref": "#/components/schemas/ndu.configuration.mgmtMode" + }, + "labels": { + "$ref": "#/components/schemas/cm.parameters.labels" + } + }, + "type": "object" + }, + "cm.ndu.port": { + "description": "Definition of NDU port object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.port.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.port.state" + }, + "toms": { + "$ref": "#/components/schemas/cm.ndu.port.toms" + }, + "xrs": { + "$ref": "#/components/schemas/cm.ndu.port.xrs" + }, + "edfas": { + "$ref": "#/components/schemas/cm.ndu.port.edfas" + }, + "voas": { + "$ref": "#/components/schemas/cm.ndu.port.voas" + } + } + }, + "cm.ndu.ports": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "ports" + } + }, + "cm.ndu.port.config": { + "additionalProperties": false, + "description": "Definition of ndu port configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.port.label" + }, + "connectedTo": { + "$ref": "#/components/schemas/ndu.port.connectedTo" + }, + "externalConnectivity": { + "$ref": "#/components/schemas/ndu.port.externalConnectivity" + } + }, + "type": "object" + }, + "cm.ndu.port.state": { + "description": "Definition of ndu port state object", + "properties": { + "portAid": { + "$ref": "#/components/schemas/ndu.port.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.port.parentAid" + }, + "name": { + "$ref": "#/components/schemas/ndu.port.label" + }, + "category": { + "$ref": "#/components/schemas/ndu.port.portType" + }, + "supportedTypes": { + "$ref": "#/components/schemas/ndu.port.supportedType" + }, + "installedType": { + "$ref": "#/components/schemas/ndu.port.installedType" + }, + "connectedTo": { + "$ref": "#/components/schemas/ndu.port.connectedTo" + }, + "externalConnectivity": { + "$ref": "#/components/schemas/ndu.port.externalConnectivity" + } + }, + "type": "object" + }, + "cm.ndu.port.update": { + "additionalProperties": false, + "description": "Definition of ndu port editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.port.label" + }, + "connectedTo": { + "$ref": "#/components/schemas/ndu.port.connectedTo" + }, + "externalConnectivity": { + "$ref": "#/components/schemas/ndu.port.externalConnectivity" + } + }, + "type": "object" + }, + "cm.ndu.port.tom": { + "description": "Definition of NDU TOM object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.port.tom.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.port.tom.state" + } + } + }, + "cm.ndu.port.toms": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.tom" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "toms" + } + }, + "cm.ndu.port.tom.config": { + "additionalProperties": false, + "description": "Definition of ndu TOM configurable parameters", + "properties": { + "requiredType": { + "$ref": "#/components/schemas/ndu.tom.requiredType" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "cm.ndu.port.tom.state": { + "description": "Definition of ndu TOM state object", + "properties": { + "tomAid": { + "$ref": "#/components/schemas/ndu.tom.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.tom.parentAid" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "serDes": { + "items": { + "$ref": "#/components/schemas/ndu.serDesData" + }, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "inventory": { + "$ref": "#/components/schemas/ndu.inventory" + } + }, + "type": "object" + }, + "cm.ndu.port.tom.update": { + "additionalProperties": false, + "description": "Definition of ndu TOM editable parameters", + "minProperties": 1, + "properties": { + "requiredType": { + "$ref": "#/components/schemas/ndu.tom.requiredType" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + } + }, + "type": "object" + }, + "cm.ndu.port.xr": { + "description": "Definition of NDU XR pluggable interface object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.port.xr.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.port.xr.state" + } + } + }, + "cm.ndu.port.xrs": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.xr" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "xrs" + } + }, + "cm.ndu.port.xr.config": { + "additionalProperties": false, + "description": "Definition of ndu XR pluggable interface configurable parameters", + "properties": { + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "cm.ndu.port.xr.state": { + "description": "Definition of ndu XR pluggable interface state object", + "properties": { + "xrAid": { + "$ref": "#/components/schemas/ndu.xr.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.xr.parentAid" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "serDes": { + "items": { + "$ref": "#/components/schemas/ndu.serDesData" + }, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "inventory": { + "$ref": "#/components/schemas/ndu.inventory" + } + }, + "type": "object" + }, + "cm.ndu.port.xr.update": { + "additionalProperties": false, + "description": "Definition of ndu XR pluggable interface editable parameters", + "minProperties": 1, + "properties": { + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + } + }, + "type": "object" + }, + "cm.ndu.port.edfa": { + "description": "Definition of NDU EDFA object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.port.edfa.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.port.edfa.state" + } + } + }, + "cm.ndu.port.edfas": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.edfa" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "edfas" + } + }, + "cm.ndu.port.edfa.config": { + "additionalProperties": false, + "description": "Definition of ndu EDFA configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.edfa.label" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "function": { + "$ref": "#/components/schemas/ndu.edfa.function" + }, + "amplifierEnable": { + "$ref": "#/components/schemas/ndu.edfa.amplifierEnable" + }, + "controlMode": { + "$ref": "#/components/schemas/ndu.edfa.controlMode" + }, + "amplifierMode": { + "$ref": "#/components/schemas/ndu.edfa.amplifierMode" + }, + "gainTarget": { + "$ref": "#/components/schemas/ndu.edfa.gainTarget" + }, + "optimumEdfaGain": { + "$ref": "#/components/schemas/ndu.edfa.optimumEdfaGain" + }, + "inputPowerMon": { + "$ref": "#/components/schemas/ndu.edfa.inputPowerMon" + }, + "outputPowerMon": { + "$ref": "#/components/schemas/ndu.edfa.outputPowerMon" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "cm.ndu.port.edfa.state": { + "description": "Definition of ndu EDFA state object", + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.edfa.label" + }, + "edfaAid": { + "$ref": "#/components/schemas/ndu.edfa.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.edfa.parentAid" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "serDes": { + "items": { + "$ref": "#/components/schemas/ndu.serDesData" + }, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "function": { + "$ref": "#/components/schemas/ndu.edfa.function" + }, + "amplifierEnable": { + "$ref": "#/components/schemas/ndu.edfa.amplifierEnable" + }, + "controlMode": { + "$ref": "#/components/schemas/ndu.edfa.controlMode" + }, + "amplifierMode": { + "$ref": "#/components/schemas/ndu.edfa.amplifierMode" + }, + "gainTarget": { + "$ref": "#/components/schemas/ndu.edfa.gainTarget" + }, + "optimumEdfaGain": { + "$ref": "#/components/schemas/ndu.edfa.optimumEdfaGain" + }, + "inputPowerMon": { + "$ref": "#/components/schemas/ndu.edfa.inputPowerMon" + }, + "outputPowerMon": { + "$ref": "#/components/schemas/ndu.edfa.outputPowerMon" + }, + "inventory": { + "$ref": "#/components/schemas/ndu.inventory" + } + }, + "type": "object" + }, + "cm.ndu.port.edfa.update": { + "additionalProperties": false, + "description": "Definition of ndu EDFA editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.edfa.label" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "function": { + "$ref": "#/components/schemas/ndu.edfa.function" + }, + "amplifierEnable": { + "$ref": "#/components/schemas/ndu.edfa.amplifierEnable" + }, + "controlMode": { + "$ref": "#/components/schemas/ndu.edfa.controlMode" + }, + "amplifierMode": { + "$ref": "#/components/schemas/ndu.edfa.amplifierMode" + }, + "gainTarget": { + "$ref": "#/components/schemas/ndu.edfa.gainTarget" + }, + "optimumEdfaGain": { + "$ref": "#/components/schemas/ndu.edfa.optimumEdfaGain" + }, + "inputPowerMon": { + "$ref": "#/components/schemas/ndu.edfa.inputPowerMon" + }, + "outputPowerMon": { + "$ref": "#/components/schemas/ndu.edfa.outputPowerMon" + } + }, + "type": "object" + }, + "cm.ndu.port.voa": { + "description": "Definition of NDU VOA object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.port.voa.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.port.voa.state" + } + } + }, + "cm.ndu.port.voas": { + "items": { + "$ref": "#/components/schemas/cm.ndu.port.voa" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "voas" + } + }, + "cm.ndu.port.voa.config": { + "additionalProperties": false, + "description": "Definition of ndu VOA configurable parameters", + "properties": { + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "outputVoaAttenuation": { + "$ref": "#/components/schemas/ndu.voa.outputVoaAttenuation" + } + }, + "type": "object", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "cm.ndu.port.voa.state": { + "description": "Definition of ndu VOA state object", + "properties": { + "voaAid": { + "$ref": "#/components/schemas/ndu.voa.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.voa.parentAid" + }, + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "serDes": { + "items": { + "$ref": "#/components/schemas/ndu.serDesData" + }, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "serDes" + } + }, + "outputVoaAttenuation": { + "$ref": "#/components/schemas/ndu.voa.outputVoaAttenuation" + }, + "outputVoaActual": { + "$ref": "#/components/schemas/ndu.voa.outputVoaActual" + }, + "inputPowerMon": { + "$ref": "#/components/schemas/ndu.voa.inputPowerMon" + }, + "outputPowerMon": { + "$ref": "#/components/schemas/ndu.voa.outputPowerMon" + }, + "inventory": { + "$ref": "#/components/schemas/ndu.inventory" + } + }, + "type": "object" + }, + "cm.ndu.port.voa.update": { + "additionalProperties": false, + "description": "Definition of ndu VOA editable parameters", + "minProperties": 1, + "properties": { + "enableSerdes": { + "$ref": "#/components/schemas/ndu.enableSerdes" + }, + "outputVoaAttenuation": { + "$ref": "#/components/schemas/ndu.voa.outputVoaAttenuation" + }, + "outputVoaActual": { + "$ref": "#/components/schemas/ndu.voa.outputVoaActual" + } + }, + "type": "object" + }, + "cm.ndu.linePtp": { + "description": "Definition of ndu line port object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.linePtp.state" + }, + "carriers": { + "$ref": "#/components/schemas/cm.ndu.linePtp.carriers" + } + } + }, + "cm.ndu.linePtps": { + "items": { + "$ref": "#/components/schemas/cm.ndu.linePtp" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "linePtps" + } + }, + "cm.ndu.linePtp.state": { + "description": "Definition of module line port state object", + "properties": { + "linePtpAid": { + "$ref": "#/components/schemas/ndu.lineptp.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.lineptp.parentAid" + } + }, + "type": "object" + }, + "cm.ndu.linePtp.carrier": { + "description": "Definition of ndu carrier object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.linePtp.carrier.state" + } + } + }, + "cm.ndu.linePtp.carriers": { + "items": { + "$ref": "#/components/schemas/cm.ndu.linePtp.carrier" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "carriers" + } + }, + "cm.ndu.linePtp.carrier.state": { + "description": "Definition of module carrier state object", + "properties": { + "carrierAid": { + "$ref": "#/components/schemas/xr.carrier.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.carrier.parentAid" + } + }, + "type": "object" + }, + "cm.ndu.tribPtp": { + "description": "Definition of NDU tributary port object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.tribPtp.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.tribPtp.state" + } + } + }, + "cm.ndu.tribPtps": { + "items": { + "$ref": "#/components/schemas/cm.ndu.tribPtp" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "tribPtps" + } + }, + "cm.ndu.tribPtp.config": { + "additionalProperties": false, + "description": "Definition of ndu tributary port configurable parameters", + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.ptp.label" + }, + "serviceType": { + "$ref": "#/components/schemas/ndu.ptp.serviceType" + }, + "disableAction": { + "$ref": "#/components/schemas/ndu.ptp.tributaryDisableAction" + }, + "disableActionHoldOff": { + "$ref": "#/components/schemas/ndu.ptp.tributaryDisableActionHoldoff" + }, + "powerThresholdLow": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdLow" + }, + "powerThresholdLowOffset": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdLowOffset" + }, + "powerThresholdHigh": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdHigh" + }, + "powerThresholdHighOffset": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdHighOffset" + } + }, + "type": "object" + }, + "cm.ndu.tribPtp.state": { + "description": "Definition of ndu tributary port state object", + "properties": { + "tribPtpAid": { + "$ref": "#/components/schemas/ndu.ptp.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.lineptp.parentAid" + }, + "name": { + "$ref": "#/components/schemas/ndu.ptp.label" + }, + "serviceType": { + "$ref": "#/components/schemas/ndu.ptp.serviceType" + }, + "disableAction": { + "$ref": "#/components/schemas/ndu.ptp.tributaryDisableAction" + }, + "disableActionHoldOff": { + "$ref": "#/components/schemas/ndu.ptp.tributaryDisableActionHoldoff" + }, + "powerThresholdLow": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdLow" + }, + "powerThresholdLowOffset": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdLowOffset" + }, + "powerThresholdHigh": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdHigh" + }, + "powerThresholdHighOffset": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdHighOffset" + } + }, + "type": "object" + }, + "cm.ndu.tribPtp.update": { + "additionalProperties": false, + "description": "Definition of ndu tributary port editable parameters", + "minProperties": 1, + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.ptp.label" + }, + "serviceType": { + "$ref": "#/components/schemas/ndu.ptp.serviceType" + }, + "disableAction": { + "$ref": "#/components/schemas/ndu.ptp.tributaryDisableAction" + }, + "disableActionHoldOff": { + "$ref": "#/components/schemas/ndu.ptp.tributaryDisableActionHoldoff" + }, + "powerThresholdLow": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdLow" + }, + "powerThresholdLowOffset": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdLowOffset" + }, + "powerThresholdHigh": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdHigh" + }, + "powerThresholdHighOffset": { + "$ref": "#/components/schemas/ndu.ptp.powerThresholdHighOffset" + } + }, + "type": "object" + }, + "cm.ndu.otu": { + "description": "Definition of NDU otu object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.otu.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.otu.state" + }, + "odus": { + "$ref": "#/components/schemas/cm.ndu.otu.odus" + } + } + }, + "cm.ndu.otus": { + "items": { + "$ref": "#/components/schemas/cm.ndu.otu" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "otus" + } + }, + "cm.ndu.otu.config": { + "additionalProperties": false, + "description": "Definition of NDU otu configurable parameters", + "properties": { + "txTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.txTTI" + }, + "expectedTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.expectedTTI" + }, + "facPRBSGen": { + "$ref": "#/components/schemas/xr.ndu.otu.diagnostic.facPRBSGen" + }, + "facPRBSMon": { + "$ref": "#/components/schemas/xr.ndu.otu.diagnostic.facPRBSMon" + } + }, + "type": "object" + }, + "cm.ndu.otu.state": { + "description": "Definition of NDU otu state object", + "properties": { + "otuAid": { + "$ref": "#/components/schemas/xr.ndu.otu.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ndu.otu.parentAid" + }, + "otuType": { + "$ref": "#/components/schemas/xr.ndu.otu.otuType" + }, + "rate": { + "$ref": "#/components/schemas/xr.ndu.otu.rate" + }, + "txTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.txTTI" + }, + "rxTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.rxTTI" + }, + "expectedTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.expectedTTI" + }, + "facPRBSGen": { + "$ref": "#/components/schemas/xr.ndu.otu.diagnostic.facPRBSGen" + }, + "facPRBSMon": { + "$ref": "#/components/schemas/xr.ndu.otu.diagnostic.facPRBSMon" + } + }, + "type": "object" + }, + "cm.ndu.otu.update": { + "additionalProperties": false, + "description": "Definition of NDU otu editable parameters", + "minProperties": 1, + "properties": { + "txTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.txTTI" + }, + "expectedTTI": { + "$ref": "#/components/schemas/xr.ndu.otu.expectedTTI" + }, + "facPRBSGen": { + "$ref": "#/components/schemas/xr.ndu.otu.diagnostic.facPRBSGen" + }, + "facPRBSMon": { + "$ref": "#/components/schemas/xr.ndu.otu.diagnostic.facPRBSMon" + } + }, + "type": "object" + }, + "cm.ndu.otu.odu": { + "description": "Definition of NTU ODU object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.otu.odu.state" + } + } + }, + "cm.ndu.otu.odus": { + "items": { + "$ref": "#/components/schemas/cm.ndu.otu.odu" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "odus" + } + }, + "cm.ndu.otu.odu.state": { + "description": "Definition of NDU ODU state object", + "properties": { + "oduAid": { + "$ref": "#/components/schemas/xr.ndu.otu.odu.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ndu.otu.odu.parentAid" + }, + "oduType": { + "$ref": "#/components/schemas/xr.ndu.otu.odu.oduType" + } + } + }, + "cm.ndu.ethernetClient": { + "description": "Definition of NDU ethernetClient object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "config": { + "$ref": "#/components/schemas/cm.ndu.ethernetClient.config" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.ethernetClient.state" + } + } + }, + "cm.ndu.ethernetClients": { + "items": { + "$ref": "#/components/schemas/cm.ndu.ethernetClient" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "ethernetClients" + } + }, + "cm.ndu.ethernetClient.config": { + "additionalProperties": false, + "description": "Definition of NDU ethernetClient configuration object", + "properties": { + "fecMode": { + "$ref": "#/components/schemas/xr.ndu.ethernet.fecMode" + }, + "loopbackType": { + "$ref": "#/components/schemas/xr.ndu.ethernet.diagnostic.loopbackType" + }, + "loopbackMode": { + "$ref": "#/components/schemas/xr.ndu.ethernet.diagnostic.loopbackMode" + } + }, + "type": "object" + }, + "cm.ndu.ethernetClient.state": { + "description": "Definition of module ethernetClient state parameters", + "properties": { + "clientIfAid": { + "$ref": "#/components/schemas/xr.ndu.ethernet.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/xr.ndu.ethernet.parentAid" + }, + "clientIfPortSpeed": { + "$ref": "#/components/schemas/xr.ndu.ethernet.portSpeed" + }, + "fecType": { + "$ref": "#/components/schemas/xr.ndu.ethernet.fecType" + }, + "fecMode": { + "$ref": "#/components/schemas/xr.ndu.ethernet.fecMode" + }, + "loopbackType": { + "$ref": "#/components/schemas/xr.ndu.ethernet.diagnostic.loopbackType" + }, + "loopbackMode": { + "$ref": "#/components/schemas/xr.ndu.ethernet.diagnostic.loopbackMode" + } + }, + "type": "object" + }, + "cm.ndu.ethernetClient.update": { + "additionalProperties": false, + "description": "Definition of NDU ethernetClient editable object", + "minProperties": 1, + "properties": { + "fecMode": { + "$ref": "#/components/schemas/xr.ndu.ethernet.fecMode" + }, + "loopbackType": { + "$ref": "#/components/schemas/xr.ndu.ethernet.diagnostic.loopbackType" + }, + "loopbackMode": { + "$ref": "#/components/schemas/xr.ndu.ethernet.diagnostic.loopbackMode" + } + }, + "type": "object" + }, + "cm.ndu.trail": { + "description": "Definition of NTU trail object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.trail.state" + } + } + }, + "cm.ndu.trails": { + "items": { + "$ref": "#/components/schemas/cm.ndu.trail" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "trails" + } + }, + "cm.ndu.trail.state": { + "description": "Definition of NDU ODU state object", + "properties": { + "trailAid": { + "$ref": "#/components/schemas/ndu.trail.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.trail.parentAid" + }, + "trailType": { + "$ref": "#/components/schemas/ndu.trail.trailType" + }, + "clientAid": { + "$ref": "#/components/schemas/ndu.trail.Aid_A" + }, + "lineAid": { + "$ref": "#/components/schemas/ndu.trail.Aid_Z" + } + } + }, + "cm.ndu.fan": { + "description": "Definition of NTU fan object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.fan.state" + } + } + }, + "cm.ndu.fans": { + "items": { + "$ref": "#/components/schemas/cm.ndu.fan" + }, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "fans" + } + }, + "cm.ndu.fan.state": { + "description": "Definition of NDU fan state object", + "properties": { + "fanAid": { + "$ref": "#/components/schemas/ndu.fan.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.fan.parentAid" + }, + "inventory": { + "$ref": "#/components/schemas/ndu.inventory" + } + } + }, + "cm.ndu.pem": { + "description": "Definition of NDU PEM object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.pem.state" + } + } + }, + "cm.ndu.pem.state": { + "description": "Definition of NDU PEM state object", + "properties": { + "pemAid": { + "$ref": "#/components/schemas/ndu.fan.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.fan.parentAid" + }, + "availablePower": { + "$ref": "#/components/schemas/ndu.pem.availablePower" + }, + "pemUnderVoltageThreshold": { + "$ref": "#/components/schemas/ndu.pem.pemUnderVoltageThreshold" + }, + "pemOverVoltageThreshold": { + "$ref": "#/components/schemas/ndu.pem.pemOverVoltageThreshold" + }, + "inventory": { + "$ref": "#/components/schemas/ndu.inventory" + } + }, + "type": "object" + }, + "cm.ndu.pem.update": { + "additionalProperties": false, + "description": "Definition of ndu PEM editable parameters", + "minProperties": 1, + "properties": { + "pemUnderVoltageThreshold": { + "$ref": "#/components/schemas/ndu.pem.pemUnderVoltageThreshold" + }, + "pemOverVoltageThreshold": { + "$ref": "#/components/schemas/ndu.pem.pemOverVoltageThreshold" + } + }, + "type": "object" + }, + "cm.ndu.leds": { + "description": "Definition of NDU LEDs object", + "properties": { + "href": { + "$ref": "#/components/schemas/cm.parameters.href" + }, + "rt": { + "$ref": "#/components/schemas/cm.parameters.rt" + }, + "id": { + "$ref": "#/components/schemas/cm.parameters.uuid" + }, + "parentId": { + "$ref": "#/components/schemas/cm.parameters.parentId" + }, + "colId": { + "$ref": "#/components/schemas/ndu.colId" + }, + "state": { + "$ref": "#/components/schemas/cm.ndu.leds.state" + } + } + }, + "cm.ndu.leds.state": { + "description": "Definition of NDU LEDs state object", + "properties": { + "ledsAid": { + "$ref": "#/components/schemas/ndu.leds.aid" + }, + "parentAid": { + "$ref": "#/components/schemas/ndu.leds.parentAid" + }, + "leds": { + "$ref": "#/components/schemas/ndu.leds.leds" + } + } + }, + "ndu.configuration.contact": { + "description": "Contact info of administrator of NDU", + "title": "Contact", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "contact" + } + }, + "ndu.configuration.mgmtMode": { + "description": "Defines the ownership of the object.", + "enum": [ + "local", + "CM" + ], + "title": "Managed by", + "type": "string", + "x-enum-varnames": [ + "Local", + "IPM" + ], + "x-oapi-codegen-extra-tags": { + "bson": "managedBy" + } + }, + "ndu.configuration.neLocation": { + "description": "NE location, defined by operator.", + "maxLength": 64, + "title": "Description", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "description" + } + }, + "ndu.configuration.clli": { + "description": "Common Location Language Identifier", + "maxLength": 11, + "minLength": 6, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clli" + } + }, + "ndu.configuration.latitude": { + "description": "Latitude location info. \nRange: -90 to +90\n", + "format": "double", + "maximum": 90, + "minimum": -90, + "title": "Latitude", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "latitude" + } + }, + "ndu.configuration.longitude": { + "description": "Longitude location info. \nRange: -180 to +180\n", + "format": "double", + "maximum": 180, + "minimum": -180, + "title": "Longitude", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "longitude" + } + }, + "ndu.configuration.altitude": { + "title": "Altitude", + "type": "integer", + "x-unit": "Meters", + "x-oapi-codegen-extra-tags": { + "bson": "altitude" + } + }, + "ndu.device.n": { + "description": "Friendly name of the device", + "maxLength": 64, + "readOnly": true, + "title": "NDU name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "ndu.device.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "nduAid" + } + }, + "ndu.platform.pi": { + "description": "Unique UUID for the hardware platform calculated from the mac address", + "maxLength": 36, + "minLength": 36, + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "readOnly": true, + "title": "Platform UUID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "pi" + } + }, + "ndu.platform.mnfv": { + "description": "Manufacturer's firmware version", + "maxLength": 64, + "readOnly": true, + "title": "Firmware version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnfv" + } + }, + "ndu.platform.mnmn": { + "description": "Manufacturer name", + "maxLength": 64, + "readOnly": true, + "title": "Manufacturer", + "type": "string" + }, + "ndu.platform.mnmo": { + "description": "Manufacturer's Model/Part number", + "maxLength": 64, + "readOnly": true, + "title": "Model number", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnmo" + } + }, + "ndu.platform.mnhw": { + "description": "Platform Hardware Version", + "maxLength": 64, + "readOnly": true, + "title": "HW Version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mnhw" + } + }, + "ndu.platform.mndt": { + "description": "HW Manufacturing date", + "pattern": "([0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|2[0-9]|1[0-9]|0[1-9])", + "readOnly": true, + "title": "Manufacturing date", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "mndt" + } + }, + "ndu.platform.mnsel": { + "description": "Device Serial number", + "maxLength": 64, + "readOnly": true, + "title": "Serial number", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "serialNumber" + } + }, + "ndu.platform.clei": { + "description": "Globally unique 10-character alphanumeric intelligent code identifying equipment in a structured naming format", + "readOnly": true, + "title": "CLEI Code", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clei" + } + }, + "ndu.platform.macAddress": { + "description": "Device MAC Address", + "readOnly": true, + "title": "MAC address", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "macAddress" + } + }, + "ndu.device.piid": { + "description": "Protocol independent unique identifier for the Device that is immutable.", + "maxLength": 36, + "minLength": 36, + "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "readOnly": true, + "title": "PIID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "piid" + } + }, + "ndu.device.dmn": { + "properties": { + "language": { + "$ref": "#/components/schemas/ndu.device.dmn.language" + }, + "value": { + "$ref": "#/components/schemas/ndu.device.dmn.value" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "dmn" + } + }, + "ndu.device.dmn.language": { + "description": "Format pattern according to IETF RFC 5646 (language tag).", + "pattern": "[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})", + "title": "Language", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "language" + } + }, + "ndu.device.dmn.value": { + "description": "Manufacturer name", + "maxLength": 64, + "readOnly": true, + "title": "Manufacturer", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "value" + } + }, + "ndu.device.sv": { + "description": "Software version.", + "maxLength": 64, + "readOnly": true, + "title": "Software version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "sv" + } + }, + "ndu.device.icv": { + "description": "Device HW version.", + "maxLength": 64, + "readOnly": true, + "title": "Hardware version", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "icv" + } + }, + "ndu.colId": { + "description": "Object identifier in the supporting collection.", + "readOnly": true, + "title": "Collection Id", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "colId" + } + }, + "ndu.port.label": { + "description": "User defined port label", + "maxLength": 64, + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "ndu.port.connectedTo": { + "description": "User configurable neighbor entity information", + "maxLength": 64, + "title": "Neighbor", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "connectedTo" + } + }, + "ndu.port.externalConnectivity": { + "description": "Whether port has NMS external connectivity.", + "title": "External Connectivity", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "externalConnectivity" + } + }, + "ndu.port.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type..", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "portAid" + } + }, + "ndu.port.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.port.portType": { + "description": "Describes the port type", + "enum": [ + "line", + "tributary", + "usb", + "dcn", + "uplink", + "optical" + ], + "readOnly": true, + "title": "Type", + "type": "string", + "x-enum-varnames": [ + "Line", + "Tributary", + "USB", + "DCN", + "Uplink", + "Optical" + ], + "x-oapi-codegen-extra-tags": { + "bson": "category" + } + }, + "ndu.port.supportedType": { + "description": "List of supported pluggable interfaces", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "supportedTypes" + } + }, + "ndu.port.installedType": { + "description": "Installed pluggable interface", + "readOnly": true, + "type": "string" + }, + "ndu.tom.requiredType": { + "default": "", + "description": "User defined required type.\nInserted value should match a tom value defined in port supportedTypes.\n", + "maxLength": 64, + "title": "Required Type", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "requiredType" + } + }, + "ndu.enableSerdes": { + "description": "Serdes control parameter", + "title": "Enable Serdes", + "type": "boolean", + "x-oapi-codegen-extra-tags": { + "bson": "enableSerdes" + } + }, + "ndu.tom.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "tomAid" + } + }, + "ndu.tom.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.port.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.serDesData": { + "properties": { + "name": { + "$ref": "#/components/schemas/ndu.serDes.name" + }, + "value": { + "$ref": "#/components/schemas/ndu.serDes.value" + }, + "status": { + "$ref": "#/components/schemas/ndu.serDes.status" + } + } + }, + "ndu.serDes.name": { + "description": "Serdes name", + "readOnly": true, + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "ndu.serDes.value": { + "description": "Serdes value", + "readOnly": true, + "title": "Value", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "value" + } + }, + "ndu.serDes.status": { + "description": "Serdes status", + "enum": [ + "set", + "unknown", + "inProgress", + "failed", + "notSupported" + ], + "readOnly": true, + "title": "Status", + "type": "string", + "x-enum-varnames": [ + "Set", + "Unknown", + "In progress", + "Failed", + "Not supported" + ], + "x-oapi-codegen-extra-tags": { + "bson": "status" + } + }, + "ndu.inventory": { + "properties": { + "hardwareVersion": { + "$ref": "#/components/schemas/ndu.inventory.hardwareVersion" + }, + "actualType": { + "$ref": "#/components/schemas/ndu.inventory.actualType" + }, + "PON": { + "$ref": "#/components/schemas/ndu.inventory.pon" + }, + "serialNumber": { + "$ref": "#/components/schemas/ndu.inventory.serialNumber" + }, + "clei": { + "$ref": "#/components/schemas/ndu.inventory.clei" + }, + "vendor": { + "$ref": "#/components/schemas/ndu.inventory.vendor" + }, + "partNumber": { + "$ref": "#/components/schemas/ndu.inventory.partNumber" + }, + "manufactureDate": { + "$ref": "#/components/schemas/ndu.inventory.manufactureDate" + }, + "fwName": { + "$ref": "#/components/schemas/ndu.inventory.fwName" + }, + "fwVersion": { + "$ref": "#/components/schemas/ndu.inventory.fwVersion" + }, + "expectedFWVersion": { + "$ref": "#/components/schemas/ndu.inventory.expectedFWVersion" + }, + "fwStatus": { + "$ref": "#/components/schemas/ndu.inventory.fwStatus" + } + }, + "x-oapi-codegen-extra-tags": { + "bson": "hardwareVersion" + } + }, + "ndu.inventory.hardwareVersion": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "inventory" + } + }, + "ndu.inventory.actualType": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "actualType" + } + }, + "ndu.inventory.pon": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "PON" + } + }, + "ndu.inventory.serialNumber": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "serialNumber" + } + }, + "ndu.inventory.clei": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clei" + } + }, + "ndu.inventory.vendor": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "vendor" + } + }, + "ndu.inventory.partNumber": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "partNumber" + } + }, + "ndu.inventory.manufactureDate": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "manufactureDate" + } + }, + "ndu.inventory.fwName": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "fwName" + } + }, + "ndu.inventory.fwVersion": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "fwVersion" + } + }, + "ndu.inventory.expectedFWVersion": { + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "expectedFWVersion" + } + }, + "ndu.inventory.fwStatus": { + "enum": [ + "notApplicable", + "current", + "notCurrent", + "unavailable" + ], + "readOnly": true, + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "fwStatus" + } + }, + "ndu.xr.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "xrAid" + } + }, + "ndu.xr.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.port.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.edfa.label": { + "description": "User defined label", + "maxLength": 64, + "title": "Name", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "ndu.edfa.function": { + "description": "booster amplifier or pre-amplifier", + "enum": [ + "pa", + "ba" + ], + "title": "Function", + "type": "string", + "x-enum-varnames": [ + "Pre-amplifier", + "Booster amplifier" + ], + "x-oapi-codegen-extra-tags": { + "bson": "function" + } + }, + "ndu.edfa.amplifierEnable": { + "description": "The enable switch for the amplifier.", + "enum": [ + "enabled", + "disabled" + ], + "title": "Status", + "type": "string", + "x-enum-varnames": [ + "Enabled", + "Disabled" + ], + "x-oapi-codegen-extra-tags": { + "bson": "amplifierEnable" + } + }, + "ndu.edfa.controlMode": { + "description": "Mode of control of the amplifier (user defined targeting or automatic power targeting)", + "enum": [ + "autoMaxPw", + "manual" + ], + "title": "Power Control", + "type": "string", + "x-enum-varnames": [ + "Automatic", + "Manual" + ], + "x-oapi-codegen-extra-tags": { + "bson": "controlMode" + } + }, + "ndu.edfa.amplifierMode": { + "description": "Mode of operation.", + "enum": [ + "constantPower", + "constantGain" + ], + "title": "Amplifier Mode", + "type": "string", + "x-enum-varnames": [ + "Power control", + "Gain control" + ], + "x-oapi-codegen-extra-tags": { + "bson": "amplifierMode" + } + }, + "ndu.edfa.gainTarget": { + "description": "Target gain to be achieved by the amplifier.", + "format": "double", + "title": "Target Gain", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "gainTarget" + } + }, + "ndu.edfa.optimumEdfaGain": { + "description": "Optimum EDFA gain of the emplifier", + "format": "double", + "readOnly": true, + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "optimumEdfaGain" + } + }, + "ndu.edfa.inputPowerMon": { + "description": "Monitored input power.", + "format": "double", + "readOnly": true, + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "inputPowerMon" + } + }, + "ndu.edfa.outputPowerMon": { + "description": "Monitored output power", + "format": "double", + "readOnly": true, + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "outputPowerMon" + } + }, + "ndu.edfa.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "edfaAid" + } + }, + "ndu.edfa.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.port.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.voa.outputVoaAttenuation": { + "default": 0, + "description": "Attenuation setting on VOA. \nRange 0.. 20, \nUnit: dB, \nDefault: 0\n", + "format": "double", + "maximum": 20, + "minimum": 0, + "title": "VOA Attenuation", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "outputVoaAttenuation" + } + }, + "ndu.voa.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "voaAid" + } + }, + "ndu.voa.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.port.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.voa.outputVoaActual": { + "description": "Attenuation setting monitor (actual)", + "readOnly": true, + "title": "Actual VOA Attenuation", + "type": "integer", + "x-oapi-codegen-extra-tags": { + "bson": "outputVoaActual" + } + }, + "ndu.voa.inputPowerMon": { + "description": "Monitored input power", + "format": "double", + "readOnly": true, + "title": "Input power", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "inputPowerMon" + } + }, + "ndu.voa.outputPowerMon": { + "description": "Monitored output power", + "format": "double", + "readOnly": true, + "title": "Output power", + "type": "number", + "x-oapi-codegen-extra-tags": { + "bson": "outputPowerMon" + } + }, + "ndu.lineptp.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "linePtpAid" + } + }, + "ndu.lineptp.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.ptp.label": { + "description": "User defined label", + "maxLength": 64, + "title": "Description", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "name" + } + }, + "ndu.ptp.serviceType": { + "enum": [ + "100GBE", + "4x25GBE", + "OTU4" + ], + "title": "Service Type", + "type": "string", + "x-enum-varnames": [ + "100GBE", + "4x25GBE", + "OTU4" + ], + "x-oapi-codegen-extra-tags": { + "bson": "serviceType" + } + }, + "ndu.ptp.tributaryDisableAction": { + "description": "Defines the applicable disable action for the tributary port", + "enum": [ + "laserShutoff", + "sendIdles", + "sendLf" + ], + "title": "Disable action", + "type": "string", + "x-enum-varnames": [ + "Laser shutdown", + "Send idle", + "Send loss of frame" + ], + "x-oapi-codegen-extra-tags": { + "bson": "disableAction" + } + }, + "ndu.ptp.tributaryDisableActionHoldoff": { + "description": "Time in ms before TDA kicks in.", + "maximum": 10000, + "minimum": 0, + "title": "Disable action hold-off time", + "type": "integer", + "x-unit": "ms", + "x-oapi-codegen-extra-tags": { + "bson": "disableActionHoldOff" + } + }, + "ndu.ptp.powerThresholdLow": { + "description": "The threshold below which the system raises the OPR-OORL alarm. \nRange: -55.00 to +55.00 \nUnits: dBm\n", + "format": "double", + "maximum": 55, + "minimum": -55, + "title": "Under Power Threshold", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "powerThresholdLow" + } + }, + "ndu.ptp.powerThresholdLowOffset": { + "description": "Adjustment factor for low alarm. \nThe effective threshold will be (threshold-low + threshold-low-offset). \nRange: -10.00 to +10.00\nUnits: dB\n", + "format": "double", + "maximum": 10, + "minimum": -10, + "title": "Under Power Threshold Offset", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "powerThresholdLowOffset" + } + }, + "ndu.ptp.powerThresholdHigh": { + "description": "The threshold above which the system raises the OPR-OORH alarm. \nRange: -55.00 to +55.00 \nUnits: dB\n", + "format": "double", + "maximum": 55, + "minimum": -55, + "title": "Over Power Threshold", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "powerThresholdHigh" + } + }, + "ndu.ptp.powerThresholdHighOffset": { + "description": "Adjustment factor for low alarm.\nThe effective threshold will be (threshold-high+ threshold-high-offset)\nRange: -10.00 to +10.00 \nUnits: dB\n", + "format": "double", + "maximum": 10, + "minimum": -10, + "title": "Over Power Threshold Offset", + "type": "number", + "x-unit": "dB", + "x-oapi-codegen-extra-tags": { + "bson": "powerThresholdHighOffset" + } + }, + "ndu.ptp.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "tribPtpAid" + } + }, + "xr.ndu.otu.txTTI": { + "default": "", + "description": "Up to 64 byte string for transmitting as TTI.", + "maxLength": 64, + "title": "Transmit TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "txTTI" + } + }, + "xr.ndu.otu.expectedTTI": { + "default": "", + "description": "Up to 64 byte string of TTI that is expected to be received.", + "maxLength": 64, + "title": "Expected TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "expectedTTI" + } + }, + "xr.ndu.otu.diagnostic.facPRBSGen": { + "default": "disabled", + "description": "Enable/Disable facility PRBS test pattern generation", + "enum": [ + "enabled", + "disabled" + ], + "title": "Facility PRBS generation", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSGen" + } + }, + "xr.ndu.otu.diagnostic.facPRBSMon": { + "default": "disabled", + "description": "Enable/Disable facility PRBS test pattern monitoring", + "enum": [ + "enabled", + "disabled" + ], + "title": "Facility PRBS monitoring", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "facPRBSMon" + } + }, + "xr.ndu.otu.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "otuAid" + } + }, + "xr.ndu.otu.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.ndu.otu.otuType": { + "description": "OTU Type", + "enum": [ + "OTUCni", + "OTUCn", + "OTUCni-M", + "OTU4" + ], + "readOnly": true, + "title": "OTU type", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "otuType" + } + }, + "xr.ndu.otu.rate": { + "description": "Rate of the OTU.", + "enum": [ + 25, + 50, + 100, + 200, + 400 + ], + "readOnly": true, + "title": "Rate", + "type": "integer", + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "rate" + } + }, + "xr.ndu.otu.rxTTI": { + "description": "Up to 64 byte string of received TTI.", + "maxLength": 64, + "readOnly": true, + "title": "Received TTI", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "rxTTI" + } + }, + "xr.ndu.otu.odu.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "oduAid" + } + }, + "xr.ndu.otu.odu.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.carrier.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.carrier.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "carrierAid" + } + }, + "xr.ndu.otu.odu.oduType": { + "description": "ODU type", + "enum": [ + "ODUCni", + "ODUflexi", + "ODUCni-M", + "ODU4i" + ], + "readOnly": true, + "title": "ODU type", + "type": "string", + "x-enum-varnames": [ + "ODUCni", + "ODUflexi", + "ODUCni-M", + "ODU4i" + ], + "x-oapi-codegen-extra-tags": { + "bson": "oduType" + } + }, + "xr.ndu.ethernet.fecMode": { + "default": "enabled", + "description": "Forward error correction mode of operation", + "enum": [ + "enabled", + "disabled" + ], + "title": "Forward error correction mode", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "fecMode" + } + }, + "xr.ndu.ethernet.diagnostic.loopbackType": { + "default": "loopbackAndContinue", + "description": "Loopback type. - 'loopbackAndContinue': Signal is looped back and is also forwarded downstream. - 'loopback': Signal is looped back and LF maintenance signal is sent downstream.\n", + "enum": [ + "loopbackAndContinue", + "loopback" + ], + "title": "Loopback type", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "loopbackType" + } + }, + "xr.ndu.ethernet.diagnostic.loopbackMode": { + "default": "disabled", + "description": "Post-FEC Loopback mode for the ethernet client.", + "enum": [ + "disabled", + "facility", + "terminal" + ], + "title": "Loopback mode", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "loopbackMode" + } + }, + "xr.ndu.ethernet.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clientIfAid" + } + }, + "xr.ndu.ethernet.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "xr.ndu.ethernet.portSpeed": { + "description": "Ethernet port speed in Gbps", + "enum": [ + 100, + 400, + 200, + 50, + 25 + ], + "readOnly": true, + "title": "Port speed", + "type": "integer", + "x-unit": "Gbps", + "x-oapi-codegen-extra-tags": { + "bson": "clientIfPortSpeed" + } + }, + "xr.ndu.ethernet.fecType": { + "description": "Automatically set by the module based on SerDes and Port configuration.", + "enum": [ + "KR4", + "KP4" + ], + "readOnly": true, + "title": "Fec type", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "fecType" + } + }, + "ndu.trail.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "maxLength": 64, + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "trailAid" + } + }, + "ndu.trail.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.trail.trailType": { + "default": "biDir", + "description": "Directionality of the LC", + "enum": [ + "biDir" + ], + "title": "Directionality", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "trailType" + } + }, + "ndu.trail.Aid_A": { + "description": "Points to the AID of the connected resource A of the trail.", + "title": "Client side AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "clientAid" + } + }, + "ndu.trail.Aid_Z": { + "description": "Points to the AID of the connected resource Z of the trail.", + "readOnly": true, + "title": "Line side AID", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "lineAid" + } + }, + "ndu.fan.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string" + }, + "ndu.fan.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.pem.availablePower": { + "format": "double", + "readOnly": true, + "title": "Available Power", + "type": "number" + }, + "ndu.pem.pemUnderVoltageThreshold": { + "description": "Ranges:\n- 40.5 to 57.0 for DC PEM,\n- 100 to 260V for AC PEM\n", + "format": "double", + "title": "Under Voltage Threshold", + "type": "number" + }, + "ndu.pem.pemOverVoltageThreshold": { + "description": "Ranges:\n- 40.5 to -57.0 for DC PEM,\n- 100 to 260V for AC PEM\n", + "format": "double", + "title": "Over Voltage Threshold", + "type": "number" + }, + "ndu.leds.aid": { + "description": "Access Identifier (AID) - unique instance within a device and specific resource type.", + "readOnly": true, + "title": "Access identifier", + "type": "string", + "x-oapi-codegen-extra-tags": { + "bson": "ledsAid" + } + }, + "ndu.leds.parentAid": { + "items": { + "$ref": "#/components/schemas/ndu.device.aid" + }, + "maxItems": 1, + "minItems": 1, + "readOnly": true, + "type": "array", + "x-oapi-codegen-extra-tags": { + "bson": "parentAid" + } + }, + "ndu.leds.leds": { + "items": { + "$ref": "#/components/schemas/ndu.ledState" + }, + "readOnly": true, + "type": "array", + "uniqueItems": true, + "x-oapi-codegen-extra-tags": { + "bson": "leds" + } + }, + "ndu.ledState": { + "properties": { + "ledId": { + "$ref": "#/components/schemas/ndu.ledState.ledId" + }, + "state": { + "$ref": "#/components/schemas/ndu.ledState.state" + } + }, + "type": "object" + }, + "ndu.ledState.ledId": { + "enum": [ + "CFP_RX", + "CFP_TX", + "POL_Upper", + "POL_Lower", + "QSFP28_1_RX", + "QSFP28_2_RX", + "QSFP28_1_TX", + "QSFP28_2_TX", + "QSFP28_1_Service", + "QSFP28_2_Service", + "Maintenance", + "IpAuth", + "Power", + "Status", + "Fips" + ], + "readOnly": true, + "type": "string", + "x-enum-varnames": [ + "CFP_RX", + "CFP_TX", + "POL_Upper", + "POL_Lower", + "QSFP28 Port #1 RX", + "QSFP28 Port #2 RX", + "QSFP28 Port #1 TX", + "QSFP28 Port #2 TX", + "QSFP28 Port #1 Service", + "QSFP28 Port #2 Service", + "Maintenance", + "IP Authentication", + "Power", + "Status", + "Fips" + ], + "x-oapi-codegen-extra-tags": { + "bson": "ledId" + } + }, + "ndu.ledState.state": { + "enum": [ + "Unknown", + "Off", + "Green", + "GreenSlowSingleFlash", + "GreenSlowDoubleFlash", + "GreenSlowIsoPhase", + "GreenQuickIsoPhase", + "GreenFastIsoPhase", + "GreenOneSecondFlicker", + "GreenTwoSecondFlicker", + "GreenInvertedSingleFlash", + "GreenInvertedDoubleFlash", + "Red", + "RedSlowSingleFlash", + "RedSlowDoubleFlash", + "RedSlowIsoPhase", + "RedQuickIsoPhase", + "RedInvertedSingleFlash", + "RedInvertedDoubleFlash", + "Yellow", + "YellowSlowIsoPhase", + "GreenRedSlowIsoPhase" + ], + "readOnly": true, + "type": "string", + "x-enum-varnames": [ + "Unknown", + "Off", + "Green", + "GreenSlowSingleFlash", + "GreenSlowDoubleFlash", + "GreenSlowIsoPhase", + "GreenQuickIsoPhase", + "GreenFastIsoPhase", + "GreenOneSecondFlicker", + "GreenTwoSecondFlicker", + "GreenInvertedSingleFlash", + "GreenInvertedDoubleFlash", + "Red", + "RedSlowSingleFlash", + "RedSlowDoubleFlash", + "RedSlowIsoPhase", + "RedQuickIsoPhase", + "RedInvertedSingleFlash", + "RedInvertedDoubleFlash", + "Yellow", + "YellowSlowIsoPhase", + "GreenRedSlowIsoPhase" + ], + "x-oapi-codegen-extra-tags": { + "bson": "state" + } + } + } + } +}