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