swagger supports multifile
[vfc/nfvo/lcm.git] / lcm / swagger / vfc.nslcm.swagger.json
diff --git a/lcm/swagger/vfc.nslcm.swagger.json b/lcm/swagger/vfc.nslcm.swagger.json
new file mode 100644 (file)
index 0000000..75cc6ba
--- /dev/null
@@ -0,0 +1,537 @@
+{\r
+  "swagger": "2.0",\r
+  "info": {\r
+    "version": "1.0.0",\r
+    "title": "ONAP VFC Network Service Lifecycle Management API",\r
+    "description": "VFC Network Service Lifecycle Management Rest API.",\r
+    "contact": {\r
+      "name": "ONAP VFC team",\r
+      "email": "onap-discuss@lists.onap.org",\r
+      "url": "https://gerrit.onap.org/r/#/admin/projects/vfc/nfvo/lcm"\r
+    }\r
+  },\r
+  "basePath": "/api/nslcm/v1",\r
+  "schemes": [\r
+    "http",\r
+    "https"\r
+  ],\r
+  "consumes": [\r
+    "application/json"\r
+  ],\r
+  "produces": [\r
+    "application/json"\r
+  ],\r
+  "paths": {\r
+    "/ns": {\r
+      "post": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns create",\r
+        "description": "ns create",\r
+        "operationId": "ns_create",\r
+        "parameters": [\r
+          {\r
+            "in": "body",\r
+            "name": "NSCreateRequest",\r
+            "description": "NS Instance Create Request",\r
+            "required": true,\r
+            "schema": {\r
+              "$ref": "#/definitions/NsCreateRequest"\r
+            }\r
+          }\r
+        ],\r
+        "responses": {\r
+          "200": {\r
+            "description": "successful operation",\r
+            "schema": {\r
+              "$ref": "#/definitions/NsCreateResponse"\r
+            }\r
+          }\r
+        }\r
+      },\r
+      "get": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns get",\r
+        "description": "ns get",\r
+        "operationId": "ns_get",\r
+        "parameters": [],\r
+        "responses": {\r
+          "200": {\r
+            "description": "successful operation",\r
+            "schema": {\r
+              "$ref": "#/definitions/NsInfo"\r
+            }\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "/ns/{nsInstanceId}/Instantiate": {\r
+      "post": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns Instantiate",\r
+        "description": "ns Instantiate",\r
+        "operationId": "ns_Instantiate",\r
+        "parameters": [\r
+          {\r
+            "required": true,\r
+            "type": "string",\r
+            "description": "",\r
+            "name": "nsInstanceId",\r
+            "in": "path"\r
+          },\r
+          {\r
+            "in": "body",\r
+            "name": "NSInstantiateRequest",\r
+            "description": "NS Instantiate Request Body",\r
+            "required": true,\r
+            "schema": {\r
+              "$ref": "#/definitions/NsInstantiateRequest"\r
+            }\r
+          }\r
+        ],\r
+        "responses": {\r
+          "200": {\r
+            "description": "",\r
+            "schema": {\r
+              "$ref": "#/definitions/JobInfo"\r
+            }\r
+          },\r
+          "201": {\r
+            "description": "Invalid Request"\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "/ns/{nsInstanceId}/scale": {\r
+      "post": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns scale",\r
+        "description": "ns scale",\r
+        "operationId": "ns_scale",\r
+        "parameters": [\r
+          {\r
+            "required": true,\r
+            "type": "string",\r
+            "description": "",\r
+            "name": "nsInstanceId",\r
+            "in": "path"\r
+          },\r
+          {\r
+            "in": "body",\r
+            "name": "ScaleNSRequest",\r
+            "description": "Scale NS Request Body",\r
+            "required": true,\r
+            "schema": {\r
+              "$ref": "#/definitions/NsScaleRequest"\r
+            }\r
+          }\r
+        ],\r
+        "responses": {\r
+          "200": {\r
+            "description": "",\r
+            "schema": {\r
+              "$ref": "#/definitions/JobInfo"\r
+            }\r
+          },\r
+          "201": {\r
+            "description": "Invalid Request"\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "/ns/{ns_instance_id}/heal": {\r
+      "post": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns heal",\r
+        "description": "ns heal",\r
+        "operationId": "ns_heal",\r
+        "parameters": [\r
+          {\r
+            "required": true,\r
+            "type": "string",\r
+            "description": "Identifier of the NS instance.",\r
+            "name": "ns_instance_id",\r
+            "in": "path"\r
+          },\r
+          {\r
+            "in": "body",\r
+            "name": "healVnfData",\r
+            "description": "healVnfData",\r
+            "required": true,\r
+            "schema": {\r
+              "$ref": "#/definitions/NsHealRequest"\r
+            }\r
+          }\r
+        ],\r
+        "responses": {\r
+          "202": {\r
+            "description": "",\r
+            "schema": {\r
+              "$ref": "#/definitions/JobInfo"\r
+            }\r
+          },\r
+          "500": {\r
+            "description": "the url is invalid"\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "/ns/{ns_instance_id}/terminate": {\r
+      "post": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns terminate",\r
+        "description": "ns terminate",\r
+        "operationId": "ns_terminate",\r
+        "parameters": [\r
+          {\r
+            "required": true,\r
+            "type": "string",\r
+            "description": "Identifier of the NS instance.",\r
+            "name": "ns_instance_id",\r
+            "in": "path"\r
+          },\r
+          {\r
+            "in": "body",\r
+            "name": "NsTerminateRequest",\r
+            "description": "NsTerminateRequest",\r
+            "required": true,\r
+            "schema": {\r
+              "$ref": "#/definitions/NsTerminateRequest"\r
+            }\r
+          }\r
+        ],\r
+        "responses": {\r
+          "202": {\r
+            "description": "",\r
+            "schema": {\r
+              "$ref": "#/definitions/JobInfo"\r
+            }\r
+          },\r
+          "500": {\r
+            "description": "the url is invalid"\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "/ns/{ns_instance_id}": {\r
+      "delete": {\r
+        "tags": [\r
+          "ns"\r
+        ],\r
+        "summary": "ns delete",\r
+        "description": "ns delete",\r
+        "operationId": "ns_delete",\r
+        "parameters": [\r
+          {\r
+            "required": true,\r
+            "type": "string",\r
+            "description": "Identifier of the NS instance.",\r
+            "name": "ns_instance_id",\r
+            "in": "path"\r
+          }\r
+        ],\r
+        "responses": {\r
+          "204": {\r
+            "description": "The NS instance resource and the associated NS identifier were deleted successfully."\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "/jobs/{jobId}": {\r
+      "post": {\r
+        "tags": [\r
+          "job"\r
+        ],\r
+        "summary": "jobstatus",\r
+        "description": "",\r
+        "operationId": "jobstatus",\r
+        "parameters": [\r
+          {\r
+            "required": true,\r
+            "type": "string",\r
+            "description": "",\r
+            "name": "jobId",\r
+            "in": "path"\r
+          },\r
+          {\r
+            "in": "body",\r
+            "name": "body",\r
+            "description": "request param",\r
+            "required": true,\r
+            "schema": {\r
+              "$ref": "#/definitions/JobProgressRequest"\r
+            }\r
+          }\r
+        ],\r
+        "responses": {\r
+          "202": {\r
+            "description": ""\r
+          }\r
+        }\r
+      }\r
+    }\r
+  },\r
+  "definitions": {\r
+    "NsCreateRequest": {\r
+      "type": "object",\r
+      "properties": {\r
+        "csarId": {\r
+          "type": "string",\r
+          "description": "the NS package ID"\r
+        },\r
+        "nsName": {\r
+          "type": "string"\r
+        },\r
+        "description": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "NsCreateResponse": {\r
+      "type": "object",\r
+      "properties": {\r
+        "nsInstanceId": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "NsInstantiateRequest": {\r
+      "type": "object",\r
+      "properties": {\r
+        "LocationConstraints": {\r
+          "type": "array",\r
+          "items": {\r
+            "$ref": "#/definitions/LocationConstraint"\r
+          }\r
+        },\r
+        "additionalParamForNs": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "LocationConstraint": {\r
+      "type": "object",\r
+      "properties": {\r
+        "vnfProfileId": {\r
+          "type": "string"\r
+        },\r
+        "locationConstraints": {\r
+          "type": "object",\r
+          "properties": {\r
+            "vimid": {\r
+              "type": "string"\r
+            }\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "NsScaleRequest": {\r
+      "type": "object",\r
+      "properties": {\r
+        "scaleType": {\r
+          "type": "string"\r
+        },\r
+        "scaleNsByStepsData": {\r
+          "$ref": "#/definitions/NsScaleByStepsData"\r
+        }\r
+      }\r
+    },\r
+    "NsScaleByStepsData": {\r
+      "type": "object",\r
+      "properties": {\r
+        "scalingDirection": {\r
+          "type": "string"\r
+        },\r
+        "aspectId": {\r
+          "type": "string"\r
+        },\r
+        "numberOfSteps": {\r
+          "type": "integer"\r
+        }\r
+      }\r
+    },\r
+    "NsHealRequest": {\r
+      "type": "object",\r
+      "properties": {\r
+        "vnfInstanceId": {\r
+          "type": "string"\r
+        },\r
+        "cause": {\r
+          "type": "string"\r
+        },\r
+        "additionalParams": {\r
+          "type": "object",\r
+          "properties": {\r
+            "action": {\r
+              "type": "string"\r
+            },\r
+            "actionvminfo": {\r
+              "type": "object",\r
+              "properties": {\r
+                "vmid": {\r
+                  "type": "string"\r
+                },\r
+                "vmname": {\r
+                  "type": "string"\r
+                }\r
+              }\r
+            }\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "NsTerminateRequest": {\r
+      "type": "object",\r
+      "properties": {\r
+        "terminationType": {\r
+          "type": "string"\r
+        },\r
+        "gracefulTerminationTimeout": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "JobInfo": {\r
+      "type": "object",\r
+      "properties": {\r
+        "jobId": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "JobProgressRequest": {\r
+      "type": "object",\r
+      "properties": {\r
+        "progress": {\r
+          "type": "string"\r
+        },\r
+        "desc": {\r
+          "type": "string"\r
+        },\r
+        "errcode": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "NsInfo": {\r
+      "type": "object",\r
+      "properties": {\r
+        "nsInstanceId": {\r
+          "type": "string"\r
+        },\r
+        "nsName": {\r
+          "type": "string"\r
+        },\r
+        "description": {\r
+          "type": "string"\r
+        },\r
+        "nsdId": {\r
+          "type": "string"\r
+        },\r
+        "vnfInfo": {\r
+          "type": "array",\r
+          "items": {\r
+            "$ref": "#/definitions/vnfInfo"\r
+          }\r
+        },\r
+        "vlInfo": {\r
+          "type": "array",\r
+          "items": {\r
+            "$ref": "#/definitions/vlInfo"\r
+          }\r
+        },\r
+        "vnffgInfo": {\r
+          "type": "array",\r
+          "items": {\r
+            "$ref": "#/definitions/vnffgInfo"\r
+          }\r
+        },\r
+        "nsState": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "vnfInfo": {\r
+      "type": "object",\r
+      "properties": {\r
+        "vnfInstanceId": {\r
+          "type": "string"\r
+        },\r
+        "vnfInstanceName": {\r
+          "type": "string"\r
+        },\r
+        "vnfdId": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "vlInfo": {\r
+      "type": "object",\r
+      "properties": {\r
+        "vlInstanceId": {\r
+          "type": "string"\r
+        },\r
+        "vlInstanceName": {\r
+          "type": "string"\r
+        },\r
+        "vldId": {\r
+          "type": "string"\r
+        },\r
+        "relatedCpInstanceId": {\r
+          "type": "array",\r
+          "items": {\r
+            "$ref": "#/definitions/cpInfo"\r
+          }\r
+        }\r
+      }\r
+    },\r
+    "cpInfo": {\r
+      "type": "object",\r
+      "properties": {\r
+        "cpInstanceId": {\r
+          "type": "string"\r
+        },\r
+        "cpInstanceName": {\r
+          "type": "string"\r
+        },\r
+        "cpdId": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    },\r
+    "vnffgInfo": {\r
+      "type": "object",\r
+      "properties": {\r
+        "vnffgInstanceId": {\r
+          "type": "string"\r
+        },\r
+        "vnfId": {\r
+          "type": "string"\r
+        },\r
+        "pnfId": {\r
+          "type": "string"\r
+        },\r
+        "virtualLinkId": {\r
+          "type": "string"\r
+        },\r
+        "cpId": {\r
+          "type": "string"\r
+        },\r
+        "nfp": {\r
+          "type": "string"\r
+        }\r
+      }\r
+    }\r
+  }\r
+}
\ No newline at end of file