
module: vnfr
  augment /rw-project:project:
    +--ro vnfr-catalog
       +--ro schema-version?   string
       +--ro vnfr* [id]
          +--ro id                       yang:uuid
          +--ro nsr-id-ref?              yang:uuid
          +--ro member-vnf-index-ref?    -> ../../../project-nsd:nsd-catalog/nsd/constituent-vnfd/member-vnf-index
          +--ro dashboard-url?           inet:uri
          +--ro name?                    string
          +--ro short-name?              string
          +--ro vendor?                  string
          +--ro description?             string
          +--ro version?                 string
          +--ro create-time?             uint32
          +--ro uptime?                  uint32
          +--ro vnfd
          |  +--ro id?                         string
          |  +--ro name                        string
          |  +--ro short-name?                 string
          |  +--ro vendor?                     string
          |  +--ro logo?                       string
          |  +--ro description?                string
          |  +--ro version?                    string
          |  +--ro vnf-configuration
          |  |  +--ro (config-method)?
          |  |  |  +--:(script)
          |  |  |  |  +--ro script
          |  |  |  |     +--ro script-type?   enumeration
          |  |  |  +--:(juju)
          |  |  |     +--ro juju
          |  |  |        +--ro charm?               string
          |  |  |        +--ro proxy?               boolean
          |  |  |        +--ro vca-relationships
          |  |  |           +--ro relation* [requires provides]
          |  |  |              +--ro requires    string
          |  |  |              +--ro provides    string
          |  |  +--ro config-primitive* [name]
          |  |  |  +--ro name                   string
          |  |  |  +--ro parameter* [name]
          |  |  |  |  +--ro name              string
          |  |  |  |  +--ro data-type?        manotypes:parameter-data-type
          |  |  |  |  +--ro mandatory?        boolean
          |  |  |  |  +--ro default-value?    string
          |  |  |  |  +--ro parameter-pool?   string
          |  |  |  |  +--ro read-only?        boolean
          |  |  |  |  +--ro hidden?           boolean
          |  |  |  +--ro user-defined-script?   string
          |  |  +--ro initial-config-primitive* [seq]
          |  |  |  +--ro seq                          uint64
          |  |  |  +--ro (primitive-type)?
          |  |  |     +--:(primitive-definition)
          |  |  |        +--ro name?                  string
          |  |  |        +--ro parameter* [name]
          |  |  |        |  +--ro name         string
          |  |  |        |  +--ro data-type?   manotypes:parameter-data-type
          |  |  |        |  +--ro value?       string
          |  |  |        +--ro user-defined-script?   string
          |  |  +--ro metrics* [name]
          |  |     +--ro name    string
          |  +--ro operational-status?         vnf-operational-status
          |  +--ro mgmt-interface
          |  |  +--ro (endpoint-type)?
          |  |  |  +--:(ip)
          |  |  |  |  +--ro ip-address?   inet:ip-address
          |  |  |  +--:(vdu-id)
          |  |  |  |  +--ro vdu-id?       -> ../../vdu/id
          |  |  |  +--:(cp)
          |  |  |     +--ro cp?           -> ../../connection-point/name
          |  |  +--ro port?               inet:port-number
          |  |  +--ro dashboard-params
          |  |     +--ro path?    string
          |  |     +--ro https?   boolean
          |  |     +--ro port?    inet:port-number
          |  +--ro internal-vld* [id]
          |  |  +--ro id                           string
          |  |  +--ro name?                        string
          |  |  +--ro short-name?                  string
          |  |  +--ro description?                 string
          |  |  +--ro type?                        manotypes:virtual-link-type
          |  |  +--ro root-bandwidth?              uint64
          |  |  +--ro leaf-bandwidth?              uint64
          |  |  +--ro internal-connection-point* [id-ref]
          |  |  |  +--ro id-ref        -> ../../../vdu/internal-connection-point/id
          |  |  |  +--ro ip-address?   inet:ip-address
          |  |  +--ro provider-network
          |  |  |  +--ro physical-network?   string
          |  |  |  +--ro segmentation_id?    uint32
          |  |  +--ro (init-params)?
          |  |     +--:(vim-network-ref)
          |  |     |  +--ro vim-network-name?      string
          |  |     +--:(vim-network-profile)
          |  |        +--ro ip-profile-ref?        string
          |  +--ro ip-profiles* [name]
          |  |  +--ro name                 string
          |  |  +--ro description?         string
          |  |  +--ro ip-profile-params
          |  |     +--ro ip-version?           inet:ip-version
          |  |     +--ro subnet-address?       inet:ip-prefix
          |  |     +--ro gateway-address?      inet:ip-address
          |  |     +--ro security-group?       string
          |  |     +--ro dns-server* [address]
          |  |     |  +--ro address    inet:ip-address
          |  |     +--ro dhcp-params
          |  |     |  +--ro enabled?         boolean
          |  |     |  +--ro start-address?   inet:ip-address
          |  |     |  +--ro count?           uint32
          |  |     +--ro subnet-prefix-pool?   string
          |  +--ro connection-point* [name]
          |  |  +--ro name                     string
          |  |  +--ro id?                      string
          |  |  +--ro short-name?              string
          |  |  +--ro type?                    manotypes:connection-point-type
          |  |  +--ro port-security-enabled?   boolean
          |  |  +--ro internal-vld-ref?        -> ../../internal-vld/id
          |  +--ro vdu* [id]
          |  |  +--ro id                           string
          |  |  +--ro name?                        string
          |  |  +--ro description?                 string
          |  |  +--ro pdu-type?                    string
          |  |  +--ro count?                       uint64
          |  |  +--ro mgmt-vpci?                   string
          |  |  +--ro vm-flavor
          |  |  |  +--ro vcpu-count?   uint16
          |  |  |  +--ro memory-mb?    uint64
          |  |  |  +--ro storage-gb?   uint64
          |  |  +--ro guest-epa
          |  |  |  +--ro trusted-execution?           boolean
          |  |  |  +--ro mempage-size?                enumeration
          |  |  |  +--ro cpu-pinning-policy?          enumeration
          |  |  |  +--ro cpu-thread-pinning-policy?   enumeration
          |  |  |  +--ro pcie-device* [device-id]
          |  |  |  |  +--ro device-id    string
          |  |  |  |  +--ro count?       uint64
          |  |  |  +--ro (numa-policy)?
          |  |  |     +--:(numa-unaware)
          |  |  |     |  +--ro numa-unaware?          empty
          |  |  |     +--:(numa-aware)
          |  |  |        +--ro numa-node-policy
          |  |  |           +--ro node-cnt?     uint16
          |  |  |           +--ro mem-policy?   enumeration
          |  |  |           +--ro node* [id]
          |  |  |              +--ro id                      uint64
          |  |  |              +--ro vcpu* [id]
          |  |  |              |  +--ro id    uint64
          |  |  |              +--ro memory-mb?              uint64
          |  |  |              +--ro (om-numa-type)?
          |  |  |                 +--:(cores)
          |  |  |                 |  +--ro num-cores?        uint8
          |  |  |                 +--:(paired-threads)
          |  |  |                 |  +--ro paired-threads
          |  |  |                 |     +--ro num-paired-threads?   uint8
          |  |  |                 |     +--ro paired-thread-ids* [thread-a]
          |  |  |                 |        +--ro thread-a    uint8
          |  |  |                 |        +--ro thread-b?   uint8
          |  |  |                 +--:(threads)
          |  |  |                    +--ro num-threads?      uint8
          |  |  +--ro vswitch-epa
          |  |  |  +--ro ovs-acceleration?   enumeration
          |  |  |  +--ro ovs-offload?        enumeration
          |  |  +--ro hypervisor-epa
          |  |  |  +--ro type?      enumeration
          |  |  |  +--ro version?   string
          |  |  +--ro host-epa
          |  |  |  +--ro cpu-model?               enumeration
          |  |  |  +--ro cpu-arch?                enumeration
          |  |  |  +--ro cpu-vendor?              enumeration
          |  |  |  +--ro cpu-socket-count?        uint64
          |  |  |  +--ro cpu-core-count?          uint64
          |  |  |  +--ro cpu-core-thread-count?   uint64
          |  |  |  +--ro cpu-feature* [feature]
          |  |  |  |  +--ro feature    cpu-feature-type
          |  |  |  +--ro om-cpu-model-string?     string
          |  |  |  +--ro om-cpu-feature* [feature]
          |  |  |     +--ro feature    string
          |  |  +--ro alarm* [alarm-id]
          |  |  |  +--ro alarm-id       string
          |  |  |  +--ro name?          string
          |  |  |  +--ro description?   string
          |  |  |  +--ro vdur-id?       string
          |  |  |  +--ro actions
          |  |  |  |  +--ro ok* [url]
          |  |  |  |  |  +--ro url    string
          |  |  |  |  +--ro insufficient-data* [url]
          |  |  |  |  |  +--ro url    string
          |  |  |  |  +--ro alarm* [url]
          |  |  |  |     +--ro url    string
          |  |  |  +--ro repeat?        boolean
          |  |  |  +--ro enabled?       boolean
          |  |  |  +--ro severity?      alarm-severity-type
          |  |  |  +--ro metric?        alarm-metric-type
          |  |  |  +--ro statistic?     alarm-statistic-type
          |  |  |  +--ro operation?     relational-operation-type
          |  |  |  +--ro value?         decimal64
          |  |  |  +--ro period?        uint32
          |  |  |  +--ro evaluations?   uint32
          |  |  +--ro image?                       string
          |  |  +--ro image-checksum?              string
          |  |  +--ro alternative-images* [vim-type]
          |  |  |  +--ro vim-type          string
          |  |  |  +--ro image?            string
          |  |  |  +--ro image-checksum?   string
          |  |  +--ro vdu-configuration
          |  |  |  +--ro (config-method)?
          |  |  |  |  +--:(script)
          |  |  |  |  |  +--ro script
          |  |  |  |  |     +--ro script-type?   enumeration
          |  |  |  |  +--:(juju)
          |  |  |  |     +--ro juju
          |  |  |  |        +--ro charm?               string
          |  |  |  |        +--ro proxy?               boolean
          |  |  |  |        +--ro vca-relationships
          |  |  |  |           +--ro relation* [requires provides]
          |  |  |  |              +--ro requires    string
          |  |  |  |              +--ro provides    string
          |  |  |  +--ro config-primitive* [name]
          |  |  |  |  +--ro name                   string
          |  |  |  |  +--ro parameter* [name]
          |  |  |  |  |  +--ro name              string
          |  |  |  |  |  +--ro data-type?        manotypes:parameter-data-type
          |  |  |  |  |  +--ro mandatory?        boolean
          |  |  |  |  |  +--ro default-value?    string
          |  |  |  |  |  +--ro parameter-pool?   string
          |  |  |  |  |  +--ro read-only?        boolean
          |  |  |  |  |  +--ro hidden?           boolean
          |  |  |  |  +--ro user-defined-script?   string
          |  |  |  +--ro initial-config-primitive* [seq]
          |  |  |  |  +--ro seq                          uint64
          |  |  |  |  +--ro (primitive-type)?
          |  |  |  |     +--:(primitive-definition)
          |  |  |  |        +--ro name?                  string
          |  |  |  |        +--ro parameter* [name]
          |  |  |  |        |  +--ro name         string
          |  |  |  |        |  +--ro data-type?   manotypes:parameter-data-type
          |  |  |  |        |  +--ro value?       string
          |  |  |  |        +--ro user-defined-script?   string
          |  |  |  +--ro metrics* [name]
          |  |  |     +--ro name    string
          |  |  +--ro monitoring-param* [id]
          |  |  |  +--ro id                    string
          |  |  |  +--ro nfvi-metric?          manotypes:nfvi-metric-type
          |  |  |  +--ro interface-name-ref?   -> ../../interface/name
          |  |  +--ro (cloud-init-input)?
          |  |  |  +--:(inline)
          |  |  |  |  +--ro cloud-init?            string
          |  |  |  +--:(filename)
          |  |  |     +--ro cloud-init-file?       string
          |  |  +--ro supplemental-boot-data
          |  |  |  +--ro boot-data-drive?   boolean
          |  |  +--ro internal-connection-point* [id]
          |  |  |  +--ro name?                    string
          |  |  |  +--ro id                       string
          |  |  |  +--ro short-name?              string
          |  |  |  +--ro type?                    manotypes:connection-point-type
          |  |  |  +--ro port-security-enabled?   boolean
          |  |  |  +--ro internal-vld-ref?        -> ../../../internal-vld/id
          |  |  +--ro interface* [name]
          |  |  |  +--ro name                                   string
          |  |  |  +--ro position?                              uint32
          |  |  |  +--ro mgmt-interface?                        boolean
          |  |  |  +--ro type?                                  interface-type
          |  |  |  +--ro mac-address?                           string
          |  |  |  +--ro (connection-point-type)?
          |  |  |  |  +--:(internal)
          |  |  |  |  |  +--ro internal-connection-point-ref?   -> ../../internal-connection-point/id
          |  |  |  |  +--:(external)
          |  |  |  |     +--ro external-connection-point-ref?   -> ../../../connection-point/name
          |  |  |  +--ro virtual-interface
          |  |  |     +--ro type?        enumeration
          |  |  |     +--ro vpci?        string
          |  |  |     +--ro bandwidth?   uint64
          |  |  +--ro volumes* [name]
          |  |     +--ro name                    string
          |  |     +--ro description?            string
          |  |     +--ro size?                   uint64
          |  |     +--ro (volume-source)?
          |  |     |  +--:(ephemeral)
          |  |     |  |  +--ro ephemeral?        empty
          |  |     |  +--:(image)
          |  |     |     +--ro image?            string
          |  |     |     +--ro image-checksum?   string
          |  |     +--ro device-bus?             enumeration
          |  |     +--ro device-type?            enumeration
          |  +--ro vdu-dependency* [vdu-source-ref]
          |  |  +--ro vdu-source-ref        -> ../../vdu/id
          |  |  +--ro vdu-depends-on-ref?   -> ../../vdu/id
          |  +--ro service-function-chain?     enumeration
          |  +--ro service-function-type?      string
          |  +--ro http-endpoint* [path]
          |  |  +--ro path                     string
          |  |  +--ro https?                   boolean
          |  |  +--ro port?                    inet:port-number
          |  |  +--ro username?                string
          |  |  +--ro password?                string
          |  |  +--ro polling-interval-secs?   uint8
          |  |  +--ro method?                  manotypes:http-method
          |  |  +--ro headers* [key]
          |  |     +--ro key      string
          |  |     +--ro value?   string
          |  +--ro scaling-group-descriptor* [name]
          |  |  +--ro name                     string
          |  |  +--ro scaling-policy* [name]
          |  |  |  +--ro name                        string
          |  |  |  +--ro scaling-type?               manotypes:scaling-policy-type
          |  |  |  +--ro enabled?                    boolean
          |  |  |  +--ro scale-in-operation-type?    manotypes:scaling-criteria-operation
          |  |  |  +--ro scale-out-operation-type?   manotypes:scaling-criteria-operation
          |  |  |  +--ro threshold-time              uint32
          |  |  |  +--ro cooldown-time               uint32
          |  |  |  +--ro scaling-criteria* [name]
          |  |  |     +--ro name                              string
          |  |  |     +--ro scale-in-threshold?               uint64
          |  |  |     +--ro scale-in-relational-operation?    manotypes:relational-operation-type
          |  |  |     +--ro scale-out-threshold?              uint64
          |  |  |     +--ro scale-out-relational-operation?   manotypes:relational-operation-type
          |  |  |     +--ro vnf-monitoring-param-ref?         -> ../../../../monitoring-param/id
          |  |  +--ro vdu* [vdu-id-ref]
          |  |  |  +--ro vdu-id-ref    -> ../../../vdu/id
          |  |  |  +--ro count?        uint32
          |  |  +--ro min-instance-count?      uint32
          |  |  +--ro max-instance-count?      uint32
          |  |  +--ro scaling-config-action* [trigger]
          |  |     +--ro trigger                          manotypes:scaling-trigger
          |  |     +--ro vnf-config-primitive-name-ref?   -> ../../../vnf-configuration/config-primitive/name
          |  +--ro monitoring-param* [id]
          |  |  +--ro id                            string
          |  |  +--ro name?                         string
          |  |  +--ro aggregation-type?             aggregation-type
          |  |  +--ro (monitoring-type)?
          |  |  |  +--:(vdu-monitoring-param)
          |  |  |  |  +--ro vdu-monitoring-param
          |  |  |  |     +--ro vdu-ref?                    -> ../../../vdu/id
          |  |  |  |     +--ro vdu-monitoring-param-ref?   -> ../../../vdu[id = current()/../vdu-ref]/monitoring-param/id
          |  |  |  +--:(vnf-metric)
          |  |  |  |  +--ro vnf-metric
          |  |  |  |     +--ro vnf-metric-name-ref?   -> ../../../vnf-configuration/metrics/name
          |  |  |  +--:(vdu-metric)
          |  |  |     +--ro vdu-metric
          |  |  |        +--ro vdu-ref?               -> ../../../vdu/id
          |  |  |        +--ro vdu-metric-name-ref?   -> ../../../vdu[id = current()/../vdu-ref]/vdu-configuration/metrics/name
          |  |  +--ro http-endpoint-ref?            -> ../../http-endpoint/path
          |  |  +--ro json-query-method?            manotypes:json-query-method
          |  |  +--ro json-query-params
          |  |  |  +--ro json-path?     string
          |  |  |  +--ro object-path?   string
          |  |  +--ro description?                  string
          |  |  +--ro group-tag?                    string
          |  |  +--ro widget-type?                  manotypes:widget-type
          |  |  +--ro units?                        string
          |  |  +--ro value-type?                   param-value-type
          |  |  +--ro numeric-constraints
          |  |  |  +--ro min-value?   uint64
          |  |  |  +--ro max-value?   uint64
          |  |  +--ro text-constraints
          |  |  |  +--ro min-length?   uint8
          |  |  |  +--ro max-length?   uint8
          |  |  +--ro value-integer?                int64
          |  |  +--ro value-decimal?                decimal64
          |  |  +--ro value-string?                 string
          |  +--ro placement-groups* [name]
          |     +--ro name           string
          |     +--ro requirement?   string
          |     +--ro strategy?      enumeration
          |     +--ro member-vdus* [member-vdu-ref]
          |        +--ro member-vdu-ref    -> ../../../vdu/id
          +--ro vnfd-ref?                -> ../../../project-vnfd:vnfd-catalog/vnfd/id
          +--ro vnf-configuration
          |  +--ro (config-method)?
          |  |  +--:(script)
          |  |  |  +--ro script
          |  |  |     +--ro script-type?   enumeration
          |  |  +--:(juju)
          |  |     +--ro juju
          |  |        +--ro charm?               string
          |  |        +--ro proxy?               boolean
          |  |        +--ro vca-relationships
          |  |           +--ro relation* [requires provides]
          |  |              +--ro requires    string
          |  |              +--ro provides    string
          |  +--ro config-primitive* [name]
          |  |  +--ro name                   string
          |  |  +--ro parameter* [name]
          |  |  |  +--ro name              string
          |  |  |  +--ro data-type?        manotypes:parameter-data-type
          |  |  |  +--ro mandatory?        boolean
          |  |  |  +--ro default-value?    string
          |  |  |  +--ro parameter-pool?   string
          |  |  |  +--ro read-only?        boolean
          |  |  |  +--ro hidden?           boolean
          |  |  +--ro user-defined-script?   string
          |  +--ro initial-config-primitive* [seq]
          |  |  +--ro seq                          uint64
          |  |  +--ro (primitive-type)?
          |  |     +--:(primitive-definition)
          |  |        +--ro name?                  string
          |  |        +--ro parameter* [name]
          |  |        |  +--ro name         string
          |  |        |  +--ro data-type?   manotypes:parameter-data-type
          |  |        |  +--ro value?       string
          |  |        +--ro user-defined-script?   string
          |  +--ro metrics* [name]
          |     +--ro name    string
          +--ro mgmt-interface
          |  +--ro ip-address?   inet:ip-address
          |  +--ro port?         inet:port-number
          |  +--ro ssh-key
          |     +--ro public-key?         string
          |     +--ro private-key-file?   string
          +--ro internal-vlr* [vlr-ref]
          |  +--ro vlr-ref                          -> ../../../../vlr:vlr-catalog/vlr/id
          |  +--ro internal-connection-point-ref*   -> ../../vdur/internal-connection-point/id
          +--ro connection-point* [name]
          |  +--ro name                     string
          |  +--ro id?                      string
          |  +--ro short-name?              string
          |  +--ro type?                    manotypes:connection-point-type
          |  +--ro port-security-enabled?   boolean
          |  +--ro vlr-ref?                 -> ../../../../vlr:vlr-catalog/vlr/id
          |  +--ro ip-address?              inet:ip-address
          |  +--ro mac-address?             string
          |  +--ro connection-point-id?     string
          |  +--ro virtual-cps* [name]
          |     +--ro name                     string
          |     +--ro id?                      string
          |     +--ro short-name?              string
          |     +--ro type?                    manotypes:connection-point-type
          |     +--ro port-security-enabled?   boolean
          |     +--ro ip-address?              inet:ip-address
          |     +--ro mac-address?             string
          |     +--ro connection-point-id?     string
          +--ro vdur* [id]
          |  +--ro id                           yang:uuid
          |  +--ro name?                        string
          |  +--ro unique-short-name?           string
          |  +--ro vdu-id-ref?                  -> ../../vnfd/vdu/id
          |  +--ro vim-id?                      string
          |  +--ro flavor-id?                   string
          |  +--ro image-id?                    string
          |  +--ro management-ip?               inet:ip-address
          |  +--ro vm-management-ip?            inet:ip-address
          |  +--ro console-url?                 inet:uri
          |  +--ro vm-flavor
          |  |  +--ro vcpu-count?   uint16
          |  |  +--ro memory-mb?    uint64
          |  |  +--ro storage-gb?   uint64
          |  +--ro guest-epa
          |  |  +--ro trusted-execution?           boolean
          |  |  +--ro mempage-size?                enumeration
          |  |  +--ro cpu-pinning-policy?          enumeration
          |  |  +--ro cpu-thread-pinning-policy?   enumeration
          |  |  +--ro pcie-device* [device-id]
          |  |  |  +--ro device-id    string
          |  |  |  +--ro count?       uint64
          |  |  +--ro (numa-policy)?
          |  |     +--:(numa-unaware)
          |  |     |  +--ro numa-unaware?          empty
          |  |     +--:(numa-aware)
          |  |        +--ro numa-node-policy
          |  |           +--ro node-cnt?     uint16
          |  |           +--ro mem-policy?   enumeration
          |  |           +--ro node* [id]
          |  |              +--ro id                      uint64
          |  |              +--ro vcpu* [id]
          |  |              |  +--ro id    uint64
          |  |              +--ro memory-mb?              uint64
          |  |              +--ro (om-numa-type)?
          |  |                 +--:(cores)
          |  |                 |  +--ro num-cores?        uint8
          |  |                 +--:(paired-threads)
          |  |                 |  +--ro paired-threads
          |  |                 |     +--ro num-paired-threads?   uint8
          |  |                 |     +--ro paired-thread-ids* [thread-a]
          |  |                 |        +--ro thread-a    uint8
          |  |                 |        +--ro thread-b?   uint8
          |  |                 +--:(threads)
          |  |                    +--ro num-threads?      uint8
          |  +--ro vswitch-epa
          |  |  +--ro ovs-acceleration?   enumeration
          |  |  +--ro ovs-offload?        enumeration
          |  +--ro hypervisor-epa
          |  |  +--ro type?      enumeration
          |  |  +--ro version?   string
          |  +--ro host-epa
          |  |  +--ro cpu-model?               enumeration
          |  |  +--ro cpu-arch?                enumeration
          |  |  +--ro cpu-vendor?              enumeration
          |  |  +--ro cpu-socket-count?        uint64
          |  |  +--ro cpu-core-count?          uint64
          |  |  +--ro cpu-core-thread-count?   uint64
          |  |  +--ro cpu-feature* [feature]
          |  |  |  +--ro feature    cpu-feature-type
          |  |  +--ro om-cpu-model-string?     string
          |  |  +--ro om-cpu-feature* [feature]
          |  |     +--ro feature    string
          |  +--ro supplemental-boot-data
          |  |  +--ro boot-data-drive?   boolean
          |  +--ro vdu-configuration
          |  |  +--ro (config-method)?
          |  |  |  +--:(script)
          |  |  |  |  +--ro script
          |  |  |  |     +--ro script-type?   enumeration
          |  |  |  +--:(juju)
          |  |  |     +--ro juju
          |  |  |        +--ro charm?               string
          |  |  |        +--ro proxy?               boolean
          |  |  |        +--ro vca-relationships
          |  |  |           +--ro relation* [requires provides]
          |  |  |              +--ro requires    string
          |  |  |              +--ro provides    string
          |  |  +--ro config-primitive* [name]
          |  |  |  +--ro name                   string
          |  |  |  +--ro parameter* [name]
          |  |  |  |  +--ro name              string
          |  |  |  |  +--ro data-type?        manotypes:parameter-data-type
          |  |  |  |  +--ro mandatory?        boolean
          |  |  |  |  +--ro default-value?    string
          |  |  |  |  +--ro parameter-pool?   string
          |  |  |  |  +--ro read-only?        boolean
          |  |  |  |  +--ro hidden?           boolean
          |  |  |  +--ro user-defined-script?   string
          |  |  +--ro initial-config-primitive* [seq]
          |  |  |  +--ro seq                          uint64
          |  |  |  +--ro (primitive-type)?
          |  |  |     +--:(primitive-definition)
          |  |  |        +--ro name?                  string
          |  |  |        +--ro parameter* [name]
          |  |  |        |  +--ro name         string
          |  |  |        |  +--ro data-type?   manotypes:parameter-data-type
          |  |  |        |  +--ro value?       string
          |  |  |        +--ro user-defined-script?   string
          |  |  +--ro metrics* [name]
          |  |     +--ro name    string
          |  +--ro monitoring-param* [id]
          |  |  +--ro id                    string
          |  |  +--ro nfvi-metric?          manotypes:nfvi-metric-type
          |  |  +--ro interface-name-ref?   -> ../../interface/name
          |  +--ro volumes* [name]
          |  |  +--ro name                    string
          |  |  +--ro volume-id?              string
          |  |  +--ro description?            string
          |  |  +--ro size?                   uint64
          |  |  +--ro (volume-source)?
          |  |  |  +--:(ephemeral)
          |  |  |  |  +--ro ephemeral?        empty
          |  |  |  +--:(image)
          |  |  |     +--ro image?            string
          |  |  |     +--ro image-checksum?   string
          |  |  +--ro device-bus?             enumeration
          |  |  +--ro device-type?            enumeration
          |  +--ro internal-connection-point* [id]
          |  |  +--ro name?                    string
          |  |  +--ro id                       string
          |  |  +--ro short-name?              string
          |  |  +--ro type?                    manotypes:connection-point-type
          |  |  +--ro port-security-enabled?   boolean
          |  |  +--ro ip-address?              inet:ip-address
          |  |  +--ro mac-address?             string
          |  |  +--ro connection-point-id?     string
          |  |  +--ro virtual-cps* [name]
          |  |     +--ro name                     string
          |  |     +--ro id?                      string
          |  |     +--ro short-name?              string
          |  |     +--ro type?                    manotypes:connection-point-type
          |  |     +--ro port-security-enabled?   boolean
          |  |     +--ro ip-address?              inet:ip-address
          |  |     +--ro mac-address?             string
          |  |     +--ro connection-point-id?     string
          |  +--ro interface* [name]
          |  |  +--ro name                                   string
          |  |  +--ro position?                              uint32
          |  |  +--ro type?                                  vnfd-base:interface-type
          |  |  +--ro (connection-point-type)?
          |  |  |  +--:(internal)
          |  |  |  |  +--ro internal-connection-point-ref?   -> ../../internal-connection-point/id
          |  |  |  +--:(external)
          |  |  |     +--ro external-connection-point-ref?   -> ../../../connection-point/name
          |  |  +--ro virtual-interface
          |  |     +--ro type?                    enumeration
          |  |     +--ro bandwidth?               uint64
          |  |     +--ro ovs-offload?             enumeration
          |  |     +--ro vendor-id?               string
          |  |     +--ro datapath-library?        string
          |  |     +--ro provider-network-name?   string
          |  +--ro operational-status?          vdu-operational-status
          |  +--ro placement-groups-info* [name]
          |     +--ro name                        string
          |     +--ro requirement?                string
          |     +--ro strategy?                   enumeration
          |     +--ro cloud-type?                 manotypes:cloud-account-type
          |     +--ro (cloud-provider)?
          |        +--:(openstack)
          |        |  +--ro availability-zone
          |        |  |  +--ro name?   string
          |        |  +--ro server-group
          |        |  |  +--ro name?   string
          |        |  +--ro host-aggregate* [metadata-key]
          |        |     +--ro metadata-key      string
          |        |     +--ro metadata-value?   string
          |        +--:(aws)
          |        |  +--ro aws-construct?        empty
          |        +--:(openmano)
          |        |  +--ro openmano-construct?   empty
          |        +--:(vsphere)
          |        |  +--ro vsphere-construct?    empty
          |        +--:(mock)
          |        |  +--ro mock-construct?       empty
          |        +--:(cloudsim)
          |           +--ro cloudsim-construct?   empty
          +--ro monitoring-param* [id]
          |  +--ro id                            string
          |  +--ro name?                         string
          |  +--ro aggregation-type?             aggregation-type
          |  +--ro (monitoring-type)?
          |     +--:(vdu-monitoring-param)
          |     |  +--ro vdu-monitoring-param
          |     |     +--ro vdu-ref?                    -> ../../../vdur/id
          |     |     +--ro vdu-monitoring-param-ref?   -> ../../../vdur[id = current()/../vdu-ref]/monitoring-param/id
          |     +--:(vnf-metric)
          |     |  +--ro vnf-metric
          |     |     +--ro vnf-metric-name-ref?   -> ../../../vnf-configuration/metrics/name
          |     +--:(vdu-metric)
          |        +--ro vdu-metric
          |           +--ro vdu-ref?               -> ../../../vdur/id
          |           +--ro vdu-metric-name-ref?   -> ../../../vdur[id = current()/../vdu-ref]/vdu-configuration/metrics/name
          +--ro operational-status?      vnf-operational-status
          +--ro config-status?           enumeration
          +--ro placement-groups-info* [name]
          |  +--ro name                        string
          |  +--ro requirement?                string
          |  +--ro strategy?                   enumeration
          |  +--ro cloud-type?                 manotypes:cloud-account-type
          |  +--ro (cloud-provider)?
          |     +--:(openstack)
          |     |  +--ro availability-zone
          |     |  |  +--ro name?   string
          |     |  +--ro server-group
          |     |  |  +--ro name?   string
          |     |  +--ro host-aggregate* [metadata-key]
          |     |     +--ro metadata-key      string
          |     |     +--ro metadata-value?   string
          |     +--:(aws)
          |     |  +--ro aws-construct?        empty
          |     +--:(openmano)
          |     |  +--ro openmano-construct?   empty
          |     +--:(vsphere)
          |     |  +--ro vsphere-construct?    empty
          |     +--:(mock)
          |     |  +--ro mock-construct?       empty
          |     +--:(cloudsim)
          |        +--ro cloudsim-construct?   empty
          +--ro cloud-config
             +--ro key-pair* [name]
             |  +--ro name    string
             |  +--ro key?    string
             +--ro user* [name]
                +--ro name         string
                +--ro user-info?   string
                +--ro key-pair* [name]
                   +--ro name    string
                   +--ro key?    string
