Updated Swagger doc for the Inter Domain
[optf/osdf.git] / docs / sections / swaggerdoc / oof-osdf-has-api.json
index e52c39b..bbe0667 100644 (file)
@@ -26,6 +26,9 @@
   "paths": {
     "/v2/placement": {
       "post": {
+        "tags": [
+          "Placement Optimization"
+        ],
         "summary": "create/update a placement",
         "operationId": "createPlacement",
         "description": "create/update a placement",
       }
     },
     "/api/oof/placement/v1": {
-      "$ref": "#/paths/~1v2~1placement"
+      "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",
       }
     },
     "/api/oof/pci/v1": {
-      "$ref": "#/paths/~1api~1oof~1v1~1pci"
+      "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",
     },
     "/api/oof/selection/nsi/v1": {
       "post": {
+        "tags": [
+          "NSI Selection"
+        ],
         "summary": "NSI selection",
         "operationId": "selectNsiRequest",
         "description": "Request for NSI selection",
     },
     "/api/oof/selection/nssi/v1": {
       "post": {
+        "tags": [
+          "NSSI Selection"
+        ],
         "summary": "NSSI selection",
         "operationId": "selectNssiRequest",
         "description": "Request for NSSI selection",
           }
         }
       }
-    }
+    },
+    "/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": {
           },
           "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",
           "$ref": "#/definitions/RequestInfo2"
         },
         "serviceProfile": {
-          "$ref": "#/definitions/ServiceProfile"
+          "$ref": "#/definitions/ServiceProfileNst"
         }
       }
     },
         "blob": "content"
       }
     },
+    "ServiceProfileNst": {
+      "type": "object",
+      "required": [
+        "serviceProfileParameters"
+      ],
+      "properties": {
+        "serviceProfileParameters": {
+          "$ref": "#/definitions/ServiceProfile"
+        }
+      }
+    },
     "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.",
           "type": "string",
           "format": "uuid",
           "description": "Id of NSI"
+        },
+        "NSSIs": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/NSSI"
+          },
+          "description": "A list of NSSIs"
+        }
+      }
+    },
+    "NSSI": {
+      "type": "object",
+      "required": [
+        "NSSIName",
+        "NSSIId",
+        "UUID",
+        "invariantUUID"
+      ],
+      "properties": {
+        "NSSIName": {
+          "type": "string",
+          "description": "Name of NSSI"
+        },
+        "NSSIId": {
+          "type": "string",
+          "description": "Id of NSSI"
+        },
+        "UUID": {
+          "type": "string",
+          "description": "UUID of NSST"
+        },
+        "invariantUUID": {
+          "type": "string",
+          "description": "invariantUUID of NSST"
+        },
+        "sliceProfile": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/SliceProfile"
+          },
+          "description": "list of SliceProfiles"
         }
       }
     },
   ],
   "host": "virtserver.swaggerhub.com",
   "basePath": "/oof-osdf/v1"
-}
+}
\ No newline at end of file