Rift.IO OSM R1 Initial Submission
[osm/UI.git] / skyquake / plugins / composer / src / src / libraries / model / DescriptorModelMeta.json
diff --git a/skyquake/plugins/composer/src/src/libraries/model/DescriptorModelMeta.json b/skyquake/plugins/composer/src/src/libraries/model/DescriptorModelMeta.json
new file mode 100644 (file)
index 0000000..e676019
--- /dev/null
@@ -0,0 +1,4336 @@
+{
+     "nsd": {
+          "name": "nsd",
+          "type": "list",
+          "cardinality": "0..N",
+          "properties": [
+               {
+                    "name": "id",
+                    "type": "leaf",
+                    "description": "Identifier for the NSD.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "name",
+                    "type": "leaf",
+                    "description": "NSD name.",
+                    "cardinality": "1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "short-name",
+                    "type": "leaf",
+                    "description": "NSD short name.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "type": "leaf",
+                    "description": "Vendor of the NSD.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "logo",
+                    "type": "leaf",
+                    "description": "File path for the vendor specific logo. For example icons/mylogo.png. The logo should be part of the network service",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "description",
+                    "type": "leaf",
+                    "description": "Description of the NSD.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "version",
+                    "type": "leaf",
+                    "description": "Version of the NSD",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "meta",
+                    "type": "leaf",
+                    "description": "Any meta-data needed by the UI",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "connection-point",
+                    "type": "list",
+                    "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.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Name of the NS connection point.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "type",
+                              "type": "leaf",
+                              "description": "Type of connection point VPORT: Virtual Port // VNIC_ADDR: Virtual NIC Address // PNIC_ADDR: Physical NIC Address // PPORT: Phsical Port.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": "VPORT"
+                                   }
+                              },
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               },
+               {
+                    "name": "vld",
+                    "type": "list",
+                    "description": "List of Virtual Link Descriptors.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "description": "Identifier for the VLD.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Virtual Link Descriptor (VLD) name.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "short-name",
+                              "type": "leaf",
+                              "description": "Short name for VLD for UI",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "vendor",
+                              "type": "leaf",
+                              "description": "Provider of the VLD.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "description",
+                              "type": "leaf",
+                              "description": "Description of the VLD.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "version",
+                              "type": "leaf",
+                              "description": "Version of the VLD",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "type",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": "ELAN"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "root-bandwidth",
+                              "type": "leaf",
+                              "description": "For ELAN this is the aggregate bandwidth.",
+                              "cardinality": "0..1",
+                              "data-type": "uint64",
+                              "properties": []
+                         },
+                         {
+                              "name": "leaf-bandwidth",
+                              "type": "leaf",
+                              "description": "For ELAN this is the bandwidth of branches.",
+                              "cardinality": "0..1",
+                              "data-type": "uint64",
+                              "properties": []
+                         },
+                         {
+                              "name": "vnfd-connection-point-ref",
+                              "type": "list",
+                              "description": "A list of references to connection points.",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "member-vnf-index-ref",
+                                        "type": "leaf",
+                                        "description": "Reference to member-vnf within constituent-vnfds",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../nsd:constituent-vnfd/nsd:member-vnf-index"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-id-ref",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-connection-point-ref",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "member-vnf-index-ref"
+                              ]
+                         },
+                         {
+                              "name": "provider-network",
+                              "type": "container",
+                              "description": "Container for the provider network.",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "physical-network",
+                                        "type": "leaf",
+                                        "description": "Name of the phsyical network on which the provider network is built.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "overlay-type",
+                                        "type": "leaf",
+                                        "description": "Type of the overlay network.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "LOCAL": {
+                                                            "value": 0
+                                                       },
+                                                       "FLAT": {
+                                                            "value": 1
+                                                       },
+                                                       "VLAN": {
+                                                            "value": 2
+                                                       },
+                                                       "VXLAN": {
+                                                            "value": 3
+                                                       },
+                                                       "GRE": {
+                                                            "value": 4
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "segmentation_id",
+                                        "type": "leaf",
+                                        "description": "Segmentation ID",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "id"
+                    ]
+               },
+               {
+                    "name": "constituent-vnfd",
+                    "type": "list",
+                    "description": "List of VNFDs that are part of this network service.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "member-vnf-index",
+                              "type": "leaf",
+                              "description": "Identifier/index for the VNFD. This separate id is required to ensure that multiple VNFs can be part of single NS",
+                              "cardinality": "0..1",
+                              "data-type": "uint64",
+                              "properties": []
+                         },
+                         {
+                              "name": "vnfd-id-ref",
+                              "type": "leaf",
+                              "description": "Identifier for the VNFD.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "start-by-default",
+                              "type": "leaf",
+                              "description": "VNFD is started as part of the NS instantiation",
+                              "cardinality": "0..1",
+                              "data-type": "boolean",
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "member-vnf-index"
+                    ]
+               },
+               {
+                    "name": "scaling-group-descriptor",
+                    "type": "list",
+                    "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",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Name of this scaling group.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "min-instance-count",
+                              "type": "leaf",
+                              "description": "Minimum instances of the scaling group which are allowed. These instances are created by default when the network service is instantiated.",
+                              "cardinality": "0..1",
+                              "data-type": "uint32",
+                              "properties": []
+                         },
+                         {
+                              "name": "max-instance-count",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": "uint32",
+                              "properties": []
+                         },
+                         {
+                              "name": "vnfd-member",
+                              "type": "list",
+                              "description": "List of VNFs in this scaling group",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "member-vnf-index-ref",
+                                        "type": "leaf",
+                                        "description": "member VNF index of this member VNF",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../constituent-vnfd/member-vnf-index"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "count",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "member-vnf-index-ref"
+                              ]
+                         },
+                         {
+                              "name": "scaling-config-action",
+                              "type": "list",
+                              "description": "List of scaling config actions",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "trigger",
+                                        "type": "leaf",
+                                        "description": "scaling trigger",
+                                        "cardinality": "0..1",
+                                        "data-type": "scaling-trigger",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "ns-config-primitive-name-ref",
+                                        "type": "leaf",
+                                        "description": "Reference to the NS config name primitive",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../config-primitive/name"
+                                             }
+                                        },
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "trigger"
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               },
+               {
+                    "name": "placement-groups",
+                    "type": "list",
+                    "description": "List of placement groups at NS level",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "member-vnfd",
+                              "type": "list",
+                              "description": "List of VNFDs that are part of this placement group",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "member-vnf-index-ref",
+                                        "type": "leaf",
+                                        "description": "member VNF index of this member VNF",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../constituent-vnfd/member-vnf-index"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-id-ref",
+                                        "type": "leaf",
+                                        "description": "Identifier for the VNFD.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
+                                             }
+                                        },
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "member-vnf-index-ref"
+                              ]
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Place group construct to define the compute resource placement strategy in cloud environment",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "requirement",
+                              "type": "leaf",
+                              "description": "This is free text space used to describe the intent/rationale behind this placement group. This is for human consumption only",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "strategy",
+                              "type": "leaf",
+                              "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. ",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "COLOCATION": {
+                                                  "value": 0
+                                             },
+                                             "ISOLATION": {
+                                                  "value": 1
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               },
+               {
+                    "name": "vnf-dependency",
+                    "type": "list",
+                    "description": "List of VNF dependencies.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "vnf-source-ref",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "vnf-depends-on-ref",
+                              "type": "leaf",
+                              "description": "Reference to VNF that sorce VNF depends.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id"
+                                   }
+                              },
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "vnf-source-ref"
+                    ]
+               },
+               {
+                    "name": "vnffgd",
+                    "type": "list",
+                    "description": "List of VNF Forwarding Graph Descriptors (VNFFGD).",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "description": "Identifier for the VNFFGD.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "VNFFGD name.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "short-name",
+                              "type": "leaf",
+                              "description": "Short name for VNFFGD for UI",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "vendor",
+                              "type": "leaf",
+                              "description": "Provider of the VNFFGD.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "description",
+                              "type": "leaf",
+                              "description": "Description of the VNFFGD.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "version",
+                              "type": "leaf",
+                              "description": "Version of the VNFFGD",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "rsp",
+                              "type": "list",
+                              "description": "List of Rendered Service Paths (RSP).",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "id",
+                                        "type": "leaf",
+                                        "description": "Identifier for the RSP.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "RSP name.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-connection-point-ref",
+                                        "type": "list",
+                                        "description": "A list of references to connection points.",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "member-vnf-index-ref",
+                                                  "type": "leaf",
+                                                  "description": "Reference to member-vnf within constituent-vnfds",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "leafref": {
+                                                            "path": "../../../../nsd:constituent-vnfd/nsd:member-vnf-index"
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "order",
+                                                  "type": "leaf",
+                                                  "description": "A number that denotes the order of a VNF in a chain",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint8",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "vnfd-id-ref",
+                                                  "type": "leaf",
+                                                  "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",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "vnfd-connection-point-ref",
+                                                  "type": "leaf",
+                                                  "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",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             }
+                                        ],
+                                        "key": [
+                                             "member-vnf-index-ref"
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "id"
+                              ]
+                         },
+                         {
+                              "name": "classifier",
+                              "type": "list",
+                              "description": "List of classifier rules.",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "id",
+                                        "type": "leaf",
+                                        "description": "Identifier for the classifier rule.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "Name of the classifier.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "rsp-id-ref",
+                                        "type": "leaf",
+                                        "description": "A reference to the RSP.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../nsd:rsp/nsd:id"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "member-vnf-index-ref",
+                                        "type": "leaf",
+                                        "description": "Reference to member-vnf within constituent-vnfds",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../nsd:constituent-vnfd/nsd:member-vnf-index"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-id-ref",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-connection-point-ref",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "match-attributes",
+                                        "type": "list",
+                                        "description": "List of match attributes.",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "id",
+                                                  "type": "leaf",
+                                                  "description": "Identifier for the classifier match attribute rule.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "ip-proto",
+                                                  "type": "leaf",
+                                                  "description": "IP Protocol.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint8",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "source-ip-address",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "union": {
+                                                            "type": {
+                                                                 "inet:ipv4-address": null,
+                                                                 "inet:ipv6-address": null
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "destination-ip-address",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "union": {
+                                                            "type": {
+                                                                 "inet:ipv4-address": null,
+                                                                 "inet:ipv6-address": null
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "source-port",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "uint16": {
+                                                            "range": "0..65535"
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "destination-port",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "uint16": {
+                                                            "range": "0..65535"
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             }
+                                        ],
+                                        "key": [
+                                             "id"
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "id"
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "id"
+                    ]
+               },
+               {
+                    "name": "parameter-pool",
+                    "type": "list",
+                    "description": "Pool of parameter values which must be pulled from during configuration",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Name of the configuration value pool",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "range",
+                              "type": "container",
+                              "description": "Create a range of values to populate the pool with",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "start-value",
+                                        "type": "leaf",
+                                        "description": "Generated pool values start at this value",
+                                        "cardinality": "1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "end-value",
+                                        "type": "leaf",
+                                        "description": "Generated pool values stop at this value",
+                                        "cardinality": "1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               },
+               {
+                    "name": "http-endpoint",
+                    "type": "list",
+                    "description": "List of http endpoints to be used by monitoring params",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "path",
+                              "type": "leaf",
+                              "description": "The HTTP path on the management server",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "https",
+                              "type": "leaf",
+                              "description": "Pick HTTPS instead of HTTP , Default is false",
+                              "cardinality": "0..1",
+                              "data-type": "boolean",
+                              "properties": []
+                         },
+                         {
+                              "name": "port",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "uint16": {
+                                        "range": "0..65535"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "username",
+                              "type": "leaf",
+                              "description": "The HTTP basic auth username",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "password",
+                              "type": "leaf",
+                              "description": "The HTTP basic auth password",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "polling_interval_secs",
+                              "type": "leaf",
+                              "description": "The HTTP polling interval in seconds",
+                              "cardinality": "0..1",
+                              "data-type": "uint8",
+                              "properties": []
+                         },
+                         {
+                              "name": "method",
+                              "type": "leaf",
+                              "description": "Type of HTTP operation",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "POST": {
+                                                  "value": 0
+                                             },
+                                             "PUT": {
+                                                  "value": 1
+                                             },
+                                             "GET": {
+                                                  "value": 2
+                                             },
+                                             "DELETE": {
+                                                  "value": 3
+                                             },
+                                             "OPTIONS": {
+                                                  "value": 4
+                                             },
+                                             "PATCH": {
+                                                  "value": 5
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "headers",
+                              "type": "list",
+                              "description": "Custom HTTP headers to put on HTTP request",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "key",
+                                        "type": "leaf",
+                                        "description": "HTTP header key",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "value",
+                                        "type": "leaf",
+                                        "description": "HTTP header value",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "key"
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "path"
+                    ]
+               },
+               {
+                    "name": "monitoring-param",
+                    "type": "list",
+                    "description": "List of monitoring parameters at the NS level",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "http-endpoint-ref",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "../../http-endpoint/path"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "json-query-method",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "NAMEKEY": {
+                                                  "value": 0
+                                             },
+                                             "JSONPATH": {
+                                                  "value": 1
+                                             },
+                                             "OBJECTPATH": {
+                                                  "value": 2
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "description",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "group-tag",
+                              "type": "leaf",
+                              "description": "A simple tag to group monitoring parameters",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "value-type",
+                              "type": "leaf",
+                              "description": "The type of the parameter value",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "INT": {
+                                                  "value": 0
+                                             },
+                                             "DECIMAL": {
+                                                  "value": 1
+                                             },
+                                             "STRING": {
+                                                  "value": 2
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "value-integer",
+                              "type": "leaf",
+                              "description": "Current value for an integer parameter",
+                              "cardinality": "0..1",
+                              "data-type": "int64",
+                              "properties": []
+                         },
+                         {
+                              "name": "value-decimal",
+                              "type": "leaf",
+                              "description": "Current value for a decimal parameter",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "decimal64": {
+                                        "fraction-digits": "4"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "value-string",
+                              "type": "leaf",
+                              "description": "Current value for a string parameter",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "widget-type",
+                              "type": "leaf",
+                              "description": "Type of the widget, typically used by the UI.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "HISTOGRAM": {
+                                                  "value": 0
+                                             },
+                                             "BAR": {
+                                                  "value": 1
+                                             },
+                                             "GAUGE": {
+                                                  "value": 2
+                                             },
+                                             "SLIDER": {
+                                                  "value": 3
+                                             },
+                                             "COUNTER": {
+                                                  "value": 4
+                                             },
+                                             "TEXTBOX": {
+                                                  "value": 5
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "units",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "json-query-params",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "json-path",
+                                        "type": "leaf",
+                                        "description": "The jsonpath to use to extract value from JSON structure",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "object-path",
+                                        "type": "leaf",
+                                        "description": "The objectpath to use to extract value from JSON structure",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "numeric-constraints",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "min-value",
+                                        "type": "leaf",
+                                        "description": "Minimum value for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "max-value",
+                                        "type": "leaf",
+                                        "description": "Maxium value for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "text-constraints",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "min-length",
+                                        "type": "leaf",
+                                        "description": "Minimum string length for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint8",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "max-length",
+                                        "type": "leaf",
+                                        "description": "Maximum string length for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint8",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "id"
+                    ]
+               },
+               {
+                    "name": "input-parameter-xpath",
+                    "type": "list",
+                    "description": "List of xpaths to parameters inside the NSD the can be customized during the instantiation.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "xpath",
+                              "type": "leaf",
+                              "description": "An xpath that specifies the element in a descriptor.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "label",
+                              "type": "leaf",
+                              "description": "A descriptive string",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "default-value",
+                              "type": "leaf",
+                              "description": " A default value for this input parameter",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "xpath"
+                    ]
+               },
+               {
+                    "name": "config-primitive",
+                    "type": "list",
+                    "description": "Network service level configuration primitives.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Name of the configuration primitive.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "user-defined-script",
+                              "type": "leaf",
+                              "description": "A user defined script.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "parameter",
+                              "type": "list",
+                              "description": "List of parameters to the configuration primitive.",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "Name of the parameter.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "data-type",
+                                        "type": "leaf",
+                                        "description": "Data type associated with the name.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "STRING": {
+                                                            "value": 0
+                                                       },
+                                                       "INTEGER": {
+                                                            "value": 1
+                                                       },
+                                                       "BOOLEAN": {
+                                                            "value": 2
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "mandatory",
+                                        "type": "leaf",
+                                        "description": "Is this field mandatory",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "default-value",
+                                        "type": "leaf",
+                                        "description": "The default value for this field",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "parameter-pool",
+                                        "type": "leaf",
+                                        "description": "NSD Parameter pool name to use for this paramter",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "read-only",
+                                        "type": "leaf",
+                                        "description": "The value should be greyed out by the UI. Only applies to parameters with default values.",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "hidden",
+                                        "type": "leaf",
+                                        "description": "The value should be hidden by the UI. Only applies to parameters with default values.",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "name"
+                              ]
+                         },
+                         {
+                              "name": "parameter-group",
+                              "type": "list",
+                              "description": "Grouping of parameters which are logically grouped in UI",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "Name of the parameter group",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "mandatory",
+                                        "type": "leaf",
+                                        "description": "Is this parameter group mandatory",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "parameter",
+                                        "type": "list",
+                                        "description": "List of parameters to the configuration primitive.",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "name",
+                                                  "type": "leaf",
+                                                  "description": "Name of the parameter.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "data-type",
+                                                  "type": "leaf",
+                                                  "description": "Data type associated with the name.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "enumeration": {
+                                                            "enum": {
+                                                                 "STRING": {
+                                                                      "value": 0
+                                                                 },
+                                                                 "INTEGER": {
+                                                                      "value": 1
+                                                                 },
+                                                                 "BOOLEAN": {
+                                                                      "value": 2
+                                                                 }
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "mandatory",
+                                                  "type": "leaf",
+                                                  "description": "Is this field mandatory",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "boolean",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "default-value",
+                                                  "type": "leaf",
+                                                  "description": "The default value for this field",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "parameter-pool",
+                                                  "type": "leaf",
+                                                  "description": "NSD Parameter pool name to use for this paramter",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "read-only",
+                                                  "type": "leaf",
+                                                  "description": "The value should be greyed out by the UI. Only applies to parameters with default values.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "boolean",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "hidden",
+                                                  "type": "leaf",
+                                                  "description": "The value should be hidden by the UI. Only applies to parameters with default values.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "boolean",
+                                                  "properties": []
+                                             }
+                                        ],
+                                        "key": [
+                                             "name"
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "name"
+                              ]
+                         },
+                         {
+                              "name": "vnf-primitive-group",
+                              "type": "list",
+                              "description": "List of configuration primitives grouped by VNF.",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "member-vnf-index-ref",
+                                        "type": "leaf",
+                                        "description": "Reference to member-vnf within constituent-vnfds",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-id-ref",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-name",
+                                        "type": "leaf",
+                                        "description": "Name of the VNFD",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "primitive",
+                                        "type": "list",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "index",
+                                                  "type": "leaf",
+                                                  "description": "Index of this primitive",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint32",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "name",
+                                                  "type": "leaf",
+                                                  "description": "Name of the primitive in the VNF primitive ",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             }
+                                        ],
+                                        "key": [
+                                             "index"
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "member-vnf-index-ref"
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               }
+          ],
+          "key": [
+               "id"
+          ]
+     },
+     "vnfd": {
+          "name": "vnfd",
+          "type": "list",
+          "cardinality": "0..N",
+          "properties": [
+               {
+                    "name": "id",
+                    "type": "leaf",
+                    "description": "Identifier for the VNFD.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "name",
+                    "type": "leaf",
+                    "description": "VNFD name.",
+                    "cardinality": "1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "short-name",
+                    "type": "leaf",
+                    "description": "VNFD short name.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "vendor",
+                    "type": "leaf",
+                    "description": "Vendor of the VNFD.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "logo",
+                    "type": "leaf",
+                    "description": "Vendor logo for the Virtual Network Function",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "description",
+                    "type": "leaf",
+                    "description": "Description of the VNFD.",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "version",
+                    "type": "leaf",
+                    "description": "Version of the VNFD",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "service-function-chain",
+                    "type": "leaf",
+                    "description": "Type of node in Service Function Chaining Architecture",
+                    "cardinality": "0..1",
+                    "data-type": {
+                         "enumeration": {
+                              "enum": {
+                                   "UNAWARE": null,
+                                   "CLASSIFIER": null,
+                                   "SF": null,
+                                   "SFF": null
+                              }
+                         }
+                    },
+                    "properties": []
+               },
+               {
+                    "name": "service-function-type",
+                    "type": "leaf",
+                    "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",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "meta",
+                    "type": "leaf",
+                    "description": "Any meta-data needed by the UI",
+                    "cardinality": "0..1",
+                    "data-type": "string",
+                    "properties": []
+               },
+               {
+                    "name": "mgmt-interface",
+                    "type": "container",
+                    "description": "Interface over which the VNF is managed.",
+                    "cardinality": "0..1",
+                    "properties": [
+                         {
+                              "name": "endpoint-type",
+                              "type": "choice",
+                              "description": "Indicates the type of management endpoint.",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "ip",
+                                        "type": "case",
+                                        "description": "Specifies the static IP address for managing the VNF.",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "ip-address",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "union": {
+                                                            "type": {
+                                                                 "inet:ipv4-address": null,
+                                                                 "inet:ipv6-address": null
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             }
+                                        ]
+                                   },
+                                   {
+                                        "name": "vdu-id",
+                                        "type": "case",
+                                        "description": "Use the default management interface on this VDU.",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "vdu-id",
+                                                  "type": "leaf",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "leafref": {
+                                                            "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:id"
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             }
+                                        ]
+                                   },
+                                   {
+                                        "name": "cp",
+                                        "type": "case",
+                                        "description": "Use the ip address associated with this connection point.",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "cp",
+                                                  "type": "leaf",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "leafref": {
+                                                            "path": "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:connection-point/vnfd:name"
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             }
+                                        ]
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "port",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "uint16": {
+                                        "range": "0..65535"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "dashboard-params",
+                              "type": "container",
+                              "description": "Parameters for the VNF dashboard",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "path",
+                                        "type": "leaf",
+                                        "description": "The HTTP path for the dashboard",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "https",
+                                        "type": "leaf",
+                                        "description": "Pick HTTPS instead of HTTP , Default is false",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "port",
+                                        "type": "leaf",
+                                        "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.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "uint16": {
+                                                  "range": "0..65535"
+                                             }
+                                        },
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "vnf-configuration",
+                              "type": "container",
+                              "description": "Information regarding the VNF configuration is captured here. ",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "config-method",
+                                        "type": "choice",
+                                        "description": "Defines the configuration method for the VNF.",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "netconf",
+                                                  "type": "case",
+                                                  "description": "Use NETCONF for configuring the VNF.",
+                                                  "cardinality": "0..1",
+                                                  "properties": [
+                                                       {
+                                                            "name": "netconf",
+                                                            "type": "container",
+                                                            "cardinality": "0..1",
+                                                            "properties": [
+                                                                 {
+                                                                      "name": "target",
+                                                                      "type": "leaf",
+                                                                      "description": "Netconf configuration target",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": {
+                                                                           "enumeration": {
+                                                                                "enum": {
+                                                                                     "running": {
+                                                                                          "value": 0
+                                                                                     },
+                                                                                     "candidate": {
+                                                                                          "value": 1
+                                                                                     }
+                                                                                }
+                                                                           }
+                                                                      },
+                                                                      "properties": []
+                                                                 },
+                                                                 {
+                                                                      "name": "protocol",
+                                                                      "type": "leaf",
+                                                                      "description": "Protocol to use for netconf (e.g. ssh)",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": {
+                                                                           "enumeration": {
+                                                                                "enum": {
+                                                                                     "None": {
+                                                                                          "value": 0
+                                                                                     },
+                                                                                     "ssh": {
+                                                                                          "value": 1
+                                                                                     }
+                                                                                }
+                                                                           }
+                                                                      },
+                                                                      "properties": []
+                                                                 },
+                                                                 {
+                                                                      "name": "port",
+                                                                      "type": "leaf",
+                                                                      "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.",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": {
+                                                                           "uint16": {
+                                                                                "range": "0..65535"
+                                                                           }
+                                                                      },
+                                                                      "properties": []
+                                                                 }
+                                                            ]
+                                                       }
+                                                  ]
+                                             },
+                                             {
+                                                  "name": "rest",
+                                                  "type": "case",
+                                                  "description": "Use REST for configuring the VNF.",
+                                                  "cardinality": "0..1",
+                                                  "properties": [
+                                                       {
+                                                            "name": "rest",
+                                                            "type": "container",
+                                                            "cardinality": "0..1",
+                                                            "properties": [
+                                                                 {
+                                                                      "name": "port",
+                                                                      "type": "leaf",
+                                                                      "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.",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": {
+                                                                           "uint16": {
+                                                                                "range": "0..65535"
+                                                                           }
+                                                                      },
+                                                                      "properties": []
+                                                                 }
+                                                            ]
+                                                       }
+                                                  ]
+                                             },
+                                             {
+                                                  "name": "script",
+                                                  "type": "case",
+                                                  "description": "Use custom script for configuring the VNF. This script is executed in the context of Orchestrator.",
+                                                  "cardinality": "0..1",
+                                                  "properties": [
+                                                       {
+                                                            "name": "script",
+                                                            "type": "container",
+                                                            "cardinality": "0..1",
+                                                            "properties": [
+                                                                 {
+                                                                      "name": "script-type",
+                                                                      "type": "leaf",
+                                                                      "description": "Script type - currently supported : bash, expect",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": {
+                                                                           "enumeration": {
+                                                                                "enum": {
+                                                                                     "bash": {
+                                                                                          "value": 0
+                                                                                     },
+                                                                                     "expect": {
+                                                                                          "value": 1
+                                                                                     }
+                                                                                }
+                                                                           }
+                                                                      },
+                                                                      "properties": []
+                                                                 }
+                                                            ]
+                                                       }
+                                                  ]
+                                             },
+                                             {
+                                                  "name": "juju",
+                                                  "type": "case",
+                                                  "description": "Configure the VNF through Juju.",
+                                                  "cardinality": "0..1",
+                                                  "properties": [
+                                                       {
+                                                            "name": "juju",
+                                                            "type": "container",
+                                                            "cardinality": "0..1",
+                                                            "properties": [
+                                                                 {
+                                                                      "name": "charm",
+                                                                      "type": "leaf",
+                                                                      "description": "Juju charm to use with the VNF.",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": "string",
+                                                                      "properties": []
+                                                                 }
+                                                            ]
+                                                       }
+                                                  ]
+                                             }
+                                        ]
+                                   },
+                                   {
+                                        "name": "config-access",
+                                        "type": "container",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "mgmt-ip-address",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "union": {
+                                                            "type": {
+                                                                 "inet:ipv4-address": null,
+                                                                 "inet:ipv6-address": null
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "username",
+                                                  "type": "leaf",
+                                                  "description": "username for configuration.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "password",
+                                                  "type": "leaf",
+                                                  "description": "Password for configuration access authentication.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             }
+                                        ]
+                                   },
+                                   {
+                                        "name": "config-attributes",
+                                        "type": "container",
+                                        "description": "Miscelaneous input parameters to be considered while processing the NSD to apply configuration",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "config-priority",
+                                                  "type": "leaf",
+                                                  "description": "Configuration priority - order of confgiration to be applied to each VNF in this NS, low number gets precedence over high number",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint64",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "config-delay",
+                                                  "type": "leaf",
+                                                  "description": "Wait (seconds) before applying the configuration to VNF",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint64",
+                                                  "properties": []
+                                             }
+                                        ]
+                                   },
+                                   {
+                                        "name": "config-primitive",
+                                        "type": "list",
+                                        "description": "List of configuration primitives supported by the configuration agent for this VNF.",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "name",
+                                                  "type": "leaf",
+                                                  "description": "Name of the configuration primitive.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "parameter",
+                                                  "type": "list",
+                                                  "description": "List of parameters to the configuration primitive.",
+                                                  "cardinality": "0..N",
+                                                  "properties": [
+                                                       {
+                                                            "name": "name",
+                                                            "type": "leaf",
+                                                            "description": "Name of the parameter.",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "data-type",
+                                                            "type": "leaf",
+                                                            "description": "Data type associated with the name.",
+                                                            "cardinality": "0..1",
+                                                            "data-type": {
+                                                                 "enumeration": {
+                                                                      "enum": {
+                                                                           "STRING": {
+                                                                                "value": 0
+                                                                           },
+                                                                           "INTEGER": {
+                                                                                "value": 1
+                                                                           },
+                                                                           "BOOLEAN": {
+                                                                                "value": 2
+                                                                           }
+                                                                      }
+                                                                 }
+                                                            },
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "mandatory",
+                                                            "type": "leaf",
+                                                            "description": "Is this field mandatory",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "boolean",
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "default-value",
+                                                            "type": "leaf",
+                                                            "description": "The default value for this field",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "parameter-pool",
+                                                            "type": "leaf",
+                                                            "description": "NSD Parameter pool name to use for this paramter",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "read-only",
+                                                            "type": "leaf",
+                                                            "description": "The value should be greyed out by the UI. Only applies to parameters with default values.",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "boolean",
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "hidden",
+                                                            "type": "leaf",
+                                                            "description": "The value should be hidden by the UI. Only applies to parameters with default values.",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "boolean",
+                                                            "properties": []
+                                                       }
+                                                  ],
+                                                  "key": [
+                                                       "name"
+                                                  ]
+                                             }
+                                        ],
+                                        "key": [
+                                             "name"
+                                        ]
+                                   },
+                                   {
+                                        "name": "initial-config-primitive",
+                                        "type": "list",
+                                        "description": "Initial set of configuration primitives.",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "seq",
+                                                  "type": "leaf",
+                                                  "description": "Sequence number for the configuration primitive.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint64",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "name",
+                                                  "type": "leaf",
+                                                  "description": "Name of the configuration primitive.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "parameter",
+                                                  "type": "list",
+                                                  "cardinality": "0..N",
+                                                  "properties": [
+                                                       {
+                                                            "name": "name",
+                                                            "type": "leaf",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       },
+                                                       {
+                                                            "name": "value",
+                                                            "type": "leaf",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       }
+                                                  ],
+                                                  "key": [
+                                                       "name"
+                                                  ]
+                                             }
+                                        ],
+                                        "key": [
+                                             "seq"
+                                        ]
+                                   },
+                                   {
+                                        "name": "config-template",
+                                        "type": "leaf",
+                                        "description": "Configuration template for each VNF",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ]
+               },
+               {
+                    "name": "internal-vld",
+                    "type": "list",
+                    "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.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "description": "Identifier for the VLD",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Name of the internal VLD",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "short-name",
+                              "type": "leaf",
+                              "description": "Short name of the internal VLD",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "description",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "type",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": "ELAN"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "root-bandwidth",
+                              "type": "leaf",
+                              "description": "For ELAN this is the aggregate bandwidth.",
+                              "cardinality": "0..1",
+                              "data-type": "uint64",
+                              "properties": []
+                         },
+                         {
+                              "name": "leaf-bandwidth",
+                              "type": "leaf",
+                              "description": "For ELAN this is the bandwidth of branches.",
+                              "cardinality": "0..1",
+                              "data-type": "uint64",
+                              "properties": []
+                         },
+                         {
+                              "name": "internal-connection-point-ref",
+                              "type": "leaf-list",
+                              "cardinality": "0..N",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "../../vdu/internal-connection-point/id"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "provider-network",
+                              "type": "container",
+                              "description": "Container for the provider network.",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "physical-network",
+                                        "type": "leaf",
+                                        "description": "Name of the phsyical network on which the provider network is built.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "overlay-type",
+                                        "type": "leaf",
+                                        "description": "Type of the overlay network.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "LOCAL": {
+                                                            "value": 0
+                                                       },
+                                                       "FLAT": {
+                                                            "value": 1
+                                                       },
+                                                       "VLAN": {
+                                                            "value": 2
+                                                       },
+                                                       "VXLAN": {
+                                                            "value": 3
+                                                       },
+                                                       "GRE": {
+                                                            "value": 4
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "segmentation_id",
+                                        "type": "leaf",
+                                        "description": "Segmentation ID",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "id"
+                    ]
+               },
+               {
+                    "name": "connection-point",
+                    "type": "list",
+                    "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.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Name of the connection point",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "description": "Identifier for the internal connection points",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "short-name",
+                              "type": "leaf",
+                              "description": "Short name of the connection point",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "type",
+                              "type": "leaf",
+                              "description": "Type of connection point VPORT: Virtual Port // VNIC_ADDR: Virtual NIC Address // PNIC_ADDR: Physical NIC Address // PPORT: Phsical Port.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": "VPORT"
+                                   }
+                              },
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               },
+               {
+                    "name": "vdu",
+                    "type": "list",
+                    "description": "List of Virtual Deployment Units",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "description": "Unique id for the VDU",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Unique name for the VDU",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "description",
+                              "type": "leaf",
+                              "description": "Description of the VDU.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "count",
+                              "type": "leaf",
+                              "description": "Number of instances of VDU",
+                              "cardinality": "0..1",
+                              "data-type": "uint64",
+                              "properties": []
+                         },
+                         {
+                              "name": "mgmt-vpci",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "image",
+                              "type": "leaf",
+                              "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. ",
+                              "cardinality": "1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "image-checksum",
+                              "type": "leaf",
+                              "description": "Image md5sum for the software image. The md5sum, if provided, along with the image name uniquely identifies an image uploaded to the CAL. ",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "cloud-init",
+                              "type": "leaf",
+                              "description": "Content of cloud-init script",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "alarm",
+                              "type": "list",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "alarm-id",
+                                        "type": "leaf",
+                                        "description": "This field is reserved for the identifier assigned by the cloud provider",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "A human readable string to identify the alarm",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "description",
+                                        "type": "leaf",
+                                        "description": "A string containing a description of this alarm",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vdur-id",
+                                        "type": "leaf",
+                                        "description": "The identifier of the VDUR that the alarm is associated with",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "repeat",
+                                        "type": "leaf",
+                                        "description": "This flag indicates whether the alarm should be repeatedly emitted while the associated threshold has been crossed.",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "enabled",
+                                        "type": "leaf",
+                                        "description": "This flag indicates whether the alarm has been enabled or disabled.",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "severity",
+                                        "type": "leaf",
+                                        "description": "An indication of the importance or ugency of the alarm",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "LOW": {
+                                                            "value": 0
+                                                       },
+                                                       "MODERATE": {
+                                                            "value": 1
+                                                       },
+                                                       "CRITICAL": {
+                                                            "value": 2
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "metric",
+                                        "type": "leaf",
+                                        "description": "The type of metrics to register the alarm for",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "CPU_UTILIZATION": {
+                                                            "value": 0
+                                                       },
+                                                       "MEMORY_UTILIZATION": {
+                                                            "value": 1
+                                                       },
+                                                       "STORAGE_UTILIZATION": {
+                                                            "value": 2
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "statistic",
+                                        "type": "leaf",
+                                        "description": "The type of statistic to used to measure a metric to determine threshold crossing for an alarm.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "AVERAGE": {
+                                                            "value": 0
+                                                       },
+                                                       "MINIMUM": {
+                                                            "value": 1
+                                                       },
+                                                       "MAXIMUM": {
+                                                            "value": 2
+                                                       },
+                                                       "COUNT": {
+                                                            "value": 3
+                                                       },
+                                                       "SUM": {
+                                                            "value": 4
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "operation",
+                                        "type": "leaf",
+                                        "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.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "GE": {
+                                                            "value": 0
+                                                       },
+                                                       "LE": {
+                                                            "value": 1
+                                                       },
+                                                       "GT": {
+                                                            "value": 2
+                                                       },
+                                                       "LT": {
+                                                            "value": 3
+                                                       },
+                                                       "EQ": {
+                                                            "value": 4
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "value",
+                                        "type": "leaf",
+                                        "description": "This value defines the threshold that, if crossed, will trigger the alarm.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "decimal64": {
+                                                  "fraction-digits": "4"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "period",
+                                        "type": "leaf",
+                                        "description": "The period defines the length of time (seconds) that the metric data are collected over in oreder to evaluate the chosen statistic.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "evaluations",
+                                        "type": "leaf",
+                                        "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.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint32",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "actions",
+                                        "type": "container",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "ok",
+                                                  "type": "list",
+                                                  "cardinality": "0..N",
+                                                  "properties": [
+                                                       {
+                                                            "name": "url",
+                                                            "type": "leaf",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       }
+                                                  ],
+                                                  "key": [
+                                                       "url"
+                                                  ]
+                                             },
+                                             {
+                                                  "name": "insufficient-data",
+                                                  "type": "list",
+                                                  "cardinality": "0..N",
+                                                  "properties": [
+                                                       {
+                                                            "name": "url",
+                                                            "type": "leaf",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       }
+                                                  ],
+                                                  "key": [
+                                                       "url"
+                                                  ]
+                                             },
+                                             {
+                                                  "name": "alarm",
+                                                  "type": "list",
+                                                  "cardinality": "0..N",
+                                                  "properties": [
+                                                       {
+                                                            "name": "url",
+                                                            "type": "leaf",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "string",
+                                                            "properties": []
+                                                       }
+                                                  ],
+                                                  "key": [
+                                                       "url"
+                                                  ]
+                                             }
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "alarm-id"
+                              ]
+                         },
+                         {
+                              "name": "internal-connection-point",
+                              "type": "list",
+                              "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.",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "internal-vld-ref",
+                                        "type": "leaf",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../internal-vld/id"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "Name of the connection point",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "id",
+                                        "type": "leaf",
+                                        "description": "Identifier for the internal connection points",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "short-name",
+                                        "type": "leaf",
+                                        "description": "Short name of the connection point",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "type",
+                                        "type": "leaf",
+                                        "description": "Type of connection point VPORT: Virtual Port // VNIC_ADDR: Virtual NIC Address // PNIC_ADDR: Physical NIC Address // PPORT: Phsical Port.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": "VPORT"
+                                             }
+                                        },
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "id"
+                              ]
+                         },
+                         {
+                              "name": "internal-interface",
+                              "type": "list",
+                              "description": "List of internal interfaces for the VNF",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "Name of internal interface. Note that this name has only local significance to the VDU.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vdu-internal-connection-point-ref",
+                                        "type": "leaf",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../internal-connection-point/id"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "virtual-interface",
+                                        "type": "container",
+                                        "description": "Container for the virtual interface properties",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "type",
+                                                  "type": "leaf",
+                                                  "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",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "enumeration": {
+                                                            "enum": {
+                                                                 "OM-MGMT": null,
+                                                                 "PCI-PASSTHROUGH": null,
+                                                                 "SR-IOV": null,
+                                                                 "VIRTIO": null
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "vpci",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "bandwidth",
+                                                  "type": "leaf",
+                                                  "description": "Aggregate bandwidth of the NIC.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint64",
+                                                  "properties": []
+                                             }
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "name"
+                              ]
+                         },
+                         {
+                              "name": "external-interface",
+                              "type": "list",
+                              "description": "List of external interfaces for the VNF. The external interfaces enable sending traffic to and from VNF.",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "name",
+                                        "type": "leaf",
+                                        "description": "Name of the external interface. Note that this name has only local significance.",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "vnfd-connection-point-ref",
+                                        "type": "leaf",
+                                        "description": "Name of the external connection point.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../connection-point/name"
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "virtual-interface",
+                                        "type": "container",
+                                        "description": "Container for the virtual interface properties",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "type",
+                                                  "type": "leaf",
+                                                  "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",
+                                                  "cardinality": "0..1",
+                                                  "data-type": {
+                                                       "enumeration": {
+                                                            "enum": {
+                                                                 "OM-MGMT": null,
+                                                                 "PCI-PASSTHROUGH": null,
+                                                                 "SR-IOV": null,
+                                                                 "VIRTIO": null
+                                                            }
+                                                       }
+                                                  },
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "vpci",
+                                                  "type": "leaf",
+                                                  "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.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "bandwidth",
+                                                  "type": "leaf",
+                                                  "description": "Aggregate bandwidth of the NIC.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint64",
+                                                  "properties": []
+                                             }
+                                        ]
+                                   }
+                              ],
+                              "key": [
+                                   "name"
+                              ]
+                         },
+                         {
+                              "name": "vm-flavor",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "vcpu-count",
+                                        "type": "leaf",
+                                        "description": "Number of vcpus for the VM.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint16",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "memory-mb",
+                                        "type": "leaf",
+                                        "description": "Amount of memory in MB.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "storage-gb",
+                                        "type": "leaf",
+                                        "description": "Amount of disk space in GB.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "guest-epa",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "trusted-execution",
+                                        "type": "leaf",
+                                        "description": "This VM should be allocated from trusted pool",
+                                        "cardinality": "0..1",
+                                        "data-type": "boolean",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "mempage-size",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "LARGE": {
+                                                            "value": 0
+                                                       },
+                                                       "SMALL": {
+                                                            "value": 1
+                                                       },
+                                                       "SIZE_2MB": {
+                                                            "value": 2
+                                                       },
+                                                       "SIZE_1GB": {
+                                                            "value": 3
+                                                       },
+                                                       "PREFER_LARGE": {
+                                                            "value": 4
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-pinning-policy",
+                                        "type": "leaf",
+                                        "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",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "DEDICATED": {
+                                                            "value": 0
+                                                       },
+                                                       "SHARED": {
+                                                            "value": 1
+                                                       },
+                                                       "ANY": {
+                                                            "value": 2
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-thread-pinning-policy",
+                                        "type": "leaf",
+                                        "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.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "AVOID": {
+                                                            "value": 0
+                                                       },
+                                                       "SEPARATE": {
+                                                            "value": 1
+                                                       },
+                                                       "ISOLATE": {
+                                                            "value": 2
+                                                       },
+                                                       "PREFER": {
+                                                            "value": 3
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "pcie-device",
+                                        "type": "list",
+                                        "description": "List of pcie passthrough devices.",
+                                        "cardinality": "0..N",
+                                        "properties": [
+                                             {
+                                                  "name": "device-id",
+                                                  "type": "leaf",
+                                                  "description": "Device identifier.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "string",
+                                                  "properties": []
+                                             },
+                                             {
+                                                  "name": "count",
+                                                  "type": "leaf",
+                                                  "description": "Number of devices to attach to the VM.",
+                                                  "cardinality": "0..1",
+                                                  "data-type": "uint64",
+                                                  "properties": []
+                                             }
+                                        ],
+                                        "key": [
+                                             "device-id"
+                                        ]
+                                   },
+                                   {
+                                        "name": "numa-policy",
+                                        "type": "choice",
+                                        "cardinality": "0..1",
+                                        "properties": [
+                                             {
+                                                  "name": "numa-unware",
+                                                  "type": "case",
+                                                  "cardinality": "0..1",
+                                                  "properties": [
+                                                       {
+                                                            "name": "numa-unware",
+                                                            "type": "leaf",
+                                                            "cardinality": "0..1",
+                                                            "data-type": "empty",
+                                                            "properties": []
+                                                       }
+                                                  ]
+                                             },
+                                             {
+                                                  "name": "numa-aware",
+                                                  "type": "case",
+                                                  "cardinality": "0..1",
+                                                  "properties": [
+                                                       {
+                                                            "name": "numa-node-policy",
+                                                            "type": "container",
+                                                            "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.",
+                                                            "cardinality": "0..1",
+                                                            "properties": [
+                                                                 {
+                                                                      "name": "node-cnt",
+                                                                      "type": "leaf",
+                                                                      "description": "The number of numa nodes to expose to the VM.",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": "uint16",
+                                                                      "properties": []
+                                                                 },
+                                                                 {
+                                                                      "name": "mem-policy",
+                                                                      "type": "leaf",
+                                                                      "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",
+                                                                      "cardinality": "0..1",
+                                                                      "data-type": {
+                                                                           "enumeration": {
+                                                                                "enum": {
+                                                                                     "STRICT": {
+                                                                                          "value": 0
+                                                                                     },
+                                                                                     "PREFERRED": {
+                                                                                          "value": 1
+                                                                                     }
+                                                                                }
+                                                                           }
+                                                                      },
+                                                                      "properties": []
+                                                                 },
+                                                                 {
+                                                                      "name": "node",
+                                                                      "type": "list",
+                                                                      "cardinality": "0..N",
+                                                                      "properties": [
+                                                                           {
+                                                                                "name": "id",
+                                                                                "type": "leaf",
+                                                                                "description": "NUMA node identification. Typically it's 0 or 1",
+                                                                                "cardinality": "0..1",
+                                                                                "data-type": "uint64",
+                                                                                "properties": []
+                                                                           },
+                                                                           {
+                                                                                "name": "memory-mb",
+                                                                                "type": "leaf",
+                                                                                "description": "Memory size expressed in MB for this NUMA node.",
+                                                                                "cardinality": "0..1",
+                                                                                "data-type": "uint64",
+                                                                                "properties": []
+                                                                           },
+                                                                           {
+                                                                                "name": "vcpu",
+                                                                                "type": "leaf-list",
+                                                                                "description": "List of vcpus to allocate on this numa node.",
+                                                                                "cardinality": "0..N",
+                                                                                "data-type": "uint64",
+                                                                                "properties": []
+                                                                           },
+                                                                           {
+                                                                                "name": "om-numa-type",
+                                                                                "type": "choice",
+                                                                                "description": "Openmano Numa type selection",
+                                                                                "cardinality": "0..1",
+                                                                                "properties": [
+                                                                                     {
+                                                                                          "name": "cores",
+                                                                                          "type": "case",
+                                                                                          "cardinality": "0..1",
+                                                                                          "properties": [
+                                                                                               {
+                                                                                                    "name": "num-cores",
+                                                                                                    "type": "leaf",
+                                                                                                    "cardinality": "0..1",
+                                                                                                    "data-type": "uint8",
+                                                                                                    "properties": []
+                                                                                               }
+                                                                                          ]
+                                                                                     },
+                                                                                     {
+                                                                                          "name": "paired-threads",
+                                                                                          "type": "case",
+                                                                                          "cardinality": "0..1",
+                                                                                          "properties": [
+                                                                                               {
+                                                                                                    "name": "paired-threads",
+                                                                                                    "type": "container",
+                                                                                                    "cardinality": "0..1",
+                                                                                                    "properties": [
+                                                                                                         {
+                                                                                                              "name": "num-paired-threads",
+                                                                                                              "type": "leaf",
+                                                                                                              "cardinality": "0..1",
+                                                                                                              "data-type": "uint8",
+                                                                                                              "properties": []
+                                                                                                         },
+                                                                                                         {
+                                                                                                              "name": "paired-thread-ids",
+                                                                                                              "type": "list",
+                                                                                                              "description": "List of thread pairs to use in case of paired-thread numa",
+                                                                                                              "cardinality": "0..16",
+                                                                                                              "properties": [
+                                                                                                                   {
+                                                                                                                        "name": "thread-a",
+                                                                                                                        "type": "leaf",
+                                                                                                                        "cardinality": "0..1",
+                                                                                                                        "data-type": "uint8",
+                                                                                                                        "properties": []
+                                                                                                                   },
+                                                                                                                   {
+                                                                                                                        "name": "thread-b",
+                                                                                                                        "type": "leaf",
+                                                                                                                        "cardinality": "0..1",
+                                                                                                                        "data-type": "uint8",
+                                                                                                                        "properties": []
+                                                                                                                   }
+                                                                                                              ],
+                                                                                                              "key": [
+                                                                                                                   "thread-a"
+                                                                                                              ]
+                                                                                                         }
+                                                                                                    ]
+                                                                                               }
+                                                                                          ]
+                                                                                     },
+                                                                                     {
+                                                                                          "name": "threads",
+                                                                                          "type": "case",
+                                                                                          "cardinality": "0..1",
+                                                                                          "properties": [
+                                                                                               {
+                                                                                                    "name": "num-threads",
+                                                                                                    "type": "leaf",
+                                                                                                    "cardinality": "0..1",
+                                                                                                    "data-type": "uint8",
+                                                                                                    "properties": []
+                                                                                               }
+                                                                                          ]
+                                                                                     }
+                                                                                ]
+                                                                           }
+                                                                      ],
+                                                                      "key": [
+                                                                           "id"
+                                                                      ]
+                                                                 }
+                                                            ]
+                                                       }
+                                                  ]
+                                             }
+                                        ]
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "vswitch-epa",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "ovs-acceleration",
+                                        "type": "leaf",
+                                        "description": "Specifies Open vSwitch acceleration mode. MANDATORY: OVS acceleration is required PREFERRED: OVS acceleration is preferred",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "MANDATORY": {
+                                                            "value": 0
+                                                       },
+                                                       "PREFERRED": {
+                                                            "value": 1
+                                                       },
+                                                       "DISABLED": {
+                                                            "value": 2
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "ovs-offload",
+                                        "type": "leaf",
+                                        "description": "Specifies Open vSwitch hardware offload mode. MANDATORY: OVS offload is required PREFERRED: OVS offload is preferred",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "MANDATORY": {
+                                                            "value": 0
+                                                       },
+                                                       "PREFERRED": {
+                                                            "value": 1
+                                                       },
+                                                       "DISABLED": {
+                                                            "value": 2
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "hypervisor-epa",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "type",
+                                        "type": "leaf",
+                                        "description": "Specifies the type of hypervisor. KVM: KVM XEN: XEN",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "PREFER_KVM": {
+                                                            "value": 0
+                                                       },
+                                                       "REQUIRE_KVM": {
+                                                            "value": 1
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "version",
+                                        "type": "leaf",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "host-epa",
+                              "type": "container",
+                              "description": "Specifies the host level EPA attributes.",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "cpu-model",
+                                        "type": "leaf",
+                                        "description": "Host CPU model. Examples include: SandyBridge, IvyBridge",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "PREFER_WESTMERE": {
+                                                            "value": 0
+                                                       },
+                                                       "REQUIRE_WESTMERE": {
+                                                            "value": 1
+                                                       },
+                                                       "PREFER_SANDYBRIDGE": {
+                                                            "value": 2
+                                                       },
+                                                       "REQUIRE_SANDYBRIDGE": {
+                                                            "value": 3
+                                                       },
+                                                       "PREFER_IVYBRIDGE": {
+                                                            "value": 4
+                                                       },
+                                                       "REQUIRE_IVYBRIDGE": {
+                                                            "value": 5
+                                                       },
+                                                       "PREFER_HASWELL": {
+                                                            "value": 6
+                                                       },
+                                                       "REQUIRE_HASWELL": {
+                                                            "value": 7
+                                                       },
+                                                       "PREFER_BROADWELL": {
+                                                            "value": 8
+                                                       },
+                                                       "REQUIRE_BROADWELL": {
+                                                            "value": 9
+                                                       },
+                                                       "PREFER_NEHALEM": {
+                                                            "value": 10
+                                                       },
+                                                       "REQUIRE_NEHALEM": {
+                                                            "value": 11
+                                                       },
+                                                       "PREFER_PENRYN": {
+                                                            "value": 12
+                                                       },
+                                                       "REQUIRE_PENRYN": {
+                                                            "value": 13
+                                                       },
+                                                       "PREFER_CONROE": {
+                                                            "value": 14
+                                                       },
+                                                       "REQUIRE_CONROE": {
+                                                            "value": 15
+                                                       },
+                                                       "PREFER_CORE2DUO": {
+                                                            "value": 16
+                                                       },
+                                                       "REQUIRE_CORE2DUO": {
+                                                            "value": 17
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-arch",
+                                        "type": "leaf",
+                                        "description": "Host CPU architecture.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "PREFER_X86": {
+                                                            "value": 0
+                                                       },
+                                                       "REQUIRE_X86": {
+                                                            "value": 1
+                                                       },
+                                                       "PREFER_X86_64": {
+                                                            "value": 2
+                                                       },
+                                                       "REQUIRE_X86_64": {
+                                                            "value": 3
+                                                       },
+                                                       "PREFER_I686": {
+                                                            "value": 4
+                                                       },
+                                                       "REQUIRE_I686": {
+                                                            "value": 5
+                                                       },
+                                                       "PREFER_IA64": {
+                                                            "value": 6
+                                                       },
+                                                       "REQUIRE_IA64": {
+                                                            "value": 7
+                                                       },
+                                                       "PREFER_ARMV7": {
+                                                            "value": 8
+                                                       },
+                                                       "REQUIRE_ARMV7": {
+                                                            "value": 9
+                                                       },
+                                                       "PREFER_ARMV8": {
+                                                            "value": 10
+                                                       },
+                                                       "REQUIRE_ARMV8": {
+                                                            "value": 11
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-vendor",
+                                        "type": "leaf",
+                                        "description": "Host CPU Vendor.",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "PREFER_INTEL": {
+                                                            "value": 0
+                                                       },
+                                                       "REQUIRE_INTEL": {
+                                                            "value": 1
+                                                       },
+                                                       "PREFER_AMD": {
+                                                            "value": 2
+                                                       },
+                                                       "REQUIRE_AMD": {
+                                                            "value": 3
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-socket-count",
+                                        "type": "leaf",
+                                        "description": "Number of sockets on the host.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-core-count",
+                                        "type": "leaf",
+                                        "description": "Number of cores on the host.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-core-thread-count",
+                                        "type": "leaf",
+                                        "description": "Number of threads per cores on the host.",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "om-cpu-model-string",
+                                        "type": "leaf",
+                                        "description": "Openmano CPU model string",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "cpu-feature",
+                                        "type": "leaf-list",
+                                        "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.",
+                                        "cardinality": "0..N",
+                                        "data-type": {
+                                             "enumeration": {
+                                                  "enum": {
+                                                       "PREFER_AES": {
+                                                            "value": 0
+                                                       },
+                                                       "REQUIRE_AES": {
+                                                            "value": 1
+                                                       },
+                                                       "PREFER_CAT": {
+                                                            "value": 2
+                                                       },
+                                                       "REQUIRE_CAT": {
+                                                            "value": 3
+                                                       },
+                                                       "PREFER_CMT": {
+                                                            "value": 4
+                                                       },
+                                                       "REQUIRE_CMT": {
+                                                            "value": 5
+                                                       },
+                                                       "PREFER_DDIO": {
+                                                            "value": 6
+                                                       },
+                                                       "REQUIRE_DDIO": {
+                                                            "value": 7
+                                                       },
+                                                       "REQUIRE_VME": {
+                                                            "value": 8
+                                                       },
+                                                       "PREFER_VME": {
+                                                            "value": 9
+                                                       },
+                                                       "REQUIRE_DE": {
+                                                            "value": 10
+                                                       },
+                                                       "PREFER_DE": {
+                                                            "value": 11
+                                                       },
+                                                       "REQUIRE_PSE": {
+                                                            "value": 12
+                                                       },
+                                                       "PREFER_PSE": {
+                                                            "value": 13
+                                                       },
+                                                       "REQUIRE_TSC": {
+                                                            "value": 14
+                                                       },
+                                                       "PREFER_TSC": {
+                                                            "value": 15
+                                                       },
+                                                       "REQUIRE_MSR": {
+                                                            "value": 16
+                                                       },
+                                                       "PREFER_MSR": {
+                                                            "value": 17
+                                                       },
+                                                       "REQUIRE_PAE": {
+                                                            "value": 18
+                                                       },
+                                                       "PREFER_PAE": {
+                                                            "value": 19
+                                                       },
+                                                       "REQUIRE_MCE": {
+                                                            "value": 20
+                                                       },
+                                                       "PREFER_MCE": {
+                                                            "value": 21
+                                                       },
+                                                       "REQUIRE_CX8": {
+                                                            "value": 22
+                                                       },
+                                                       "PREFER_CX8": {
+                                                            "value": 23
+                                                       },
+                                                       "REQUIRE_APIC": {
+                                                            "value": 24
+                                                       },
+                                                       "PREFER_APIC": {
+                                                            "value": 25
+                                                       },
+                                                       "REQUIRE_SEP": {
+                                                            "value": 26
+                                                       },
+                                                       "PREFER_SEP": {
+                                                            "value": 27
+                                                       },
+                                                       "REQUIRE_MTRR": {
+                                                            "value": 28
+                                                       },
+                                                       "PREFER_MTRR": {
+                                                            "value": 29
+                                                       },
+                                                       "REQUIRE_PGE": {
+                                                            "value": 30
+                                                       },
+                                                       "PREFER_PGE": {
+                                                            "value": 31
+                                                       },
+                                                       "REQUIRE_MCA": {
+                                                            "value": 32
+                                                       },
+                                                       "PREFER_MCA": {
+                                                            "value": 33
+                                                       },
+                                                       "REQUIRE_CMOV": {
+                                                            "value": 34
+                                                       },
+                                                       "PREFER_CMOV": {
+                                                            "value": 35
+                                                       },
+                                                       "REQUIRE_PAT": {
+                                                            "value": 36
+                                                       },
+                                                       "PREFER_PAT": {
+                                                            "value": 37
+                                                       },
+                                                       "REQUIRE_PSE36": {
+                                                            "value": 38
+                                                       },
+                                                       "PREFER_PSE36": {
+                                                            "value": 39
+                                                       },
+                                                       "REQUIRE_CLFLUSH": {
+                                                            "value": 40
+                                                       },
+                                                       "PREFER_CLFLUSH": {
+                                                            "value": 41
+                                                       },
+                                                       "REQUIRE_DTS": {
+                                                            "value": 42
+                                                       },
+                                                       "PREFER_DTS": {
+                                                            "value": 43
+                                                       },
+                                                       "REQUIRE_ACPI": {
+                                                            "value": 44
+                                                       },
+                                                       "PREFER_ACPI": {
+                                                            "value": 45
+                                                       },
+                                                       "REQUIRE_MMX": {
+                                                            "value": 46
+                                                       },
+                                                       "PREFER_MMX": {
+                                                            "value": 47
+                                                       },
+                                                       "REQUIRE_FXSR": {
+                                                            "value": 48
+                                                       },
+                                                       "PREFER_FXSR": {
+                                                            "value": 49
+                                                       },
+                                                       "REQUIRE_SSE": {
+                                                            "value": 50
+                                                       },
+                                                       "PREFER_SSE": {
+                                                            "value": 51
+                                                       },
+                                                       "REQUIRE_SSE2": {
+                                                            "value": 52
+                                                       },
+                                                       "PREFER_SSE2": {
+                                                            "value": 53
+                                                       },
+                                                       "REQUIRE_SS": {
+                                                            "value": 54
+                                                       },
+                                                       "PREFER_SS": {
+                                                            "value": 55
+                                                       },
+                                                       "REQUIRE_HT": {
+                                                            "value": 56
+                                                       },
+                                                       "PREFER_HT": {
+                                                            "value": 57
+                                                       },
+                                                       "REQUIRE_TM": {
+                                                            "value": 58
+                                                       },
+                                                       "PREFER_TM": {
+                                                            "value": 59
+                                                       },
+                                                       "REQUIRE_IA64": {
+                                                            "value": 60
+                                                       },
+                                                       "PREFER_IA64": {
+                                                            "value": 61
+                                                       },
+                                                       "REQUIRE_PBE": {
+                                                            "value": 62
+                                                       },
+                                                       "PREFER_PBE": {
+                                                            "value": 63
+                                                       },
+                                                       "REQUIRE_RDTSCP": {
+                                                            "value": 64
+                                                       },
+                                                       "PREFER_RDTSCP": {
+                                                            "value": 65
+                                                       },
+                                                       "REQUIRE_PNI": {
+                                                            "value": 66
+                                                       },
+                                                       "PREFER_PNI": {
+                                                            "value": 67
+                                                       },
+                                                       "REQUIRE_PCLMULQDQ": {
+                                                            "value": 68
+                                                       },
+                                                       "PREFER_PCLMULQDQ": {
+                                                            "value": 69
+                                                       },
+                                                       "REQUIRE_DTES64": {
+                                                            "value": 70
+                                                       },
+                                                       "PREFER_DTES64": {
+                                                            "value": 71
+                                                       },
+                                                       "REQUIRE_MONITOR": {
+                                                            "value": 72
+                                                       },
+                                                       "PREFER_MONITOR": {
+                                                            "value": 73
+                                                       },
+                                                       "REQUIRE_DS_CPL": {
+                                                            "value": 74
+                                                       },
+                                                       "PREFER_DS_CPL": {
+                                                            "value": 75
+                                                       },
+                                                       "REQUIRE_VMX": {
+                                                            "value": 76
+                                                       },
+                                                       "PREFER_VMX": {
+                                                            "value": 77
+                                                       },
+                                                       "REQUIRE_SMX": {
+                                                            "value": 78
+                                                       },
+                                                       "PREFER_SMX": {
+                                                            "value": 79
+                                                       },
+                                                       "REQUIRE_EST": {
+                                                            "value": 80
+                                                       },
+                                                       "PREFER_EST": {
+                                                            "value": 81
+                                                       },
+                                                       "REQUIRE_TM2": {
+                                                            "value": 82
+                                                       },
+                                                       "PREFER_TM2": {
+                                                            "value": 83
+                                                       },
+                                                       "REQUIRE_SSSE3": {
+                                                            "value": 84
+                                                       },
+                                                       "PREFER_SSSE3": {
+                                                            "value": 85
+                                                       },
+                                                       "REQUIRE_CID": {
+                                                            "value": 86
+                                                       },
+                                                       "PREFER_CID": {
+                                                            "value": 87
+                                                       },
+                                                       "REQUIRE_FMA": {
+                                                            "value": 88
+                                                       },
+                                                       "PREFER_FMA": {
+                                                            "value": 89
+                                                       },
+                                                       "REQUIRE_CX16": {
+                                                            "value": 90
+                                                       },
+                                                       "PREFER_CX16": {
+                                                            "value": 91
+                                                       },
+                                                       "REQUIRE_XTPR": {
+                                                            "value": 92
+                                                       },
+                                                       "PREFER_XTPR": {
+                                                            "value": 93
+                                                       },
+                                                       "REQUIRE_PDCM": {
+                                                            "value": 94
+                                                       },
+                                                       "PREFER_PDCM": {
+                                                            "value": 95
+                                                       },
+                                                       "REQUIRE_PCID": {
+                                                            "value": 96
+                                                       },
+                                                       "PREFER_PCID": {
+                                                            "value": 97
+                                                       },
+                                                       "REQUIRE_DCA": {
+                                                            "value": 98
+                                                       },
+                                                       "PREFER_DCA": {
+                                                            "value": 99
+                                                       },
+                                                       "REQUIRE_SSE4_1": {
+                                                            "value": 100
+                                                       },
+                                                       "PREFER_SSE4_1": {
+                                                            "value": 101
+                                                       },
+                                                       "REQUIRE_SSE4_2": {
+                                                            "value": 102
+                                                       },
+                                                       "PREFER_SSE4_2": {
+                                                            "value": 103
+                                                       },
+                                                       "REQUIRE_X2APIC": {
+                                                            "value": 104
+                                                       },
+                                                       "PREFER_X2APIC": {
+                                                            "value": 105
+                                                       },
+                                                       "REQUIRE_MOVBE": {
+                                                            "value": 106
+                                                       },
+                                                       "PREFER_MOVBE": {
+                                                            "value": 107
+                                                       },
+                                                       "REQUIRE_POPCNT": {
+                                                            "value": 108
+                                                       },
+                                                       "PREFER_POPCNT": {
+                                                            "value": 109
+                                                       },
+                                                       "REQUIRE_TSC_DEADLINE_TIMER": {
+                                                            "value": 110
+                                                       },
+                                                       "PREFER_TSC_DEADLINE_TIMER": {
+                                                            "value": 111
+                                                       },
+                                                       "REQUIRE_XSAVE": {
+                                                            "value": 112
+                                                       },
+                                                       "PREFER_XSAVE": {
+                                                            "value": 113
+                                                       },
+                                                       "REQUIRE_AVX": {
+                                                            "value": 114
+                                                       },
+                                                       "PREFER_AVX": {
+                                                            "value": 115
+                                                       },
+                                                       "REQUIRE_F16C": {
+                                                            "value": 116
+                                                       },
+                                                       "PREFER_F16C": {
+                                                            "value": 117
+                                                       },
+                                                       "REQUIRE_RDRAND": {
+                                                            "value": 118
+                                                       },
+                                                       "PREFER_RDRAND": {
+                                                            "value": 119
+                                                       },
+                                                       "REQUIRE_FSGSBASE": {
+                                                            "value": 120
+                                                       },
+                                                       "PREFER_FSGSBASE": {
+                                                            "value": 121
+                                                       },
+                                                       "REQUIRE_BMI1": {
+                                                            "value": 122
+                                                       },
+                                                       "PREFER_BMI1": {
+                                                            "value": 123
+                                                       },
+                                                       "REQUIRE_HLE": {
+                                                            "value": 124
+                                                       },
+                                                       "PREFER_HLE": {
+                                                            "value": 125
+                                                       },
+                                                       "REQUIRE_AVX2": {
+                                                            "value": 126
+                                                       },
+                                                       "PREFER_AVX2": {
+                                                            "value": 127
+                                                       },
+                                                       "REQUIRE_SMEP": {
+                                                            "value": 128
+                                                       },
+                                                       "PREFER_SMEP": {
+                                                            "value": 129
+                                                       },
+                                                       "REQUIRE_BMI2": {
+                                                            "value": 130
+                                                       },
+                                                       "PREFER_BMI2": {
+                                                            "value": 131
+                                                       },
+                                                       "REQUIRE_ERMS": {
+                                                            "value": 132
+                                                       },
+                                                       "PREFER_ERMS": {
+                                                            "value": 133
+                                                       },
+                                                       "REQUIRE_INVPCID": {
+                                                            "value": 134
+                                                       },
+                                                       "PREFER_INVPCID": {
+                                                            "value": 135
+                                                       },
+                                                       "REQUIRE_RTM": {
+                                                            "value": 136
+                                                       },
+                                                       "PREFER_RTM": {
+                                                            "value": 137
+                                                       },
+                                                       "REQUIRE_MPX": {
+                                                            "value": 138
+                                                       },
+                                                       "PREFER_MPX": {
+                                                            "value": 139
+                                                       },
+                                                       "REQUIRE_RDSEED": {
+                                                            "value": 140
+                                                       },
+                                                       "PREFER_RDSEED": {
+                                                            "value": 141
+                                                       },
+                                                       "REQUIRE_ADX": {
+                                                            "value": 142
+                                                       },
+                                                       "PREFER_ADX": {
+                                                            "value": 143
+                                                       },
+                                                       "REQUIRE_SMAP": {
+                                                            "value": 144
+                                                       },
+                                                       "PREFER_SMAP": {
+                                                            "value": 145
+                                                       }
+                                                  }
+                                             }
+                                        },
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "om-cpu-feature",
+                                        "type": "leaf-list",
+                                        "description": "Openmano CPU features",
+                                        "cardinality": "0..N",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "id"
+                    ]
+               },
+               {
+                    "name": "vdu-dependency",
+                    "type": "list",
+                    "description": "List of VDU dependencies.",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "vdu-source-ref",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "../../vdu/id"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "vdu-depends-on-ref",
+                              "type": "leaf",
+                              "description": "Reference to the VDU that source VDU depends.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "../../vdu/id"
+                                   }
+                              },
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "vdu-source-ref"
+                    ]
+               },
+               {
+                    "name": "placement-groups",
+                    "type": "list",
+                    "description": "List of placement groups at VNF level",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "member-vdus",
+                              "type": "list",
+                              "description": "List of VDUs that are part of this placement group",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "member-vdu-ref",
+                                        "type": "leaf",
+                                        "cardinality": "0..1",
+                                        "data-type": {
+                                             "leafref": {
+                                                  "path": "../../../vdu/id"
+                                             }
+                                        },
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "member-vdu-ref"
+                              ]
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "description": "Place group construct to define the compute resource placement strategy in cloud environment",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "requirement",
+                              "type": "leaf",
+                              "description": "This is free text space used to describe the intent/rationale behind this placement group. This is for human consumption only",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "strategy",
+                              "type": "leaf",
+                              "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. ",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "COLOCATION": {
+                                                  "value": 0
+                                             },
+                                             "ISOLATION": {
+                                                  "value": 1
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         }
+                    ],
+                    "key": [
+                         "name"
+                    ]
+               },
+               {
+                    "name": "http-endpoint",
+                    "type": "list",
+                    "description": "List of http endpoints to be used by monitoring params",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "path",
+                              "type": "leaf",
+                              "description": "The HTTP path on the management server",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "https",
+                              "type": "leaf",
+                              "description": "Pick HTTPS instead of HTTP , Default is false",
+                              "cardinality": "0..1",
+                              "data-type": "boolean",
+                              "properties": []
+                         },
+                         {
+                              "name": "port",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "uint16": {
+                                        "range": "0..65535"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "username",
+                              "type": "leaf",
+                              "description": "The HTTP basic auth username",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "password",
+                              "type": "leaf",
+                              "description": "The HTTP basic auth password",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "polling_interval_secs",
+                              "type": "leaf",
+                              "description": "The HTTP polling interval in seconds",
+                              "cardinality": "0..1",
+                              "data-type": "uint8",
+                              "properties": []
+                         },
+                         {
+                              "name": "method",
+                              "type": "leaf",
+                              "description": "Type of HTTP operation",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "POST": {
+                                                  "value": 0
+                                             },
+                                             "PUT": {
+                                                  "value": 1
+                                             },
+                                             "GET": {
+                                                  "value": 2
+                                             },
+                                             "DELETE": {
+                                                  "value": 3
+                                             },
+                                             "OPTIONS": {
+                                                  "value": 4
+                                             },
+                                             "PATCH": {
+                                                  "value": 5
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "headers",
+                              "type": "list",
+                              "description": "Custom HTTP headers to put on HTTP request",
+                              "cardinality": "0..N",
+                              "properties": [
+                                   {
+                                        "name": "key",
+                                        "type": "leaf",
+                                        "description": "HTTP header key",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "value",
+                                        "type": "leaf",
+                                        "description": "HTTP header value",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ],
+                              "key": [
+                                   "key"
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "path"
+                    ]
+               },
+               {
+                    "name": "monitoring-param",
+                    "type": "list",
+                    "description": "List of monitoring parameters at the NS level",
+                    "cardinality": "0..N",
+                    "properties": [
+                         {
+                              "name": "id",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "name",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "http-endpoint-ref",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "leafref": {
+                                        "path": "../../http-endpoint/path"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "json-query-method",
+                              "type": "leaf",
+                              "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.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "NAMEKEY": {
+                                                  "value": 0
+                                             },
+                                             "JSONPATH": {
+                                                  "value": 1
+                                             },
+                                             "OBJECTPATH": {
+                                                  "value": 2
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "description",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "group-tag",
+                              "type": "leaf",
+                              "description": "A simple tag to group monitoring parameters",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "value-type",
+                              "type": "leaf",
+                              "description": "The type of the parameter value",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "INT": {
+                                                  "value": 0
+                                             },
+                                             "DECIMAL": {
+                                                  "value": 1
+                                             },
+                                             "STRING": {
+                                                  "value": 2
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "value-integer",
+                              "type": "leaf",
+                              "description": "Current value for an integer parameter",
+                              "cardinality": "0..1",
+                              "data-type": "int64",
+                              "properties": []
+                         },
+                         {
+                              "name": "value-decimal",
+                              "type": "leaf",
+                              "description": "Current value for a decimal parameter",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "decimal64": {
+                                        "fraction-digits": "4"
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "value-string",
+                              "type": "leaf",
+                              "description": "Current value for a string parameter",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "widget-type",
+                              "type": "leaf",
+                              "description": "Type of the widget, typically used by the UI.",
+                              "cardinality": "0..1",
+                              "data-type": {
+                                   "enumeration": {
+                                        "enum": {
+                                             "HISTOGRAM": {
+                                                  "value": 0
+                                             },
+                                             "BAR": {
+                                                  "value": 1
+                                             },
+                                             "GAUGE": {
+                                                  "value": 2
+                                             },
+                                             "SLIDER": {
+                                                  "value": 3
+                                             },
+                                             "COUNTER": {
+                                                  "value": 4
+                                             },
+                                             "TEXTBOX": {
+                                                  "value": 5
+                                             }
+                                        }
+                                   }
+                              },
+                              "properties": []
+                         },
+                         {
+                              "name": "units",
+                              "type": "leaf",
+                              "cardinality": "0..1",
+                              "data-type": "string",
+                              "properties": []
+                         },
+                         {
+                              "name": "json-query-params",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "json-path",
+                                        "type": "leaf",
+                                        "description": "The jsonpath to use to extract value from JSON structure",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "object-path",
+                                        "type": "leaf",
+                                        "description": "The objectpath to use to extract value from JSON structure",
+                                        "cardinality": "0..1",
+                                        "data-type": "string",
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "numeric-constraints",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "min-value",
+                                        "type": "leaf",
+                                        "description": "Minimum value for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "max-value",
+                                        "type": "leaf",
+                                        "description": "Maxium value for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint64",
+                                        "properties": []
+                                   }
+                              ]
+                         },
+                         {
+                              "name": "text-constraints",
+                              "type": "container",
+                              "cardinality": "0..1",
+                              "properties": [
+                                   {
+                                        "name": "min-length",
+                                        "type": "leaf",
+                                        "description": "Minimum string length for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint8",
+                                        "properties": []
+                                   },
+                                   {
+                                        "name": "max-length",
+                                        "type": "leaf",
+                                        "description": "Maximum string length for the parameter",
+                                        "cardinality": "0..1",
+                                        "data-type": "uint8",
+                                        "properties": []
+                                   }
+                              ]
+                         }
+                    ],
+                    "key": [
+                         "id"
+                    ]
+               }
+          ],
+          "key": [
+               "id"
+          ]
+     }
+}