Rift.IO OSM R1 Initial Submission
[osm/UI.git] / skyquake / plugins / composer / src / schemas / yang / model-meta.json
1 {
2      "nsd": {
3           "name": "nsd",
4           "type": "list",
5           "cardinality": "0..N",
6           "properties": [
7                {
8                     "name": "id",
9                     "type": "leaf",
10                     "description": "Identifier for the NSD.",
11                     "cardinality": "0..1",
12                     "data-type": "string",
13                     "properties": []
14                },
15                {
16                     "name": "name",
17                     "type": "leaf",
18                     "description": "NSD name.",
19                     "cardinality": "1",
20                     "data-type": "string",
21                     "properties": []
22                },
23                {
24                     "name": "short-name",
25                     "type": "leaf",
26                     "description": "NSD short name.",
27                     "cardinality": "0..1",
28                     "data-type": "string",
29                     "properties": []
30                },
31                {
32                     "name": "vendor",
33                     "type": "leaf",
34                     "description": "Vendor of the NSD.",
35                     "cardinality": "0..1",
36                     "data-type": "string",
37                     "properties": []
38                },
39                {
40                     "name": "logo",
41                     "type": "leaf",
42                     "description": "File path for the vendor specific logo. For example icons/mylogo.png. The logo should be part of the network service",
43                     "cardinality": "0..1",
44                     "data-type": "string",
45                     "properties": []
46                },
47                {
48                     "name": "description",
49                     "type": "leaf",
50                     "description": "Description of the NSD.",
51                     "cardinality": "0..1",
52                     "data-type": "string",
53                     "properties": []
54                },
55                {
56                     "name": "version",
57                     "type": "leaf",
58                     "description": "Version of the NSD",
59                     "cardinality": "0..1",
60                     "data-type": "string",
61                     "properties": []
62                },
63                {
64                     "name": "meta",
65                     "type": "leaf",
66                     "description": "Any meta-data needed by the UI",
67                     "cardinality": "0..1",
68                     "data-type": "string",
69                     "properties": []
70                },
71                {
72                     "name": "connection-point",
73                     "type": "list",
74                     "description": "List for external connection points. Each NS has one or more external connection points. As the name implies that external connection points are used for connecting the NS to other NS or to external networks. Each NS exposes these connection points to the orchestrator. The orchestrator can construct network service chains by connecting the connection points between different NS.",
75                     "cardinality": "0..N",
76                     "properties": [
77                          {
78                               "name": "name",
79                               "type": "leaf",
80                               "description": "Name of the NS connection point.",
81                               "cardinality": "0..1",
82                               "data-type": "string",
83                               "properties": []
84                          },
85                          {
86                               "name": "type",
87                               "type": "leaf",
88                               "description": "Type of connection point VPORT: Virtual Port // VNIC_ADDR: Virtual NIC Address // PNIC_ADDR: Physical NIC Address // PPORT: Phsical Port.",
89                               "cardinality": "0..1",
90                               "data-type": {
91                                    "enumeration": {
92                                         "enum": "VPORT"
93                                    }
94                               },
95                               "properties": []
96                          }
97                     ],
98                     "key": [
99                          "name"
100                     ]
101                },
102                {
103                     "name": "vld",
104                     "type": "list",
105                     "description": "List of Virtual Link Descriptors.",
106                     "cardinality": "0..N",
107                     "properties": [
108                          {
109                               "name": "id",
110                               "type": "leaf",
111                               "description": "Identifier for the VLD.",
112                               "cardinality": "0..1",
113                               "data-type": "string",
114                               "properties": []
115                          },
116                          {
117                               "name": "name",
118                               "type": "leaf",
119                               "description": "Virtual Link Descriptor (VLD) name.",
120                               "cardinality": "0..1",
121                               "data-type": "string",
122                               "properties": []
123                          },
124                          {
125                               "name": "short-name",
126                               "type": "leaf",
127                               "description": "Short name for VLD for UI",
128                               "cardinality": "0..1",
129                               "data-type": "string",
130                               "properties": []
131                          },
132                          {
133                               "name": "vendor",
134                               "type": "leaf",
135                               "description": "Provider of the VLD.",
136                               "cardinality": "0..1",
137                               "data-type": "string",
138                               "properties": []
139                          },
140                          {
141                               "name": "description",
142                               "type": "leaf",
143                               "description": "Description of the VLD.",
144                               "cardinality": "0..1",
145                               "data-type": "string",
146                               "properties": []
147                          },
148                          {
149                               "name": "version",
150                               "type": "leaf",
151                               "description": "Version of the VLD",
152                               "cardinality": "0..1",
153                               "data-type": "string",
154                               "properties": []
155                          },
156                          {
157                               "name": "type",
158                               "type": "leaf",
159                               "description": "Type of virtual link ELAN: A multipoint service connecting a set of VNFs // ELINE: For a simple point to point connection // between a VNF and the existing network. // ETREE: A multipoint service connecting one or // more roots and a set of leaves, but // preventing inter-leaf communication.",
160                               "cardinality": "0..1",
161                               "data-type": {
162                                    "enumeration": {
163                                         "enum": "ELAN"
164                                    }
165                               },
166                               "properties": []
167                          },
168                          {
169                               "name": "root-bandwidth",
170                               "type": "leaf",
171                               "description": "For ELAN this is the aggregate bandwidth.",
172                               "cardinality": "0..1",
173                               "data-type": "uint64",
174                               "properties": []
175                          },
176                          {
177                               "name": "leaf-bandwidth",
178                               "type": "leaf",
179                               "description": "For ELAN this is the bandwidth of branches.",
180                               "cardinality": "0..1",
181                               "data-type": "uint64",
182                               "properties": []
183                          },
184                          {
185                               "name": "vnfd-connection-point-ref",
186                               "type": "list",
187                               "description": "A list of references to connection points.",
188                               "cardinality": "0..N",
189                               "properties": [
190                                    {
191                                         "name": "member-vnf-index-ref",
192                                         "type": "leaf",
193                                         "description": "Reference to member-vnf within constituent-vnfds",
194                                         "cardinality": "0..1",
195                                         "data-type": {
196                                              "leafref": {
197                                                   "path": "../../../nsd:constituent-vnfd/nsd:member-vnf-index"
198                                              }
199                                         },
200                                         "properties": []
201                                    },
202                                    {
203                                         "name": "vnfd-id-ref",
204                                         "type": "leaf",
205                                         "description": "A reference to a vnfd. This is a leafref to path: ../../../nsd:constituent-vnfd + [nsd:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
206                                         "cardinality": "0..1",
207                                         "data-type": "string",
208                                         "properties": []
209                                    },
210                                    {
211                                         "name": "vnfd-connection-point-ref",
212                                         "type": "leaf",
213                                         "description": "A reference to a connection point name in a vnfd. This is a leafref to path: /vnfd:vnfd-catalog/vnfd:vnfd + [vnfd:id = current()/../nsd:vnfd-id-ref] + /vnfd:connection-point/vnfd:name NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
214                                         "cardinality": "0..1",
215                                         "data-type": "string",
216                                         "properties": []
217                                    }
218                               ],
219                               "key": [
220                                    "member-vnf-index-ref"
221                               ]
222                          },
223                          {
224                               "name": "provider-network",
225                               "type": "container",
226                               "description": "Container for the provider network.",
227                               "cardinality": "0..1",
228                               "properties": [
229                                    {
230                                         "name": "physical-network",
231                                         "type": "leaf",
232                                         "description": "Name of the phsyical network on which the provider network is built.",
233                                         "cardinality": "0..1",
234                                         "data-type": "string",
235                                         "properties": []
236                                    },
237                                    {
238                                         "name": "overlay-type",
239                                         "type": "leaf",
240                                         "description": "Type of the overlay network.",
241                                         "cardinality": "0..1",
242                                         "data-type": {
243                                              "enumeration": {
244                                                   "enum": {
245                                                        "LOCAL": {
246                                                             "value": 0
247                                                        },
248                                                        "FLAT": {
249                                                             "value": 1
250                                                        },
251                                                        "VLAN": {
252                                                             "value": 2
253                                                        },
254                                                        "VXLAN": {
255                                                             "value": 3
256                                                        },
257                                                        "GRE": {
258                                                             "value": 4
259                                                        }
260                                                   }
261                                              }
262                                         },
263                                         "properties": []
264                                    },
265                                    {
266                                         "name": "segmentation_id",
267                                         "type": "leaf",
268                                         "description": "Segmentation ID",
269                                         "cardinality": "0..1",
270                                         "data-type": "uint32",
271                                         "properties": []
272                                    }
273                               ]
274                          }
275                     ],
276                     "key": [
277                          "id"
278                     ]
279                },
280                {
281                     "name": "constituent-vnfd",
282                     "type": "list",
283                     "description": "List of VNFDs that are part of this network service.",
284                     "cardinality": "0..N",
285                     "properties": [
286                          {
287                               "name": "member-vnf-index",
288                               "type": "leaf",
289                               "description": "Identifier/index for the VNFD. This separate id is required to ensure that multiple VNFs can be part of single NS",
290                               "cardinality": "0..1",
291                               "data-type": "uint64",
292                               "properties": []
293                          },
294                          {
295                               "name": "vnfd-id-ref",
296                               "type": "leaf",
297                               "description": "Identifier for the VNFD.",
298                               "cardinality": "0..1",
299                               "data-type": {
300                                    "leafref": {
301                                         "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
302                                    }
303                               },
304                               "properties": []
305                          },
306                          {
307                               "name": "start-by-default",
308                               "type": "leaf",
309                               "description": "VNFD is started as part of the NS instantiation",
310                               "cardinality": "0..1",
311                               "data-type": "boolean",
312                               "properties": []
313                          }
314                     ],
315                     "key": [
316                          "member-vnf-index"
317                     ]
318                },
319                {
320                     "name": "scaling-group-descriptor",
321                     "type": "list",
322                     "description": "scaling group descriptor within this network service. The scaling group defines a group of VNFs, and the ratio of VNFs in the network service that is used as target for scaling action",
323                     "cardinality": "0..N",
324                     "properties": [
325                          {
326                               "name": "name",
327                               "type": "leaf",
328                               "description": "Name of this scaling group.",
329                               "cardinality": "0..1",
330                               "data-type": "string",
331                               "properties": []
332                          },
333                          {
334                               "name": "min-instance-count",
335                               "type": "leaf",
336                               "description": "Minimum instances of the scaling group which are allowed. These instances are created by default when the network service is instantiated.",
337                               "cardinality": "0..1",
338                               "data-type": "uint32",
339                               "properties": []
340                          },
341                          {
342                               "name": "max-instance-count",
343                               "type": "leaf",
344                               "description": "Maximum instances of this scaling group that are allowed in a single network service. The network service scaling will fail, when the number of service group instances exceed the max-instance-count specified.",
345                               "cardinality": "0..1",
346                               "data-type": "uint32",
347                               "properties": []
348                          },
349                          {
350                               "name": "vnfd-member",
351                               "type": "list",
352                               "description": "List of VNFs in this scaling group",
353                               "cardinality": "0..N",
354                               "properties": [
355                                    {
356                                         "name": "member-vnf-index-ref",
357                                         "type": "leaf",
358                                         "description": "member VNF index of this member VNF",
359                                         "cardinality": "0..1",
360                                         "data-type": {
361                                              "leafref": {
362                                                   "path": "../../../constituent-vnfd/member-vnf-index"
363                                              }
364                                         },
365                                         "properties": []
366                                    },
367                                    {
368                                         "name": "count",
369                                         "type": "leaf",
370                                         "description": "count of this member VNF within this scaling group. The count allows to define the number of instances when a scaling action targets this scaling group",
371                                         "cardinality": "0..1",
372                                         "data-type": "uint32",
373                                         "properties": []
374                                    }
375                               ],
376                               "key": [
377                                    "member-vnf-index-ref"
378                               ]
379                          },
380                          {
381                               "name": "scaling-config-action",
382                               "type": "list",
383                               "description": "List of scaling config actions",
384                               "cardinality": "0..N",
385                               "properties": [
386                                    {
387                                         "name": "trigger",
388                                         "type": "leaf",
389                                         "description": "scaling trigger",
390                                         "cardinality": "0..1",
391                                         "data-type": "scaling-trigger",
392                                         "properties": []
393                                    },
394                                    {
395                                         "name": "ns-config-primitive-name-ref",
396                                         "type": "leaf",
397                                         "description": "Reference to the NS config name primitive",
398                                         "cardinality": "0..1",
399                                         "data-type": {
400                                              "leafref": {
401                                                   "path": "../../../config-primitive/name"
402                                              }
403                                         },
404                                         "properties": []
405                                    }
406                               ],
407                               "key": [
408                                    "trigger"
409                               ]
410                          }
411                     ],
412                     "key": [
413                          "name"
414                     ]
415                },
416                {
417                     "name": "placement-groups",
418                     "type": "list",
419                     "description": "List of placement groups at NS level",
420                     "cardinality": "0..N",
421                     "properties": [
422                          {
423                               "name": "member-vnfd",
424                               "type": "list",
425                               "description": "List of VNFDs that are part of this placement group",
426                               "cardinality": "0..N",
427                               "properties": [
428                                    {
429                                         "name": "member-vnf-index-ref",
430                                         "type": "leaf",
431                                         "description": "member VNF index of this member VNF",
432                                         "cardinality": "0..1",
433                                         "data-type": {
434                                              "leafref": {
435                                                   "path": "../../../constituent-vnfd/member-vnf-index"
436                                              }
437                                         },
438                                         "properties": []
439                                    },
440                                    {
441                                         "name": "vnfd-id-ref",
442                                         "type": "leaf",
443                                         "description": "Identifier for the VNFD.",
444                                         "cardinality": "0..1",
445                                         "data-type": {
446                                              "leafref": {
447                                                   "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
448                                              }
449                                         },
450                                         "properties": []
451                                    }
452                               ],
453                               "key": [
454                                    "member-vnf-index-ref"
455                               ]
456                          },
457                          {
458                               "name": "name",
459                               "type": "leaf",
460                               "description": "Place group construct to define the compute resource placement strategy in cloud environment",
461                               "cardinality": "0..1",
462                               "data-type": "string",
463                               "properties": []
464                          },
465                          {
466                               "name": "requirement",
467                               "type": "leaf",
468                               "description": "This is free text space used to describe the intent/rationale behind this placement group. This is for human consumption only",
469                               "cardinality": "0..1",
470                               "data-type": "string",
471                               "properties": []
472                          },
473                          {
474                               "name": "strategy",
475                               "type": "leaf",
476                               "description": "Strategy associated with this placement group Following values are possible - COLOCATION: Colocation strategy imply intent to share the physical infrastructure (hypervisor/network) among all members of this group. - ISOLATION: Isolation strategy imply intent to not share the physical infrastructure (hypervisor/network) among the members of this group. ",
477                               "cardinality": "0..1",
478                               "data-type": {
479                                    "enumeration": {
480                                         "enum": {
481                                              "COLOCATION": {
482                                                   "value": 0
483                                              },
484                                              "ISOLATION": {
485                                                   "value": 1
486                                              }
487                                         }
488                                    }
489                               },
490                               "properties": []
491                          }
492                     ],
493                     "key": [
494                          "name"
495                     ]
496                },
497                {
498                     "name": "vnf-dependency",
499                     "type": "list",
500                     "description": "List of VNF dependencies.",
501                     "cardinality": "0..N",
502                     "properties": [
503                          {
504                               "name": "vnf-source-ref",
505                               "type": "leaf",
506                               "cardinality": "0..1",
507                               "data-type": {
508                                    "leafref": {
509                                         "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
510                                    }
511                               },
512                               "properties": []
513                          },
514                          {
515                               "name": "vnf-depends-on-ref",
516                               "type": "leaf",
517                               "description": "Reference to VNF that sorce VNF depends.",
518                               "cardinality": "0..1",
519                               "data-type": {
520                                    "leafref": {
521                                         "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
522                                    }
523                               },
524                               "properties": []
525                          }
526                     ],
527                     "key": [
528                          "vnf-source-ref"
529                     ]
530                },
531                {
532                     "name": "vnffgd",
533                     "type": "list",
534                     "description": "List of VNF Forwarding Graph Descriptors (VNFFGD).",
535                     "cardinality": "0..N",
536                     "properties": [
537                          {
538                               "name": "id",
539                               "type": "leaf",
540                               "description": "Identifier for the VNFFGD.",
541                               "cardinality": "0..1",
542                               "data-type": "string",
543                               "properties": []
544                          },
545                          {
546                               "name": "name",
547                               "type": "leaf",
548                               "description": "VNFFGD name.",
549                               "cardinality": "0..1",
550                               "data-type": "string",
551                               "properties": []
552                          },
553                          {
554                               "name": "short-name",
555                               "type": "leaf",
556                               "description": "Short name for VNFFGD for UI",
557                               "cardinality": "0..1",
558                               "data-type": "string",
559                               "properties": []
560                          },
561                          {
562                               "name": "vendor",
563                               "type": "leaf",
564                               "description": "Provider of the VNFFGD.",
565                               "cardinality": "0..1",
566                               "data-type": "string",
567                               "properties": []
568                          },
569                          {
570                               "name": "description",
571                               "type": "leaf",
572                               "description": "Description of the VNFFGD.",
573                               "cardinality": "0..1",
574                               "data-type": "string",
575                               "properties": []
576                          },
577                          {
578                               "name": "version",
579                               "type": "leaf",
580                               "description": "Version of the VNFFGD",
581                               "cardinality": "0..1",
582                               "data-type": "string",
583                               "properties": []
584                          },
585                          {
586                               "name": "rsp",
587                               "type": "list",
588                               "description": "List of Rendered Service Paths (RSP).",
589                               "cardinality": "0..N",
590                               "properties": [
591                                    {
592                                         "name": "id",
593                                         "type": "leaf",
594                                         "description": "Identifier for the RSP.",
595                                         "cardinality": "0..1",
596                                         "data-type": "string",
597                                         "properties": []
598                                    },
599                                    {
600                                         "name": "name",
601                                         "type": "leaf",
602                                         "description": "RSP name.",
603                                         "cardinality": "0..1",
604                                         "data-type": "string",
605                                         "properties": []
606                                    },
607                                    {
608                                         "name": "vnfd-connection-point-ref",
609                                         "type": "list",
610                                         "description": "A list of references to connection points.",
611                                         "cardinality": "0..N",
612                                         "properties": [
613                                              {
614                                                   "name": "member-vnf-index-ref",
615                                                   "type": "leaf",
616                                                   "description": "Reference to member-vnf within constituent-vnfds",
617                                                   "cardinality": "0..1",
618                                                   "data-type": {
619                                                        "leafref": {
620                                                             "path": "../../../../nsd:constituent-vnfd/nsd:member-vnf-index"
621                                                        }
622                                                   },
623                                                   "properties": []
624                                              },
625                                              {
626                                                   "name": "order",
627                                                   "type": "leaf",
628                                                   "description": "A number that denotes the order of a VNF in a chain",
629                                                   "cardinality": "0..1",
630                                                   "data-type": "uint8",
631                                                   "properties": []
632                                              },
633                                              {
634                                                   "name": "vnfd-id-ref",
635                                                   "type": "leaf",
636                                                   "description": "A reference to a vnfd. This is a leafref to path: ../../../../nsd:constituent-vnfd + [nsd:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
637                                                   "cardinality": "0..1",
638                                                   "data-type": "string",
639                                                   "properties": []
640                                              },
641                                              {
642                                                   "name": "vnfd-connection-point-ref",
643                                                   "type": "leaf",
644                                                   "description": "A reference to a connection point name in a vnfd. This is a leafref to path: /vnfd:vnfd-catalog/vnfd:vnfd + [vnfd:id = current()/../nsd:vnfd-id-ref] + /vnfd:connection-point/vnfd:name NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
645                                                   "cardinality": "0..1",
646                                                   "data-type": "string",
647                                                   "properties": []
648                                              }
649                                         ],
650                                         "key": [
651                                              "member-vnf-index-ref"
652                                         ]
653                                    }
654                               ],
655                               "key": [
656                                    "id"
657                               ]
658                          },
659                          {
660                               "name": "classifier",
661                               "type": "list",
662                               "description": "List of classifier rules.",
663                               "cardinality": "0..N",
664                               "properties": [
665                                    {
666                                         "name": "id",
667                                         "type": "leaf",
668                                         "description": "Identifier for the classifier rule.",
669                                         "cardinality": "0..1",
670                                         "data-type": "string",
671                                         "properties": []
672                                    },
673                                    {
674                                         "name": "name",
675                                         "type": "leaf",
676                                         "description": "Name of the classifier.",
677                                         "cardinality": "0..1",
678                                         "data-type": "string",
679                                         "properties": []
680                                    },
681                                    {
682                                         "name": "rsp-id-ref",
683                                         "type": "leaf",
684                                         "description": "A reference to the RSP.",
685                                         "cardinality": "0..1",
686                                         "data-type": {
687                                              "leafref": {
688                                                   "path": "../../nsd:rsp/nsd:id"
689                                              }
690                                         },
691                                         "properties": []
692                                    },
693                                    {
694                                         "name": "member-vnf-index-ref",
695                                         "type": "leaf",
696                                         "description": "Reference to member-vnf within constituent-vnfds",
697                                         "cardinality": "0..1",
698                                         "data-type": {
699                                              "leafref": {
700                                                   "path": "../../../nsd:constituent-vnfd/nsd:member-vnf-index"
701                                              }
702                                         },
703                                         "properties": []
704                                    },
705                                    {
706                                         "name": "vnfd-id-ref",
707                                         "type": "leaf",
708                                         "description": "A reference to a vnfd. This is a leafref to path: ../../../nsd:constituent-vnfd + [nsd:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
709                                         "cardinality": "0..1",
710                                         "data-type": "string",
711                                         "properties": []
712                                    },
713                                    {
714                                         "name": "vnfd-connection-point-ref",
715                                         "type": "leaf",
716                                         "description": "A reference to a connection point name in a vnfd. This is a leafref to path: /vnfd:vnfd-catalog/vnfd:vnfd + [vnfd:id = current()/../nsd:vnfd-id-ref] + /vnfd:connection-point/vnfd:name NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
717                                         "cardinality": "0..1",
718                                         "data-type": "string",
719                                         "properties": []
720                                    },
721                                    {
722                                         "name": "match-attributes",
723                                         "type": "list",
724                                         "description": "List of match attributes.",
725                                         "cardinality": "0..N",
726                                         "properties": [
727                                              {
728                                                   "name": "id",
729                                                   "type": "leaf",
730                                                   "description": "Identifier for the classifier match attribute rule.",
731                                                   "cardinality": "0..1",
732                                                   "data-type": "string",
733                                                   "properties": []
734                                              },
735                                              {
736                                                   "name": "ip-proto",
737                                                   "type": "leaf",
738                                                   "description": "IP Protocol.",
739                                                   "cardinality": "0..1",
740                                                   "data-type": "uint8",
741                                                   "properties": []
742                                              },
743                                              {
744                                                   "name": "source-ip-address",
745                                                   "type": "leaf",
746                                                   "description": "The ip-address type represents an IP address and is IP version neutral. The format of the textual representation implies the IP version. This type supports scoped addresses by allowing zone identifiers in the address format.",
747                                                   "cardinality": "0..1",
748                                                   "data-type": {
749                                                        "union": {
750                                                             "type": {
751                                                                  "inet:ipv4-address": null,
752                                                                  "inet:ipv6-address": null
753                                                             }
754                                                        }
755                                                   },
756                                                   "properties": []
757                                              },
758                                              {
759                                                   "name": "destination-ip-address",
760                                                   "type": "leaf",
761                                                   "description": "The ip-address type represents an IP address and is IP version neutral. The format of the textual representation implies the IP version. This type supports scoped addresses by allowing zone identifiers in the address format.",
762                                                   "cardinality": "0..1",
763                                                   "data-type": {
764                                                        "union": {
765                                                             "type": {
766                                                                  "inet:ipv4-address": null,
767                                                                  "inet:ipv6-address": null
768                                                             }
769                                                        }
770                                                   },
771                                                   "properties": []
772                                              },
773                                              {
774                                                   "name": "source-port",
775                                                   "type": "leaf",
776                                                   "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
777                                                   "cardinality": "0..1",
778                                                   "data-type": {
779                                                        "uint16": {
780                                                             "range": "0..65535"
781                                                        }
782                                                   },
783                                                   "properties": []
784                                              },
785                                              {
786                                                   "name": "destination-port",
787                                                   "type": "leaf",
788                                                   "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
789                                                   "cardinality": "0..1",
790                                                   "data-type": {
791                                                        "uint16": {
792                                                             "range": "0..65535"
793                                                        }
794                                                   },
795                                                   "properties": []
796                                              }
797                                         ],
798                                         "key": [
799                                              "id"
800                                         ]
801                                    }
802                               ],
803                               "key": [
804                                    "id"
805                               ]
806                          }
807                     ],
808                     "key": [
809                          "id"
810                     ]
811                },
812                {
813                     "name": "parameter-pool",
814                     "type": "list",
815                     "description": "Pool of parameter values which must be pulled from during configuration",
816                     "cardinality": "0..N",
817                     "properties": [
818                          {
819                               "name": "name",
820                               "type": "leaf",
821                               "description": "Name of the configuration value pool",
822                               "cardinality": "0..1",
823                               "data-type": "string",
824                               "properties": []
825                          },
826                          {
827                               "name": "range",
828                               "type": "container",
829                               "description": "Create a range of values to populate the pool with",
830                               "cardinality": "0..1",
831                               "properties": [
832                                    {
833                                         "name": "start-value",
834                                         "type": "leaf",
835                                         "description": "Generated pool values start at this value",
836                                         "cardinality": "1",
837                                         "data-type": "uint32",
838                                         "properties": []
839                                    },
840                                    {
841                                         "name": "end-value",
842                                         "type": "leaf",
843                                         "description": "Generated pool values stop at this value",
844                                         "cardinality": "1",
845                                         "data-type": "uint32",
846                                         "properties": []
847                                    }
848                               ]
849                          }
850                     ],
851                     "key": [
852                          "name"
853                     ]
854                },
855                {
856                     "name": "http-endpoint",
857                     "type": "list",
858                     "description": "List of http endpoints to be used by monitoring params",
859                     "cardinality": "0..N",
860                     "properties": [
861                          {
862                               "name": "path",
863                               "type": "leaf",
864                               "description": "The HTTP path on the management server",
865                               "cardinality": "0..1",
866                               "data-type": "string",
867                               "properties": []
868                          },
869                          {
870                               "name": "https",
871                               "type": "leaf",
872                               "description": "Pick HTTPS instead of HTTP , Default is false",
873                               "cardinality": "0..1",
874                               "data-type": "boolean",
875                               "properties": []
876                          },
877                          {
878                               "name": "port",
879                               "type": "leaf",
880                               "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
881                               "cardinality": "0..1",
882                               "data-type": {
883                                    "uint16": {
884                                         "range": "0..65535"
885                                    }
886                               },
887                               "properties": []
888                          },
889                          {
890                               "name": "username",
891                               "type": "leaf",
892                               "description": "The HTTP basic auth username",
893                               "cardinality": "0..1",
894                               "data-type": "string",
895                               "properties": []
896                          },
897                          {
898                               "name": "password",
899                               "type": "leaf",
900                               "description": "The HTTP basic auth password",
901                               "cardinality": "0..1",
902                               "data-type": "string",
903                               "properties": []
904                          },
905                          {
906                               "name": "polling_interval_secs",
907                               "type": "leaf",
908                               "description": "The HTTP polling interval in seconds",
909                               "cardinality": "0..1",
910                               "data-type": "uint8",
911                               "properties": []
912                          },
913                          {
914                               "name": "method",
915                               "type": "leaf",
916                               "description": "Type of HTTP operation",
917                               "cardinality": "0..1",
918                               "data-type": {
919                                    "enumeration": {
920                                         "enum": {
921                                              "POST": {
922                                                   "value": 0
923                                              },
924                                              "PUT": {
925                                                   "value": 1
926                                              },
927                                              "GET": {
928                                                   "value": 2
929                                              },
930                                              "DELETE": {
931                                                   "value": 3
932                                              },
933                                              "OPTIONS": {
934                                                   "value": 4
935                                              },
936                                              "PATCH": {
937                                                   "value": 5
938                                              }
939                                         }
940                                    }
941                               },
942                               "properties": []
943                          },
944                          {
945                               "name": "headers",
946                               "type": "list",
947                               "description": "Custom HTTP headers to put on HTTP request",
948                               "cardinality": "0..N",
949                               "properties": [
950                                    {
951                                         "name": "key",
952                                         "type": "leaf",
953                                         "description": "HTTP header key",
954                                         "cardinality": "0..1",
955                                         "data-type": "string",
956                                         "properties": []
957                                    },
958                                    {
959                                         "name": "value",
960                                         "type": "leaf",
961                                         "description": "HTTP header value",
962                                         "cardinality": "0..1",
963                                         "data-type": "string",
964                                         "properties": []
965                                    }
966                               ],
967                               "key": [
968                                    "key"
969                               ]
970                          }
971                     ],
972                     "key": [
973                          "path"
974                     ]
975                },
976                {
977                     "name": "monitoring-param",
978                     "type": "list",
979                     "description": "List of monitoring parameters at the NS level",
980                     "cardinality": "0..N",
981                     "properties": [
982                          {
983                               "name": "id",
984                               "type": "leaf",
985                               "cardinality": "0..1",
986                               "data-type": "string",
987                               "properties": []
988                          },
989                          {
990                               "name": "name",
991                               "type": "leaf",
992                               "cardinality": "0..1",
993                               "data-type": "string",
994                               "properties": []
995                          },
996                          {
997                               "name": "http-endpoint-ref",
998                               "type": "leaf",
999                               "cardinality": "0..1",
1000                               "data-type": {
1001                                    "leafref": {
1002                                         "path": "../../http-endpoint/path"
1003                                    }
1004                               },
1005                               "properties": []
1006                          },
1007                          {
1008                               "name": "json-query-method",
1009                               "type": "leaf",
1010                               "description": "The method to extract a value from a JSON response NAMEKEY - Use the name as the key for a non-nested value. JSONPATH - Use jsonpath-rw implemenation to extract a value. OBJECTPATH - Use objectpath implemenation to extract a value.",
1011                               "cardinality": "0..1",
1012                               "data-type": {
1013                                    "enumeration": {
1014                                         "enum": {
1015                                              "NAMEKEY": {
1016                                                   "value": 0
1017                                              },
1018                                              "JSONPATH": {
1019                                                   "value": 1
1020                                              },
1021                                              "OBJECTPATH": {
1022                                                   "value": 2
1023                                              }
1024                                         }
1025                                    }
1026                               },
1027                               "properties": []
1028                          },
1029                          {
1030                               "name": "description",
1031                               "type": "leaf",
1032                               "cardinality": "0..1",
1033                               "data-type": "string",
1034                               "properties": []
1035                          },
1036                          {
1037                               "name": "group-tag",
1038                               "type": "leaf",
1039                               "description": "A simple tag to group monitoring parameters",
1040                               "cardinality": "0..1",
1041                               "data-type": "string",
1042                               "properties": []
1043                          },
1044                          {
1045                               "name": "value-type",
1046                               "type": "leaf",
1047                               "description": "The type of the parameter value",
1048                               "cardinality": "0..1",
1049                               "data-type": {
1050                                    "enumeration": {
1051                                         "enum": {
1052                                              "INT": {
1053                                                   "value": 0
1054                                              },
1055                                              "DECIMAL": {
1056                                                   "value": 1
1057                                              },
1058                                              "STRING": {
1059                                                   "value": 2
1060                                              }
1061                                         }
1062                                    }
1063                               },
1064                               "properties": []
1065                          },
1066                          {
1067                               "name": "value-integer",
1068                               "type": "leaf",
1069                               "description": "Current value for an integer parameter",
1070                               "cardinality": "0..1",
1071                               "data-type": "int64",
1072                               "properties": []
1073                          },
1074                          {
1075                               "name": "value-decimal",
1076                               "type": "leaf",
1077                               "description": "Current value for a decimal parameter",
1078                               "cardinality": "0..1",
1079                               "data-type": {
1080                                    "decimal64": {
1081                                         "fraction-digits": "4"
1082                                    }
1083                               },
1084                               "properties": []
1085                          },
1086                          {
1087                               "name": "value-string",
1088                               "type": "leaf",
1089                               "description": "Current value for a string parameter",
1090                               "cardinality": "0..1",
1091                               "data-type": "string",
1092                               "properties": []
1093                          },
1094                          {
1095                               "name": "widget-type",
1096                               "type": "leaf",
1097                               "description": "Type of the widget, typically used by the UI.",
1098                               "cardinality": "0..1",
1099                               "data-type": {
1100                                    "enumeration": {
1101                                         "enum": {
1102                                              "HISTOGRAM": {
1103                                                   "value": 0
1104                                              },
1105                                              "BAR": {
1106                                                   "value": 1
1107                                              },
1108                                              "GAUGE": {
1109                                                   "value": 2
1110                                              },
1111                                              "SLIDER": {
1112                                                   "value": 3
1113                                              },
1114                                              "COUNTER": {
1115                                                   "value": 4
1116                                              },
1117                                              "TEXTBOX": {
1118                                                   "value": 5
1119                                              }
1120                                         }
1121                                    }
1122                               },
1123                               "properties": []
1124                          },
1125                          {
1126                               "name": "units",
1127                               "type": "leaf",
1128                               "cardinality": "0..1",
1129                               "data-type": "string",
1130                               "properties": []
1131                          },
1132                          {
1133                               "name": "json-query-params",
1134                               "type": "container",
1135                               "cardinality": "0..1",
1136                               "properties": [
1137                                    {
1138                                         "name": "json-path",
1139                                         "type": "leaf",
1140                                         "description": "The jsonpath to use to extract value from JSON structure",
1141                                         "cardinality": "0..1",
1142                                         "data-type": "string",
1143                                         "properties": []
1144                                    },
1145                                    {
1146                                         "name": "object-path",
1147                                         "type": "leaf",
1148                                         "description": "The objectpath to use to extract value from JSON structure",
1149                                         "cardinality": "0..1",
1150                                         "data-type": "string",
1151                                         "properties": []
1152                                    }
1153                               ]
1154                          },
1155                          {
1156                               "name": "numeric-constraints",
1157                               "type": "container",
1158                               "cardinality": "0..1",
1159                               "properties": [
1160                                    {
1161                                         "name": "min-value",
1162                                         "type": "leaf",
1163                                         "description": "Minimum value for the parameter",
1164                                         "cardinality": "0..1",
1165                                         "data-type": "uint64",
1166                                         "properties": []
1167                                    },
1168                                    {
1169                                         "name": "max-value",
1170                                         "type": "leaf",
1171                                         "description": "Maxium value for the parameter",
1172                                         "cardinality": "0..1",
1173                                         "data-type": "uint64",
1174                                         "properties": []
1175                                    }
1176                               ]
1177                          },
1178                          {
1179                               "name": "text-constraints",
1180                               "type": "container",
1181                               "cardinality": "0..1",
1182                               "properties": [
1183                                    {
1184                                         "name": "min-length",
1185                                         "type": "leaf",
1186                                         "description": "Minimum string length for the parameter",
1187                                         "cardinality": "0..1",
1188                                         "data-type": "uint8",
1189                                         "properties": []
1190                                    },
1191                                    {
1192                                         "name": "max-length",
1193                                         "type": "leaf",
1194                                         "description": "Maximum string length for the parameter",
1195                                         "cardinality": "0..1",
1196                                         "data-type": "uint8",
1197                                         "properties": []
1198                                    }
1199                               ]
1200                          }
1201                     ],
1202                     "key": [
1203                          "id"
1204                     ]
1205                },
1206                {
1207                     "name": "input-parameter-xpath",
1208                     "type": "list",
1209                     "description": "List of xpaths to parameters inside the NSD the can be customized during the instantiation.",
1210                     "cardinality": "0..N",
1211                     "properties": [
1212                          {
1213                               "name": "xpath",
1214                               "type": "leaf",
1215                               "description": "An xpath that specifies the element in a descriptor.",
1216                               "cardinality": "0..1",
1217                               "data-type": "string",
1218                               "properties": []
1219                          },
1220                          {
1221                               "name": "label",
1222                               "type": "leaf",
1223                               "description": "A descriptive string",
1224                               "cardinality": "0..1",
1225                               "data-type": "string",
1226                               "properties": []
1227                          },
1228                          {
1229                               "name": "default-value",
1230                               "type": "leaf",
1231                               "description": " A default value for this input parameter",
1232                               "cardinality": "0..1",
1233                               "data-type": "string",
1234                               "properties": []
1235                          }
1236                     ],
1237                     "key": [
1238                          "xpath"
1239                     ]
1240                },
1241                {
1242                     "name": "config-primitive",
1243                     "type": "list",
1244                     "description": "Network service level configuration primitives.",
1245                     "cardinality": "0..N",
1246                     "properties": [
1247                          {
1248                               "name": "name",
1249                               "type": "leaf",
1250                               "description": "Name of the configuration primitive.",
1251                               "cardinality": "0..1",
1252                               "data-type": "string",
1253                               "properties": []
1254                          },
1255                          {
1256                               "name": "user-defined-script",
1257                               "type": "leaf",
1258                               "description": "A user defined script.",
1259                               "cardinality": "0..1",
1260                               "data-type": "string",
1261                               "properties": []
1262                          },
1263                          {
1264                               "name": "parameter",
1265                               "type": "list",
1266                               "description": "List of parameters to the configuration primitive.",
1267                               "cardinality": "0..N",
1268                               "properties": [
1269                                    {
1270                                         "name": "name",
1271                                         "type": "leaf",
1272                                         "description": "Name of the parameter.",
1273                                         "cardinality": "0..1",
1274                                         "data-type": "string",
1275                                         "properties": []
1276                                    },
1277                                    {
1278                                         "name": "data-type",
1279                                         "type": "leaf",
1280                                         "description": "Data type associated with the name.",
1281                                         "cardinality": "0..1",
1282                                         "data-type": {
1283                                              "enumeration": {
1284                                                   "enum": {
1285                                                        "STRING": {
1286                                                             "value": 0
1287                                                        },
1288                                                        "INTEGER": {
1289                                                             "value": 1
1290                                                        },
1291                                                        "BOOLEAN": {
1292                                                             "value": 2
1293                                                        }
1294                                                   }
1295                                              }
1296                                         },
1297                                         "properties": []
1298                                    },
1299                                    {
1300                                         "name": "mandatory",
1301                                         "type": "leaf",
1302                                         "description": "Is this field mandatory",
1303                                         "cardinality": "0..1",
1304                                         "data-type": "boolean",
1305                                         "properties": []
1306                                    },
1307                                    {
1308                                         "name": "default-value",
1309                                         "type": "leaf",
1310                                         "description": "The default value for this field",
1311                                         "cardinality": "0..1",
1312                                         "data-type": "string",
1313                                         "properties": []
1314                                    },
1315                                    {
1316                                         "name": "parameter-pool",
1317                                         "type": "leaf",
1318                                         "description": "NSD Parameter pool name to use for this paramter",
1319                                         "cardinality": "0..1",
1320                                         "data-type": "string",
1321                                         "properties": []
1322                                    },
1323                                    {
1324                                         "name": "read-only",
1325                                         "type": "leaf",
1326                                         "description": "The value should be greyed out by the UI. Only applies to parameters with default values.",
1327                                         "cardinality": "0..1",
1328                                         "data-type": "boolean",
1329                                         "properties": []
1330                                    },
1331                                    {
1332                                         "name": "hidden",
1333                                         "type": "leaf",
1334                                         "description": "The value should be hidden by the UI. Only applies to parameters with default values.",
1335                                         "cardinality": "0..1",
1336                                         "data-type": "boolean",
1337                                         "properties": []
1338                                    }
1339                               ],
1340                               "key": [
1341                                    "name"
1342                               ]
1343                          },
1344                          {
1345                               "name": "parameter-group",
1346                               "type": "list",
1347                               "description": "Grouping of parameters which are logically grouped in UI",
1348                               "cardinality": "0..N",
1349                               "properties": [
1350                                    {
1351                                         "name": "name",
1352                                         "type": "leaf",
1353                                         "description": "Name of the parameter group",
1354                                         "cardinality": "0..1",
1355                                         "data-type": "string",
1356                                         "properties": []
1357                                    },
1358                                    {
1359                                         "name": "mandatory",
1360                                         "type": "leaf",
1361                                         "description": "Is this parameter group mandatory",
1362                                         "cardinality": "0..1",
1363                                         "data-type": "boolean",
1364                                         "properties": []
1365                                    },
1366                                    {
1367                                         "name": "parameter",
1368                                         "type": "list",
1369                                         "description": "List of parameters to the configuration primitive.",
1370                                         "cardinality": "0..N",
1371                                         "properties": [
1372                                              {
1373                                                   "name": "name",
1374                                                   "type": "leaf",
1375                                                   "description": "Name of the parameter.",
1376                                                   "cardinality": "0..1",
1377                                                   "data-type": "string",
1378                                                   "properties": []
1379                                              },
1380                                              {
1381                                                   "name": "data-type",
1382                                                   "type": "leaf",
1383                                                   "description": "Data type associated with the name.",
1384                                                   "cardinality": "0..1",
1385                                                   "data-type": {
1386                                                        "enumeration": {
1387                                                             "enum": {
1388                                                                  "STRING": {
1389                                                                       "value": 0
1390                                                                  },
1391                                                                  "INTEGER": {
1392                                                                       "value": 1
1393                                                                  },
1394                                                                  "BOOLEAN": {
1395                                                                       "value": 2
1396                                                                  }
1397                                                             }
1398                                                        }
1399                                                   },
1400                                                   "properties": []
1401                                              },
1402                                              {
1403                                                   "name": "mandatory",
1404                                                   "type": "leaf",
1405                                                   "description": "Is this field mandatory",
1406                                                   "cardinality": "0..1",
1407                                                   "data-type": "boolean",
1408                                                   "properties": []
1409                                              },
1410                                              {
1411                                                   "name": "default-value",
1412                                                   "type": "leaf",
1413                                                   "description": "The default value for this field",
1414                                                   "cardinality": "0..1",
1415                                                   "data-type": "string",
1416                                                   "properties": []
1417                                              },
1418                                              {
1419                                                   "name": "parameter-pool",
1420                                                   "type": "leaf",
1421                                                   "description": "NSD Parameter pool name to use for this paramter",
1422                                                   "cardinality": "0..1",
1423                                                   "data-type": "string",
1424                                                   "properties": []
1425                                              },
1426                                              {
1427                                                   "name": "read-only",
1428                                                   "type": "leaf",
1429                                                   "description": "The value should be greyed out by the UI. Only applies to parameters with default values.",
1430                                                   "cardinality": "0..1",
1431                                                   "data-type": "boolean",
1432                                                   "properties": []
1433                                              },
1434                                              {
1435                                                   "name": "hidden",
1436                                                   "type": "leaf",
1437                                                   "description": "The value should be hidden by the UI. Only applies to parameters with default values.",
1438                                                   "cardinality": "0..1",
1439                                                   "data-type": "boolean",
1440                                                   "properties": []
1441                                              }
1442                                         ],
1443                                         "key": [
1444                                              "name"
1445                                         ]
1446                                    }
1447                               ],
1448                               "key": [
1449                                    "name"
1450                               ]
1451                          },
1452                          {
1453                               "name": "vnf-primitive-group",
1454                               "type": "list",
1455                               "description": "List of configuration primitives grouped by VNF.",
1456                               "cardinality": "0..N",
1457                               "properties": [
1458                                    {
1459                                         "name": "member-vnf-index-ref",
1460                                         "type": "leaf",
1461                                         "description": "Reference to member-vnf within constituent-vnfds",
1462                                         "cardinality": "0..1",
1463                                         "data-type": "uint64",
1464                                         "properties": []
1465                                    },
1466                                    {
1467                                         "name": "vnfd-id-ref",
1468                                         "type": "leaf",
1469                                         "description": "A reference to a vnfd. This is a leafref to path: ../../../../nsd:constituent-vnfd + [nsd:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref NOTE: An issue with confd is preventing the use of xpath. Seems to be an issue with leafref to leafref, whose target is in a different module. Once that is resovled this will switched to use leafref",
1470                                         "cardinality": "0..1",
1471                                         "data-type": "string",
1472                                         "properties": []
1473                                    },
1474                                    {
1475                                         "name": "vnfd-name",
1476                                         "type": "leaf",
1477                                         "description": "Name of the VNFD",
1478                                         "cardinality": "0..1",
1479                                         "data-type": "string",
1480                                         "properties": []
1481                                    },
1482                                    {
1483                                         "name": "primitive",
1484                                         "type": "list",
1485                                         "cardinality": "0..N",
1486                                         "properties": [
1487                                              {
1488                                                   "name": "index",
1489                                                   "type": "leaf",
1490                                                   "description": "Index of this primitive",
1491                                                   "cardinality": "0..1",
1492                                                   "data-type": "uint32",
1493                                                   "properties": []
1494                                              },
1495                                              {
1496                                                   "name": "name",
1497                                                   "type": "leaf",
1498                                                   "description": "Name of the primitive in the VNF primitive ",
1499                                                   "cardinality": "0..1",
1500                                                   "data-type": "string",
1501                                                   "properties": []
1502                                              }
1503                                         ],
1504                                         "key": [
1505                                              "index"
1506                                         ]
1507                                    }
1508                               ],
1509                               "key": [
1510                                    "member-vnf-index-ref"
1511                               ]
1512                          }
1513                     ],
1514                     "key": [
1515                          "name"
1516                     ]
1517                }
1518           ],
1519           "key": [
1520                "id"
1521           ]
1522      },
1523      "vnfd": {
1524           "name": "vnfd",
1525           "type": "list",
1526           "cardinality": "0..N",
1527           "properties": [
1528                {
1529                     "name": "id",
1530                     "type": "leaf",
1531                     "description": "Identifier for the VNFD.",
1532                     "cardinality": "0..1",
1533                     "data-type": "string",
1534                     "properties": []
1535                },
1536                {
1537                     "name": "name",
1538                     "type": "leaf",
1539                     "description": "VNFD name.",
1540                     "cardinality": "1",
1541                     "data-type": "string",
1542                     "properties": []
1543                },
1544                {
1545                     "name": "short-name",
1546                     "type": "leaf",
1547                     "description": "VNFD short name.",
1548                     "cardinality": "0..1",
1549                     "data-type": "string",
1550                     "properties": []
1551                },
1552                {
1553                     "name": "vendor",
1554                     "type": "leaf",
1555                     "description": "Vendor of the VNFD.",
1556                     "cardinality": "0..1",
1557                     "data-type": "string",
1558                     "properties": []
1559                },
1560                {
1561                     "name": "logo",
1562                     "type": "leaf",
1563                     "description": "Vendor logo for the Virtual Network Function",
1564                     "cardinality": "0..1",
1565                     "data-type": "string",
1566                     "properties": []
1567                },
1568                {
1569                     "name": "description",
1570                     "type": "leaf",
1571                     "description": "Description of the VNFD.",
1572                     "cardinality": "0..1",
1573                     "data-type": "string",
1574                     "properties": []
1575                },
1576                {
1577                     "name": "version",
1578                     "type": "leaf",
1579                     "description": "Version of the VNFD",
1580                     "cardinality": "0..1",
1581                     "data-type": "string",
1582                     "properties": []
1583                },
1584                {
1585                     "name": "service-function-chain",
1586                     "type": "leaf",
1587                     "description": "Type of node in Service Function Chaining Architecture",
1588                     "cardinality": "0..1",
1589                     "data-type": {
1590                          "enumeration": {
1591                               "enum": {
1592                                    "UNAWARE": null,
1593                                    "CLASSIFIER": null,
1594                                    "SF": null,
1595                                    "SFF": null
1596                               }
1597                          }
1598                     },
1599                     "properties": []
1600                },
1601                {
1602                     "name": "service-function-type",
1603                     "type": "leaf",
1604                     "description": "Type of Service Function. NOTE: This needs to map with Service Function Type in ODL to support VNFFG. Service Function Type is manadatory param in ODL SFC. This is temporarily set to string for ease of use",
1605                     "cardinality": "0..1",
1606                     "data-type": "string",
1607                     "properties": []
1608                },
1609                {
1610                     "name": "meta",
1611                     "type": "leaf",
1612                     "description": "Any meta-data needed by the UI",
1613                     "cardinality": "0..1",
1614                     "data-type": "string",
1615                     "properties": []
1616                },
1617                {
1618                     "name": "mgmt-interface",
1619                     "type": "container",
1620                     "description": "Interface over which the VNF is managed.",
1621                     "cardinality": "0..1",
1622                     "properties": [
1623                          {
1624                               "name": "endpoint-type",
1625                               "type": "choice",
1626                               "description": "Indicates the type of management endpoint.",
1627                               "cardinality": "0..1",
1628                               "properties": [
1629                                    {
1630                                         "name": "ip",
1631                                         "type": "case",
1632                                         "description": "Specifies the static IP address for managing the VNF.",
1633                                         "cardinality": "0..1",
1634                                         "properties": [
1635                                              {
1636                                                   "name": "ip-address",
1637                                                   "type": "leaf",
1638                                                   "description": "The ip-address type represents an IP address and is IP version neutral. The format of the textual representation implies the IP version. This type supports scoped addresses by allowing zone identifiers in the address format.",
1639                                                   "cardinality": "0..1",
1640                                                   "data-type": {
1641                                                        "union": {
1642                                                             "type": {
1643                                                                  "inet:ipv4-address": null,
1644                                                                  "inet:ipv6-address": null
1645                                                             }
1646                                                        }
1647                                                   },
1648                                                   "properties": []
1649                                              }
1650                                         ]
1651                                    },
1652                                    {
1653                                         "name": "vdu-id",
1654                                         "type": "case",
1655                                         "description": "Use the default management interface on this VDU.",
1656                                         "cardinality": "0..1",
1657                                         "properties": [
1658                                              {
1659                                                   "name": "vdu-id",
1660                                                   "type": "leaf",
1661                                                   "cardinality": "0..1",
1662                                                   "data-type": {
1663                                                        "leafref": {
1664                                                             "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:id"
1665                                                        }
1666                                                   },
1667                                                   "properties": []
1668                                              }
1669                                         ]
1670                                    },
1671                                    {
1672                                         "name": "cp",
1673                                         "type": "case",
1674                                         "description": "Use the ip address associated with this connection point.",
1675                                         "cardinality": "0..1",
1676                                         "properties": [
1677                                              {
1678                                                   "name": "cp",
1679                                                   "type": "leaf",
1680                                                   "cardinality": "0..1",
1681                                                   "data-type": {
1682                                                        "leafref": {
1683                                                             "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:connection-point/vnfd:name"
1684                                                        }
1685                                                   },
1686                                                   "properties": []
1687                                              }
1688                                         ]
1689                                    }
1690                               ]
1691                          },
1692                          {
1693                               "name": "port",
1694                               "type": "leaf",
1695                               "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
1696                               "cardinality": "0..1",
1697                               "data-type": {
1698                                    "uint16": {
1699                                         "range": "0..65535"
1700                                    }
1701                               },
1702                               "properties": []
1703                          },
1704                          {
1705                               "name": "dashboard-params",
1706                               "type": "container",
1707                               "description": "Parameters for the VNF dashboard",
1708                               "cardinality": "0..1",
1709                               "properties": [
1710                                    {
1711                                         "name": "path",
1712                                         "type": "leaf",
1713                                         "description": "The HTTP path for the dashboard",
1714                                         "cardinality": "0..1",
1715                                         "data-type": "string",
1716                                         "properties": []
1717                                    },
1718                                    {
1719                                         "name": "https",
1720                                         "type": "leaf",
1721                                         "description": "Pick HTTPS instead of HTTP , Default is false",
1722                                         "cardinality": "0..1",
1723                                         "data-type": "boolean",
1724                                         "properties": []
1725                                    },
1726                                    {
1727                                         "name": "port",
1728                                         "type": "leaf",
1729                                         "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
1730                                         "cardinality": "0..1",
1731                                         "data-type": {
1732                                              "uint16": {
1733                                                   "range": "0..65535"
1734                                              }
1735                                         },
1736                                         "properties": []
1737                                    }
1738                               ]
1739                          },
1740                          {
1741                               "name": "vnf-configuration",
1742                               "type": "container",
1743                               "description": "Information regarding the VNF configuration is captured here. ",
1744                               "cardinality": "0..1",
1745                               "properties": [
1746                                    {
1747                                         "name": "config-method",
1748                                         "type": "choice",
1749                                         "description": "Defines the configuration method for the VNF.",
1750                                         "cardinality": "0..1",
1751                                         "properties": [
1752                                              {
1753                                                   "name": "netconf",
1754                                                   "type": "case",
1755                                                   "description": "Use NETCONF for configuring the VNF.",
1756                                                   "cardinality": "0..1",
1757                                                   "properties": [
1758                                                        {
1759                                                             "name": "netconf",
1760                                                             "type": "container",
1761                                                             "cardinality": "0..1",
1762                                                             "properties": [
1763                                                                  {
1764                                                                       "name": "target",
1765                                                                       "type": "leaf",
1766                                                                       "description": "Netconf configuration target",
1767                                                                       "cardinality": "0..1",
1768                                                                       "data-type": {
1769                                                                            "enumeration": {
1770                                                                                 "enum": {
1771                                                                                      "running": {
1772                                                                                           "value": 0
1773                                                                                      },
1774                                                                                      "candidate": {
1775                                                                                           "value": 1
1776                                                                                      }
1777                                                                                 }
1778                                                                            }
1779                                                                       },
1780                                                                       "properties": []
1781                                                                  },
1782                                                                  {
1783                                                                       "name": "protocol",
1784                                                                       "type": "leaf",
1785                                                                       "description": "Protocol to use for netconf (e.g. ssh)",
1786                                                                       "cardinality": "0..1",
1787                                                                       "data-type": {
1788                                                                            "enumeration": {
1789                                                                                 "enum": {
1790                                                                                      "None": {
1791                                                                                           "value": 0
1792                                                                                      },
1793                                                                                      "ssh": {
1794                                                                                           "value": 1
1795                                                                                      }
1796                                                                                 }
1797                                                                            }
1798                                                                       },
1799                                                                       "properties": []
1800                                                                  },
1801                                                                  {
1802                                                                       "name": "port",
1803                                                                       "type": "leaf",
1804                                                                       "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
1805                                                                       "cardinality": "0..1",
1806                                                                       "data-type": {
1807                                                                            "uint16": {
1808                                                                                 "range": "0..65535"
1809                                                                            }
1810                                                                       },
1811                                                                       "properties": []
1812                                                                  }
1813                                                             ]
1814                                                        }
1815                                                   ]
1816                                              },
1817                                              {
1818                                                   "name": "rest",
1819                                                   "type": "case",
1820                                                   "description": "Use REST for configuring the VNF.",
1821                                                   "cardinality": "0..1",
1822                                                   "properties": [
1823                                                        {
1824                                                             "name": "rest",
1825                                                             "type": "container",
1826                                                             "cardinality": "0..1",
1827                                                             "properties": [
1828                                                                  {
1829                                                                       "name": "port",
1830                                                                       "type": "leaf",
1831                                                                       "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
1832                                                                       "cardinality": "0..1",
1833                                                                       "data-type": {
1834                                                                            "uint16": {
1835                                                                                 "range": "0..65535"
1836                                                                            }
1837                                                                       },
1838                                                                       "properties": []
1839                                                                  }
1840                                                             ]
1841                                                        }
1842                                                   ]
1843                                              },
1844                                              {
1845                                                   "name": "script",
1846                                                   "type": "case",
1847                                                   "description": "Use custom script for configuring the VNF. This script is executed in the context of Orchestrator.",
1848                                                   "cardinality": "0..1",
1849                                                   "properties": [
1850                                                        {
1851                                                             "name": "script",
1852                                                             "type": "container",
1853                                                             "cardinality": "0..1",
1854                                                             "properties": [
1855                                                                  {
1856                                                                       "name": "script-type",
1857                                                                       "type": "leaf",
1858                                                                       "description": "Script type - currently supported : bash, expect",
1859                                                                       "cardinality": "0..1",
1860                                                                       "data-type": {
1861                                                                            "enumeration": {
1862                                                                                 "enum": {
1863                                                                                      "bash": {
1864                                                                                           "value": 0
1865                                                                                      },
1866                                                                                      "expect": {
1867                                                                                           "value": 1
1868                                                                                      }
1869                                                                                 }
1870                                                                            }
1871                                                                       },
1872                                                                       "properties": []
1873                                                                  }
1874                                                             ]
1875                                                        }
1876                                                   ]
1877                                              },
1878                                              {
1879                                                   "name": "juju",
1880                                                   "type": "case",
1881                                                   "description": "Configure the VNF through Juju.",
1882                                                   "cardinality": "0..1",
1883                                                   "properties": [
1884                                                        {
1885                                                             "name": "juju",
1886                                                             "type": "container",
1887                                                             "cardinality": "0..1",
1888                                                             "properties": [
1889                                                                  {
1890                                                                       "name": "charm",
1891                                                                       "type": "leaf",
1892                                                                       "description": "Juju charm to use with the VNF.",
1893                                                                       "cardinality": "0..1",
1894                                                                       "data-type": "string",
1895                                                                       "properties": []
1896                                                                  }
1897                                                             ]
1898                                                        }
1899                                                   ]
1900                                              }
1901                                         ]
1902                                    },
1903                                    {
1904                                         "name": "config-access",
1905                                         "type": "container",
1906                                         "cardinality": "0..1",
1907                                         "properties": [
1908                                              {
1909                                                   "name": "mgmt-ip-address",
1910                                                   "type": "leaf",
1911                                                   "description": "The ip-address type represents an IP address and is IP version neutral. The format of the textual representation implies the IP version. This type supports scoped addresses by allowing zone identifiers in the address format.",
1912                                                   "cardinality": "0..1",
1913                                                   "data-type": {
1914                                                        "union": {
1915                                                             "type": {
1916                                                                  "inet:ipv4-address": null,
1917                                                                  "inet:ipv6-address": null
1918                                                             }
1919                                                        }
1920                                                   },
1921                                                   "properties": []
1922                                              },
1923                                              {
1924                                                   "name": "username",
1925                                                   "type": "leaf",
1926                                                   "description": "username for configuration.",
1927                                                   "cardinality": "0..1",
1928                                                   "data-type": "string",
1929                                                   "properties": []
1930                                              },
1931                                              {
1932                                                   "name": "password",
1933                                                   "type": "leaf",
1934                                                   "description": "Password for configuration access authentication.",
1935                                                   "cardinality": "0..1",
1936                                                   "data-type": "string",
1937                                                   "properties": []
1938                                              }
1939                                         ]
1940                                    },
1941                                    {
1942                                         "name": "config-attributes",
1943                                         "type": "container",
1944                                         "description": "Miscelaneous input parameters to be considered while processing the NSD to apply configuration",
1945                                         "cardinality": "0..1",
1946                                         "properties": [
1947                                              {
1948                                                   "name": "config-priority",
1949                                                   "type": "leaf",
1950                                                   "description": "Configuration priority - order of confgiration to be applied to each VNF in this NS, low number gets precedence over high number",
1951                                                   "cardinality": "0..1",
1952                                                   "data-type": "uint64",
1953                                                   "properties": []
1954                                              },
1955                                              {
1956                                                   "name": "config-delay",
1957                                                   "type": "leaf",
1958                                                   "description": "Wait (seconds) before applying the configuration to VNF",
1959                                                   "cardinality": "0..1",
1960                                                   "data-type": "uint64",
1961                                                   "properties": []
1962                                              }
1963                                         ]
1964                                    },
1965                                    {
1966                                         "name": "config-primitive",
1967                                         "type": "list",
1968                                         "description": "List of configuration primitives supported by the configuration agent for this VNF.",
1969                                         "cardinality": "0..N",
1970                                         "properties": [
1971                                              {
1972                                                   "name": "name",
1973                                                   "type": "leaf",
1974                                                   "description": "Name of the configuration primitive.",
1975                                                   "cardinality": "0..1",
1976                                                   "data-type": "string",
1977                                                   "properties": []
1978                                              },
1979                                              {
1980                                                   "name": "parameter",
1981                                                   "type": "list",
1982                                                   "description": "List of parameters to the configuration primitive.",
1983                                                   "cardinality": "0..N",
1984                                                   "properties": [
1985                                                        {
1986                                                             "name": "name",
1987                                                             "type": "leaf",
1988                                                             "description": "Name of the parameter.",
1989                                                             "cardinality": "0..1",
1990                                                             "data-type": "string",
1991                                                             "properties": []
1992                                                        },
1993                                                        {
1994                                                             "name": "data-type",
1995                                                             "type": "leaf",
1996                                                             "description": "Data type associated with the name.",
1997                                                             "cardinality": "0..1",
1998                                                             "data-type": {
1999                                                                  "enumeration": {
2000                                                                       "enum": {
2001                                                                            "STRING": {
2002                                                                                 "value": 0
2003                                                                            },
2004                                                                            "INTEGER": {
2005                                                                                 "value": 1
2006                                                                            },
2007                                                                            "BOOLEAN": {
2008                                                                                 "value": 2
2009                                                                            }
2010                                                                       }
2011                                                                  }
2012                                                             },
2013                                                             "properties": []
2014                                                        },
2015                                                        {
2016                                                             "name": "mandatory",
2017                                                             "type": "leaf",
2018                                                             "description": "Is this field mandatory",
2019                                                             "cardinality": "0..1",
2020                                                             "data-type": "boolean",
2021                                                             "properties": []
2022                                                        },
2023                                                        {
2024                                                             "name": "default-value",
2025                                                             "type": "leaf",
2026                                                             "description": "The default value for this field",
2027                                                             "cardinality": "0..1",
2028                                                             "data-type": "string",
2029                                                             "properties": []
2030                                                        },
2031                                                        {
2032                                                             "name": "parameter-pool",
2033                                                             "type": "leaf",
2034                                                             "description": "NSD Parameter pool name to use for this paramter",
2035                                                             "cardinality": "0..1",
2036                                                             "data-type": "string",
2037                                                             "properties": []
2038                                                        },
2039                                                        {
2040                                                             "name": "read-only",
2041                                                             "type": "leaf",
2042                                                             "description": "The value should be greyed out by the UI. Only applies to parameters with default values.",
2043                                                             "cardinality": "0..1",
2044                                                             "data-type": "boolean",
2045                                                             "properties": []
2046                                                        },
2047                                                        {
2048                                                             "name": "hidden",
2049                                                             "type": "leaf",
2050                                                             "description": "The value should be hidden by the UI. Only applies to parameters with default values.",
2051                                                             "cardinality": "0..1",
2052                                                             "data-type": "boolean",
2053                                                             "properties": []
2054                                                        }
2055                                                   ],
2056                                                   "key": [
2057                                                        "name"
2058                                                   ]
2059                                              }
2060                                         ],
2061                                         "key": [
2062                                              "name"
2063                                         ]
2064                                    },
2065                                    {
2066                                         "name": "initial-config-primitive",
2067                                         "type": "list",
2068                                         "description": "Initial set of configuration primitives.",
2069                                         "cardinality": "0..N",
2070                                         "properties": [
2071                                              {
2072                                                   "name": "seq",
2073                                                   "type": "leaf",
2074                                                   "description": "Sequence number for the configuration primitive.",
2075                                                   "cardinality": "0..1",
2076                                                   "data-type": "uint64",
2077                                                   "properties": []
2078                                              },
2079                                              {
2080                                                   "name": "name",
2081                                                   "type": "leaf",
2082                                                   "description": "Name of the configuration primitive.",
2083                                                   "cardinality": "0..1",
2084                                                   "data-type": "string",
2085                                                   "properties": []
2086                                              },
2087                                              {
2088                                                   "name": "parameter",
2089                                                   "type": "list",
2090                                                   "cardinality": "0..N",
2091                                                   "properties": [
2092                                                        {
2093                                                             "name": "name",
2094                                                             "type": "leaf",
2095                                                             "cardinality": "0..1",
2096                                                             "data-type": "string",
2097                                                             "properties": []
2098                                                        },
2099                                                        {
2100                                                             "name": "value",
2101                                                             "type": "leaf",
2102                                                             "cardinality": "0..1",
2103                                                             "data-type": "string",
2104                                                             "properties": []
2105                                                        }
2106                                                   ],
2107                                                   "key": [
2108                                                        "name"
2109                                                   ]
2110                                              }
2111                                         ],
2112                                         "key": [
2113                                              "seq"
2114                                         ]
2115                                    },
2116                                    {
2117                                         "name": "config-template",
2118                                         "type": "leaf",
2119                                         "description": "Configuration template for each VNF",
2120                                         "cardinality": "0..1",
2121                                         "data-type": "string",
2122                                         "properties": []
2123                                    }
2124                               ]
2125                          }
2126                     ]
2127                },
2128                {
2129                     "name": "internal-vld",
2130                     "type": "list",
2131                     "description": "List of Internal Virtual Link Descriptors (VLD). The internal VLD describes the basic topology of the connectivity (e.g. E-LAN, E-Line, E-Tree) between internal VNF components of the system.",
2132                     "cardinality": "0..N",
2133                     "properties": [
2134                          {
2135                               "name": "id",
2136                               "type": "leaf",
2137                               "description": "Identifier for the VLD",
2138                               "cardinality": "0..1",
2139                               "data-type": "string",
2140                               "properties": []
2141                          },
2142                          {
2143                               "name": "name",
2144                               "type": "leaf",
2145                               "description": "Name of the internal VLD",
2146                               "cardinality": "0..1",
2147                               "data-type": "string",
2148                               "properties": []
2149                          },
2150                          {
2151                               "name": "short-name",
2152                               "type": "leaf",
2153                               "description": "Short name of the internal VLD",
2154                               "cardinality": "0..1",
2155                               "data-type": "string",
2156                               "properties": []
2157                          },
2158                          {
2159                               "name": "description",
2160                               "type": "leaf",
2161                               "cardinality": "0..1",
2162                               "data-type": "string",
2163                               "properties": []
2164                          },
2165                          {
2166                               "name": "type",
2167                               "type": "leaf",
2168                               "description": "Type of virtual link ELAN: A multipoint service connecting a set of VNFs // ELINE: For a simple point to point connection // between a VNF and the existing network. // ETREE: A multipoint service connecting one or // more roots and a set of leaves, but // preventing inter-leaf communication.",
2169                               "cardinality": "0..1",
2170                               "data-type": {
2171                                    "enumeration": {
2172                                         "enum": "ELAN"
2173                                    }
2174                               },
2175                               "properties": []
2176                          },
2177                          {
2178                               "name": "root-bandwidth",
2179                               "type": "leaf",
2180                               "description": "For ELAN this is the aggregate bandwidth.",
2181                               "cardinality": "0..1",
2182                               "data-type": "uint64",
2183                               "properties": []
2184                          },
2185                          {
2186                               "name": "leaf-bandwidth",
2187                               "type": "leaf",
2188                               "description": "For ELAN this is the bandwidth of branches.",
2189                               "cardinality": "0..1",
2190                               "data-type": "uint64",
2191                               "properties": []
2192                          },
2193                          {
2194                               "name": "internal-connection-point-ref",
2195                               "type": "leaf-list",
2196                               "cardinality": "0..N",
2197                               "data-type": {
2198                                    "leafref": {
2199                                         "path": "../../vdu/internal-connection-point/id"
2200                                    }
2201                               },
2202                               "properties": []
2203                          },
2204                          {
2205                               "name": "provider-network",
2206                               "type": "container",
2207                               "description": "Container for the provider network.",
2208                               "cardinality": "0..1",
2209                               "properties": [
2210                                    {
2211                                         "name": "physical-network",
2212                                         "type": "leaf",
2213                                         "description": "Name of the phsyical network on which the provider network is built.",
2214                                         "cardinality": "0..1",
2215                                         "data-type": "string",
2216                                         "properties": []
2217                                    },
2218                                    {
2219                                         "name": "overlay-type",
2220                                         "type": "leaf",
2221                                         "description": "Type of the overlay network.",
2222                                         "cardinality": "0..1",
2223                                         "data-type": {
2224                                              "enumeration": {
2225                                                   "enum": {
2226                                                        "LOCAL": {
2227                                                             "value": 0
2228                                                        },
2229                                                        "FLAT": {
2230                                                             "value": 1
2231                                                        },
2232                                                        "VLAN": {
2233                                                             "value": 2
2234                                                        },
2235                                                        "VXLAN": {
2236                                                             "value": 3
2237                                                        },
2238                                                        "GRE": {
2239                                                             "value": 4
2240                                                        }
2241                                                   }
2242                                              }
2243                                         },
2244                                         "properties": []
2245                                    },
2246                                    {
2247                                         "name": "segmentation_id",
2248                                         "type": "leaf",
2249                                         "description": "Segmentation ID",
2250                                         "cardinality": "0..1",
2251                                         "data-type": "uint32",
2252                                         "properties": []
2253                                    }
2254                               ]
2255                          }
2256                     ],
2257                     "key": [
2258                          "id"
2259                     ]
2260                },
2261                {
2262                     "name": "connection-point",
2263                     "type": "list",
2264                     "description": "List for external connection points. Each VNF has one or more external connection points. As the name implies that external connection points are used for connecting the VNF to other VNFs or to external networks. Each VNF exposes these connection points to the orchestrator. The orchestrator can construct network services by connecting the connection points between different VNFs. The NFVO will use VLDs and VNFFGs at the network service level to construct network services.",
2265                     "cardinality": "0..N",
2266                     "properties": [
2267                          {
2268                               "name": "name",
2269                               "type": "leaf",
2270                               "description": "Name of the connection point",
2271                               "cardinality": "0..1",
2272                               "data-type": "string",
2273                               "properties": []
2274                          },
2275                          {
2276                               "name": "id",
2277                               "type": "leaf",
2278                               "description": "Identifier for the internal connection points",
2279                               "cardinality": "0..1",
2280                               "data-type": "string",
2281                               "properties": []
2282                          },
2283                          {
2284                               "name": "short-name",
2285                               "type": "leaf",
2286                               "description": "Short name of the connection point",
2287                               "cardinality": "0..1",
2288                               "data-type": "string",
2289                               "properties": []
2290                          },
2291                          {
2292                               "name": "type",
2293                               "type": "leaf",
2294                               "description": "Type of connection point VPORT: Virtual Port // VNIC_ADDR: Virtual NIC Address // PNIC_ADDR: Physical NIC Address // PPORT: Phsical Port.",
2295                               "cardinality": "0..1",
2296                               "data-type": {
2297                                    "enumeration": {
2298                                         "enum": "VPORT"
2299                                    }
2300                               },
2301                               "properties": []
2302                          }
2303                     ],
2304                     "key": [
2305                          "name"
2306                     ]
2307                },
2308                {
2309                     "name": "vdu",
2310                     "type": "list",
2311                     "description": "List of Virtual Deployment Units",
2312                     "cardinality": "0..N",
2313                     "properties": [
2314                          {
2315                               "name": "id",
2316                               "type": "leaf",
2317                               "description": "Unique id for the VDU",
2318                               "cardinality": "0..1",
2319                               "data-type": "string",
2320                               "properties": []
2321                          },
2322                          {
2323                               "name": "name",
2324                               "type": "leaf",
2325                               "description": "Unique name for the VDU",
2326                               "cardinality": "0..1",
2327                               "data-type": "string",
2328                               "properties": []
2329                          },
2330                          {
2331                               "name": "description",
2332                               "type": "leaf",
2333                               "description": "Description of the VDU.",
2334                               "cardinality": "0..1",
2335                               "data-type": "string",
2336                               "properties": []
2337                          },
2338                          {
2339                               "name": "count",
2340                               "type": "leaf",
2341                               "description": "Number of instances of VDU",
2342                               "cardinality": "0..1",
2343                               "data-type": "uint64",
2344                               "properties": []
2345                          },
2346                          {
2347                               "name": "mgmt-vpci",
2348                               "type": "leaf",
2349                               "description": "Specifies the virtual PCI address. Expressed in the following format dddd:dd:dd.d. For example 0000:00:12.0. This information can be used to pass as metadata during the VM creation.",
2350                               "cardinality": "0..1",
2351                               "data-type": "string",
2352                               "properties": []
2353                          },
2354                          {
2355                               "name": "image",
2356                               "type": "leaf",
2357                               "description": "Image name for the software image. If the image name is found within the VNF packaage it will be uploaded to all cloud accounts during onboarding process. Otherwise, the image must be added to the cloud account with the same name as entered here. ",
2358                               "cardinality": "1",
2359                               "data-type": "string",
2360                               "properties": []
2361                          },
2362                          {
2363                               "name": "image-checksum",
2364                               "type": "leaf",
2365                               "description": "Image md5sum for the software image. The md5sum, if provided, along with the image name uniquely identifies an image uploaded to the CAL. ",
2366                               "cardinality": "0..1",
2367                               "data-type": "string",
2368                               "properties": []
2369                          },
2370                          {
2371                               "name": "cloud-init",
2372                               "type": "leaf",
2373                               "description": "Content of cloud-init script",
2374                               "cardinality": "0..1",
2375                               "data-type": "string",
2376                               "properties": []
2377                          },
2378                          {
2379                               "name": "alarm",
2380                               "type": "list",
2381                               "cardinality": "0..N",
2382                               "properties": [
2383                                    {
2384                                         "name": "alarm-id",
2385                                         "type": "leaf",
2386                                         "description": "This field is reserved for the identifier assigned by the cloud provider",
2387                                         "cardinality": "0..1",
2388                                         "data-type": "string",
2389                                         "properties": []
2390                                    },
2391                                    {
2392                                         "name": "name",
2393                                         "type": "leaf",
2394                                         "description": "A human readable string to identify the alarm",
2395                                         "cardinality": "0..1",
2396                                         "data-type": "string",
2397                                         "properties": []
2398                                    },
2399                                    {
2400                                         "name": "description",
2401                                         "type": "leaf",
2402                                         "description": "A string containing a description of this alarm",
2403                                         "cardinality": "0..1",
2404                                         "data-type": "string",
2405                                         "properties": []
2406                                    },
2407                                    {
2408                                         "name": "vdur-id",
2409                                         "type": "leaf",
2410                                         "description": "The identifier of the VDUR that the alarm is associated with",
2411                                         "cardinality": "0..1",
2412                                         "data-type": "string",
2413                                         "properties": []
2414                                    },
2415                                    {
2416                                         "name": "repeat",
2417                                         "type": "leaf",
2418                                         "description": "This flag indicates whether the alarm should be repeatedly emitted while the associated threshold has been crossed.",
2419                                         "cardinality": "0..1",
2420                                         "data-type": "boolean",
2421                                         "properties": []
2422                                    },
2423                                    {
2424                                         "name": "enabled",
2425                                         "type": "leaf",
2426                                         "description": "This flag indicates whether the alarm has been enabled or disabled.",
2427                                         "cardinality": "0..1",
2428                                         "data-type": "boolean",
2429                                         "properties": []
2430                                    },
2431                                    {
2432                                         "name": "severity",
2433                                         "type": "leaf",
2434                                         "description": "An indication of the importance or ugency of the alarm",
2435                                         "cardinality": "0..1",
2436                                         "data-type": {
2437                                              "enumeration": {
2438                                                   "enum": {
2439                                                        "LOW": {
2440                                                             "value": 0
2441                                                        },
2442                                                        "MODERATE": {
2443                                                             "value": 1
2444                                                        },
2445                                                        "CRITICAL": {
2446                                                             "value": 2
2447                                                        }
2448                                                   }
2449                                              }
2450                                         },
2451                                         "properties": []
2452                                    },
2453                                    {
2454                                         "name": "metric",
2455                                         "type": "leaf",
2456                                         "description": "The type of metrics to register the alarm for",
2457                                         "cardinality": "0..1",
2458                                         "data-type": {
2459                                              "enumeration": {
2460                                                   "enum": {
2461                                                        "CPU_UTILIZATION": {
2462                                                             "value": 0
2463                                                        },
2464                                                        "MEMORY_UTILIZATION": {
2465                                                             "value": 1
2466                                                        },
2467                                                        "STORAGE_UTILIZATION": {
2468                                                             "value": 2
2469                                                        }
2470                                                   }
2471                                              }
2472                                         },
2473                                         "properties": []
2474                                    },
2475                                    {
2476                                         "name": "statistic",
2477                                         "type": "leaf",
2478                                         "description": "The type of statistic to used to measure a metric to determine threshold crossing for an alarm.",
2479                                         "cardinality": "0..1",
2480                                         "data-type": {
2481                                              "enumeration": {
2482                                                   "enum": {
2483                                                        "AVERAGE": {
2484                                                             "value": 0
2485                                                        },
2486                                                        "MINIMUM": {
2487                                                             "value": 1
2488                                                        },
2489                                                        "MAXIMUM": {
2490                                                             "value": 2
2491                                                        },
2492                                                        "COUNT": {
2493                                                             "value": 3
2494                                                        },
2495                                                        "SUM": {
2496                                                             "value": 4
2497                                                        }
2498                                                   }
2499                                              }
2500                                         },
2501                                         "properties": []
2502                                    },
2503                                    {
2504                                         "name": "operation",
2505                                         "type": "leaf",
2506                                         "description": "The relational operator used to define whether an alarm should be triggered when, say, the metric statistic goes above or below a specified value.",
2507                                         "cardinality": "0..1",
2508                                         "data-type": {
2509                                              "enumeration": {
2510                                                   "enum": {
2511                                                        "GE": {
2512                                                             "value": 0
2513                                                        },
2514                                                        "LE": {
2515                                                             "value": 1
2516                                                        },
2517                                                        "GT": {
2518                                                             "value": 2
2519                                                        },
2520                                                        "LT": {
2521                                                             "value": 3
2522                                                        },
2523                                                        "EQ": {
2524                                                             "value": 4
2525                                                        }
2526                                                   }
2527                                              }
2528                                         },
2529                                         "properties": []
2530                                    },
2531                                    {
2532                                         "name": "value",
2533                                         "type": "leaf",
2534                                         "description": "This value defines the threshold that, if crossed, will trigger the alarm.",
2535                                         "cardinality": "0..1",
2536                                         "data-type": {
2537                                              "decimal64": {
2538                                                   "fraction-digits": "4"
2539                                              }
2540                                         },
2541                                         "properties": []
2542                                    },
2543                                    {
2544                                         "name": "period",
2545                                         "type": "leaf",
2546                                         "description": "The period defines the length of time (seconds) that the metric data are collected over in oreder to evaluate the chosen statistic.",
2547                                         "cardinality": "0..1",
2548                                         "data-type": "uint32",
2549                                         "properties": []
2550                                    },
2551                                    {
2552                                         "name": "evaluations",
2553                                         "type": "leaf",
2554                                         "description": "This is the number of samples of the metric statistic used to evaluate threshold crossing. Each sample or evaluation is equal to the metric statistic obtained for a given period. This can be used to mitigate spikes in the metric that may skew the statistic of interest.",
2555                                         "cardinality": "0..1",
2556                                         "data-type": "uint32",
2557                                         "properties": []
2558                                    },
2559                                    {
2560                                         "name": "actions",
2561                                         "type": "container",
2562                                         "cardinality": "0..1",
2563                                         "properties": [
2564                                              {
2565                                                   "name": "ok",
2566                                                   "type": "list",
2567                                                   "cardinality": "0..N",
2568                                                   "properties": [
2569                                                        {
2570                                                             "name": "url",
2571                                                             "type": "leaf",
2572                                                             "cardinality": "0..1",
2573                                                             "data-type": "string",
2574                                                             "properties": []
2575                                                        }
2576                                                   ],
2577                                                   "key": [
2578                                                        "url"
2579                                                   ]
2580                                              },
2581                                              {
2582                                                   "name": "insufficient-data",
2583                                                   "type": "list",
2584                                                   "cardinality": "0..N",
2585                                                   "properties": [
2586                                                        {
2587                                                             "name": "url",
2588                                                             "type": "leaf",
2589                                                             "cardinality": "0..1",
2590                                                             "data-type": "string",
2591                                                             "properties": []
2592                                                        }
2593                                                   ],
2594                                                   "key": [
2595                                                        "url"
2596                                                   ]
2597                                              },
2598                                              {
2599                                                   "name": "alarm",
2600                                                   "type": "list",
2601                                                   "cardinality": "0..N",
2602                                                   "properties": [
2603                                                        {
2604                                                             "name": "url",
2605                                                             "type": "leaf",
2606                                                             "cardinality": "0..1",
2607                                                             "data-type": "string",
2608                                                             "properties": []
2609                                                        }
2610                                                   ],
2611                                                   "key": [
2612                                                        "url"
2613                                                   ]
2614                                              }
2615                                         ]
2616                                    }
2617                               ],
2618                               "key": [
2619                                    "alarm-id"
2620                               ]
2621                          },
2622                          {
2623                               "name": "internal-connection-point",
2624                               "type": "list",
2625                               "description": "List for internal connection points. Each VNFC has zero or more internal connection points. Internal connection points are used for connecting the VNF components internal to the VNF. If a VNF has only one VNFC, it may not have any internal connection points.",
2626                               "cardinality": "0..N",
2627                               "properties": [
2628                                    {
2629                                         "name": "internal-vld-ref",
2630                                         "type": "leaf",
2631                                         "cardinality": "0..1",
2632                                         "data-type": {
2633                                              "leafref": {
2634                                                   "path": "../../../internal-vld/id"
2635                                              }
2636                                         },
2637                                         "properties": []
2638                                    },
2639                                    {
2640                                         "name": "name",
2641                                         "type": "leaf",
2642                                         "description": "Name of the connection point",
2643                                         "cardinality": "0..1",
2644                                         "data-type": "string",
2645                                         "properties": []
2646                                    },
2647                                    {
2648                                         "name": "id",
2649                                         "type": "leaf",
2650                                         "description": "Identifier for the internal connection points",
2651                                         "cardinality": "0..1",
2652                                         "data-type": "string",
2653                                         "properties": []
2654                                    },
2655                                    {
2656                                         "name": "short-name",
2657                                         "type": "leaf",
2658                                         "description": "Short name of the connection point",
2659                                         "cardinality": "0..1",
2660                                         "data-type": "string",
2661                                         "properties": []
2662                                    },
2663                                    {
2664                                         "name": "type",
2665                                         "type": "leaf",
2666                                         "description": "Type of connection point VPORT: Virtual Port // VNIC_ADDR: Virtual NIC Address // PNIC_ADDR: Physical NIC Address // PPORT: Phsical Port.",
2667                                         "cardinality": "0..1",
2668                                         "data-type": {
2669                                              "enumeration": {
2670                                                   "enum": "VPORT"
2671                                              }
2672                                         },
2673                                         "properties": []
2674                                    }
2675                               ],
2676                               "key": [
2677                                    "id"
2678                               ]
2679                          },
2680                          {
2681                               "name": "internal-interface",
2682                               "type": "list",
2683                               "description": "List of internal interfaces for the VNF",
2684                               "cardinality": "0..N",
2685                               "properties": [
2686                                    {
2687                                         "name": "name",
2688                                         "type": "leaf",
2689                                         "description": "Name of internal interface. Note that this name has only local significance to the VDU.",
2690                                         "cardinality": "0..1",
2691                                         "data-type": "string",
2692                                         "properties": []
2693                                    },
2694                                    {
2695                                         "name": "vdu-internal-connection-point-ref",
2696                                         "type": "leaf",
2697                                         "cardinality": "0..1",
2698                                         "data-type": {
2699                                              "leafref": {
2700                                                   "path": "../../internal-connection-point/id"
2701                                              }
2702                                         },
2703                                         "properties": []
2704                                    },
2705                                    {
2706                                         "name": "virtual-interface",
2707                                         "type": "container",
2708                                         "description": "Container for the virtual interface properties",
2709                                         "cardinality": "0..1",
2710                                         "properties": [
2711                                              {
2712                                                   "name": "type",
2713                                                   "type": "leaf",
2714                                                   "description": "Specifies the type of virtual interface between VM and host. VIRTIO : Use the traditional VIRTIO interface. PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface. SR-IOV : Use SR-IOV interface. OM-MGMT : Used to specify openmano mgmt external-connection type",
2715                                                   "cardinality": "0..1",
2716                                                   "data-type": {
2717                                                        "enumeration": {
2718                                                             "enum": {
2719                                                                  "OM-MGMT": null,
2720                                                                  "PCI-PASSTHROUGH": null,
2721                                                                  "SR-IOV": null,
2722                                                                  "VIRTIO": null
2723                                                             }
2724                                                        }
2725                                                   },
2726                                                   "properties": []
2727                                              },
2728                                              {
2729                                                   "name": "vpci",
2730                                                   "type": "leaf",
2731                                                   "description": "Specifies the virtual PCI address. Expressed in the following format dddd:dd:dd.d. For example 0000:00:12.0. This information can be used to pass as metadata during the VM creation.",
2732                                                   "cardinality": "0..1",
2733                                                   "data-type": "string",
2734                                                   "properties": []
2735                                              },
2736                                              {
2737                                                   "name": "bandwidth",
2738                                                   "type": "leaf",
2739                                                   "description": "Aggregate bandwidth of the NIC.",
2740                                                   "cardinality": "0..1",
2741                                                   "data-type": "uint64",
2742                                                   "properties": []
2743                                              }
2744                                         ]
2745                                    }
2746                               ],
2747                               "key": [
2748                                    "name"
2749                               ]
2750                          },
2751                          {
2752                               "name": "external-interface",
2753                               "type": "list",
2754                               "description": "List of external interfaces for the VNF. The external interfaces enable sending traffic to and from VNF.",
2755                               "cardinality": "0..N",
2756                               "properties": [
2757                                    {
2758                                         "name": "name",
2759                                         "type": "leaf",
2760                                         "description": "Name of the external interface. Note that this name has only local significance.",
2761                                         "cardinality": "0..1",
2762                                         "data-type": "string",
2763                                         "properties": []
2764                                    },
2765                                    {
2766                                         "name": "vnfd-connection-point-ref",
2767                                         "type": "leaf",
2768                                         "description": "Name of the external connection point.",
2769                                         "cardinality": "0..1",
2770                                         "data-type": {
2771                                              "leafref": {
2772                                                   "path": "../../../connection-point/name"
2773                                              }
2774                                         },
2775                                         "properties": []
2776                                    },
2777                                    {
2778                                         "name": "virtual-interface",
2779                                         "type": "container",
2780                                         "description": "Container for the virtual interface properties",
2781                                         "cardinality": "0..1",
2782                                         "properties": [
2783                                              {
2784                                                   "name": "type",
2785                                                   "type": "leaf",
2786                                                   "description": "Specifies the type of virtual interface between VM and host. VIRTIO : Use the traditional VIRTIO interface. PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface. SR-IOV : Use SR-IOV interface. OM-MGMT : Used to specify openmano mgmt external-connection type",
2787                                                   "cardinality": "0..1",
2788                                                   "data-type": {
2789                                                        "enumeration": {
2790                                                             "enum": {
2791                                                                  "OM-MGMT": null,
2792                                                                  "PCI-PASSTHROUGH": null,
2793                                                                  "SR-IOV": null,
2794                                                                  "VIRTIO": null
2795                                                             }
2796                                                        }
2797                                                   },
2798                                                   "properties": []
2799                                              },
2800                                              {
2801                                                   "name": "vpci",
2802                                                   "type": "leaf",
2803                                                   "description": "Specifies the virtual PCI address. Expressed in the following format dddd:dd:dd.d. For example 0000:00:12.0. This information can be used to pass as metadata during the VM creation.",
2804                                                   "cardinality": "0..1",
2805                                                   "data-type": "string",
2806                                                   "properties": []
2807                                              },
2808                                              {
2809                                                   "name": "bandwidth",
2810                                                   "type": "leaf",
2811                                                   "description": "Aggregate bandwidth of the NIC.",
2812                                                   "cardinality": "0..1",
2813                                                   "data-type": "uint64",
2814                                                   "properties": []
2815                                              }
2816                                         ]
2817                                    }
2818                               ],
2819                               "key": [
2820                                    "name"
2821                               ]
2822                          },
2823                          {
2824                               "name": "vm-flavor",
2825                               "type": "container",
2826                               "cardinality": "0..1",
2827                               "properties": [
2828                                    {
2829                                         "name": "vcpu-count",
2830                                         "type": "leaf",
2831                                         "description": "Number of vcpus for the VM.",
2832                                         "cardinality": "0..1",
2833                                         "data-type": "uint16",
2834                                         "properties": []
2835                                    },
2836                                    {
2837                                         "name": "memory-mb",
2838                                         "type": "leaf",
2839                                         "description": "Amount of memory in MB.",
2840                                         "cardinality": "0..1",
2841                                         "data-type": "uint64",
2842                                         "properties": []
2843                                    },
2844                                    {
2845                                         "name": "storage-gb",
2846                                         "type": "leaf",
2847                                         "description": "Amount of disk space in GB.",
2848                                         "cardinality": "0..1",
2849                                         "data-type": "uint64",
2850                                         "properties": []
2851                                    }
2852                               ]
2853                          },
2854                          {
2855                               "name": "guest-epa",
2856                               "type": "container",
2857                               "cardinality": "0..1",
2858                               "properties": [
2859                                    {
2860                                         "name": "trusted-execution",
2861                                         "type": "leaf",
2862                                         "description": "This VM should be allocated from trusted pool",
2863                                         "cardinality": "0..1",
2864                                         "data-type": "boolean",
2865                                         "properties": []
2866                                    },
2867                                    {
2868                                         "name": "mempage-size",
2869                                         "type": "leaf",
2870                                         "description": "Memory page allocation size. If a VM requires hugepages, it should choose LARGE or SIZE_2MB or SIZE_1GB. If the VM prefers hugepages it should chose PREFER_LARGE. LARGE : Require hugepages (either 2MB or 1GB) SMALL : Doesn't require hugepages SIZE_2MB : Requires 2MB hugepages SIZE_1GB : Requires 1GB hugepages PREFER_LARGE : Application perfers hugepages",
2871                                         "cardinality": "0..1",
2872                                         "data-type": {
2873                                              "enumeration": {
2874                                                   "enum": {
2875                                                        "LARGE": {
2876                                                             "value": 0
2877                                                        },
2878                                                        "SMALL": {
2879                                                             "value": 1
2880                                                        },
2881                                                        "SIZE_2MB": {
2882                                                             "value": 2
2883                                                        },
2884                                                        "SIZE_1GB": {
2885                                                             "value": 3
2886                                                        },
2887                                                        "PREFER_LARGE": {
2888                                                             "value": 4
2889                                                        }
2890                                                   }
2891                                              }
2892                                         },
2893                                         "properties": []
2894                                    },
2895                                    {
2896                                         "name": "cpu-pinning-policy",
2897                                         "type": "leaf",
2898                                         "description": "CPU pinning policy describes association between virtual CPUs in guest and the physical CPUs in the host. DEDICATED : Virtual CPUs are pinned to physical CPUs SHARED : Multiple VMs may share the same physical CPUs. ANY : Any policy is acceptable for the VM",
2899                                         "cardinality": "0..1",
2900                                         "data-type": {
2901                                              "enumeration": {
2902                                                   "enum": {
2903                                                        "DEDICATED": {
2904                                                             "value": 0
2905                                                        },
2906                                                        "SHARED": {
2907                                                             "value": 1
2908                                                        },
2909                                                        "ANY": {
2910                                                             "value": 2
2911                                                        }
2912                                                   }
2913                                              }
2914                                         },
2915                                         "properties": []
2916                                    },
2917                                    {
2918                                         "name": "cpu-thread-pinning-policy",
2919                                         "type": "leaf",
2920                                         "description": "CPU thread pinning policy describes how to place the guest CPUs when the host supports hyper threads: AVOID : Avoids placing a guest on a host with threads. SEPARATE: Places vCPUs on separate cores, and avoids placing two vCPUs on two threads of same core. ISOLATE : Places each vCPU on a different core, and places no vCPUs from a different guest on the same core. PREFER : Attempts to place vCPUs on threads of the same core.",
2921                                         "cardinality": "0..1",
2922                                         "data-type": {
2923                                              "enumeration": {
2924                                                   "enum": {
2925                                                        "AVOID": {
2926                                                             "value": 0
2927                                                        },
2928                                                        "SEPARATE": {
2929                                                             "value": 1
2930                                                        },
2931                                                        "ISOLATE": {
2932                                                             "value": 2
2933                                                        },
2934                                                        "PREFER": {
2935                                                             "value": 3
2936                                                        }
2937                                                   }
2938                                              }
2939                                         },
2940                                         "properties": []
2941                                    },
2942                                    {
2943                                         "name": "pcie-device",
2944                                         "type": "list",
2945                                         "description": "List of pcie passthrough devices.",
2946                                         "cardinality": "0..N",
2947                                         "properties": [
2948                                              {
2949                                                   "name": "device-id",
2950                                                   "type": "leaf",
2951                                                   "description": "Device identifier.",
2952                                                   "cardinality": "0..1",
2953                                                   "data-type": "string",
2954                                                   "properties": []
2955                                              },
2956                                              {
2957                                                   "name": "count",
2958                                                   "type": "leaf",
2959                                                   "description": "Number of devices to attach to the VM.",
2960                                                   "cardinality": "0..1",
2961                                                   "data-type": "uint64",
2962                                                   "properties": []
2963                                              }
2964                                         ],
2965                                         "key": [
2966                                              "device-id"
2967                                         ]
2968                                    },
2969                                    {
2970                                         "name": "numa-policy",
2971                                         "type": "choice",
2972                                         "cardinality": "0..1",
2973                                         "properties": [
2974                                              {
2975                                                   "name": "numa-unware",
2976                                                   "type": "case",
2977                                                   "cardinality": "0..1",
2978                                                   "properties": [
2979                                                        {
2980                                                             "name": "numa-unware",
2981                                                             "type": "leaf",
2982                                                             "cardinality": "0..1",
2983                                                             "data-type": "empty",
2984                                                             "properties": []
2985                                                        }
2986                                                   ]
2987                                              },
2988                                              {
2989                                                   "name": "numa-aware",
2990                                                   "type": "case",
2991                                                   "cardinality": "0..1",
2992                                                   "properties": [
2993                                                        {
2994                                                             "name": "numa-node-policy",
2995                                                             "type": "container",
2996                                                             "description": "This policy defines numa topology of the guest. Specifically identifies if the guest should be run on a host with one numa node or multiple numa nodes. As an example a guest may want 8 vcpus and 4 GB of memory. But may want the vcpus and memory distributed across multiple numa nodes. The NUMA node 1 may run with 6 vcpus and 3GB, and NUMA node 2 may run with 2 vcpus and 1GB.",
2997                                                             "cardinality": "0..1",
2998                                                             "properties": [
2999                                                                  {
3000                                                                       "name": "node-cnt",
3001                                                                       "type": "leaf",
3002                                                                       "description": "The number of numa nodes to expose to the VM.",
3003                                                                       "cardinality": "0..1",
3004                                                                       "data-type": "uint16",
3005                                                                       "properties": []
3006                                                                  },
3007                                                                  {
3008                                                                       "name": "mem-policy",
3009                                                                       "type": "leaf",
3010                                                                       "description": "This policy specifies how the memory should be allocated in a multi-node scenario. STRICT : The memory must be allocated strictly from the memory attached to the NUMA node. PREFERRED : The memory should be allocated perferentially from the memory attached to the NUMA node",
3011                                                                       "cardinality": "0..1",
3012                                                                       "data-type": {
3013                                                                            "enumeration": {
3014                                                                                 "enum": {
3015                                                                                      "STRICT": {
3016                                                                                           "value": 0
3017                                                                                      },
3018                                                                                      "PREFERRED": {
3019                                                                                           "value": 1
3020                                                                                      }
3021                                                                                 }
3022                                                                            }
3023                                                                       },
3024                                                                       "properties": []
3025                                                                  },
3026                                                                  {
3027                                                                       "name": "node",
3028                                                                       "type": "list",
3029                                                                       "cardinality": "0..N",
3030                                                                       "properties": [
3031                                                                            {
3032                                                                                 "name": "id",
3033                                                                                 "type": "leaf",
3034                                                                                 "description": "NUMA node identification. Typically it's 0 or 1",
3035                                                                                 "cardinality": "0..1",
3036                                                                                 "data-type": "uint64",
3037                                                                                 "properties": []
3038                                                                            },
3039                                                                            {
3040                                                                                 "name": "memory-mb",
3041                                                                                 "type": "leaf",
3042                                                                                 "description": "Memory size expressed in MB for this NUMA node.",
3043                                                                                 "cardinality": "0..1",
3044                                                                                 "data-type": "uint64",
3045                                                                                 "properties": []
3046                                                                            },
3047                                                                            {
3048                                                                                 "name": "vcpu",
3049                                                                                 "type": "leaf-list",
3050                                                                                 "description": "List of vcpus to allocate on this numa node.",
3051                                                                                 "cardinality": "0..N",
3052                                                                                 "data-type": "uint64",
3053                                                                                 "properties": []
3054                                                                            },
3055                                                                            {
3056                                                                                 "name": "om-numa-type",
3057                                                                                 "type": "choice",
3058                                                                                 "description": "Openmano Numa type selection",
3059                                                                                 "cardinality": "0..1",
3060                                                                                 "properties": [
3061                                                                                      {
3062                                                                                           "name": "cores",
3063                                                                                           "type": "case",
3064                                                                                           "cardinality": "0..1",
3065                                                                                           "properties": [
3066                                                                                                {
3067                                                                                                     "name": "num-cores",
3068                                                                                                     "type": "leaf",
3069                                                                                                     "cardinality": "0..1",
3070                                                                                                     "data-type": "uint8",
3071                                                                                                     "properties": []
3072                                                                                                }
3073                                                                                           ]
3074                                                                                      },
3075                                                                                      {
3076                                                                                           "name": "paired-threads",
3077                                                                                           "type": "case",
3078                                                                                           "cardinality": "0..1",
3079                                                                                           "properties": [
3080                                                                                                {
3081                                                                                                     "name": "paired-threads",
3082                                                                                                     "type": "container",
3083                                                                                                     "cardinality": "0..1",
3084                                                                                                     "properties": [
3085                                                                                                          {
3086                                                                                                               "name": "num-paired-threads",
3087                                                                                                               "type": "leaf",
3088                                                                                                               "cardinality": "0..1",
3089                                                                                                               "data-type": "uint8",
3090                                                                                                               "properties": []
3091                                                                                                          },
3092                                                                                                          {
3093                                                                                                               "name": "paired-thread-ids",
3094                                                                                                               "type": "list",
3095                                                                                                               "description": "List of thread pairs to use in case of paired-thread numa",
3096                                                                                                               "cardinality": "0..16",
3097                                                                                                               "properties": [
3098                                                                                                                    {
3099                                                                                                                         "name": "thread-a",
3100                                                                                                                         "type": "leaf",
3101                                                                                                                         "cardinality": "0..1",
3102                                                                                                                         "data-type": "uint8",
3103                                                                                                                         "properties": []
3104                                                                                                                    },
3105                                                                                                                    {
3106                                                                                                                         "name": "thread-b",
3107                                                                                                                         "type": "leaf",
3108                                                                                                                         "cardinality": "0..1",
3109                                                                                                                         "data-type": "uint8",
3110                                                                                                                         "properties": []
3111                                                                                                                    }
3112                                                                                                               ],
3113                                                                                                               "key": [
3114                                                                                                                    "thread-a"
3115                                                                                                               ]
3116                                                                                                          }
3117                                                                                                     ]
3118                                                                                                }
3119                                                                                           ]
3120                                                                                      },
3121                                                                                      {
3122                                                                                           "name": "threads",
3123                                                                                           "type": "case",
3124                                                                                           "cardinality": "0..1",
3125                                                                                           "properties": [
3126                                                                                                {
3127                                                                                                     "name": "num-threads",
3128                                                                                                     "type": "leaf",
3129                                                                                                     "cardinality": "0..1",
3130                                                                                                     "data-type": "uint8",
3131                                                                                                     "properties": []
3132                                                                                                }
3133                                                                                           ]
3134                                                                                      }
3135                                                                                 ]
3136                                                                            }
3137                                                                       ],
3138                                                                       "key": [
3139                                                                            "id"
3140                                                                       ]
3141                                                                  }
3142                                                             ]
3143                                                        }
3144                                                   ]
3145                                              }
3146                                         ]
3147                                    }
3148                               ]
3149                          },
3150                          {
3151                               "name": "vswitch-epa",
3152                               "type": "container",
3153                               "cardinality": "0..1",
3154                               "properties": [
3155                                    {
3156                                         "name": "ovs-acceleration",
3157                                         "type": "leaf",
3158                                         "description": "Specifies Open vSwitch acceleration mode. MANDATORY: OVS acceleration is required PREFERRED: OVS acceleration is preferred",
3159                                         "cardinality": "0..1",
3160                                         "data-type": {
3161                                              "enumeration": {
3162                                                   "enum": {
3163                                                        "MANDATORY": {
3164                                                             "value": 0
3165                                                        },
3166                                                        "PREFERRED": {
3167                                                             "value": 1
3168                                                        },
3169                                                        "DISABLED": {
3170                                                             "value": 2
3171                                                        }
3172                                                   }
3173                                              }
3174                                         },
3175                                         "properties": []
3176                                    },
3177                                    {
3178                                         "name": "ovs-offload",
3179                                         "type": "leaf",
3180                                         "description": "Specifies Open vSwitch hardware offload mode. MANDATORY: OVS offload is required PREFERRED: OVS offload is preferred",
3181                                         "cardinality": "0..1",
3182                                         "data-type": {
3183                                              "enumeration": {
3184                                                   "enum": {
3185                                                        "MANDATORY": {
3186                                                             "value": 0
3187                                                        },
3188                                                        "PREFERRED": {
3189                                                             "value": 1
3190                                                        },
3191                                                        "DISABLED": {
3192                                                             "value": 2
3193                                                        }
3194                                                   }
3195                                              }
3196                                         },
3197                                         "properties": []
3198                                    }
3199                               ]
3200                          },
3201                          {
3202                               "name": "hypervisor-epa",
3203                               "type": "container",
3204                               "cardinality": "0..1",
3205                               "properties": [
3206                                    {
3207                                         "name": "type",
3208                                         "type": "leaf",
3209                                         "description": "Specifies the type of hypervisor. KVM: KVM XEN: XEN",
3210                                         "cardinality": "0..1",
3211                                         "data-type": {
3212                                              "enumeration": {
3213                                                   "enum": {
3214                                                        "PREFER_KVM": {
3215                                                             "value": 0
3216                                                        },
3217                                                        "REQUIRE_KVM": {
3218                                                             "value": 1
3219                                                        }
3220                                                   }
3221                                              }
3222                                         },
3223                                         "properties": []
3224                                    },
3225                                    {
3226                                         "name": "version",
3227                                         "type": "leaf",
3228                                         "cardinality": "0..1",
3229                                         "data-type": "string",
3230                                         "properties": []
3231                                    }
3232                               ]
3233                          },
3234                          {
3235                               "name": "host-epa",
3236                               "type": "container",
3237                               "description": "Specifies the host level EPA attributes.",
3238                               "cardinality": "0..1",
3239                               "properties": [
3240                                    {
3241                                         "name": "cpu-model",
3242                                         "type": "leaf",
3243                                         "description": "Host CPU model. Examples include: SandyBridge, IvyBridge",
3244                                         "cardinality": "0..1",
3245                                         "data-type": {
3246                                              "enumeration": {
3247                                                   "enum": {
3248                                                        "PREFER_WESTMERE": {
3249                                                             "value": 0
3250                                                        },
3251                                                        "REQUIRE_WESTMERE": {
3252                                                             "value": 1
3253                                                        },
3254                                                        "PREFER_SANDYBRIDGE": {
3255                                                             "value": 2
3256                                                        },
3257                                                        "REQUIRE_SANDYBRIDGE": {
3258                                                             "value": 3
3259                                                        },
3260                                                        "PREFER_IVYBRIDGE": {
3261                                                             "value": 4
3262                                                        },
3263                                                        "REQUIRE_IVYBRIDGE": {
3264                                                             "value": 5
3265                                                        },
3266                                                        "PREFER_HASWELL": {
3267                                                             "value": 6
3268                                                        },
3269                                                        "REQUIRE_HASWELL": {
3270                                                             "value": 7
3271                                                        },
3272                                                        "PREFER_BROADWELL": {
3273                                                             "value": 8
3274                                                        },
3275                                                        "REQUIRE_BROADWELL": {
3276                                                             "value": 9
3277                                                        },
3278                                                        "PREFER_NEHALEM": {
3279                                                             "value": 10
3280                                                        },
3281                                                        "REQUIRE_NEHALEM": {
3282                                                             "value": 11
3283                                                        },
3284                                                        "PREFER_PENRYN": {
3285                                                             "value": 12
3286                                                        },
3287                                                        "REQUIRE_PENRYN": {
3288                                                             "value": 13
3289                                                        },
3290                                                        "PREFER_CONROE": {
3291                                                             "value": 14
3292                                                        },
3293                                                        "REQUIRE_CONROE": {
3294                                                             "value": 15
3295                                                        },
3296                                                        "PREFER_CORE2DUO": {
3297                                                             "value": 16
3298                                                        },
3299                                                        "REQUIRE_CORE2DUO": {
3300                                                             "value": 17
3301                                                        }
3302                                                   }
3303                                              }
3304                                         },
3305                                         "properties": []
3306                                    },
3307                                    {
3308                                         "name": "cpu-arch",
3309                                         "type": "leaf",
3310                                         "description": "Host CPU architecture.",
3311                                         "cardinality": "0..1",
3312                                         "data-type": {
3313                                              "enumeration": {
3314                                                   "enum": {
3315                                                        "PREFER_X86": {
3316                                                             "value": 0
3317                                                        },
3318                                                        "REQUIRE_X86": {
3319                                                             "value": 1
3320                                                        },
3321                                                        "PREFER_X86_64": {
3322                                                             "value": 2
3323                                                        },
3324                                                        "REQUIRE_X86_64": {
3325                                                             "value": 3
3326                                                        },
3327                                                        "PREFER_I686": {
3328                                                             "value": 4
3329                                                        },
3330                                                        "REQUIRE_I686": {
3331                                                             "value": 5
3332                                                        },
3333                                                        "PREFER_IA64": {
3334                                                             "value": 6
3335                                                        },
3336                                                        "REQUIRE_IA64": {
3337                                                             "value": 7
3338                                                        },
3339                                                        "PREFER_ARMV7": {
3340                                                             "value": 8
3341                                                        },
3342                                                        "REQUIRE_ARMV7": {
3343                                                             "value": 9
3344                                                        },
3345                                                        "PREFER_ARMV8": {
3346                                                             "value": 10
3347                                                        },
3348                                                        "REQUIRE_ARMV8": {
3349                                                             "value": 11
3350                                                        }
3351                                                   }
3352                                              }
3353                                         },
3354                                         "properties": []
3355                                    },
3356                                    {
3357                                         "name": "cpu-vendor",
3358                                         "type": "leaf",
3359                                         "description": "Host CPU Vendor.",
3360                                         "cardinality": "0..1",
3361                                         "data-type": {
3362                                              "enumeration": {
3363                                                   "enum": {
3364                                                        "PREFER_INTEL": {
3365                                                             "value": 0
3366                                                        },
3367                                                        "REQUIRE_INTEL": {
3368                                                             "value": 1
3369                                                        },
3370                                                        "PREFER_AMD": {
3371                                                             "value": 2
3372                                                        },
3373                                                        "REQUIRE_AMD": {
3374                                                             "value": 3
3375                                                        }
3376                                                   }
3377                                              }
3378                                         },
3379                                         "properties": []
3380                                    },
3381                                    {
3382                                         "name": "cpu-socket-count",
3383                                         "type": "leaf",
3384                                         "description": "Number of sockets on the host.",
3385                                         "cardinality": "0..1",
3386                                         "data-type": "uint64",
3387                                         "properties": []
3388                                    },
3389                                    {
3390                                         "name": "cpu-core-count",
3391                                         "type": "leaf",
3392                                         "description": "Number of cores on the host.",
3393                                         "cardinality": "0..1",
3394                                         "data-type": "uint64",
3395                                         "properties": []
3396                                    },
3397                                    {
3398                                         "name": "cpu-core-thread-count",
3399                                         "type": "leaf",
3400                                         "description": "Number of threads per cores on the host.",
3401                                         "cardinality": "0..1",
3402                                         "data-type": "uint64",
3403                                         "properties": []
3404                                    },
3405                                    {
3406                                         "name": "om-cpu-model-string",
3407                                         "type": "leaf",
3408                                         "description": "Openmano CPU model string",
3409                                         "cardinality": "0..1",
3410                                         "data-type": "string",
3411                                         "properties": []
3412                                    },
3413                                    {
3414                                         "name": "cpu-feature",
3415                                         "type": "leaf-list",
3416                                         "description": "Enumeration for CPU features. AES: CPU supports advanced instruction set for AES (Advanced Encryption Standard). CAT: Cache Allocation Technology (CAT) allows an Operating System, Hypervisor, or similar system management agent to specify the amount of L3 cache (currently the last-level cache in most server and client platforms) space an application can fill (as a hint to hardware functionality, certain features such as power management may override CAT settings). CMT: Cache Monitoring Technology (CMT) allows an Operating System, Hypervisor, or similar system management agent to determine the usage of cache based on applications running on the platform. The implementation is directed at L3 cache monitoring (currently the last-level cache in most server and client platforms). DDIO: Intel Data Direct I/O (DDIO) enables Ethernet server NICs and controllers talk directly to the processor cache without a detour via system memory. This enumeration specifies if the VM requires a DDIO capable host.",
3417                                         "cardinality": "0..N",
3418                                         "data-type": {
3419                                              "enumeration": {
3420                                                   "enum": {
3421                                                        "PREFER_AES": {
3422                                                             "value": 0
3423                                                        },
3424                                                        "REQUIRE_AES": {
3425                                                             "value": 1
3426                                                        },
3427                                                        "PREFER_CAT": {
3428                                                             "value": 2
3429                                                        },
3430                                                        "REQUIRE_CAT": {
3431                                                             "value": 3
3432                                                        },
3433                                                        "PREFER_CMT": {
3434                                                             "value": 4
3435                                                        },
3436                                                        "REQUIRE_CMT": {
3437                                                             "value": 5
3438                                                        },
3439                                                        "PREFER_DDIO": {
3440                                                             "value": 6
3441                                                        },
3442                                                        "REQUIRE_DDIO": {
3443                                                             "value": 7
3444                                                        },
3445                                                        "REQUIRE_VME": {
3446                                                             "value": 8
3447                                                        },
3448                                                        "PREFER_VME": {
3449                                                             "value": 9
3450                                                        },
3451                                                        "REQUIRE_DE": {
3452                                                             "value": 10
3453                                                        },
3454                                                        "PREFER_DE": {
3455                                                             "value": 11
3456                                                        },
3457                                                        "REQUIRE_PSE": {
3458                                                             "value": 12
3459                                                        },
3460                                                        "PREFER_PSE": {
3461                                                             "value": 13
3462                                                        },
3463                                                        "REQUIRE_TSC": {
3464                                                             "value": 14
3465                                                        },
3466                                                        "PREFER_TSC": {
3467                                                             "value": 15
3468                                                        },
3469                                                        "REQUIRE_MSR": {
3470                                                             "value": 16
3471                                                        },
3472                                                        "PREFER_MSR": {
3473                                                             "value": 17
3474                                                        },
3475                                                        "REQUIRE_PAE": {
3476                                                             "value": 18
3477                                                        },
3478                                                        "PREFER_PAE": {
3479                                                             "value": 19
3480                                                        },
3481                                                        "REQUIRE_MCE": {
3482                                                             "value": 20
3483                                                        },
3484                                                        "PREFER_MCE": {
3485                                                             "value": 21
3486                                                        },
3487                                                        "REQUIRE_CX8": {
3488                                                             "value": 22
3489                                                        },
3490                                                        "PREFER_CX8": {
3491                                                             "value": 23
3492                                                        },
3493                                                        "REQUIRE_APIC": {
3494                                                             "value": 24
3495                                                        },
3496                                                        "PREFER_APIC": {
3497                                                             "value": 25
3498                                                        },
3499                                                        "REQUIRE_SEP": {
3500                                                             "value": 26
3501                                                        },
3502                                                        "PREFER_SEP": {
3503                                                             "value": 27
3504                                                        },
3505                                                        "REQUIRE_MTRR": {
3506                                                             "value": 28
3507                                                        },
3508                                                        "PREFER_MTRR": {
3509                                                             "value": 29
3510                                                        },
3511                                                        "REQUIRE_PGE": {
3512                                                             "value": 30
3513                                                        },
3514                                                        "PREFER_PGE": {
3515                                                             "value": 31
3516                                                        },
3517                                                        "REQUIRE_MCA": {
3518                                                             "value": 32
3519                                                        },
3520                                                        "PREFER_MCA": {
3521                                                             "value": 33
3522                                                        },
3523                                                        "REQUIRE_CMOV": {
3524                                                             "value": 34
3525                                                        },
3526                                                        "PREFER_CMOV": {
3527                                                             "value": 35
3528                                                        },
3529                                                        "REQUIRE_PAT": {
3530                                                             "value": 36
3531                                                        },
3532                                                        "PREFER_PAT": {
3533                                                             "value": 37
3534                                                        },
3535                                                        "REQUIRE_PSE36": {
3536                                                             "value": 38
3537                                                        },
3538                                                        "PREFER_PSE36": {
3539                                                             "value": 39
3540                                                        },
3541                                                        "REQUIRE_CLFLUSH": {
3542                                                             "value": 40
3543                                                        },
3544                                                        "PREFER_CLFLUSH": {
3545                                                             "value": 41
3546                                                        },
3547                                                        "REQUIRE_DTS": {
3548                                                             "value": 42
3549                                                        },
3550                                                        "PREFER_DTS": {
3551                                                             "value": 43
3552                                                        },
3553                                                        "REQUIRE_ACPI": {
3554                                                             "value": 44
3555                                                        },
3556                                                        "PREFER_ACPI": {
3557                                                             "value": 45
3558                                                        },
3559                                                        "REQUIRE_MMX": {
3560                                                             "value": 46
3561                                                        },
3562                                                        "PREFER_MMX": {
3563                                                             "value": 47
3564                                                        },
3565                                                        "REQUIRE_FXSR": {
3566                                                             "value": 48
3567                                                        },
3568                                                        "PREFER_FXSR": {
3569                                                             "value": 49
3570                                                        },
3571                                                        "REQUIRE_SSE": {
3572                                                             "value": 50
3573                                                        },
3574                                                        "PREFER_SSE": {
3575                                                             "value": 51
3576                                                        },
3577                                                        "REQUIRE_SSE2": {
3578                                                             "value": 52
3579                                                        },
3580                                                        "PREFER_SSE2": {
3581                                                             "value": 53
3582                                                        },
3583                                                        "REQUIRE_SS": {
3584                                                             "value": 54
3585                                                        },
3586                                                        "PREFER_SS": {
3587                                                             "value": 55
3588                                                        },
3589                                                        "REQUIRE_HT": {
3590                                                             "value": 56
3591                                                        },
3592                                                        "PREFER_HT": {
3593                                                             "value": 57
3594                                                        },
3595                                                        "REQUIRE_TM": {
3596                                                             "value": 58
3597                                                        },
3598                                                        "PREFER_TM": {
3599                                                             "value": 59
3600                                                        },
3601                                                        "REQUIRE_IA64": {
3602                                                             "value": 60
3603                                                        },
3604                                                        "PREFER_IA64": {
3605                                                             "value": 61
3606                                                        },
3607                                                        "REQUIRE_PBE": {
3608                                                             "value": 62
3609                                                        },
3610                                                        "PREFER_PBE": {
3611                                                             "value": 63
3612                                                        },
3613                                                        "REQUIRE_RDTSCP": {
3614                                                             "value": 64
3615                                                        },
3616                                                        "PREFER_RDTSCP": {
3617                                                             "value": 65
3618                                                        },
3619                                                        "REQUIRE_PNI": {
3620                                                             "value": 66
3621                                                        },
3622                                                        "PREFER_PNI": {
3623                                                             "value": 67
3624                                                        },
3625                                                        "REQUIRE_PCLMULQDQ": {
3626                                                             "value": 68
3627                                                        },
3628                                                        "PREFER_PCLMULQDQ": {
3629                                                             "value": 69
3630                                                        },
3631                                                        "REQUIRE_DTES64": {
3632                                                             "value": 70
3633                                                        },
3634                                                        "PREFER_DTES64": {
3635                                                             "value": 71
3636                                                        },
3637                                                        "REQUIRE_MONITOR": {
3638                                                             "value": 72
3639                                                        },
3640                                                        "PREFER_MONITOR": {
3641                                                             "value": 73
3642                                                        },
3643                                                        "REQUIRE_DS_CPL": {
3644                                                             "value": 74
3645                                                        },
3646                                                        "PREFER_DS_CPL": {
3647                                                             "value": 75
3648                                                        },
3649                                                        "REQUIRE_VMX": {
3650                                                             "value": 76
3651                                                        },
3652                                                        "PREFER_VMX": {
3653                                                             "value": 77
3654                                                        },
3655                                                        "REQUIRE_SMX": {
3656                                                             "value": 78
3657                                                        },
3658                                                        "PREFER_SMX": {
3659                                                             "value": 79
3660                                                        },
3661                                                        "REQUIRE_EST": {
3662                                                             "value": 80
3663                                                        },
3664                                                        "PREFER_EST": {
3665                                                             "value": 81
3666                                                        },
3667                                                        "REQUIRE_TM2": {
3668                                                             "value": 82
3669                                                        },
3670                                                        "PREFER_TM2": {
3671                                                             "value": 83
3672                                                        },
3673                                                        "REQUIRE_SSSE3": {
3674                                                             "value": 84
3675                                                        },
3676                                                        "PREFER_SSSE3": {
3677                                                             "value": 85
3678                                                        },
3679                                                        "REQUIRE_CID": {
3680                                                             "value": 86
3681                                                        },
3682                                                        "PREFER_CID": {
3683                                                             "value": 87
3684                                                        },
3685                                                        "REQUIRE_FMA": {
3686                                                             "value": 88
3687                                                        },
3688                                                        "PREFER_FMA": {
3689                                                             "value": 89
3690                                                        },
3691                                                        "REQUIRE_CX16": {
3692                                                             "value": 90
3693                                                        },
3694                                                        "PREFER_CX16": {
3695                                                             "value": 91
3696                                                        },
3697                                                        "REQUIRE_XTPR": {
3698                                                             "value": 92
3699                                                        },
3700                                                        "PREFER_XTPR": {
3701                                                             "value": 93
3702                                                        },
3703                                                        "REQUIRE_PDCM": {
3704                                                             "value": 94
3705                                                        },
3706                                                        "PREFER_PDCM": {
3707                                                             "value": 95
3708                                                        },
3709                                                        "REQUIRE_PCID": {
3710                                                             "value": 96
3711                                                        },
3712                                                        "PREFER_PCID": {
3713                                                             "value": 97
3714                                                        },
3715                                                        "REQUIRE_DCA": {
3716                                                             "value": 98
3717                                                        },
3718                                                        "PREFER_DCA": {
3719                                                             "value": 99
3720                                                        },
3721                                                        "REQUIRE_SSE4_1": {
3722                                                             "value": 100
3723                                                        },
3724                                                        "PREFER_SSE4_1": {
3725                                                             "value": 101
3726                                                        },
3727                                                        "REQUIRE_SSE4_2": {
3728                                                             "value": 102
3729                                                        },
3730                                                        "PREFER_SSE4_2": {
3731                                                             "value": 103
3732                                                        },
3733                                                        "REQUIRE_X2APIC": {
3734                                                             "value": 104
3735                                                        },
3736                                                        "PREFER_X2APIC": {
3737                                                             "value": 105
3738                                                        },
3739                                                        "REQUIRE_MOVBE": {
3740                                                             "value": 106
3741                                                        },
3742                                                        "PREFER_MOVBE": {
3743                                                             "value": 107
3744                                                        },
3745                                                        "REQUIRE_POPCNT": {
3746                                                             "value": 108
3747                                                        },
3748                                                        "PREFER_POPCNT": {
3749                                                             "value": 109
3750                                                        },
3751                                                        "REQUIRE_TSC_DEADLINE_TIMER": {
3752                                                             "value": 110
3753                                                        },
3754                                                        "PREFER_TSC_DEADLINE_TIMER": {
3755                                                             "value": 111
3756                                                        },
3757                                                        "REQUIRE_XSAVE": {
3758                                                             "value": 112
3759                                                        },
3760                                                        "PREFER_XSAVE": {
3761                                                             "value": 113
3762                                                        },
3763                                                        "REQUIRE_AVX": {
3764                                                             "value": 114
3765                                                        },
3766                                                        "PREFER_AVX": {
3767                                                             "value": 115
3768                                                        },
3769                                                        "REQUIRE_F16C": {
3770                                                             "value": 116
3771                                                        },
3772                                                        "PREFER_F16C": {
3773                                                             "value": 117
3774                                                        },
3775                                                        "REQUIRE_RDRAND": {
3776                                                             "value": 118
3777                                                        },
3778                                                        "PREFER_RDRAND": {
3779                                                             "value": 119
3780                                                        },
3781                                                        "REQUIRE_FSGSBASE": {
3782                                                             "value": 120
3783                                                        },
3784                                                        "PREFER_FSGSBASE": {
3785                                                             "value": 121
3786                                                        },
3787                                                        "REQUIRE_BMI1": {
3788                                                             "value": 122
3789                                                        },
3790                                                        "PREFER_BMI1": {
3791                                                             "value": 123
3792                                                        },
3793                                                        "REQUIRE_HLE": {
3794                                                             "value": 124
3795                                                        },
3796                                                        "PREFER_HLE": {
3797                                                             "value": 125
3798                                                        },
3799                                                        "REQUIRE_AVX2": {
3800                                                             "value": 126
3801                                                        },
3802                                                        "PREFER_AVX2": {
3803                                                             "value": 127
3804                                                        },
3805                                                        "REQUIRE_SMEP": {
3806                                                             "value": 128
3807                                                        },
3808                                                        "PREFER_SMEP": {
3809                                                             "value": 129
3810                                                        },
3811                                                        "REQUIRE_BMI2": {
3812                                                             "value": 130
3813                                                        },
3814                                                        "PREFER_BMI2": {
3815                                                             "value": 131
3816                                                        },
3817                                                        "REQUIRE_ERMS": {
3818                                                             "value": 132
3819                                                        },
3820                                                        "PREFER_ERMS": {
3821                                                             "value": 133
3822                                                        },
3823                                                        "REQUIRE_INVPCID": {
3824                                                             "value": 134
3825                                                        },
3826                                                        "PREFER_INVPCID": {
3827                                                             "value": 135
3828                                                        },
3829                                                        "REQUIRE_RTM": {
3830                                                             "value": 136
3831                                                        },
3832                                                        "PREFER_RTM": {
3833                                                             "value": 137
3834                                                        },
3835                                                        "REQUIRE_MPX": {
3836                                                             "value": 138
3837                                                        },
3838                                                        "PREFER_MPX": {
3839                                                             "value": 139
3840                                                        },
3841                                                        "REQUIRE_RDSEED": {
3842                                                             "value": 140
3843                                                        },
3844                                                        "PREFER_RDSEED": {
3845                                                             "value": 141
3846                                                        },
3847                                                        "REQUIRE_ADX": {
3848                                                             "value": 142
3849                                                        },
3850                                                        "PREFER_ADX": {
3851                                                             "value": 143
3852                                                        },
3853                                                        "REQUIRE_SMAP": {
3854                                                             "value": 144
3855                                                        },
3856                                                        "PREFER_SMAP": {
3857                                                             "value": 145
3858                                                        }
3859                                                   }
3860                                              }
3861                                         },
3862                                         "properties": []
3863                                    },
3864                                    {
3865                                         "name": "om-cpu-feature",
3866                                         "type": "leaf-list",
3867                                         "description": "Openmano CPU features",
3868                                         "cardinality": "0..N",
3869                                         "data-type": "string",
3870                                         "properties": []
3871                                    }
3872                               ]
3873                          }
3874                     ],
3875                     "key": [
3876                          "id"
3877                     ]
3878                },
3879                {
3880                     "name": "vdu-dependency",
3881                     "type": "list",
3882                     "description": "List of VDU dependencies.",
3883                     "cardinality": "0..N",
3884                     "properties": [
3885                          {
3886                               "name": "vdu-source-ref",
3887                               "type": "leaf",
3888                               "cardinality": "0..1",
3889                               "data-type": {
3890                                    "leafref": {
3891                                         "path": "../../vdu/id"
3892                                    }
3893                               },
3894                               "properties": []
3895                          },
3896                          {
3897                               "name": "vdu-depends-on-ref",
3898                               "type": "leaf",
3899                               "description": "Reference to the VDU that source VDU depends.",
3900                               "cardinality": "0..1",
3901                               "data-type": {
3902                                    "leafref": {
3903                                         "path": "../../vdu/id"
3904                                    }
3905                               },
3906                               "properties": []
3907                          }
3908                     ],
3909                     "key": [
3910                          "vdu-source-ref"
3911                     ]
3912                },
3913                {
3914                     "name": "placement-groups",
3915                     "type": "list",
3916                     "description": "List of placement groups at VNF level",
3917                     "cardinality": "0..N",
3918                     "properties": [
3919                          {
3920                               "name": "member-vdus",
3921                               "type": "list",
3922                               "description": "List of VDUs that are part of this placement group",
3923                               "cardinality": "0..N",
3924                               "properties": [
3925                                    {
3926                                         "name": "member-vdu-ref",
3927                                         "type": "leaf",
3928                                         "cardinality": "0..1",
3929                                         "data-type": {
3930                                              "leafref": {
3931                                                   "path": "../../../vdu/id"
3932                                              }
3933                                         },
3934                                         "properties": []
3935                                    }
3936                               ],
3937                               "key": [
3938                                    "member-vdu-ref"
3939                               ]
3940                          },
3941                          {
3942                               "name": "name",
3943                               "type": "leaf",
3944                               "description": "Place group construct to define the compute resource placement strategy in cloud environment",
3945                               "cardinality": "0..1",
3946                               "data-type": "string",
3947                               "properties": []
3948                          },
3949                          {
3950                               "name": "requirement",
3951                               "type": "leaf",
3952                               "description": "This is free text space used to describe the intent/rationale behind this placement group. This is for human consumption only",
3953                               "cardinality": "0..1",
3954                               "data-type": "string",
3955                               "properties": []
3956                          },
3957                          {
3958                               "name": "strategy",
3959                               "type": "leaf",
3960                               "description": "Strategy associated with this placement group Following values are possible - COLOCATION: Colocation strategy imply intent to share the physical infrastructure (hypervisor/network) among all members of this group. - ISOLATION: Isolation strategy imply intent to not share the physical infrastructure (hypervisor/network) among the members of this group. ",
3961                               "cardinality": "0..1",
3962                               "data-type": {
3963                                    "enumeration": {
3964                                         "enum": {
3965                                              "COLOCATION": {
3966                                                   "value": 0
3967                                              },
3968                                              "ISOLATION": {
3969                                                   "value": 1
3970                                              }
3971                                         }
3972                                    }
3973                               },
3974                               "properties": []
3975                          }
3976                     ],
3977                     "key": [
3978                          "name"
3979                     ]
3980                },
3981                {
3982                     "name": "http-endpoint",
3983                     "type": "list",
3984                     "description": "List of http endpoints to be used by monitoring params",
3985                     "cardinality": "0..N",
3986                     "properties": [
3987                          {
3988                               "name": "path",
3989                               "type": "leaf",
3990                               "description": "The HTTP path on the management server",
3991                               "cardinality": "0..1",
3992                               "data-type": "string",
3993                               "properties": []
3994                          },
3995                          {
3996                               "name": "https",
3997                               "type": "leaf",
3998                               "description": "Pick HTTPS instead of HTTP , Default is false",
3999                               "cardinality": "0..1",
4000                               "data-type": "boolean",
4001                               "properties": []
4002                          },
4003                          {
4004                               "name": "port",
4005                               "type": "leaf",
4006                               "description": "The port-number type represents a 16-bit port number of an Internet transport-layer protocol such as UDP, TCP, DCCP, or SCTP. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. Note that the port number value zero is reserved by IANA. In situations where the value zero does not make sense, it can be excluded by subtyping the port-number type. In the value set and its semantics, this type is equivalent to the InetPortNumber textual convention of the SMIv2.",
4007                               "cardinality": "0..1",
4008                               "data-type": {
4009                                    "uint16": {
4010                                         "range": "0..65535"
4011                                    }
4012                               },
4013                               "properties": []
4014                          },
4015                          {
4016                               "name": "username",
4017                               "type": "leaf",
4018                               "description": "The HTTP basic auth username",
4019                               "cardinality": "0..1",
4020                               "data-type": "string",
4021                               "properties": []
4022                          },
4023                          {
4024                               "name": "password",
4025                               "type": "leaf",
4026                               "description": "The HTTP basic auth password",
4027                               "cardinality": "0..1",
4028                               "data-type": "string",
4029                               "properties": []
4030                          },
4031                          {
4032                               "name": "polling_interval_secs",
4033                               "type": "leaf",
4034                               "description": "The HTTP polling interval in seconds",
4035                               "cardinality": "0..1",
4036                               "data-type": "uint8",
4037                               "properties": []
4038                          },
4039                          {
4040                               "name": "method",
4041                               "type": "leaf",
4042                               "description": "Type of HTTP operation",
4043                               "cardinality": "0..1",
4044                               "data-type": {
4045                                    "enumeration": {
4046                                         "enum": {
4047                                              "POST": {
4048                                                   "value": 0
4049                                              },
4050                                              "PUT": {
4051                                                   "value": 1
4052                                              },
4053                                              "GET": {
4054                                                   "value": 2
4055                                              },
4056                                              "DELETE": {
4057                                                   "value": 3
4058                                              },
4059                                              "OPTIONS": {
4060                                                   "value": 4
4061                                              },
4062                                              "PATCH": {
4063                                                   "value": 5
4064                                              }
4065                                         }
4066                                    }
4067                               },
4068                               "properties": []
4069                          },
4070                          {
4071                               "name": "headers",
4072                               "type": "list",
4073                               "description": "Custom HTTP headers to put on HTTP request",
4074                               "cardinality": "0..N",
4075                               "properties": [
4076                                    {
4077                                         "name": "key",
4078                                         "type": "leaf",
4079                                         "description": "HTTP header key",
4080                                         "cardinality": "0..1",
4081                                         "data-type": "string",
4082                                         "properties": []
4083                                    },
4084                                    {
4085                                         "name": "value",
4086                                         "type": "leaf",
4087                                         "description": "HTTP header value",
4088                                         "cardinality": "0..1",
4089                                         "data-type": "string",
4090                                         "properties": []
4091                                    }
4092                               ],
4093                               "key": [
4094                                    "key"
4095                               ]
4096                          }
4097                     ],
4098                     "key": [
4099                          "path"
4100                     ]
4101                },
4102                {
4103                     "name": "monitoring-param",
4104                     "type": "list",
4105                     "description": "List of monitoring parameters at the NS level",
4106                     "cardinality": "0..N",
4107                     "properties": [
4108                          {
4109                               "name": "id",
4110                               "type": "leaf",
4111                               "cardinality": "0..1",
4112                               "data-type": "string",
4113                               "properties": []
4114                          },
4115                          {
4116                               "name": "name",
4117                               "type": "leaf",
4118                               "cardinality": "0..1",
4119                               "data-type": "string",
4120                               "properties": []
4121                          },
4122                          {
4123                               "name": "http-endpoint-ref",
4124                               "type": "leaf",
4125                               "cardinality": "0..1",
4126                               "data-type": {
4127                                    "leafref": {
4128                                         "path": "../../http-endpoint/path"
4129                                    }
4130                               },
4131                               "properties": []
4132                          },
4133                          {
4134                               "name": "json-query-method",
4135                               "type": "leaf",
4136                               "description": "The method to extract a value from a JSON response NAMEKEY - Use the name as the key for a non-nested value. JSONPATH - Use jsonpath-rw implemenation to extract a value. OBJECTPATH - Use objectpath implemenation to extract a value.",
4137                               "cardinality": "0..1",
4138                               "data-type": {
4139                                    "enumeration": {
4140                                         "enum": {
4141                                              "NAMEKEY": {
4142                                                   "value": 0
4143                                              },
4144                                              "JSONPATH": {
4145                                                   "value": 1
4146                                              },
4147                                              "OBJECTPATH": {
4148                                                   "value": 2
4149                                              }
4150                                         }
4151                                    }
4152                               },
4153                               "properties": []
4154                          },
4155                          {
4156                               "name": "description",
4157                               "type": "leaf",
4158                               "cardinality": "0..1",
4159                               "data-type": "string",
4160                               "properties": []
4161                          },
4162                          {
4163                               "name": "group-tag",
4164                               "type": "leaf",
4165                               "description": "A simple tag to group monitoring parameters",
4166                               "cardinality": "0..1",
4167                               "data-type": "string",
4168                               "properties": []
4169                          },
4170                          {
4171                               "name": "value-type",
4172                               "type": "leaf",
4173                               "description": "The type of the parameter value",
4174                               "cardinality": "0..1",
4175                               "data-type": {
4176                                    "enumeration": {
4177                                         "enum": {
4178                                              "INT": {
4179                                                   "value": 0
4180                                              },
4181                                              "DECIMAL": {
4182                                                   "value": 1
4183                                              },
4184                                              "STRING": {
4185                                                   "value": 2
4186                                              }
4187                                         }
4188                                    }
4189                               },
4190                               "properties": []
4191                          },
4192                          {
4193                               "name": "value-integer",
4194                               "type": "leaf",
4195                               "description": "Current value for an integer parameter",
4196                               "cardinality": "0..1",
4197                               "data-type": "int64",
4198                               "properties": []
4199                          },
4200                          {
4201                               "name": "value-decimal",
4202                               "type": "leaf",
4203                               "description": "Current value for a decimal parameter",
4204                               "cardinality": "0..1",
4205                               "data-type": {
4206                                    "decimal64": {
4207                                         "fraction-digits": "4"
4208                                    }
4209                               },
4210                               "properties": []
4211                          },
4212                          {
4213                               "name": "value-string",
4214                               "type": "leaf",
4215                               "description": "Current value for a string parameter",
4216                               "cardinality": "0..1",
4217                               "data-type": "string",
4218                               "properties": []
4219                          },
4220                          {
4221                               "name": "widget-type",
4222                               "type": "leaf",
4223                               "description": "Type of the widget, typically used by the UI.",
4224                               "cardinality": "0..1",
4225                               "data-type": {
4226                                    "enumeration": {
4227                                         "enum": {
4228                                              "HISTOGRAM": {
4229                                                   "value": 0
4230                                              },
4231                                              "BAR": {
4232                                                   "value": 1
4233                                              },
4234                                              "GAUGE": {
4235                                                   "value": 2
4236                                              },
4237                                              "SLIDER": {
4238                                                   "value": 3
4239                                              },
4240                                              "COUNTER": {
4241                                                   "value": 4
4242                                              },
4243                                              "TEXTBOX": {
4244                                                   "value": 5
4245                                              }
4246                                         }
4247                                    }
4248                               },
4249                               "properties": []
4250                          },
4251                          {
4252                               "name": "units",
4253                               "type": "leaf",
4254                               "cardinality": "0..1",
4255                               "data-type": "string",
4256                               "properties": []
4257                          },
4258                          {
4259                               "name": "json-query-params",
4260                               "type": "container",
4261                               "cardinality": "0..1",
4262                               "properties": [
4263                                    {
4264                                         "name": "json-path",
4265                                         "type": "leaf",
4266                                         "description": "The jsonpath to use to extract value from JSON structure",
4267                                         "cardinality": "0..1",
4268                                         "data-type": "string",
4269                                         "properties": []
4270                                    },
4271                                    {
4272                                         "name": "object-path",
4273                                         "type": "leaf",
4274                                         "description": "The objectpath to use to extract value from JSON structure",
4275                                         "cardinality": "0..1",
4276                                         "data-type": "string",
4277                                         "properties": []
4278                                    }
4279                               ]
4280                          },
4281                          {
4282                               "name": "numeric-constraints",
4283                               "type": "container",
4284                               "cardinality": "0..1",
4285                               "properties": [
4286                                    {
4287                                         "name": "min-value",
4288                                         "type": "leaf",
4289                                         "description": "Minimum value for the parameter",
4290                                         "cardinality": "0..1",
4291                                         "data-type": "uint64",
4292                                         "properties": []
4293                                    },
4294                                    {
4295                                         "name": "max-value",
4296                                         "type": "leaf",
4297                                         "description": "Maxium value for the parameter",
4298                                         "cardinality": "0..1",
4299                                         "data-type": "uint64",
4300                                         "properties": []
4301                                    }
4302                               ]
4303                          },
4304                          {
4305                               "name": "text-constraints",
4306                               "type": "container",
4307                               "cardinality": "0..1",
4308                               "properties": [
4309                                    {
4310                                         "name": "min-length",
4311                                         "type": "leaf",
4312                                         "description": "Minimum string length for the parameter",
4313                                         "cardinality": "0..1",
4314                                         "data-type": "uint8",
4315                                         "properties": []
4316                                    },
4317                                    {
4318                                         "name": "max-length",
4319                                         "type": "leaf",
4320                                         "description": "Maximum string length for the parameter",
4321                                         "cardinality": "0..1",
4322                                         "data-type": "uint8",
4323                                         "properties": []
4324                                    }
4325                               ]
4326                          }
4327                     ],
4328                     "key": [
4329                          "id"
4330                     ]
4331                }
4332           ],
4333           "key": [
4334                "id"
4335           ]
4336      }
4337 }