Add vnfd validity check
[vfc/gvnfm/vnflcm.git] / lcm / lcm / pub / verifyvnfd / vnf_vnfd_schema.json
diff --git a/lcm/lcm/pub/verifyvnfd/vnf_vnfd_schema.json b/lcm/lcm/pub/verifyvnfd/vnf_vnfd_schema.json
new file mode 100644 (file)
index 0000000..784781c
--- /dev/null
@@ -0,0 +1,123 @@
+{
+  "description":"This type represents a vnfd.",
+  "type":"object",
+  "required":[
+
+  ],
+  "properties":{
+    "vdus":{
+      "type":"array",
+      "items":{
+        "type":"object",
+        "required":[
+          "vdu_id",
+          "cps"
+        ],
+        "properties":{
+          "vdu_id":{
+            "type":"string"
+          },
+          "cps":{
+            "type":"array"
+          }
+        }
+      }
+    },
+    "volume_storages":{
+      "type":"array",
+      "items":{
+        "type":"object",
+        "required":[
+          "volume_storage_id"
+        ],
+        "properties":{
+          "volume_storage_id":{
+            "type":"string"
+          }
+        }
+      }
+    },
+    "vls":{
+      "type":"array",
+      "items":{
+        "type":"object",
+        "required":[
+          "vl_id",
+          "properties"
+        ],
+        "properties":{
+          "vl_id":{
+            "type":"string"
+          },
+          "properties":{
+            "type":"object",
+            "required":[
+              "vl_profile",
+              "connectivity_type"
+            ],
+            "properties":{
+              "vl_profile":{
+                "type":"object",
+                "required":[
+                  "networkName"
+                ],
+                "properties":{
+                  "networkName":{
+                    "type":"string"
+                  }
+                }
+              },
+              "connectivity_type":{
+                "type":"object"
+              }
+            }
+          }
+        }
+      }
+    },
+    "cps":{
+      "type":"array",
+      "items":{
+        "type":"object",
+        "required":[
+          "cp_id"
+        ],
+        "properties":{
+          "cp_id":{
+            "type":"string"
+          },
+          "properties":{
+            "type":"object",
+            "required":[
+              "protocol_data"
+            ],
+            "properties":{
+              "protocol_data":{
+                "type":"array",
+                "items":{
+                  "type":"object",
+                  "required":[
+                    "address_data"
+                  ],
+                  "properties":{
+                    "address_data":{
+                      "type":"object",
+                      "required":[
+                        "l3_address_data"
+                      ],
+                      "properties":{
+                        "l3_address_data":{
+                          "type":"object"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file