summaryrefslogtreecommitdiffstats
path: root/docs/sections
diff options
context:
space:
mode:
authordhebeha <dhebeha.mj71@wipro.com>2020-09-01 19:14:40 +0530
committerdhebeha <dhebeha.mj71@wipro.com>2020-09-07 18:35:13 +0530
commit1668918950d5590aab82710852257c8f8b89642d (patch)
treeb99e00d38310ed55c2e953c9ab5df75fb0802836 /docs/sections
parent053c09a2ed1a8fc8aeef3f8185902634feec8000 (diff)
add support for common swagger style
- add support for redoc Issue-ID: OPTFRA-805 Signed-off-by: dhebeha <dhebeha.mj71@wipro.com> Change-Id: I2ce1259a9d8f84ec1386518dbe1f286babc26d87
Diffstat (limited to 'docs/sections')
-rw-r--r--docs/sections/offeredapis.rst8
-rw-r--r--docs/sections/swaggerdoc/oof-optf-opteng-api.json584
-rw-r--r--docs/sections/swaggerdoc/oof-osdf-has-api.json2155
3 files changed, 6 insertions, 2741 deletions
diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst
index 8269dea..c74b1b1 100644
--- a/docs/sections/offeredapis.rst
+++ b/docs/sections/offeredapis.rst
@@ -20,11 +20,15 @@ paste into the swagger tool here: https://editor.swagger.io
OOF OSDF HAS API
................
-.. swaggerv2doc:: ./swaggerdoc/oof-osdf-has-api.json
+.. raw:: html
+
+ <a class="reference internal" href="../osdf-api.html">OSDF API</a>
+
OOF OPTENG API
..............
-.. swaggerv2doc:: ./swaggerdoc/oof-optf-opteng-api.json
+.. raw:: html
+ <a class="reference internal" href="../opteng-api.html">OPTENG API</a>
diff --git a/docs/sections/swaggerdoc/oof-optf-opteng-api.json b/docs/sections/swaggerdoc/oof-optf-opteng-api.json
deleted file mode 100644
index 4e77f76..0000000
--- a/docs/sections/swaggerdoc/oof-optf-opteng-api.json
+++ /dev/null
@@ -1,584 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "description": "This is the ONAP Optimization Engine (Generic Solver) API",
- "version": "1.0.0",
- "title": "ONAP Optimization ENGINE API",
- "contact": {
- "email": "vikas.varma@att.com"
- },
- "license": {
- "name": "Apache 2.0",
- "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
- }
- },
- "securityDefinitions": {
- "basicAuth": {
- "type": "basic",
- "description": "HTTP Basic Auth"
- }
- },
- "security": [
- {
- "basicAuth": []
- }
- ],
- "paths": {
- "/optengine/v1": {
- "post": {
- "tags": [
- "Generic Solver Optimization"
- ],
- "summary": "Call the Generic Optimization engine",
- "operationId": "optimizationRequest",
- "description": "call optimization engine",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "optimizationRequest",
- "description": "optimization request",
- "schema": {
- "$ref": "#/definitions/OptimizationRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OptimizationResponse"
- }
- },
- "202": {
- "description": "An optimization request is accepted"
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/optmodel/v1": {
- "post": {
- "tags": [
- "Request to add the Optimizer model, metadata"
- ],
- "summary": "Add/Insert the optimization models in the database",
- "operationId": "optimModelRequestAPI",
- "description": "Request to add update the Optimizer model, metadata",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "optimModelRequest",
- "description": "optimization model request",
- "schema": {
- "$ref": "#/definitions/OptimModelRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OptimModelResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- },
- "put": {
- "tags": [
- "Request to update the Optimizer model, metadata"
- ],
- "summary": "Add/update the optimization models in the database",
- "operationId": "updateModelRequestAPI",
- "description": "Request to add update the Optimizer model, metadata",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "optimModelRequest",
- "description": "optimization model request",
- "schema": {
- "$ref": "#/definitions/OptimModelRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OptimModelResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- },
- "get": {
- "tags": [
- "Retrieve all models"
- ],
- "summary": "Gets all Optim Model data",
- "description": "Retrieves all Optim Models",
- "operationId": "getAllOptModelData",
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/ArrayOfOptimModelResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/optmodel/v1/{model_id}": {
- "get": {
- "tags": [
- "Retrieve Model Data"
- ],
- "summary": "Gets the Optim Model data",
- "description": "Retrieves the Optim Model data given modelId",
- "operationId": "getOptModelById",
- "parameters": [
- {
- "in": "path",
- "name": "model_id",
- "description": "Model ID",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/OptimModelResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- },
- "delete": {
- "tags": [
- "Delete Model Data"
- ],
- "summary": "Delete the Optim Model data",
- "description": "Deletes the Optim Model data given modelId",
- "operationId": "deleteOptModelById",
- "parameters": [
- {
- "in": "path",
- "name": "model_id",
- "description": "Model ID",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/DeleteModelResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- }
- },
- "definitions": {
- "OptimizationResponse": {
- "type": "object",
- "required": [
- "transactionId",
- "requestID",
- "requestStatus"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestID": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestStatus": {
- "type": "string",
- "description": "request status (accepted, done, completed,failed)",
- "example": "done"
- },
- "statusMessage": {
- "type": "string",
- "description": "Status message (incomplete, complete, unsatisfiable, unknown, unbounded, unsat_or_unbounded, error)",
- "example": "complete"
- },
- "solutions": {
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "SCHEDULED": [
- [
- 0,
- 1
- ],
- [
- 0,
- 1
- ]
- ],
- "OPTIMIZED": 2
- }
- }
- }
- },
- "OptimizationRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "optimInfo"
- ],
- "properties": {
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo"
- },
- "optimInfo": {
- "$ref": "#/definitions/OptimInfo"
- }
- }
- },
- "RequestInfo": {
- "type": "object",
- "required": [
- "transactionId",
- "requestID",
- "sourceId"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestID": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "callbackUrl": {
- "type": "string",
- "format": "url",
- "description": "The end point of a callback service where recommendations are posted.",
- "example": "myDomain.com/myCallback"
- },
- "sourceId": {
- "type": "string",
- "description": "The unique ID of a client making an optimization call.",
- "example": "son-handler"
- },
- "timeout": {
- "type": "integer",
- "description": "A tolerance window (in second) for expecting solutions",
- "example": 5
- }
- }
- },
- "OptimInfo": {
- "type": "object",
- "properties": {
- "modelId": {
- "type": "string",
- "description": "ModelId from the database, if its not populated, assume that solverModel will be populated",
- "example": "pci_model1"
- },
- "solver": {
- "type": "string",
- "description": "type of solver (mzn, py, etc.)",
- "example": "mzn"
- },
- "solverArgs": {
- "type": "object",
- "description": "Arguments for solver",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "solver": "cbc",
- "timeout": 5
- }
- },
- "modelContent": {
- "type": "string",
- "description": "a large blob string containing the model (which is not that problematic since models are fairly small)."
- },
- "optData": {
- "$ref": "#/definitions/DataInfo"
- }
- }
- },
- "DataInfo": {
- "type": "object",
- "description": "Data Payload, input data for the solver, either text or json",
- "properties": {
- "text": {
- "type": "string",
- "description": "Solver data as a string",
- "example": "flour = 8000; \r\nbanana = 11;\r\n "
- },
- "json": {
- "type": "object",
- "description": "Solver data as a json",
- "additionalProperties": {
- "type": "object"
- },
- "example": {
- "flour": 8000,
- "banana": 11
- }
- }
- }
- },
- "OptimModelRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "modelInfo"
- ],
- "properties": {
- "requestInfo": {
- "$ref": "#/definitions/ModelRequestInfo"
- },
- "modelInfo": {
- "$ref": "#/definitions/OptimModelInfo"
- }
- }
- },
- "ModelRequestInfo": {
- "type": "object",
- "required": [
- "transactionId",
- "requestID",
- "sourceId"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestID": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "sourceId": {
- "type": "string",
- "description": "The unique ID of a client making an optimization call.",
- "example": "optf-osdf"
- }
- }
- },
- "OptimModelInfo": {
- "type": "object",
- "required": [
- "modelId",
- "solver",
- "description",
- "modelContent"
- ],
- "properties": {
- "modelId": {
- "type": "string",
- "description": "ModelId from the database",
- "example": "pci_anr_model1"
- },
- "solver": {
- "type": "string",
- "description": "type of solver (mzn, py, etc.)",
- "example": "mzn"
- },
- "description": {
- "type": "string",
- "description": "Description of the model",
- "example": "mzn model to optimize pci/anr models"
- },
- "modelContent": {
- "type": "string",
- "description": "a large blob string containing the model (which is not that problematic since models are fairly small).",
- "example": "mzn content"
- }
- }
- },
- "ArrayOfOptimModelResponse": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/OptimModelResponse"
- }
- },
- "OptimModelResponse": {
- "type": "object",
- "required": [
- "modelId",
- "solver",
- "modelContent"
- ],
- "properties": {
- "modelId": {
- "type": "string",
- "description": "ModelId from the database",
- "example": "pci_anr_model1"
- },
- "solver": {
- "type": "string",
- "description": "type of solver (mzn, py, etc.)",
- "example": "mzn"
- },
- "description": {
- "type": "string",
- "description": "Description of the model",
- "example": "mzn model to optimize pci/anr models"
- },
- "modelContent": {
- "type": "string",
- "description": "a large blob string containing the model (which is not that problematic since models are fairly small).",
- "example": "mzn content"
- },
- "statusMessage": {
- "type": "string",
- "description": "status message.",
- "example": "mzn content"
- }
- }
- },
- "DeleteModelResponse": {
- "type": "object",
- "required": [
- "statusMessage"
- ],
- "properties": {
- "statusMessage": {
- "type": "string",
- "description": "status message.",
- "example": "model data for modelId pci_anr_model1 deleted"
- }
- }
- }
- },
- "schemes": [
- "https"
- ],
- "host": "virtserver.swaggerhub.com",
- "basePath": "/api/oof/"
-}
diff --git a/docs/sections/swaggerdoc/oof-osdf-has-api.json b/docs/sections/swaggerdoc/oof-osdf-has-api.json
deleted file mode 100644
index 7289ef4..0000000
--- a/docs/sections/swaggerdoc/oof-osdf-has-api.json
+++ /dev/null
@@ -1,2155 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "description": "This is the ONAP OOF OSDF (Optimization Service Design Framework) API",
- "version": "1.0.0",
- "title": "OSDF API",
- "contact": {
- "email": "frank.sandoval@oamtechnologies.com"
- },
- "license": {
- "name": "Apache 2.0",
- "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
- }
- },
- "securityDefinitions": {
- "basicAuth": {
- "type": "basic",
- "description": "HTTP Basic Auth"
- }
- },
- "security": [
- {
- "basicAuth": []
- }
- ],
- "paths": {
- "/v2/placement": {
- "post": {
- "tags": [
- "Placement Optimization"
- ],
- "summary": "create/update a placement",
- "operationId": "createPlacement",
- "description": "create/update a placement",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "placementRequest",
- "description": "placement request",
- "schema": {
- "$ref": "#/definitions/PlacementRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "An optimization solution is found."
- },
- "202": {
- "description": "An optimization request is accepted"
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/placement/v1": {
- "post": {
- "tags": [
- "Placement Optimization"
- ],
- "summary": "create/update a placement",
- "operationId": "createPlacementv1",
- "description": "create/update a placement",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "placementRequest",
- "description": "placement request",
- "schema": {
- "$ref": "#/definitions/PlacementRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "An optimization solution is found."
- },
- "202": {
- "description": "An optimization request is accepted"
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/v1/pci": {
- "post": {
- "tags": [
- "PCI/ANR Optimization"
- ],
- "summary": "Initiate PCI/ANR Optimization",
- "operationId": "initiatePCIOptRequest",
- "description": "Initiate PCI/ANR Optimization",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "PCIOptimizationRequest",
- "description": "PCI request",
- "schema": {
- "$ref": "#/definitions/PCIOptRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "An optimization solution is found."
- },
- "202": {
- "description": "An optimization request is accepted"
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/pci/v1": {
- "post": {
- "tags": [
- "PCI/ANR Optimization"
- ],
- "summary": "Initiate PCI/ANR Optimization",
- "operationId": "initiatePCIOptRequestv1",
- "description": "Initiate PCI/ANR Optimization",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "PCIOptimizationRequest",
- "description": "PCI request",
- "schema": {
- "$ref": "#/definitions/PCIOptRequest"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "An optimization solution is found."
- },
- "202": {
- "description": "An optimization request is accepted"
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/selection/nst/v1": {
- "post": {
- "tags": [
- "NST Selection"
- ],
- "summary": "NST selection",
- "operationId": "selectNstRequest",
- "description": "Request for NST selection",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "NSTSelectionRequest",
- "description": "nst selection request",
- "schema": {
- "$ref": "#/definitions/NSTSelectionRequest"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "An optimization request is accepted",
- "schema": {
- "$ref": "#/definitions/SynchronousResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/selection/nsi/v1": {
- "post": {
- "tags": [
- "NSI Selection"
- ],
- "summary": "NSI selection",
- "operationId": "selectNsiRequest",
- "description": "Request for NSI selection",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "NSISelectionRequest",
- "description": "NSI selection request",
- "schema": {
- "$ref": "#/definitions/NSISelectionRequest"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "An optimization request is accepted",
- "schema": {
- "$ref": "#/definitions/SynchronousResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/selection/nssi/v1": {
- "post": {
- "tags": [
- "NSSI Selection"
- ],
- "summary": "NSSI selection",
- "operationId": "selectNssiRequest",
- "description": "Request for NSSI selection",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "NSSISelectionRequest",
- "description": "NSSI selection request",
- "schema": {
- "$ref": "#/definitions/NSSISelectionRequest"
- }
- }
- ],
- "responses": {
- "202": {
- "description": "An optimization request is accepted",
- "schema": {
- "$ref": "#/definitions/SynchronousResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/terminate/nxi/v1": {
- "post": {
- "tags": [
- "NSSI/NSI Termination"
- ],
- "summary": "NSSI/NSI Termination",
- "operationId": "terminateNxiRequest",
- "description": "Request for NSSI/NSI Termination",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "NxITerminationRequest",
- "description": "NSSI/NSI termination request",
- "schema": {
- "$ref": "#/definitions/NxITerminationRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "request has succeeded",
- "schema": {
- "$ref": "#/definitions/SynchronousTerminationResponse"
- }
- },
- "400": {
- "description": "bad request"
- },
- "401": {
- "description": "Request body is not compliant with the API definition"
- },
- "404": {
- "description": "The server cannot find the requested URI"
- },
- "405": {
- "description": "The requested method is not supported by a server."
- },
- "500": {
- "description": "The server encountered an internal server error or timed out"
- }
- }
- }
- },
- "/api/oof/route/v1": {
- "post": {
- "tags": [
- "Route Select"
- ],
- "summary": "Find the optimistic route between OTN domains",
- "description": "",
- "operationId": "getRoute",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "Source and Destination nodes across which optmistic route have to be obtained.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RouteRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "successful operation",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/routeResponseBody"
- }
- }
- },
- "405": {
- "description": "Invalid input"
- }
- }
- }
- },
- "/api/oof/mdons/route/v1": {
- "post": {
- "tags": [
- "Inter Domain Route Select"
- ],
- "summary":"Find the optimistic inter domain route for multi domain optical system",
- "description":"",
- "operationId":"getInterDomainRoute",
- "consumes": [
- "application/json"
- ],
- "produces":[
- "application/json"
- ],
- "parameters":[
- {
- "in":"body",
- "name":"body",
- "description":"Source and Destination interfaces across which optmistic route have to be obtained.",
- "required":true,
- "schema":{
- "$ref":"#/definitions/InterDomainRouteRequest"
- }
- }
- ],
- "responses":{
- "200":{
- "description":"successful operation",
- "schema":{
- "$ref":"#/definitions/InterDomainRouteResponseBody"
- }
- },
- "400":{
- "description":"bad request"
- },
- "401":{
- "description":"Request body is not compliant with the API definition"
- },
- "404":{
- "description":"The server cannot find the requested URI"
- },
- "405":{
- "description":"The requested method is not supported by a server."
- },
- "500":{
- "description":"The server encountered an internal server error or timed out"
- }
- }
- }
- }
- },
- "definitions": {
- "InterDomainRouteRequest":{
- "type":"object",
- "properties":{
- "requestInfo":{
- "$ref":"#/definitions/requestInfo"
- },
- "routeInfo":{
- "$ref":"#/definitions/interDomainRouteInfo"
- }
- }
- },
- "interDomainRouteInfo":{
- "type":"object",
- "properties":{
- "routeRequest":{
- "$ref":"#/definitions/interDomainRouteRequest"
- }
- }
- },
- "interDomainRouteRequest":{
- "type":"object",
- "properties":{
- "srcDetails":{
- "$ref":"#/definitions/interDomainPortDetails"
- },
- "dstDetails":{
- "$ref":"#/definitions/interDomainPortDetails"
- },
- "serviceRate":{
- "type":"string",
- "description":"The rate of the service."
- }
- }
- },
- "interDomainPortDetails":{
- "type":"object",
- "properties":{
- "interfaceId":{
- "type":"string",
- "description":"The port id."
- },
- "nodeId":{
- "type":"string",
- "description":"The node id."
- },
- "controllerId":{
- "type":"string",
- "description":"The controller id to which the node belongs to."
- }
- }
- },
- "InterDomainRouteResponseBody":{
- "type":"object",
- "properties":{
- "requestId":{
- "type":"string",
- "description":"A unique Id for an ONAP transaction."
- },
- "transactionId":{
- "type":"string",
- "description":"A unique ID to track multiple requests associated with a transaction."
- },
- "statusMessage":{
- "type":"string",
- "description":"Reasoning if a requestStatus is failure."
- },
- "requestStatus":{
- "type":"string",
- "description":"The status of a request."
- },
- "solutions":{
- "$ref":"#/definitions/InterDomainRouteSolutionInfo"
- }
- }
- },
- "InterDomainRouteSolutionInfo":{
- "type":"object",
- "properties":{
- "routeInfo":{
- "$ref":"#/definitions/interDomainResponseRouteinfo"
- }
- }
- },
- "interDomainResponseRouteinfo":{
- "type":"object",
- "properties":{
- "serviceRoute":{
- "type":"array",
- "items":{
- "$ref":"#/definitions/serviceRouteDetails"
- }
- },
- "linkList":{
- "type":"array",
- "items":{
- "type":"string"
- },
- "description":"A list of link names of the route.",
- "example":[
- "link1",
- "link2"
- ]
- }
- }
- },
- "serviceRouteDetails":{
- "type":"object",
- "properties":{
- "srcInterfaceId":{
- "type":"string",
- "description":"Source port Id of the domain Service."
- },
- "dstInterfaceId":{
- "type":"string",
- "description":"Destination Port Id of the domain Service."
- },
- "controllerId":{
- "type":"string",
- "description":"Controller Id of the domain."
- }
- }
- },
- "RouteRequest": {
- "type": "object",
- "properties": {
- "requestInfo": {
- "$ref": "#/definitions/requestInfo"
- },
- "routeInfo": {
- "$ref": "#/definitions/routeInfo"
- }
- }
- },
- "requestInfo": {
- "type": "object",
- "properties": {
- "transactionId": {
- "type": "string",
- "description": "A unique ID to track an ONAP transaction."
- },
- "requestId": {
- "type": "string",
- "description": "A unique ID to track multiple requests associated with a transaction."
- },
- "callbackUrl": {
- "type": "string",
- "description": "The end point of a callback service where recommendations are posted."
- },
- "callbackHeader": {
- "type": "string",
- "description": "The header information a client expecting in a async callback."
- },
- "sourceId": {
- "type": "string",
- "description": "The unique ID of a client making an optimization call."
- },
- "requestType": {
- "type": "string",
- "format": "string",
- "description": "The type of request being placed.",
- "enum": [
- "create",
- "update",
- "delete"
- ]
- },
- "numSolutions": {
- "type": "integer",
- "format": "int32",
- "description": "Expected number of solutions. numSolution can also be specified using an optimization query policies, where the default configured value is 1. The value from a request gets higher precedence over the value defined in a policy."
- },
- "optimizers": {
- "description": "A list of optimization services that can be used to resolve the route",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "timeout": {
- "type": "integer",
- "format": "int32",
- "description": "A tolerance window (in secs) for expecting solutions. Default is 600 secs."
- }
- }
- },
- "routeInfo": {
- "type": "object",
- "properties": {
- "routeRequest": {
- "$ref": "#/definitions/routeRequest"
- }
- }
- },
- "routeRequest": {
- "type": "object",
- "properties": {
- "srcPort": {
- "$ref": "#/definitions/routePortInfo"
- },
- "destPort": {
- "$ref": "#/definitions/routePortInfo"
- }
- }
- },
- "routePortInfo": {
- "type": "object",
- "properties": {
- "accessTopologyId": {
- "type": "string",
- "description": "A unique ID of the Access Topology."
- },
- "accessClientId": {
- "type": "string",
- "format": "string",
- "description": "A unique ID of the client which provides the access."
- },
- "accessProviderId": {
- "type": "string",
- "format": "string",
- "description": "A unique ID of the access provider"
- },
- "accessNodeId": {
- "type": "string",
- "format": "string",
- "description": "A unique ID of the node to/from which the route has to be established."
- },
- "accessLtpId": {
- "type": "integer",
- "format": "int32",
- "description": "A unique ID of the Termination Point to/from which the route has to be established."
- }
- }
- },
- "routeResponseBody": {
- "type": "object",
- "properties": {
- "requestId": {
- "type": "string",
- "description": "A unique Id for an ONAP transaction."
- },
- "transactionId": {
- "type": "string",
- "description": "A unique ID to track multiple requests associated with a transaction."
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failure."
- },
- "requestStatus": {
- "type": "string",
- "description": "The status of a request."
- },
- "solutions": {
- "$ref": "#/definitions/RouteSolutionInfo"
- }
- }
- },
- "RouteSolutionInfo": {
- "type": "object",
- "properties": {
- "startTime": {
- "type": "string",
- "format": "date-time",
- "description": "start time of the operation in RFC 3339 notation for example, 2017-07-21T17:32:28Z."
- },
- "finishTime": {
- "type": "string",
- "format": "date-time",
- "description": "end time of the operation in RFC 3339 notation for example, 2017-07-21T17:32:28Z."
- },
- "links": {
- "description": "A list of vpn info that can be used to establish the route between source and destination port/node.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/link"
- }
- }
- }
- },
- "link": {
- "type": "object",
- "properties": {
- "linkId": {
- "type": "string",
- "description": "Id or name identifies a link uniquely."
- }
- }
- },
- "PlacementRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "placementInfo",
- "licenseInfo",
- "serviceInfo"
- ],
- "properties": {
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo"
- },
- "placementInfo": {
- "$ref": "#/definitions/PlacementInfo"
- },
- "licenseInfo": {
- "$ref": "#/definitions/LicenseInfo"
- },
- "serviceInfo": {
- "$ref": "#/definitions/ServiceInfo"
- }
- }
- },
- "RequestInfo": {
- "type": "object",
- "required": [
- "transactionId",
- "requestId",
- "callbackUrl",
- "sourceId",
- "requestType",
- "optimizers",
- "timeout"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "callbackUrl": {
- "type": "string",
- "format": "url",
- "description": "The end point of a callback service where recommendations are posted.",
- "example": "myDomain.com/myCallback"
- },
- "callbackHeader": {
- "type": "string",
- "description": "JSON blob. The header information a client expecting in a async callback.",
- "example": {
- "blob": "content"
- }
- },
- "sourceId": {
- "type": "string",
- "description": "The unique ID of a client making an optimization call.",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestType": {
- "type": "string",
- "enum": [
- "create",
- "update",
- "delete"
- ],
- "description": "The type of a request",
- "example": "create"
- },
- "numSolutions": {
- "type": "integer",
- "description": "Expected number of solutions.",
- "example": 1
- },
- "optimizers": {
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "placement",
- "pci",
- "pci-anr"
- ]
- },
- "description": "A list of optimization services.",
- "example": [
- "placement"
- ]
- },
- "timeout": {
- "type": "integer",
- "description": "A tolerance window (in second) for expecting solutions.",
- "example": 5
- }
- }
- },
- "PlacementInfo": {
- "type": "object",
- "required": [
- "requestParameters",
- "placementDemands"
- ],
- "properties": {
- "requestParameters": {
- "type": "string",
- "description": "JSON blob. A service ordering information",
- "example": {
- "blob": "content"
- }
- },
- "placementDemands": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PlacementDemand"
- },
- "description": "The resource information for a placement service"
- },
- "subscriberInfo": {
- "type": "object",
- "items": {
- "$ref": "#/definitions/SubscriberInfo"
- },
- "description": "The information of a service subscriber."
- }
- }
- },
- "PlacementDemand": {
- "type": "object",
- "required": [
- "resourceModuleName",
- "serviceResourceId",
- "resourceModelInfo"
- ],
- "properties": {
- "resourceModuleName": {
- "type": "string",
- "description": "A resource name as defined in a service mode",
- "example": "myResourceName"
- },
- "serviceResourceId": {
- "type": "string",
- "description": "A unique resource Id with a local scope between client and OOF.",
- "example": "myResourceId"
- },
- "givenPlacement": {
- "type": "object",
- "additionalProperties": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string"
- },
- "value": {
- "type": "string"
- }
- }
- },
- "description": "placement parameters defined in the ordering system, keyname include tenantId",
- "example": {
- "tenantId": "1"
- }
- },
- "resourceModelInfo": {
- "$ref": "#/definitions/ModelMetaData"
- },
- "existingCandidates": {
- "$ref": "#/definitions/Candidates"
- },
- "excludedCandidates": {
- "$ref": "#/definitions/Candidates"
- },
- "requiredCandidates": {
- "$ref": "#/definitions/Candidates"
- }
- }
- },
- "ModelMetaData": {
- "type": "object",
- "required": [
- "modelInvariantId",
- "modelVersionId"
- ],
- "properties": {
- "modelInvariantId": {
- "type": "string",
- "description": "A model invariant Id as defined in a service model.",
- "example": "my model invariant Id"
- },
- "modelVersionId": {
- "type": "string",
- "description": "A unique model Id as defined in a service model.",
- "example": "my unique model Id"
- },
- "modelName": {
- "type": "string",
- "description": "A model name as defined in a service model",
- "example": "my model name"
- },
- "modelType": {
- "type": "string",
- "description": "A model type as defined in a service model.",
- "example": "my model type"
- },
- "modelVersion": {
- "type": "string",
- "description": "A model version as defined in a service model.",
- "example": "my model version"
- },
- "modelCustomizationName": {
- "type": "string",
- "description": "A model customization name as defined in a service model.",
- "example": "my model customization"
- }
- }
- },
- "Candidates": {
- "type": "object",
- "required": [
- "identifierType",
- "identifiers"
- ],
- "properties": {
- "identifierType": {
- "type": "string",
- "enum": [
- "service_instance_id",
- "vnf_name",
- "cloud_region_id"
- ],
- "description": "The type of a candidate.",
- "example": "service_instance_id"
- },
- "identifiers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "A list of identifiers.",
- "example": "candidateId"
- },
- "cloudOwner": {
- "type": "string",
- "description": "The name of a cloud owner. Only required if identifierType is cloud_region_id",
- "example": "cloud_owner"
- }
- }
- },
- "SubscriberInfo": {
- "type": "object",
- "required": [
- "globalSubscriberId",
- "subscriberName",
- "subscriberCommonSiteId"
- ],
- "properties": {
- "globalSubscriberId": {
- "type": "string",
- "description": "An ID of a subscriber.",
- "example": "subscriber_id"
- },
- "subscriberName": {
- "type": "string",
- "description": "The name of a subscriber. If the name is not known, the value must be 'unknown'",
- "example": "subscriber_name"
- },
- "subscriberCommonSiteId": {
- "type": "string",
- "description": "Id representing a subscriber location",
- "example": "subscriber_location_id"
- }
- }
- },
- "LicenseInfo": {
- "type": "object",
- "required": [
- "licenseDemands"
- ],
- "properties": {
- "licenseDemands": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LicenseDemands"
- },
- "description": "A list of resources for license selection"
- }
- }
- },
- "LicenseDemands": {
- "type": "object",
- "required": [
- "resourceModuleName",
- "serviceResourceId",
- "resourceModelInfo"
- ],
- "properties": {
- "resourceModuleName": {
- "type": "string",
- "description": "A resource name as defined in a service model.",
- "example": "service_instance_id"
- },
- "serviceResourceId": {
- "type": "string",
- "description": "A unique resource Id with a local scope between client and OOF.",
- "example": "service_instance_id"
- },
- "resourceModelInfo": {
- "$ref": "#/definitions/ModelMetaData"
- },
- "existingLicenses": {
- "$ref": "#/definitions/LicenseModel"
- }
- }
- },
- "LicenseModel": {
- "type": "object",
- "required": [
- "entitlementPoolUUID",
- "licenseKeyGroupUUID"
- ],
- "properties": {
- "entitlementPoolUUID": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uuid"
- },
- "description": "Entitlement pool UUIDs associated with a resource.",
- "example": "candidateId"
- },
- "licenseKeyGroupUUID": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uuid"
- },
- "description": "License key groups associated with a resource",
- "example": "candidateId"
- }
- }
- },
- "SynchronousResponse": {
- "type": "object",
- "required": [
- "requestId",
- "transactionId",
- "requestStatus"
- ],
- "properties": {
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique Id for an ONAP transaction",
- "example": "ONAP transaction id"
- },
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction.",
- "example": "requests id"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failure.",
- "example": "requestStatus"
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "success",
- "failure"
- ],
- "description": "The status of a request.",
- "example": "success"
- }
- }
- },
- "SynchronousTerminationResponse": {
- "type": "object",
- "required": [
- "requestId",
- "transactionId",
- "requestStatus",
- "terminateResponse"
- ],
- "properties": {
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique Id for an ONAP transaction",
- "example": "ONAP transaction id"
- },
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction.",
- "example": "requests id"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failure.",
- "example": "requestStatus"
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "success",
- "failure"
- ],
- "description": "The status of a request.",
- "example": "success"
- },
- "terminateResponse": {
- "type": "boolean"
- },
- "reason": {
- "type": "string",
- "description": "Reason if terminateResponse is false",
- "example": "Restricted by Policy"
- }
- }
- },
- "PlacementAsynchronousResponse": {
- "type": "object",
- "required": [
- "requestId",
- "transactionId",
- "requestStatus",
- "solutions"
- ],
- "properties": {
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique Id for an ONAP transaction",
- "example": "ONAP transaction id"
- },
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction.",
- "example": "requests id"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failure.",
- "example": "requestStatus"
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "success",
- "failure"
- ],
- "description": "The status of a request.",
- "example": "success"
- },
- "solutions": {
- "$ref": "#/definitions/Solutions"
- }
- }
- },
- "Solutions": {
- "type": "object",
- "required": [
- "placementSolutions",
- "licenseSolutions"
- ],
- "properties": {
- "placementSolutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ComprehensiveSolution"
- },
- "description": "A list of placement solutions."
- },
- "licenseSolutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LicenseSolution"
- },
- "description": "A list of license solutions."
- }
- }
- },
- "ComprehensiveSolution": {
- "type": "object",
- "required": [
- "placementSolutions"
- ],
- "properties": {
- "placementSolutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PlacementSolution"
- },
- "description": "A list of placement solutions."
- }
- }
- },
- "PlacementSolution": {
- "type": "object",
- "required": [
- "resourceModuleName",
- "serviceResourceId",
- "identifierType",
- "identifier"
- ],
- "properties": {
- "resourceModuleName": {
- "type": "string",
- "description": "The name of a resource as defined in the service model",
- "example": "resource name"
- },
- "serviceResourceId": {
- "type": "string",
- "description": "A resource Id as defined in a service model.",
- "example": "resource id"
- },
- "identifierType": {
- "type": "string",
- "enum": [
- "service_instance_id"
- ],
- "description": "The type of a candidate.",
- "example": "candidate type"
- },
- "identifier": {
- "type": "string",
- "description": "The id of a candidate.",
- "example": "candidate id"
- },
- "assignmentInfo": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AssignmentInfo"
- },
- "description": "Additional information related to a candidate."
- }
- }
- },
- "AssignmentInfo": {
- "type": "object",
- "required": [
- "key",
- "value"
- ],
- "properties": {
- "key": {
- "type": "string",
- "description": "An attribute name",
- "example": "attribute name"
- },
- "value": {
- "type": "string",
- "description": "An attribute value.",
- "example": "attribute value"
- }
- }
- },
- "LicenseSolution": {
- "type": "object",
- "required": [
- "resourceModuleName",
- "serviceResourceId",
- "entitlementPoolUUID",
- "licenseKeyGroupUUID",
- "entitlementPoolInvariantUUID",
- "licenseKeyGroupInvariantUUID"
- ],
- "properties": {
- "resourceModuleName": {
- "type": "string",
- "description": "A resource name as defined in a service",
- "example": "resource name"
- },
- "serviceResourceId": {
- "type": "string",
- "description": "A resource Id as defined in a service.",
- "example": "resource Id"
- },
- "entitlementPoolUUID": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uuid"
- },
- "description": "A list of entitlementPoolUUIDs",
- "example": "entitlementPoolUUID"
- },
- "licenseKeyGroupUUID": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uuid"
- },
- "description": "A list of licenseKeyGroupUUID.",
- "example": "licenseKeyGroupUUID"
- },
- "entitlementPoolInvariantUUID": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uuid"
- },
- "description": "A list of entitlementPoolInvariantUUID",
- "example": "entitlementPoolInvariantUUID"
- },
- "licenseKeyGroupInvariantUUID": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uuid"
- },
- "description": "A list of licenseKeyGroupInvariantUUID",
- "example": "licenseKeyGroupInvariantUUID"
- }
- }
- },
- "ServiceInfo": {
- "type": "object",
- "required": [
- "serviceInstanceId",
- "modelInfo",
- "serviceName"
- ],
- "properties": {
- "serviceInstanceId": {
- "type": "string",
- "description": "A service instance id associated with a request.",
- "example": "service_instance_id"
- },
- "modelInfo": {
- "$ref": "#/definitions/ModelMetaData"
- },
- "serviceName": {
- "type": "string",
- "description": "The name of a service",
- "example": "service_name"
- }
- }
- },
- "PCIOptRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "cellInfo"
- ],
- "properties": {
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo"
- },
- "cellInfo": {
- "$ref": "#/definitions/CellInfo"
- }
- }
- },
- "CellInfo": {
- "type": "object",
- "required": [
- "networkId",
- "cellIdList",
- "anrInputList",
- "trigger"
- ],
- "properties": {
- "networkId": {
- "type": "string",
- "description": "Id of network requiring PCI optimization",
- "example": 100
- },
- "cellIdList": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of cellIds triggering need for PCI optimization (eg.potential confusion)",
- "example": [
- "cell0001",
- "cell0002"
- ]
- },
- "anrInputList": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ANRInfo"
- },
- "description": "A list of ANR Input."
- },
- "fixedPCICells": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of blacklisted cells whose PCI values should not be changed",
- "example": [
- "cell0007",
- "cell0009"
- ]
- },
- "priorityTreatmentCells": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of cells which should be given special treatment during optimization",
- "example": [
- "cell0010",
- "cell0003"
- ]
- },
- "trigger": {
- "type": "string",
- "description": "Type of trigger causing need for PCI optimization",
- "example": "NbrListChange"
- }
- }
- },
- "PCIAsynchronousResponse": {
- "type": "object",
- "required": [
- "requestId",
- "transactionId",
- "requestStatus",
- "solutions"
- ],
- "properties": {
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique Id for an ONAP transaction",
- "example": "ONAP transaction id"
- },
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction.",
- "example": "requests id"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failure.",
- "example": "requestStatus"
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "success",
- "failure"
- ],
- "description": "The status of a request.",
- "example": "success"
- },
- "solutions": {
- "$ref": "#/definitions/PCIANRSolutions"
- }
- }
- },
- "PCIANRSolutions": {
- "type": "object",
- "required": [
- "networkId",
- "pciSolutions",
- "anrSolutions"
- ],
- "properties": {
- "networkId": {
- "type": "string",
- "description": "Id of network requiring PCI optimization",
- "example": 100
- },
- "pciSolutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PCISolution"
- },
- "description": "A list of PCI solutions."
- },
- "anrSolutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ANRInfo"
- },
- "description": "A list of ANR solutions."
- }
- }
- },
- "PCISolution": {
- "type": "object",
- "required": [
- "cellId",
- "pci"
- ],
- "properties": {
- "cellId": {
- "type": "string",
- "description": "cellId with modified PCI value",
- "example": "cell0001"
- },
- "pci": {
- "type": "integer",
- "description": "New PCI value for cellId",
- "example": 1
- }
- }
- },
- "ANRInfo": {
- "type": "object",
- "required": [
- "cellId",
- "removeableNeighbors"
- ],
- "properties": {
- "cellId": {
- "type": "string",
- "description": "cellId with modified PCI value",
- "example": "cell0001"
- },
- "removeableNeighbors": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of neighbors to be removed",
- "example": [
- "cell0002",
- "cell0003"
- ]
- }
- }
- },
- "NSTSelectionRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "serviceProfile"
- ],
- "properties": {
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo2"
- },
- "serviceProfile": {
- "$ref": "#/definitions/ServiceProfile"
- }
- }
- },
- "NSISelectionRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "serviceProfile",
- "NSTInfo",
- "NSSTInfo",
- "subnetCapabilities"
- ],
- "properties": {
- "serviceProfile": {
- "$ref": "#/definitions/ServiceProfile"
- },
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo2"
- },
- "NSTInfo": {
- "$ref": "#/definitions/NSTInfo"
- },
- "NSSTInfo": {
- "type": "array",
- "description": "List of constituent NSST(s) of the NST",
- "items": {
- "$ref": "#/definitions/NSSTInfo"
- }
- },
- "preferReuse": {
- "type": "boolean",
- "description": "true if reusing an existing NSI is preferred/false if creating a new NSI is preferred "
- },
- "subnetCapabilities": {
- "type": "array",
- "description": "List of subnet capabilities",
- "items": {
- "$ref": "#/definitions/SubnetCapability"
- }
- }
- }
- },
- "NSSISelectionRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "NSSTInfo",
- "sliceProfile"
- ],
- "properties": {
- "sliceProfile": {
- "$ref": "#/definitions/SliceProfile"
- },
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo2"
- },
- "NSSTInfo": {
- "$ref": "#/definitions/NSSTInfo"
- }
- }
- },
- "NxITerminationRequest": {
- "type": "object",
- "required": [
- "requestInfo",
- "type",
- "NxIId"
- ],
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "NSI",
- "NSSI"
- ],
- "description": "indicates if the request is for NSI/NSSI termination"
- },
- "NxIId": {
- "type": "string",
- "format": "UUID",
- "description": "Id of NSI / NSSI"
- },
- "UUID": {
- "type": "string",
- "format": "UUID",
- "description": "UUID of NST/NSST model"
- },
- "invariantUUID": {
- "type": "string",
- "format": "UUID",
- "description": "invariant UUID of NST/NSST model"
- },
- "requestInfo": {
- "$ref": "#/definitions/RequestInfo2"
- }
- }
- },
- "SubnetCapability": {
- "type": "object",
- "required": [
- "domainType",
- "capabilityDetails"
- ],
- "properties": {
- "domainType": {
- "type": "string",
- "description": "type of the subnet"
- },
- "capabilityDetails": {
- "type": "string",
- "description": "A JSON object containing capability parameters",
- "example": {
- "blob": "content"
- }
- }
- }
- },
- "NSTInfo": {
- "type": "object",
- "required": [
- "UUID",
- "invariantUUID",
- "name"
- ],
- "properties": {
- "UUID": {
- "type": "string",
- "format": "uuid",
- "description": "UUID of NST"
- },
- "invariantUUID": {
- "type": "string",
- "format": "uuid",
- "description": "Invariant UUID"
- },
- "name": {
- "type": "string",
- "description": "name of the NST model"
- }
- }
- },
- "NSSTInfo": {
- "type": "object",
- "required": [
- "UUID",
- "invariantUUID",
- "name"
- ],
- "properties": {
- "UUID": {
- "type": "string",
- "format": "uuid",
- "description": "UUID of NSST"
- },
- "invariantUUID": {
- "type": "string",
- "format": "uuid",
- "description": "Invariant UUID"
- },
- "name": {
- "type": "string",
- "description": "name of the NSST model"
- }
- }
- },
- "ServiceProfile": {
- "type": "string",
- "description": "JSON blob. Containing service profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.",
- "example": {
- "blob": "content"
- }
- },
- "SliceProfile": {
- "type": "string",
- "description": "JSON blob. Containing slice profile parameters. The contents are based on 3GPP TS 23.541 Release 16 contents, and will be in the form of attribute value pairs.",
- "example": {
- "blob": "content"
- }
- },
- "RequestInfo2": {
- "type": "object",
- "required": [
- "transactionId",
- "requestId",
- "callbackUrl",
- "sourceId"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "callbackUrl": {
- "type": "string",
- "format": "url",
- "description": "The end point of a callback service where recommendations are posted.",
- "example": "myDomain.com/myCallback"
- },
- "callbackHeader": {
- "type": "string",
- "description": "JSON blob. The header information a client expecting in a async callback.",
- "example": {
- "blob": "content"
- }
- },
- "sourceId": {
- "type": "string",
- "description": "The unique ID of a client making an optimization call.",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "timeout": {
- "type": "integer",
- "description": "A tolerance window (in second) for expecting solutions.",
- "example": 5
- },
- "numSolutions": {
- "type": "integer",
- "description": "Expected number of solutions.",
- "example": 1
- },
- "addtnlArgs": {
- "type": "string",
- "description": "Any additional parameters that have to be considered during selection",
- "example": {
- "blob": "content"
- }
- }
- }
- },
- "NSTAsynchronousResponse": {
- "type": "object",
- "required": [
- "transactionId",
- "requestId",
- "requestStatus",
- "solutions"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failed."
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "completed",
- "failed",
- "pending"
- ],
- "description": "The status of a request."
- },
- "solutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NSTSolution"
- },
- "description": "A list of NST solutions"
- }
- }
- },
- "NSTSolution": {
- "type": "object",
- "required": [
- "UUID",
- "NSTName",
- "invariantUUID",
- "matchLevel"
- ],
- "properties": {
- "invariantUUID": {
- "type": "string",
- "format": "uuid",
- "description": "Invariant UUID of NST"
- },
- "UUID": {
- "type": "string",
- "format": "UUID of NST"
- },
- "NSTName": {
- "type": "string",
- "description": "NST name"
- },
- "matchLevel": {
- "type": "string",
- "description": "JSON blob. Containing details of match of requirements in slice profile and percentage of fit"
- }
- }
- },
- "NSIAsynchronousResponse": {
- "type": "object",
- "required": [
- "transactionId",
- "requestId",
- "requestStatus",
- "solutions"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failed."
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "completed",
- "failed",
- "pending"
- ],
- "description": "The status of a request."
- },
- "solutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NSISolution"
- },
- "description": "A list of NSI solutions"
- }
- }
- },
- "NSISolution": {
- "type": "object",
- "required": [
- "existingNSI"
- ],
- "properties": {
- "existingNSI": {
- "type": "boolean",
- "description": "true if NSISolution object has shareNSISolution/false if NSISolution object has newNSISolution"
- },
- "sharedNSISolution": {
- "$ref": "#/definitions/SharedNSISolution"
- },
- "newNSISolution": {
- "$ref": "#/definitions/NewNSISolution"
- }
- }
- },
- "SharedNSISolution": {
- "type": "object",
- "required": [
- "invariantUUID",
- "UUID",
- "NSIName",
- "NSIId",
- "matchLevel"
- ],
- "properties": {
- "invariantUUID": {
- "type": "string",
- "format": "uuid",
- "description": "Invariant UUID of NST"
- },
- "UUID": {
- "type": "string",
- "format": "uuid",
- "description": "UUID of NST"
- },
- "NSIName": {
- "type": "string",
- "description": "Name of NSI"
- },
- "NSIId": {
- "type": "string",
- "format": "uuid",
- "description": "Instance Id of NSI"
- },
- "matchLevel": {
- "type": "string",
- "description": "JSON blob. Containing details of match of requirements in service profile, and recommendation rank"
- }
- }
- },
- "NewNSISolution": {
- "type": "object",
- "required": [
- "sliceProfiles",
- "matchLevel"
- ],
- "properties": {
- "sliceProfiles": {
- "type": "array",
- "description": "List of slice profiles",
- "items": {
- "$ref": "#/definitions/SliceProfile"
- }
- },
- "matchLevel": {
- "type": "string",
- "description": "JSON blob. Containing details of match of requirements in service profile, and recommendation rank"
- }
- }
- },
- "NSSIAsynchronousResponse": {
- "type": "object",
- "required": [
- "transactionId",
- "requestId",
- "requestStatus",
- "solutions"
- ],
- "properties": {
- "transactionId": {
- "type": "string",
- "format": "uuid",
- "description": "unique ID to track an ONAP transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "requestId": {
- "type": "string",
- "format": "uuid",
- "description": "A unique ID to track multiple requests associated with a transaction",
- "example": "d290f1ee-6c54-4b01-90e6-d701748f0851"
- },
- "statusMessage": {
- "type": "string",
- "description": "Reasoning if a requestStatus is failed."
- },
- "requestStatus": {
- "type": "string",
- "enum": [
- "completed",
- "failed",
- "pending"
- ],
- "description": "The status of a request."
- },
- "solutions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/SharedNSSISolution"
- },
- "description": "A list of NSSI solutions, empty list will be returned if no solution is found"
- }
- }
- },
- "SharedNSSISolution": {
- "type": "object",
- "required": [
- "invariantUUID",
- "UUID",
- "NSSIName",
- "NSSIId",
- "matchLevel"
- ],
- "properties": {
- "invariantUUID": {
- "type": "string",
- "format": "uuid",
- "description": "Invariant UUID of NSST"
- },
- "UUID": {
- "type": "string",
- "format": "uuid",
- "description": "UUID of NSST"
- },
- "NSSIName": {
- "type": "string",
- "description": "Name of NSSI"
- },
- "NSSIId": {
- "type": "string",
- "description": "Instance Id of NSSI"
- },
- "matchLevel": {
- "type": "string",
- "description": "JSON blob. Containing details of match of requirements in slice profile and percentage of fit"
- }
- }
- }
- },
- "schemes": [
- "https"
- ],
- "host": "virtserver.swaggerhub.com",
- "basePath": "/oof-osdf/v1"
-}