Add vnfd validity check
[vfc/gvnfm/vnflcm.git] / lcm / lcm / pub / verifyvnfd / vnf_vnfd_schema.json
1 {
2   "description":"This type represents a vnfd.",
3   "type":"object",
4   "required":[
5
6   ],
7   "properties":{
8     "vdus":{
9       "type":"array",
10       "items":{
11         "type":"object",
12         "required":[
13           "vdu_id",
14           "cps"
15         ],
16         "properties":{
17           "vdu_id":{
18             "type":"string"
19           },
20           "cps":{
21             "type":"array"
22           }
23         }
24       }
25     },
26     "volume_storages":{
27       "type":"array",
28       "items":{
29         "type":"object",
30         "required":[
31           "volume_storage_id"
32         ],
33         "properties":{
34           "volume_storage_id":{
35             "type":"string"
36           }
37         }
38       }
39     },
40     "vls":{
41       "type":"array",
42       "items":{
43         "type":"object",
44         "required":[
45           "vl_id",
46           "properties"
47         ],
48         "properties":{
49           "vl_id":{
50             "type":"string"
51           },
52           "properties":{
53             "type":"object",
54             "required":[
55               "vl_profile",
56               "connectivity_type"
57             ],
58             "properties":{
59               "vl_profile":{
60                 "type":"object",
61                 "required":[
62                   "networkName"
63                 ],
64                 "properties":{
65                   "networkName":{
66                     "type":"string"
67                   }
68                 }
69               },
70               "connectivity_type":{
71                 "type":"object"
72               }
73             }
74           }
75         }
76       }
77     },
78     "cps":{
79       "type":"array",
80       "items":{
81         "type":"object",
82         "required":[
83           "cp_id"
84         ],
85         "properties":{
86           "cp_id":{
87             "type":"string"
88           },
89           "properties":{
90             "type":"object",
91             "required":[
92               "protocol_data"
93             ],
94             "properties":{
95               "protocol_data":{
96                 "type":"array",
97                 "items":{
98                   "type":"object",
99                   "required":[
100                     "address_data"
101                   ],
102                   "properties":{
103                     "address_data":{
104                       "type":"object",
105                       "required":[
106                         "l3_address_data"
107                       ],
108                       "properties":{
109                         "l3_address_data":{
110                           "type":"object"
111                         }
112                       }
113                     }
114                   }
115                 }
116               }
117             }
118           }
119         }
120       }
121     }
122   }
123 }