Merge "modify the document API"
[vfc/nfvo/lcm.git] / lcm / swagger / vfc.vnfdriver.swagger.json
index 9359cc9..ef805ce 100644 (file)
         }
       }
     },
-    "/nslcm/vl/vnfms/{vnfmid}":{
+    "/nslcm/v1/vnfms/{vnfmid}":{
       "get": {
         "tags": [
           "NSLCM"
         }
       }
     },
-    "/nslcm/vl/vims/{vimid}":{
+    "/nslcm/v1/vims/{vimid}":{
       "get": {
         "tags": [
           "NSLCM"
         }
       }
     },
+    "JobStatus" : {
+      "description": "The status of the job",
+      "type": "string",
+      "enum": [
+        "started",
+        "processing",
+        "finished",
+        "error",
+        "timeout"
+      ]
+    },
     "JobDetailInfo": {
       "type": "object",
       "properties": {
           "type": "object",
           "properties": {
             "status": {
-              "type": "string"
+              "$ref": "#/definitions/JobStatus",
+              "description": "The status of the job"
             },
             "progress": {
-              "type": "string"
+              "type": "string",
+              "description": "The progress of the job. Value between 0 and 100."
             },
             "statusDescription": {
-              "type": "string"
+              "type": "string",
+              "description": "The reason of the current status of the job."
             },
             "errorCode": {
               "type": "string"
         }
       }
     },
+    "ChangeType" : {
+      "description": "The type of the change",
+      "type": "string",
+      "enum": [
+        "VDU"
+      ]
+    },
     "ResourceChange" : {
        "type": "object",
        "properties": {
          "type": {
-           "type": "string",
-           "description": " The value should be VDU,VL,CP,Strorage."
+           "$ref": "#/definitions/ChangeType",
+           "description": "The type of the resource."
          },
          "resourceDefinitionId": {
+           "description": "The identifier of the resource within the grant request.",
            "type": "string"
          },
          "vdu": {
+           "description": "The identifier of the VDU.",
            "type": "string"
          }
        }
     },
+    "OperationType" : {
+      "description": "The type of operation",
+      "type": "string",
+      "enum": [
+        "Terminal",
+        "Instantiate",
+        "Scalein",
+        "Scaleout",
+        "Scaledown",
+        "Scaleup",
+        "Heal"
+      ]
+    },
     "GrantVNFRequest": {
       "type": "object",
       "properties": {
           "type": "string"
         },
         "lifecycleOperation": {
-          "type": "string",
-          "description": "The value should be Instantiate,Scaleout,Scalein,Scaleup,Scaledown, Heal, Terminal"
+          "description" : "The type of the operation.",
+          "$ref": "#/definitions/OperationType"
         },
         "jobId": {
           "type": "string"
               }
             },
             "accessInfo": {
-              "type": "string",
+              "type": "object",
               "properties": {
                 "tenant": {
                   "type": "string",
     "AffectedVirtualStorage" : {
        "type": "object"
      },
-    "VNFLCMNotification": {
+   "VnfLcmNotificationStatus" : {
+      "description": "The status of the operation",
+      "type": "string",
+      "enum": [
+        "result",
+        "start"
+      ]
+    },
+   "VNFLCMNotification": {
       "type": "object",
       "properties": {
         "status": {
-          "type": "string"
+          "description" : "The status of the operation that triggered the LCN.",
+          "$ref": "#/definitions/VnfLcmNotificationStatus"
         },
         "vnfInstanceId": {
           "type": "string"
         },
         "operation": {
-          "type": "string"
+          "description" : "The type of the operation that tiggered the LCN.",
+          "$ref": "#/definitions/OperationType"
         },
         "jobId": {
+          "description" : "The identifier fo the job that triggered the LCN.",
           "type": "string"
         },
         "affectedVnfc": {
         }
       }
     },
+    "ScaleDirection" : {
+      "description": "The direction of the scaling",
+      "type": "string",
+      "enum": [
+        "SCALE_IN",
+        "SCALE_OUT"
+      ]
+    },
     "VnfScaleRequest":{
       "type": "object",
       "properties": {
         "type": {
-          "type": "string",
-          "description": "The VNF scale type value should be SCALE_OUT, SCALE_IN"
+          "description" : "The direction of the scaling.",
+          "$ref": "#/definitions/ScaleDirection"
         },
         "aspectId":{
           "type": "string",
         }
       }
     },
+    "VnfTerminationType": {
+      "description": "The type of the termination.",
+      "type": "string",
+      "enum": [
+        "graceful",
+        "forceful"
+      ]
+    },
     "VnfTerminateRequest":{
       "type": "object",
       "properties": {
         "terminationType": {
-          "type": "string"
+          "description" : "The type of the termination",
+          "$ref": "#/definitions/VnfTerminationType"
         },
         "gracefulTerminationTimeout": {
+          "description": "The time interval(second) to wait for the VNF to be taken out of service during graceful termination.",
           "type": "string"
-        }        
+        }
       }      
     },
     "JobInfo": {
               }
             },
             "accessInfo": {
-              "type": "string",
+              "type": "object",
               "properties": {
                 "tenant": {
                   "type": "string",
         },
         "name": {
           "type": "string",
-          "description": "vnfm name"
+          "description": "vim name"
         },
         "type": {
           "type": "string",
-          "description": "vnfm type"
+          "description": "vim type"
         },  
         "url": {
           "type": "string",
-          "description": "vnfm url"
+          "description": "vim url"
         },
         "userName": {
           "type": "string",
-          "description": "vnfm login username"
+          "description": "vim login username"
         },
         "password": {
           "type": "string",
-          "description": "vnfm login password"
+          "description": "vim login password"
         },  
         "vendor": {
           "type": "string",
         },
         "version": {
           "type": "string",
-          "description": "vnfm version"
+          "description": "vim version"
         }, 
         "description": {
           "type": "string",
-          "description": "vnfm description"
+          "description": "vim description"
         }, 
         "createTime": {
           "type": "string",
-          "description": "vnfm info createTime"
+          "description": "vim info createTime"
+        },
+        "sslCacert": {
+          "type": "string",
+          "description": "The collection of trusted certificates towards the VIM connection."
+        },
+        "sslInsecure": {
+          "type": "string",
+          "description": "Whether to verify VIM's certificate"         
+        },
+        "status": {
+          "type": "string",
+          "description": "The status of external system"
         }
       }      
     }