OSM Information Model: Difference between revisions

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


Line 325: Line 383:
<pre>
<pre>
module: nsd
module: nsd
    +--rw nsd-catalog
  +--rw nsd-catalog
      +--rw nsd* [id]
    +--rw schema-version?  string
          +--rw id                            string
    +--rw nsd* [id]
          +--rw name                          string
        +--rw id                            string
          +--rw short-name?                    string
        +--rw name                          string
          +--rw vendor?                        string
        +--rw short-name?                    string
          +--rw logo?                          string
        +--rw vendor?                        string
          +--rw description?                  string
        +--rw logo?                          string
          +--rw version?                      string
        +--rw description?                  string
          +--rw connection-point* [name]
        +--rw version?                      string
          |  +--rw name   string
        +--rw connection-point* [name]
          |  +--rw type?   manotypes:connection-point-type
        |  +--rw name                               string
          +--rw scaling-group-descriptor* [name]
        |  +--rw type?                             manotypes:connection-point-type
          |  +--rw name                    string
        |  +--rw floating-ip-required?              boolean
          | +--rw scaling-policy* [name]
        |  +--rw (connection)?
          | |  +--rw name                        string
        |     +--:(vld-ref)
          | +--rw scaling-type?              scaling-policy-type
        |     |  +--rw vld-id-ref?                  -> ../../vld/id
          | +--rw enabled?                    boolean
        |     +--:(vnfd-connection-point-ref)
          |  |  +--rw scale-in-operation-type?   scaling-criteria-operation
        |       +--rw member-vnf-index-ref?       -> ../../constituent-vnfd/member-vnf-index
          | +--rw scale-out-operation-type?   scaling-criteria-operation
        |       +--rw vnfd-id-ref?                 -> ../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  |  +--rw threshold-time              uint32
        |       +--rw vnfd-connection-point-ref?  -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
          |  |  +--rw cooldown-time              uint32
        +--rw scaling-group-descriptor* [name]
          | +--rw scaling-criteria* [name]
        |  +--rw name                    string
          |  |    +--rw name                      string
        |  +--rw scaling-policy* [name]
          |  |    +--rw scale-in-threshold?        uint64
        |  |  +--rw name                        string
          |  |    +--rw scale-out-threshold?      uint64
        |  |  +--rw scaling-type?               manotypes:scaling-policy-type
          |    +--rw ns-monitoring-param-ref?  -> ../../../../monitoring-param/id
        |  |  +--rw enabled?                   boolean
          |  +--rw vnfd-member* [member-vnf-index-ref]
        |  |  +--rw scale-in-operation-type?   manotypes:scaling-criteria-operation
          |  |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
        |  |  +--rw scale-out-operation-type?  manotypes:scaling-criteria-operation
          |  |  +--rw count?                 uint32
        |  | +--rw threshold-time              uint32
          |  +--rw min-instance-count?     uint32
        |  | +--rw cooldown-time              uint32
          |  +--rw max-instance-count?     uint32
        |  |  +--rw scaling-criteria* [name]
          |  +--rw scaling-config-action* [trigger]
        |    +--rw name                              string
          |     +--rw trigger                          scaling-trigger
        |    +--rw scale-in-threshold?               uint64
          |     +--rw ns-service-primitive-name-ref?  -> ../../../service-primitive/name
        |    +--rw scale-in-relational-operation?    manotypes:relational-operation-type
          +--rw vnffgd* [id]
        |    +--rw scale-out-threshold?             uint64
          |  +--rw id            string
        |    +--rw scale-out-relational-operation?   manotypes:relational-operation-type
          |  +--rw name?         string
        |    +--rw ns-monitoring-param-ref?          -> ../../../../monitoring-param/id
          |  +--rw short-name?    string
        |  +--rw vnfd-member* [member-vnf-index-ref]
          |  +--rw vendor?        string
        |  | +--rw member-vnf-index-ref   -> ../../../constituent-vnfd/member-vnf-index
          |  +--rw description?   string
        |  | +--rw count?                 uint32
          |  +--rw version?       string
        |  +--rw min-instance-count?     uint32
          |  +--rw rsp* [id]
        |  +--rw max-instance-count?      uint32
          |  |  +--rw id                           string
        |  +--rw scaling-config-action* [trigger]
          |  |  +--rw name?                        string
        |    +--rw trigger                          manotypes:scaling-trigger
          |  |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref]
        |    +--rw ns-service-primitive-name-ref?   -> ../../../service-primitive/name
          |  |     +--rw member-vnf-index-ref         -> ../../../../constituent-vnfd/member-vnf-index
        +--rw vnffgd* [id]
          |  |     +--rw order?                       uint8
        |  +--rw id            string
          |    +--rw vnfd-id-ref?                 -> ../../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        | +--rw name?          string
          |    +--rw vnfd-connection-point-ref?  string
        |  +--rw short-name?   string
          |  +--rw classifier* [id]
        |  +--rw vendor?        string
          |    +--rw id                          string
        | +--rw description?  string
          |    +--rw name?                       string
        |  +--rw version?       string
          |    +--rw rsp-id-ref?                  -> ../../rsp/id
        | +--rw rsp* [id]
          |    +--rw member-vnf-index-ref?        -> ../../../constituent-vnfd/member-vnf-index
        |  | +--rw id                           string
          |     +--rw vnfd-id-ref?                 -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |  | +--rw name?                       string
          |     +--rw vnfd-connection-point-ref?   string
        |  | +--rw vnfd-connection-point-ref* [member-vnf-index-ref]
          |     +--rw match-attributes* [id]
        |  |     +--rw member-vnf-index-ref        -> ../../../../constituent-vnfd/member-vnf-index
          |       +--rw id                       string
        |  |     +--rw order?                       uint8
          |       +--rw ip-proto?                 uint8
         |  |    +--rw vnfd-id-ref?                -> ../../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |       +--rw source-ip-address?        inet:ip-address
        |  |    +--rw vnfd-connection-point-ref?   string
          |       +--rw destination-ip-address?  inet:ip-address
        | +--rw classifier* [id]
          |        +--rw source-port?              inet:port-number
        |    +--rw id                          string
          |       +--rw destination-port?        inet:port-number
        |    +--rw name?                       string
          +--rw ip-profiles* [name]
        |    +--rw rsp-id-ref?                  -> ../../rsp/id
          |  +--rw name                string
        |    +--rw member-vnf-index-ref?       -> ../../../constituent-vnfd/member-vnf-index
          |  +--rw description?        string
        |    +--rw vnfd-id-ref?                 -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  +--rw ip-profile-params
        |     +--rw vnfd-connection-point-ref?  string
          |    +--rw ip-version?           inet:ip-version
        |     +--rw match-attributes* [id]
          |     +--rw subnet-address?      inet:ip-prefix
        |       +--rw id                        string
          |    +--rw gateway-address?      inet:ip-address
        |       +--rw ip-proto?                 uint8
          |    +--rw security-group?       string
        |        +--rw source-ip-address?        inet:ip-address
          |    +--rw dns-server* [address]
        |       +--rw destination-ip-address?  inet:ip-address
          |    |  +--rw address    inet:ip-address
        |       +--rw source-port?              inet:port-number
          |    +--rw dhcp-params
        |       +--rw destination-port?        inet:port-number
          |    |  +--rw enabled?         boolean
        +--rw ip-profiles* [name]
          |    |  +--rw start-address?  inet:ip-address
        | +--rw name                 string
          |    +--rw count?           uint32
        | +--rw description?         string
          |    +--rw subnet-prefix-pool?  string
        |  +--rw ip-profile-params
          +--rw initial-service-primitive* [seq]
        |     +--rw ip-version?          inet:ip-version
          | +--rw seq                    uint64
        |     +--rw subnet-address?       inet:ip-prefix
          |  +--rw name                  string
        |    +--rw gateway-address?      inet:ip-address
          |  +--rw user-defined-script?  string
        |     +--rw security-group?      string
          | +--rw parameter* [name]
        |     +--rw dns-server* [address]
          |     +--rw name    string
        |    +--rw address    inet:ip-address
          |     +--rw value?   string
        |    +--rw dhcp-params
          +--rw terminate-service-primitive* [seq]
        |    |  +--rw enabled?        boolean
          | +--rw seq                    uint64
        |    |  +--rw start-address?  inet:ip-address
          |  +--rw name                  string
        |    |  +--rw count?           uint32
          | +--rw user-defined-script?  string
        |    +--rw subnet-prefix-pool?  string
          | +--rw parameter* [name]
        +--rw initial-service-primitive* [seq]
          |     +--rw name     string
        |  +--rw seq                    uint64
          |     +--rw value?   string
         |  +--rw name                  string
          +--rw input-parameter-xpath* [xpath]
        |  +--rw user-defined-script?  string
          | +--rw xpath            string
        |  +--rw parameter* [name]
          |  +--rw label?          string
        |    +--rw name     string
          | +--rw default-value?   string
        |    +--rw value?   string
          +--rw parameter-pool* [name]
        +--rw terminate-service-primitive* [seq]
          | +--rw name    string
        |  +--rw seq                    uint64
          | +--rw range
        |  +--rw name                   string
          |    +--rw start-value    uint32
        |  +--rw user-defined-script?   string
          |    +--rw end-value      uint32
        |  +--rw parameter* [name]
          +--rw key-pair* [name]
        |     +--rw name    string
          |  +--rw name    string
        |     +--rw value?   string
          |  +--rw key?   string
        +--rw input-parameter-xpath* [xpath]
          +--rw user* [name]
        |  +--rw xpath            string
          |  +--rw name         string
        |  +--rw label?          string
          |  +--rw user-info?  string
        |  +--rw default-value?  string
          |  +--rw key-pair* [name]
        +--rw parameter-pool* [name]
          |    +--rw name   string
        |  +--rw name    string
          |    +--rw key?   string
        |  +--rw range
          +--rw vld* [id]
        |     +--rw start-value    uint32
          |  +--rw id                          string
        |     +--rw end-value      uint32
          |  +--rw name?                        string
        +--rw key-pair* [name]
          |  +--rw short-name?                 string
        +--rw name    string
          |  +--rw vendor?                      string
        | +--rw key?    string
          | +--rw description?                string
        +--rw user* [name]
          | +--rw version?                     string
        |  +--rw name        string
          |  +--rw type?                        manotypes:virtual-link-type
        |  +--rw user-info?  string
          |  +--rw root-bandwidth?              uint64
        |  +--rw key-pair* [name]
          |  +--rw leaf-bandwidth?             uint64
        |    +--rw name    string
           |  +--rw provider-network
        |    +--rw key?    string
          |  |  +--rw physical-network?  string
        +--rw vld* [id]
          |  |  +--rw segmentation_id?    uint32
        | +--rw id                           string
          |  +--rw mgmt-network?                boolean
        |  +--rw name?                        string
          |  +--rw (init-params)?
        |  +--rw short-name?                  string
          | +--:(vim-network-ref)
        |  +--rw vendor?                      string
          | |  |  +--rw vim-network-name?            string
        |  +--rw description?                string
          | +--:(vim-network-profile)
        | +--rw version?                    string
          |    +--rw ip-profile-ref?              -> ../../ip-profiles/name
        |  +--rw type?                        manotypes:virtual-link-type
          |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref vnfd-connection-point-ref]
        |  +--rw root-bandwidth?              uint64
          |    +--rw member-vnf-index-ref        -> ../../../constituent-vnfd/member-vnf-index
        |  +--rw leaf-bandwidth?              uint64
          |     +--rw vnfd-id-ref?                -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |  +--rw provider-network
          |     +--rw vnfd-connection-point-ref    -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
        |  |  +--rw physical-networkstring
          +--rw constituent-vnfd* [member-vnf-index]
        |  |  +--rw segmentation_id?    uint32
          |  +--rw member-vnf-index    uint64
        |  +--rw mgmt-network?                boolean
          |  +--rw vnfd-id-ref?        -> /vnfd:vnfd-catalog/vnfd/id
        |  +--rw (init-params)?
          |  +--rw start-by-defaultboolean
        |  |  +--:(vim-network-ref)
          +--rw placement-groups* [name]
        |  |  |  +--rw vim-network-name?      string
          |  +--rw name          string
        |  |  +--:(vim-network-profile)
          |  +--rw requirement?   string
        |  |    +--rw ip-profile-ref?        -> ../../ip-profiles/name
          |  +--rw strategy?      enumeration
        |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref vnfd-connection-point-ref]
          |  +--rw member-vnfd* [member-vnf-index-ref]
        |    +--rw member-vnf-index-ref         -> ../../../constituent-vnfd/member-vnf-index
          |    +--rw member-vnf-index-ref   -> ../../../constituent-vnfd/member-vnf-index
        |    +--rw vnfd-connection-point-ref    -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
          |    +--rw vnfd-id-ref?            -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |     +--rw vnfd-id-ref?                -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          +--rw vnf-dependency* [vnf-source-ref]
        |     +--rw ip-address?                 inet:ip-address
          | +--rw vnf-source-ref       -> /vnfd:vnfd-catalog/vnfd/id
        +--rw constituent-vnfd* [member-vnf-index]
          | +--rw vnf-depends-on-ref?   -> /vnfd:vnfd-catalog/vnfd/id
        |  +--rw member-vnf-index    string
          +--rw monitoring-param* [id]
        |  +--rw vnfd-id-ref?       -> /vnfd:vnfd-catalog/vnfd/id
          |  +--rw id                      string
        |  +--rw start-by-defaultboolean
          |  +--rw name?                    string
        +--rw placement-groups* [name]
          |  +--rw value-type?             param-value-type
        |  +--rw name          string
          |  +--rw numeric-constraints
        |  +--rw requirementstring
          |  |  +--rw min-valueuint64
        |  +--rw strategy?     enumeration
          |  |  +--rw max-value?  uint64
        |  +--rw member-vnfd* [member-vnf-index-ref]
          |  +--rw text-constraints
        |     +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
          |  |  +--rw min-lengthuint8
        |     +--rw vnfd-id-ref?           -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  |  +--rw max-length?   uint8
        +--rw vnf-dependency* [vnf-source-ref]
          |  +--rw value-integer?          int64
        | +--rw vnf-source-ref       -> /vnfd:vnfd-catalog/vnfd/id
          |  +--rw value-decimal?          decimal64
        |  +--rw vnf-depends-on-ref?  -> /vnfd:vnfd-catalog/vnfd/id
          | +--rw value-string?            string
        +--rw monitoring-param* [id]
          |  +--rw description?            string
        | +--rw id                      string
          |  +--rw group-tag?              string
        |  +--rw name?                    string
          | +--rw widget-type?             manotypes:widget-type
         |  +--rw value-type?              param-value-type
          |  +--rw units?                  string
        |  +--rw numeric-constraints
          |  +--rw aggregation-type?        aggregation-type
        |  |  +--rw min-value?  uint64
          |  +--rw vnfd-monitoring-param* [member-vnf-index-ref vnfd-monitoring-param-ref]
        |  |  +--rw max-value?  uint64
          |     +--rw vnfd-id-ref?                -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |  +--rw text-constraints
          |    +--rw vnfd-monitoring-param-ref    -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/monitoring-param/id
        |  |  +--rw min-length?   uint8
          |     +--rw member-vnf-index-ref         -> ../../../constituent-vnfd/member-vnf-index
        |  |  +--rw max-length?   uint8
          +--rw service-primitive* [name]
        |  +--rw value-integer?           int64
            +--rw name                  string
        |  +--rw value-decimal?           decimal64
            +--rw parameter* [name]
        |  +--rw value-string?           string
            |  +--rw name              string
        |  +--rw description?            string
            |  +--rw data-type?        manotypes:parameter-data-type
        |  +--rw group-tag?              string
            |  +--rw mandatory?       boolean
        |  +--rw widget-type?            manotypes:widget-type
            |  +--rw default-value?   string
        |  +--rw units?                  string
            |  +--rw parameter-pool?   string
        |  +--rw aggregation-type?        aggregation-type
            |  +--rw read-only?       boolean
        |  +--rw vnfd-monitoring-param* [member-vnf-index-ref vnfd-monitoring-param-ref]
            |  +--rw hidden?           boolean
        |    +--rw vnfd-id-ref?                -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
            +--rw parameter-group* [name]
        |    +--rw vnfd-monitoring-param-ref    -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/monitoring-param/id
            |  +--rw name        string
        |    +--rw member-vnf-index-ref        -> ../../../constituent-vnfd/member-vnf-index
            |  +--rw parameter* [name]
        +--rw service-primitive* [name]
            |  |  +--rw name              string
          +--rw name                  string
            |  |  +--rw data-type?        manotypes:parameter-data-type
          +--rw parameter* [name]
            |  |  +--rw mandatory?        boolean
          |  +--rw name              string
            |  |  +--rw default-value?    string
          |  +--rw data-type?        manotypes:parameter-data-type
            |  |  +--rw parameter-pool?  string
          |  +--rw mandatory?        boolean
            |  |  +--rw read-only?        boolean
          |  +--rw default-value?    string
            |  |  +--rw hidden?          boolean
          |  +--rw parameter-pool?  string
            |  +--rw mandatory?  boolean
          |  +--rw read-only?        boolean
            +--rw vnf-primitive-group* [member-vnf-index-ref]
          |  +--rw hidden?          boolean
            |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
          +--rw parameter-group* [name]
            |  +--rw vnfd-id-ref?            -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  +--rw name        string
            |  +--rw vnfd-name?              -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/name
          |  +--rw parameter* [name]
            |  +--rw primitive* [index]
          |  |  +--rw name              string
            |    +--rw index    uint32
          |  |  +--rw data-type?        manotypes:parameter-data-type
            |    +--rw name?    string
          |  |  +--rw mandatory?        boolean
            +--rw user-defined-script?  string
          |  |  +--rw default-value?    string
          |  |  +--rw parameter-pool?  string
          |  |  +--rw read-only?        boolean
          |  |  +--rw hidden?          boolean
          |  +--rw mandatory?  boolean
          +--rw vnf-primitive-group* [member-vnf-index-ref]
          |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
          |  +--rw vnfd-id-ref?            -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  +--rw vnfd-name?              -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/name
          |  +--rw primitive* [index]
          |    +--rw index    uint32
          |    +--rw name?    string
          +--rw user-defined-script?  string
</pre>
</pre>


Line 530: Line 600:
'''Navigable version:'''
'''Navigable version:'''


'''http://osm-download.etsi.org/ftp/osm-doc/vnfr.rec.html'''
'''http://osm-download.etsi.org/ftp/osm-doc/vnfr.html'''




Line 538: Line 608:
   augment /rw-project:project:
   augment /rw-project:project:
     +--ro vnfr-catalog
     +--ro vnfr-catalog
      +--ro schema-version?  string
       +--ro vnfr* [id]
       +--ro vnfr* [id]
           +--ro id                      yang:uuid
           +--ro id                      yang:uuid
Line 551: Line 622:
           +--ro uptime?                  uint32
           +--ro uptime?                  uint32
           +--ro vnfd
           +--ro vnfd
           |  +--ro id?                       string
           |  +--ro id?                         string
           |  +--ro name                     string
           |  +--ro name                       string
           |  +--ro short-name?               string
           |  +--ro short-name?                 string
           |  +--ro vendor?                   string
           |  +--ro vendor?                     string
           |  +--ro logo?                     string
           |  +--ro logo?                       string
           |  +--ro description?             string
           |  +--ro description?               string
           |  +--ro version?                 string
           |  +--ro version?                   string
           |  +--ro vnf-configuration
           |  +--ro vnf-configuration
           |  |  +--ro (config-method)?
           |  |  +--ro (config-method)?
Line 566: Line 637:
           |  |  |    +--ro juju
           |  |  |    +--ro juju
           |  |  |        +--ro charm?              string
           |  |  |        +--ro charm?              string
          |  |  |        +--ro proxy?              boolean
           |  |  |        +--ro vca-relationships
           |  |  |        +--ro vca-relationships
           |  |  |          +--ro relation* [requires provides]
           |  |  |          +--ro relation* [requires provides]
Line 582: Line 654:
           |  |  |  +--ro user-defined-script?  string
           |  |  |  +--ro user-defined-script?  string
           |  |  +--ro initial-config-primitive* [seq]
           |  |  +--ro initial-config-primitive* [seq]
           |  |     +--ro seq                   uint64
           |  | +--ro seq                         uint64
           |  |     +--ro (primitive-type)?
           |  | +--ro (primitive-type)?
           |  |       +--:(primitive-definition)
           |  | |    +--:(primitive-definition)
           |  |           +--ro name?                  string
           |  | |        +--ro name?                  string
           |  |           +--ro parameter* [name]
           |  | |        +--ro parameter* [name]
           |  |           |  +--ro name    string
           |  | |        |  +--ro name    string
           |  |           |  +--ro value?  string
           |  | |        |  +--ro value?  string
           |  |           +--ro user-defined-script?  string
           |  | |        +--ro user-defined-script?  string
           |  +--ro operational-status?       vnf-operational-status
          |  |  +--ro metrics* [name]
          |  |    +--ro name    string
           |  +--ro operational-status?         vnf-operational-status
           |  +--ro mgmt-interface
           |  +--ro mgmt-interface
           |  |  +--ro (endpoint-type)?
           |  |  +--ro (endpoint-type)?
           |  |  |  +--:(ip)
           |  |  |  +--:(ip)
           |  |  |  |  +--ro ip-address?         inet:ip-address
           |  |  |  |  +--ro ip-address?   inet:ip-address
           |  |  |  +--:(vdu-id)
           |  |  |  +--:(vdu-id)
           |  |  |  |  +--ro vdu-id?             -> ../../vdu/id
           |  |  |  |  +--ro vdu-id?       -> ../../vdu/id
           |  |  |  +--:(cp)
           |  |  |  +--:(cp)
           |  |  |    +--ro cp?                 -> ../../connection-point/name
           |  |  |    +--ro cp?           -> ../../connection-point/name
           |  |  +--ro port?              inet:port-number
           |  |  +--ro port?              inet:port-number
           |  |  +--ro dashboard-params
           |  |  +--ro dashboard-params
Line 613: Line 687:
           |  |  +--ro leaf-bandwidth?              uint64
           |  |  +--ro leaf-bandwidth?              uint64
           |  |  +--ro internal-connection-point* [id-ref]
           |  |  +--ro internal-connection-point* [id-ref]
           |  |  |  +--ro id-ref   -> ../../../vdu/internal-connection-point/id
           |  |  |  +--ro id-ref       -> ../../../vdu/internal-connection-point/id
          |  |  |  +--ro ip-address?  inet:ip-address
           |  |  +--ro provider-network
           |  |  +--ro provider-network
           |  |  |  +--ro physical-network?  string
           |  |  |  +--ro physical-network?  string
Line 619: Line 694:
           |  |  +--ro (init-params)?
           |  |  +--ro (init-params)?
           |  |    +--:(vim-network-ref)
           |  |    +--:(vim-network-ref)
           |  |    |  +--ro vim-network-name?           string
           |  |    |  +--ro vim-network-name?     string
           |  |    +--:(vim-network-profile)
           |  |    +--:(vim-network-profile)
           |  |        +--ro ip-profile-ref?             string
           |  |        +--ro ip-profile-ref?       string
           |  +--ro ip-profiles* [name]
           |  +--ro ip-profiles* [name]
           |  |  +--ro name                string
           |  |  +--ro name                string
Line 643: Line 718:
           |  |  +--ro type?                    manotypes:connection-point-type
           |  |  +--ro type?                    manotypes:connection-point-type
           |  |  +--ro port-security-enabled?  boolean
           |  |  +--ro port-security-enabled?  boolean
          |  |  +--ro internal-vld-ref?        -> ../../internal-vld/id
           |  +--ro vdu* [id]
           |  +--ro vdu* [id]
           |  |  +--ro id                          string
           |  |  +--ro id                          string
           |  |  +--ro name?                        string
           |  |  +--ro name?                        string
           |  |  +--ro description?                string
           |  |  +--ro description?                string
          |  |  +--ro pdu-type?                    string
           |  |  +--ro count?                      uint64
           |  |  +--ro count?                      uint64
           |  |  +--ro mgmt-vpci?                  string
           |  |  +--ro mgmt-vpci?                  string
Line 663: Line 740:
           |  |  |  +--ro (numa-policy)?
           |  |  |  +--ro (numa-policy)?
           |  |  |    +--:(numa-unaware)
           |  |  |    +--:(numa-unaware)
           |  |  |    |  +--ro numa-unaware?               empty
           |  |  |    |  +--ro numa-unaware?         empty
           |  |  |    +--:(numa-aware)
           |  |  |    +--:(numa-aware)
           |  |  |        +--ro numa-node-policy
           |  |  |        +--ro numa-node-policy
Line 669: Line 746:
           |  |  |          +--ro mem-policy?  enumeration
           |  |  |          +--ro mem-policy?  enumeration
           |  |  |          +--ro node* [id]
           |  |  |          +--ro node* [id]
           |  |  |              +--ro id               uint64
           |  |  |              +--ro id                     uint64
           |  |  |              +--ro vcpu* [id]
           |  |  |              +--ro vcpu* [id]
           |  |  |              |  +--ro id    uint64
           |  |  |              |  +--ro id    uint64
           |  |  |              +--ro memory-mb?       uint64
           |  |  |              +--ro memory-mb?             uint64
           |  |  |              +--ro (om-numa-type)?
           |  |  |              +--ro (om-numa-type)?
           |  |  |                +--:(cores)
           |  |  |                +--:(cores)
Line 719: Line 796:
           |  |  |  +--ro metric?        alarm-metric-type
           |  |  |  +--ro metric?        alarm-metric-type
           |  |  |  +--ro statistic?    alarm-statistic-type
           |  |  |  +--ro statistic?    alarm-statistic-type
           |  |  |  +--ro operation?    alarm-operation-type
           |  |  |  +--ro operation?    relational-operation-type
           |  |  |  +--ro value?        decimal64
           |  |  |  +--ro value?        decimal64
           |  |  |  +--ro period?        uint32
           |  |  |  +--ro period?        uint32
Line 725: Line 802:
           |  |  +--ro image?                      string
           |  |  +--ro image?                      string
           |  |  +--ro image-checksum?              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 vdu-configuration
           |  |  |  +--ro (config-method)?
           |  |  |  +--ro (config-method)?
Line 733: Line 814:
           |  |  |  |    +--ro juju
           |  |  |  |    +--ro juju
           |  |  |  |        +--ro charm?              string
           |  |  |  |        +--ro charm?              string
          |  |  |  |        +--ro proxy?              boolean
           |  |  |  |        +--ro vca-relationships
           |  |  |  |        +--ro vca-relationships
           |  |  |  |          +--ro relation* [requires provides]
           |  |  |  |          +--ro relation* [requires provides]
Line 749: Line 831:
           |  |  |  |  +--ro user-defined-script?  string
           |  |  |  |  +--ro user-defined-script?  string
           |  |  |  +--ro initial-config-primitive* [seq]
           |  |  |  +--ro initial-config-primitive* [seq]
           |  |  |     +--ro seq                   uint64
           |  |  | +--ro seq                         uint64
           |  |  |     +--ro (primitive-type)?
           |  |  | +--ro (primitive-type)?
           |  |  |       +--:(primitive-definition)
           |  |  | |    +--:(primitive-definition)
           |  |  |           +--ro name?                  string
           |  |  | |        +--ro name?                  string
           |  |  |           +--ro parameter* [name]
           |  |  | |        +--ro parameter* [name]
           |  |  |           |  +--ro name    string
           |  |  | |        |  +--ro name    string
           |  |  |           |  +--ro value?  string
           |  |  | |        |  +--ro value?  string
           |  |  |           +--ro user-defined-script?  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)?
           |  |  +--ro (cloud-init-input)?
           |  |  |  +--:(inline)
           |  |  |  +--:(inline)
           |  |  |  |  +--ro cloud-init?                 string
           |  |  |  |  +--ro cloud-init?           string
           |  |  |  +--:(filename)
           |  |  |  +--:(filename)
           |  |  |    +--ro cloud-init-file?             string
           |  |  |    +--ro cloud-init-file?       string
           |  |  +--ro supplemental-boot-data
           |  |  +--ro supplemental-boot-data
           |  |  |  +--ro config-file* [source]
           |  |  |  +--ro config-file* [source]
Line 775: Line 863:
           |  |  |  +--ro internal-vld-ref?        -> ../../../internal-vld/id
           |  |  |  +--ro internal-vld-ref?        -> ../../../internal-vld/id
           |  |  +--ro interface* [name]
           |  |  +--ro interface* [name]
           |  |  |  +--ro name                             string
           |  |  |  +--ro name                                   string
           |  |  |  +--ro position?                        uint32
           |  |  |  +--ro position?                              uint32
           |  |  |  +--ro type?                           interface-type
          |  |  |  +--ro mgmt-interface?                        boolean
           |  |  |  +--ro type?                                 interface-type
          |  |  |  +--ro mac-address?                          string
           |  |  |  +--ro (connection-point-type)?
           |  |  |  +--ro (connection-point-type)?
           |  |  |  |  +--:(internal)
           |  |  |  |  +--:(internal)
Line 788: Line 878:
           |  |  |    +--ro bandwidth?  uint64
           |  |  |    +--ro bandwidth?  uint64
           |  |  +--ro volumes* [name]
           |  |  +--ro volumes* [name]
           |  |    +--ro name             string
           |  |    +--ro name                   string
           |  |    +--ro description?     string
           |  |    +--ro description?           string
           |  |    +--ro size?             uint64
           |  |    +--ro size?                   uint64
           |  |    +--ro (volume-source)?
           |  |    +--ro (volume-source)?
           |  |    |  +--:(ephemeral)
           |  |    |  +--:(ephemeral)
Line 797: Line 887:
           |  |    |    +--ro image?            string
           |  |    |    +--ro image?            string
           |  |    |    +--ro image-checksum?  string
           |  |    |    +--ro image-checksum?  string
           |  |    +--ro device-bus?       enumeration
           |  |    +--ro device-bus?             enumeration
           |  |    +--ro device-type?     enumeration
           |  |    +--ro device-type?           enumeration
           |  +--ro vdu-dependency* [vdu-source-ref]
           |  +--ro vdu-dependency* [vdu-source-ref]
           |  |  +--ro vdu-source-ref        -> ../../vdu/id
           |  |  +--ro vdu-source-ref        -> ../../vdu/id
           |  |  +--ro vdu-depends-on-ref?  -> ../../vdu/id
           |  |  +--ro vdu-depends-on-ref?  -> ../../vdu/id
           |  +--ro service-function-chain?   enumeration
           |  +--ro service-function-chain?     enumeration
           |  +--ro service-function-type?   string
           |  +--ro service-function-type?     string
           |  +--ro http-endpoint* [path]
           |  +--ro http-endpoint* [path]
           |  |  +--ro path                    string
           |  |  +--ro path                    string
Line 815: Line 905:
           |  |    +--ro key      string
           |  |    +--ro key      string
           |  |    +--ro value?  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 monitoring-param* [id]
           |  |  +--ro id                     string
           |  |  +--ro id                           string
           |  |  +--ro name?                 string
           |  |  +--ro name?                         string
           |  |  +--ro http-endpoint-ref?     -> ../../http-endpoint/path
          |  |  +--ro aggregation-type?            aggregation-type
           |  |  +--ro json-query-method?     json-query-method
          |  |  +--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-query-params
           |  |  |  +--ro json-path?    string
           |  |  |  +--ro json-path?    string
           |  |  |  +--ro object-path?  string
           |  |  |  +--ro object-path?  string
           |  |  +--ro description?           string
           |  |  +--ro description?                 string
           |  |  +--ro group-tag?             string
           |  |  +--ro group-tag?                   string
           |  |  +--ro widget-type?           manotypes:widget-type
           |  |  +--ro widget-type?                 manotypes:widget-type
           |  |  +--ro units?                 string
           |  |  +--ro units?                       string
           |  |  +--ro value-type?           param-value-type
           |  |  +--ro value-type?                   param-value-type
           |  |  +--ro numeric-constraints
           |  |  +--ro numeric-constraints
           |  |  |  +--ro min-value?  uint64
           |  |  |  +--ro min-value?  uint64
Line 834: Line 962:
           |  |  |  +--ro min-length?  uint8
           |  |  |  +--ro min-length?  uint8
           |  |  |  +--ro max-length?  uint8
           |  |  |  +--ro max-length?  uint8
           |  |  +--ro value-integer?         int64
           |  |  +--ro value-integer?               int64
           |  |  +--ro value-decimal?         decimal64
           |  |  +--ro value-decimal?               decimal64
           |  |  +--ro value-string?         string
           |  |  +--ro value-string?                 string
           |  +--ro placement-groups* [name]
           |  +--ro placement-groups* [name]
           |    +--ro name          string
           |    +--ro name          string
Line 852: Line 980:
           |  |    +--ro juju
           |  |    +--ro juju
           |  |        +--ro charm?              string
           |  |        +--ro charm?              string
          |  |        +--ro proxy?              boolean
           |  |        +--ro vca-relationships
           |  |        +--ro vca-relationships
           |  |          +--ro relation* [requires provides]
           |  |          +--ro relation* [requires provides]
Line 868: Line 997:
           |  |  +--ro user-defined-script?  string
           |  |  +--ro user-defined-script?  string
           |  +--ro initial-config-primitive* [seq]
           |  +--ro initial-config-primitive* [seq]
           |     +--ro seq                   uint64
           | +--ro seq                         uint64
           |     +--ro (primitive-type)?
           | +--ro (primitive-type)?
           |       +--:(primitive-definition)
           | |    +--:(primitive-definition)
           |           +--ro name?                  string
           | |        +--ro name?                  string
           |           +--ro parameter* [name]
           | |        +--ro parameter* [name]
           |           |  +--ro name    string
           | |        |  +--ro name    string
           |           |  +--ro value?  string
           | |        |  +--ro value?  string
           |           +--ro user-defined-script?  string
           | |        +--ro user-defined-script?  string
          |  +--ro metrics* [name]
          |    +--ro name    string
           +--ro mgmt-interface
           +--ro mgmt-interface
           |  +--ro ip-address?  inet:ip-address
           |  +--ro ip-address?  inet:ip-address
Line 929: Line 1,060:
           |  |  +--ro (numa-policy)?
           |  |  +--ro (numa-policy)?
           |  |    +--:(numa-unaware)
           |  |    +--:(numa-unaware)
           |  |    |  +--ro numa-unaware?               empty
           |  |    |  +--ro numa-unaware?         empty
           |  |    +--:(numa-aware)
           |  |    +--:(numa-aware)
           |  |        +--ro numa-node-policy
           |  |        +--ro numa-node-policy
Line 935: Line 1,066:
           |  |          +--ro mem-policy?  enumeration
           |  |          +--ro mem-policy?  enumeration
           |  |          +--ro node* [id]
           |  |          +--ro node* [id]
           |  |              +--ro id               uint64
           |  |              +--ro id                     uint64
           |  |              +--ro vcpu* [id]
           |  |              +--ro vcpu* [id]
           |  |              |  +--ro id    uint64
           |  |              |  +--ro id    uint64
           |  |              +--ro memory-mb?       uint64
           |  |              +--ro memory-mb?             uint64
           |  |              +--ro (om-numa-type)?
           |  |              +--ro (om-numa-type)?
           |  |                +--:(cores)
           |  |                +--:(cores)
Line 981: Line 1,112:
           |  |  |    +--ro juju
           |  |  |    +--ro juju
           |  |  |        +--ro charm?              string
           |  |  |        +--ro charm?              string
          |  |  |        +--ro proxy?              boolean
           |  |  |        +--ro vca-relationships
           |  |  |        +--ro vca-relationships
           |  |  |          +--ro relation* [requires provides]
           |  |  |          +--ro relation* [requires provides]
Line 997: Line 1,129:
           |  |  |  +--ro user-defined-script?  string
           |  |  |  +--ro user-defined-script?  string
           |  |  +--ro initial-config-primitive* [seq]
           |  |  +--ro initial-config-primitive* [seq]
           |  |     +--ro seq                   uint64
           |  | +--ro seq                         uint64
           |  |     +--ro (primitive-type)?
           |  | +--ro (primitive-type)?
           |  |       +--:(primitive-definition)
           |  | |    +--:(primitive-definition)
           |  |           +--ro name?                  string
           |  | |        +--ro name?                  string
           |  |           +--ro parameter* [name]
           |  | |        +--ro parameter* [name]
           |  |           |  +--ro name    string
           |  | |        |  +--ro name    string
           |  |           |  +--ro value?  string
           |  | |        |  +--ro value?  string
           |  |           +--ro user-defined-script?  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 volumes* [name]
           |  |  +--ro name             string
           |  |  +--ro name                   string
           |  |  +--ro volume-id?       string
           |  |  +--ro volume-id?             string
           |  |  +--ro description?     string
           |  |  +--ro description?           string
           |  |  +--ro size?             uint64
           |  |  +--ro size?                   uint64
           |  |  +--ro (volume-source)?
           |  |  +--ro (volume-source)?
           |  |  |  +--:(ephemeral)
           |  |  |  +--:(ephemeral)
Line 1,016: Line 1,154:
           |  |  |    +--ro image?            string
           |  |  |    +--ro image?            string
           |  |  |    +--ro image-checksum?  string
           |  |  |    +--ro image-checksum?  string
           |  |  +--ro device-bus?       enumeration
           |  |  +--ro device-bus?             enumeration
           |  |  +--ro device-type?     enumeration
           |  |  +--ro device-type?           enumeration
           |  +--ro internal-connection-point* [id]
           |  +--ro internal-connection-point* [id]
           |  |  +--ro name?                    string
           |  |  +--ro name?                    string
Line 1,037: Line 1,175:
           |  |    +--ro connection-point-id?    string
           |  |    +--ro connection-point-id?    string
           |  +--ro interface* [name]
           |  +--ro interface* [name]
           |  |  +--ro name                             string
           |  |  +--ro name                                   string
           |  |  +--ro position?                       uint32
           |  |  +--ro position?                             uint32
           |  |  +--ro type?                           vnfd-base:interface-type
           |  |  +--ro type?                                 vnfd-base:interface-type
           |  |  +--ro (connection-point-type)?
           |  |  +--ro (connection-point-type)?
           |  |  |  +--:(internal)
           |  |  |  +--:(internal)
Line 1,054: Line 1,192:
           |  +--ro operational-status?          vdu-operational-status
           |  +--ro operational-status?          vdu-operational-status
           |  +--ro placement-groups-info* [name]
           |  +--ro placement-groups-info* [name]
           |    +--ro name                 string
           |    +--ro name                       string
           |    +--ro requirement?         string
           |    +--ro requirement?               string
           |    +--ro strategy?             enumeration
           |    +--ro strategy?                   enumeration
           |    +--ro cloud-type?           manotypes:cloud-account-type
           |    +--ro cloud-type?                 manotypes:cloud-account-type
           |    +--ro (cloud-provider)?
           |    +--ro (cloud-provider)?
           |        +--:(openstack)
           |        +--:(openstack)
Line 1,077: Line 1,215:
           |        +--:(cloudsim)
           |        +--:(cloudsim)
           |          +--ro cloudsim-construct?  empty
           |          +--ro cloudsim-construct?  empty
          +--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 monitoring-param* [id]
           +--ro monitoring-param* [id]
           |  +--ro id                     string
           |  +--ro id                           string
           |  +--ro name?                 string
           |  +--ro name?                         string
           |  +--ro http-endpoint-ref?     -> ../../http-endpoint/path
           |  +--ro aggregation-type?             aggregation-type
           |  +--ro json-query-method?     json-query-method
           |  +--ro (monitoring-type)?
           | +--ro json-query-params
           |     +--:(vdu-monitoring-param)
           | |  +--ro json-path?    string
           |     |  +--ro vdu-monitoring-param
           | | +--ro object-path?   string
           |     |     +--ro vdu-ref?                   -> ../../../vdur/id
          |  +--ro description?          string
           |     |     +--ro vdu-monitoring-param-ref?   -> ../../../vdur[id = current()/../vdu-ref]/monitoring-param/id
           | +--ro group-tag?            string
           |     +--:(vnf-metric)
          | +--ro widget-type?          manotypes:widget-type
           |     |  +--ro vnf-metric
          |  +--ro units?                 string
           |     |     +--ro vnf-metric-name-ref-> ../../../vnf-configuration/metrics/name
          |  +--ro value-type?            param-value-type
           |     +--:(vdu-metric)
           | +--ro numeric-constraints
           |       +--ro vdu-metric
           | |  +--ro min-value?  uint64
           |           +--ro vdu-ref?               -> ../../../vdur/id
           | | +--ro max-valueuint64
           |           +--ro vdu-metric-name-ref?   -> ../../../vdur[id = current()/../vdu-ref]/vdu-configuration/metrics/name
           | +--ro text-constraints
           | +--ro min-length?  uint8
           | +--ro max-length?   uint8
           | +--ro value-integer?        int64
          |  +--ro value-decimal?         decimal64
          |  +--ro value-string?          string
           +--ro operational-status?      vnf-operational-status
           +--ro operational-status?      vnf-operational-status
           +--ro config-status?          enumeration
           +--ro config-status?          enumeration
           +--ro placement-groups-info* [name]
           +--ro placement-groups-info* [name]
           |  +--ro name                 string
           |  +--ro name                       string
           |  +--ro requirement?         string
           |  +--ro requirement?               string
           |  +--ro strategy?             enumeration
           |  +--ro strategy?                   enumeration
           |  +--ro cloud-type?           manotypes:cloud-account-type
           |  +--ro cloud-type?                 manotypes:cloud-account-type
           |  +--ro (cloud-provider)?
           |  +--ro (cloud-provider)?
           |    +--:(openstack)
           |    +--:(openstack)
Line 1,152: Line 1,273:
'''Navigable version:'''
'''Navigable version:'''


'''http://osm-download.etsi.org/ftp/osm-doc/nsr.rec.html'''
'''http://osm-download.etsi.org/ftp/osm-doc/nsr.html'''




Line 1,165: Line 1,286:
     +--rw ns-instance-config
     +--rw ns-instance-config
       +--rw nsr* [id]
       +--rw nsr* [id]
          +--rw schema-version?              string
           +--rw id                          yang:uuid
           +--rw id                          yang:uuid
           +--rw name?                        string
           +--rw name?                        string
Line 1,179: Line 1,301:
           |  +--rw version?                      string
           |  +--rw version?                      string
           |  +--rw connection-point* [name]
           |  +--rw connection-point* [name]
           |  |  +--rw name   string
           |  |  +--rw name                               string
           |  |  +--rw type?   manotypes:connection-point-type
           |  |  +--rw type?                             manotypes:connection-point-type
          |  |  +--rw floating-ip-required?              boolean
          |  |  +--rw (connection)?
          |  |    +--:(vld-ref)
          |  |    |  +--rw vld-id-ref?                  -> ../../vld/id
          |  |    +--:(vnfd-connection-point-ref)
          |  |        +--rw member-vnf-index-ref?        -> ../../constituent-vnfd/member-vnf-index
          |  |        +--rw vnfd-id-ref?                -> ../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  |        +--rw vnfd-connection-point-ref?  -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
           |  +--rw scaling-group-descriptor* [name]
           |  +--rw scaling-group-descriptor* [name]
           |  |  +--rw name                    string
           |  |  +--rw name                    string
           |  |  +--rw scaling-policy* [name]
           |  |  +--rw scaling-policy* [name]
           |  |  |  +--rw name                        string
           |  |  |  +--rw name                        string
           |  |  |  +--rw scaling-type?              scaling-policy-type
           |  |  |  +--rw scaling-type?              manotypes:scaling-policy-type
           |  |  |  +--rw enabled?                    boolean
           |  |  |  +--rw enabled?                    boolean
           |  |  |  +--rw scale-in-operation-type?    scaling-criteria-operation
           |  |  |  +--rw scale-in-operation-type?    manotypes:scaling-criteria-operation
           |  |  |  +--rw scale-out-operation-type?  scaling-criteria-operation
           |  |  |  +--rw scale-out-operation-type?  manotypes:scaling-criteria-operation
           |  |  |  +--rw threshold-time              uint32
           |  |  |  +--rw threshold-time              uint32
           |  |  |  +--rw cooldown-time              uint32
           |  |  |  +--rw cooldown-time              uint32
           |  |  |  +--rw scaling-criteria* [name]
           |  |  |  +--rw scaling-criteria* [name]
           |  |  |    +--rw name                       string
           |  |  |    +--rw name                             string
           |  |  |    +--rw scale-in-threshold?       uint64
           |  |  |    +--rw scale-in-threshold?               uint64
           |  |  |    +--rw scale-out-threshold?       uint64
          |  |  |    +--rw scale-in-relational-operation?    manotypes:relational-operation-type
           |  |  |    +--rw ns-monitoring-param-ref?   -> ../../../../monitoring-param/id
           |  |  |    +--rw scale-out-threshold?             uint64
          |  |  |    +--rw scale-out-relational-operation?  manotypes:relational-operation-type
           |  |  |    +--rw ns-monitoring-param-ref?         -> ../../../../monitoring-param/id
           |  |  +--rw vnfd-member* [member-vnf-index-ref]
           |  |  +--rw vnfd-member* [member-vnf-index-ref]
           |  |  |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
           |  |  |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
Line 1,202: Line 1,334:
           |  |  +--rw max-instance-count?      uint32
           |  |  +--rw max-instance-count?      uint32
           |  |  +--rw scaling-config-action* [trigger]
           |  |  +--rw scaling-config-action* [trigger]
           |  |    +--rw trigger                          scaling-trigger
           |  |    +--rw trigger                          manotypes:scaling-trigger
           |  |    +--rw ns-service-primitive-name-ref?  -> ../../../service-primitive/name
           |  |    +--rw ns-service-primitive-name-ref?  -> ../../../service-primitive/name
           |  +--rw vnffgd* [id]
           |  +--rw vnffgd* [id]
Line 1,296: Line 1,428:
           |  |  +--rw (init-params)?
           |  |  +--rw (init-params)?
           |  |  |  +--:(vim-network-ref)
           |  |  |  +--:(vim-network-ref)
           |  |  |  |  +--rw vim-network-name?           string
           |  |  |  |  +--rw vim-network-name?     string
           |  |  |  +--:(vim-network-profile)
           |  |  |  +--:(vim-network-profile)
           |  |  |    +--rw ip-profile-ref?             -> ../../ip-profiles/name
           |  |  |    +--rw ip-profile-ref?       -> ../../ip-profiles/name
           |  |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref vnfd-connection-point-ref]
           |  |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref vnfd-connection-point-ref]
           |  |    +--rw member-vnf-index-ref        -> ../../../constituent-vnfd/member-vnf-index
           |  |    +--rw member-vnf-index-ref        -> ../../../constituent-vnfd/member-vnf-index
Line 1,304: Line 1,436:
           |  |    +--rw vnfd-connection-point-ref    -> ../../../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/connection-point/name
           |  |    +--rw vnfd-connection-point-ref    -> ../../../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/connection-point/name
           |  +--rw constituent-vnfd* [member-vnf-index]
           |  +--rw constituent-vnfd* [member-vnf-index]
           |  |  +--rw member-vnf-index    uint64
           |  |  +--rw member-vnf-index    string
           |  |  +--rw vnfd-id-ref?        -> /rw-project:project[rw-project:name = current()/../../../../../name]/project-vnfd:vnfd-catalog/vnfd/id
           |  |  +--rw vnfd-id-ref?        -> /rw-project:project[rw-project:name = current()/../../../../../name]/project-vnfd:vnfd-catalog/vnfd/id
           |  |  +--rw start-by-default?  boolean
           |  |  +--rw start-by-default?  boolean
Line 1,376: Line 1,508:
           |    +--rw id    uint16
           |    +--rw id    uint16
           +--rw nsd-placement-group-maps* [placement-group-ref]
           +--rw nsd-placement-group-maps* [placement-group-ref]
           |  +--rw placement-group-ref   string
           |  +--rw placement-group-ref         string
           |  +--rw cloud-type?           manotypes:cloud-account-type
           |  +--rw cloud-type?                 manotypes:cloud-account-type
           |  +--rw (cloud-provider)?
           |  +--rw (cloud-provider)?
           |    +--:(openstack)
           |    +--:(openstack)
Line 1,388: Line 1,520:
           |    |    +--rw metadata-value?  string
           |    |    +--rw metadata-value?  string
           |    +--:(aws)
           |    +--:(aws)
           |    |  +--rw aws-construct?         empty
           |    |  +--rw aws-construct?       empty
           |    +--:(openmano)
           |    +--:(openmano)
           |    |  +--rw openmano-construct?   empty
           |    |  +--rw openmano-construct?   empty
           |    +--:(vsphere)
           |    +--:(vsphere)
           |    |  +--rw vsphere-construct?     empty
           |    |  +--rw vsphere-construct?   empty
           |    +--:(mock)
           |    +--:(mock)
           |    |  +--rw mock-construct?       empty
           |    |  +--rw mock-construct?       empty
           |    +--:(cloudsim)
           |    +--:(cloudsim)
           |        +--rw cloudsim-construct?   empty
           |        +--rw cloudsim-construct?   empty
           +--rw vnfd-placement-group-maps* [placement-group-ref vnfd-id-ref]
           +--rw vnfd-placement-group-maps* [placement-group-ref vnfd-id-ref]
           |  +--rw vnfd-id-ref           yang:uuid
           |  +--rw vnfd-id-ref                 yang:uuid
           |  +--rw placement-group-ref   -> ../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/placement-groups/name
           |  +--rw placement-group-ref         -> ../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/placement-groups/name
           |  +--rw cloud-type?           manotypes:cloud-account-type
           |  +--rw cloud-type?                 manotypes:cloud-account-type
           |  +--rw (cloud-provider)?
           |  +--rw (cloud-provider)?
           |    +--:(openstack)
           |    +--:(openstack)
Line 1,411: Line 1,543:
           |    |    +--rw metadata-value?  string
           |    |    +--rw metadata-value?  string
           |    +--:(aws)
           |    +--:(aws)
           |    |  +--rw aws-construct?         empty
           |    |  +--rw aws-construct?       empty
           |    +--:(openmano)
           |    +--:(openmano)
           |    |  +--rw openmano-construct?   empty
           |    |  +--rw openmano-construct?   empty
           |    +--:(vsphere)
           |    +--:(vsphere)
           |    |  +--rw vsphere-construct?     empty
           |    |  +--rw vsphere-construct?   empty
           |    +--:(mock)
           |    +--:(mock)
           |    |  +--rw mock-construct?       empty
           |    |  +--rw mock-construct?       empty
           |    +--:(cloudsim)
           |    +--:(cloudsim)
           |        +--rw cloudsim-construct?   empty
           |        +--rw cloudsim-construct?   empty
           +--rw ssh-authorized-key* [key-pair-ref]
           +--rw ssh-authorized-key* [key-pair-ref]
           |  +--rw key-pair-ref    -> ../../../../key-pair/name
           |  +--rw key-pair-ref    -> ../../../../key-pair/name
Line 1,474: Line 1,606:
           |  |    +--ro hop-number                    uint8
           |  |    +--ro hop-number                    uint8
           |  |    +--ro service-function-type?        string
           |  |    +--ro service-function-type?        string
           |  |    +--ro member-vnf-index-ref?        uint64
           |  |    +--ro member-vnf-index-ref?        string
           |  |    +--ro vnfd-id-ref?                  string
           |  |    +--ro vnfd-id-ref?                  string
           |  |    +--ro vnfr-id-ref?                  -> ../../../../../../vnfr:vnfr-catalog/vnfr/id
           |  |    +--ro vnfr-id-ref?                  -> ../../../../../../vnfr:vnfr-catalog/vnfr/id
Line 1,528: Line 1,660:
           |  |  +--ro mandatory?  boolean
           |  |  +--ro mandatory?  boolean
           |  +--ro vnf-primitive-group* [member-vnf-index-ref]
           |  +--ro vnf-primitive-group* [member-vnf-index-ref]
           |  |  +--ro member-vnf-index-ref    uint64
           |  |  +--ro member-vnf-index-ref    string
           |  |  +--ro vnfd-id-ref?            string
           |  |  +--ro vnfd-id-ref?            string
           |  |  +--ro vnfd-name?              string
           |  |  +--ro vnfd-name?              string
Line 1,614: Line 1,746:
     |    |    +--ro value?  string
     |    |    +--ro value?  string
     |    +--ro vnf-primitive-group* [member-vnf-index-ref]
     |    +--ro vnf-primitive-group* [member-vnf-index-ref]
     |        +--ro member-vnf-index-ref    uint64
     |        +--ro member-vnf-index-ref    string
     |        +--ro vnfd-id-ref?            string
     |        +--ro vnfd-id-ref?            string
     |        +--ro primitive* [index]
     |        +--ro primitive* [index]
Line 1,703: Line 1,835:
       |  |    +---w id    uint16
       |  |    +---w id    uint16
       |  +---w nsd-placement-group-maps* [placement-group-ref]
       |  +---w nsd-placement-group-maps* [placement-group-ref]
       |  |  +---w placement-group-ref   string
       |  |  +---w placement-group-ref         string
       |  |  +---w cloud-type?           manotypes:cloud-account-type
       |  |  +---w cloud-type?                 manotypes:cloud-account-type
       |  |  +---w (cloud-provider)?
       |  |  +---w (cloud-provider)?
       |  |    +--:(openstack)
       |  |    +--:(openstack)
Line 1,715: Line 1,847:
       |  |    |    +---w metadata-value?  string
       |  |    |    +---w metadata-value?  string
       |  |    +--:(aws)
       |  |    +--:(aws)
       |  |    |  +---w aws-construct?         empty
       |  |    |  +---w aws-construct?       empty
       |  |    +--:(openmano)
       |  |    +--:(openmano)
       |  |    |  +---w openmano-construct?   empty
       |  |    |  +---w openmano-construct?   empty
       |  |    +--:(vsphere)
       |  |    +--:(vsphere)
       |  |    |  +---w vsphere-construct?     empty
       |  |    |  +---w vsphere-construct?   empty
       |  |    +--:(mock)
       |  |    +--:(mock)
       |  |    |  +---w mock-construct?       empty
       |  |    |  +---w mock-construct?       empty
       |  |    +--:(cloudsim)
       |  |    +--:(cloudsim)
       |  |        +---w cloudsim-construct?   empty
       |  |        +---w cloudsim-construct?   empty
       |  +---w vnfd-placement-group-maps* [placement-group-ref vnfd-id-ref]
       |  +---w vnfd-placement-group-maps* [placement-group-ref vnfd-id-ref]
       |    +---w vnfd-id-ref           yang:uuid
       |    +---w vnfd-id-ref                 yang:uuid
       |    +---w placement-group-ref   -> /rw-project:project[rw-project:name=current()/../../project-name]/project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/placement-groups/name
       |    +---w placement-group-ref         -> /rw-project:project[rw-project:name=current()/../../project-name]/project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/placement-groups/name
       |    +---w cloud-type?           manotypes:cloud-account-type
       |    +---w cloud-type?                 manotypes:cloud-account-type
       |    +---w (cloud-provider)?
       |    +---w (cloud-provider)?
       |    |  +--:(openstack)
       |    |  +--:(openstack)
Line 1,738: Line 1,870:
       |    |  |    +---w metadata-value?  string
       |    |  |    +---w metadata-value?  string
       |    |  +--:(aws)
       |    |  +--:(aws)
       |    |  |  +---w aws-construct?         empty
       |    |  |  +---w aws-construct?       empty
       |    |  +--:(openmano)
       |    |  +--:(openmano)
       |    |  |  +---w openmano-construct?   empty
       |    |  |  +---w openmano-construct?   empty
       |    |  +--:(vsphere)
       |    |  +--:(vsphere)
       |    |  |  +---w vsphere-construct?     empty
       |    |  |  +---w vsphere-construct?   empty
       |    |  +--:(mock)
       |    |  +--:(mock)
       |    |  |  +---w mock-construct?       empty
       |    |  |  +---w mock-construct?       empty
       |    |  +--:(cloudsim)
       |    |  +--:(cloudsim)
       |    |    +---w cloudsim-construct?   empty
       |    |    +---w cloudsim-construct?   empty
       |    +---w ssh-authorized-key* [key-pair-ref]
       |    +---w ssh-authorized-key* [key-pair-ref]
       |    |  +---w key-pair-ref    -> /rw-project:project[rw-project:name=current()/../../../project-name]/key-pair/name
       |    |  +---w key-pair-ref    -> /rw-project:project[rw-project:name=current()/../../../project-name]/key-pair/name

Revision as of 13:23, 13 June 2018

YANG model in OSM repos

YANG models can be found in the IM repo under the models folder: https://osm.etsi.org/gitweb/?p=osm/IM.git;a=tree

OSM uses pyang and pyangbind to generate Python classes used by the different OSM components.

OSM IM tree representation

Below you can find tree representations of the VNFD, NSD, VNFR and NSR, both in navigable and plain text formats.

VNFD tree

Navigable version:

http://osm-download.etsi.org/ftp/osm-doc/vnfd.html


Plain text version:

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

NSD tree

Navigable version:

http://osm-download.etsi.org/ftp/osm-doc/nsd.html


Plain text version:

module: nsd
  +--rw nsd-catalog
     +--rw schema-version?   string
     +--rw nsd* [id]
        +--rw id                             string
        +--rw name                           string
        +--rw short-name?                    string
        +--rw vendor?                        string
        +--rw logo?                          string
        +--rw description?                   string
        +--rw version?                       string
        +--rw connection-point* [name]
        |  +--rw name                               string
        |  +--rw type?                              manotypes:connection-point-type
        |  +--rw floating-ip-required?              boolean
        |  +--rw (connection)?
        |     +--:(vld-ref)
        |     |  +--rw vld-id-ref?                  -> ../../vld/id
        |     +--:(vnfd-connection-point-ref)
        |        +--rw member-vnf-index-ref?        -> ../../constituent-vnfd/member-vnf-index
        |        +--rw vnfd-id-ref?                 -> ../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |        +--rw vnfd-connection-point-ref?   -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
        +--rw scaling-group-descriptor* [name]
        |  +--rw name                     string
        |  +--rw scaling-policy* [name]
        |  |  +--rw name                        string
        |  |  +--rw scaling-type?               manotypes:scaling-policy-type
        |  |  +--rw enabled?                    boolean
        |  |  +--rw scale-in-operation-type?    manotypes:scaling-criteria-operation
        |  |  +--rw scale-out-operation-type?   manotypes:scaling-criteria-operation
        |  |  +--rw threshold-time              uint32
        |  |  +--rw cooldown-time               uint32
        |  |  +--rw scaling-criteria* [name]
        |  |     +--rw name                              string
        |  |     +--rw scale-in-threshold?               uint64
        |  |     +--rw scale-in-relational-operation?    manotypes:relational-operation-type
        |  |     +--rw scale-out-threshold?              uint64
        |  |     +--rw scale-out-relational-operation?   manotypes:relational-operation-type
        |  |     +--rw ns-monitoring-param-ref?          -> ../../../../monitoring-param/id
        |  +--rw vnfd-member* [member-vnf-index-ref]
        |  |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
        |  |  +--rw count?                  uint32
        |  +--rw min-instance-count?      uint32
        |  +--rw max-instance-count?      uint32
        |  +--rw scaling-config-action* [trigger]
        |     +--rw trigger                          manotypes:scaling-trigger
        |     +--rw ns-service-primitive-name-ref?   -> ../../../service-primitive/name
        +--rw vnffgd* [id]
        |  +--rw id             string
        |  +--rw name?          string
        |  +--rw short-name?    string
        |  +--rw vendor?        string
        |  +--rw description?   string
        |  +--rw version?       string
        |  +--rw rsp* [id]
        |  |  +--rw id                           string
        |  |  +--rw name?                        string
        |  |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref]
        |  |     +--rw member-vnf-index-ref         -> ../../../../constituent-vnfd/member-vnf-index
        |  |     +--rw order?                       uint8
        |  |     +--rw vnfd-id-ref?                 -> ../../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |  |     +--rw vnfd-connection-point-ref?   string
        |  +--rw classifier* [id]
        |     +--rw id                           string
        |     +--rw name?                        string
        |     +--rw rsp-id-ref?                  -> ../../rsp/id
        |     +--rw member-vnf-index-ref?        -> ../../../constituent-vnfd/member-vnf-index
        |     +--rw vnfd-id-ref?                 -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |     +--rw vnfd-connection-point-ref?   string
        |     +--rw match-attributes* [id]
        |        +--rw id                        string
        |        +--rw ip-proto?                 uint8
        |        +--rw source-ip-address?        inet:ip-address
        |        +--rw destination-ip-address?   inet:ip-address
        |        +--rw source-port?              inet:port-number
        |        +--rw destination-port?         inet:port-number
        +--rw ip-profiles* [name]
        |  +--rw name                 string
        |  +--rw description?         string
        |  +--rw ip-profile-params
        |     +--rw ip-version?           inet:ip-version
        |     +--rw subnet-address?       inet:ip-prefix
        |     +--rw gateway-address?      inet:ip-address
        |     +--rw security-group?       string
        |     +--rw dns-server* [address]
        |     |  +--rw address    inet:ip-address
        |     +--rw dhcp-params
        |     |  +--rw enabled?         boolean
        |     |  +--rw start-address?   inet:ip-address
        |     |  +--rw count?           uint32
        |     +--rw subnet-prefix-pool?   string
        +--rw initial-service-primitive* [seq]
        |  +--rw seq                    uint64
        |  +--rw name                   string
        |  +--rw user-defined-script?   string
        |  +--rw parameter* [name]
        |     +--rw name     string
        |     +--rw value?   string
        +--rw terminate-service-primitive* [seq]
        |  +--rw seq                    uint64
        |  +--rw name                   string
        |  +--rw user-defined-script?   string
        |  +--rw parameter* [name]
        |     +--rw name     string
        |     +--rw value?   string
        +--rw input-parameter-xpath* [xpath]
        |  +--rw xpath            string
        |  +--rw label?           string
        |  +--rw default-value?   string
        +--rw parameter-pool* [name]
        |  +--rw name     string
        |  +--rw range
        |     +--rw start-value    uint32
        |     +--rw end-value      uint32
        +--rw key-pair* [name]
        |  +--rw name    string
        |  +--rw key?    string
        +--rw user* [name]
        |  +--rw name         string
        |  +--rw user-info?   string
        |  +--rw key-pair* [name]
        |     +--rw name    string
        |     +--rw key?    string
        +--rw vld* [id]
        |  +--rw id                           string
        |  +--rw name?                        string
        |  +--rw short-name?                  string
        |  +--rw vendor?                      string
        |  +--rw description?                 string
        |  +--rw version?                     string
        |  +--rw type?                        manotypes:virtual-link-type
        |  +--rw root-bandwidth?              uint64
        |  +--rw leaf-bandwidth?              uint64
        |  +--rw provider-network
        |  |  +--rw physical-network?   string
        |  |  +--rw segmentation_id?    uint32
        |  +--rw mgmt-network?                boolean
        |  +--rw (init-params)?
        |  |  +--:(vim-network-ref)
        |  |  |  +--rw vim-network-name?      string
        |  |  +--:(vim-network-profile)
        |  |     +--rw ip-profile-ref?        -> ../../ip-profiles/name
        |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref vnfd-connection-point-ref]
        |     +--rw member-vnf-index-ref         -> ../../../constituent-vnfd/member-vnf-index
        |     +--rw vnfd-connection-point-ref    -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
        |     +--rw vnfd-id-ref?                 -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |     +--rw ip-address?                  inet:ip-address
        +--rw constituent-vnfd* [member-vnf-index]
        |  +--rw member-vnf-index    string
        |  +--rw vnfd-id-ref?        -> /vnfd:vnfd-catalog/vnfd/id
        |  +--rw start-by-default?   boolean
        +--rw placement-groups* [name]
        |  +--rw name           string
        |  +--rw requirement?   string
        |  +--rw strategy?      enumeration
        |  +--rw member-vnfd* [member-vnf-index-ref]
        |     +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
        |     +--rw vnfd-id-ref?            -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        +--rw vnf-dependency* [vnf-source-ref]
        |  +--rw vnf-source-ref        -> /vnfd:vnfd-catalog/vnfd/id
        |  +--rw vnf-depends-on-ref?   -> /vnfd:vnfd-catalog/vnfd/id
        +--rw monitoring-param* [id]
        |  +--rw id                       string
        |  +--rw name?                    string
        |  +--rw value-type?              param-value-type
        |  +--rw numeric-constraints
        |  |  +--rw min-value?   uint64
        |  |  +--rw max-value?   uint64
        |  +--rw text-constraints
        |  |  +--rw min-length?   uint8
        |  |  +--rw max-length?   uint8
        |  +--rw value-integer?           int64
        |  +--rw value-decimal?           decimal64
        |  +--rw value-string?            string
        |  +--rw description?             string
        |  +--rw group-tag?               string
        |  +--rw widget-type?             manotypes:widget-type
        |  +--rw units?                   string
        |  +--rw aggregation-type?        aggregation-type
        |  +--rw vnfd-monitoring-param* [member-vnf-index-ref vnfd-monitoring-param-ref]
        |     +--rw vnfd-id-ref?                 -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
        |     +--rw vnfd-monitoring-param-ref    -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/monitoring-param/id
        |     +--rw member-vnf-index-ref         -> ../../../constituent-vnfd/member-vnf-index
        +--rw service-primitive* [name]
           +--rw name                   string
           +--rw parameter* [name]
           |  +--rw name              string
           |  +--rw data-type?        manotypes:parameter-data-type
           |  +--rw mandatory?        boolean
           |  +--rw default-value?    string
           |  +--rw parameter-pool?   string
           |  +--rw read-only?        boolean
           |  +--rw hidden?           boolean
           +--rw parameter-group* [name]
           |  +--rw name         string
           |  +--rw parameter* [name]
           |  |  +--rw name              string
           |  |  +--rw data-type?        manotypes:parameter-data-type
           |  |  +--rw mandatory?        boolean
           |  |  +--rw default-value?    string
           |  |  +--rw parameter-pool?   string
           |  |  +--rw read-only?        boolean
           |  |  +--rw hidden?           boolean
           |  +--rw mandatory?   boolean
           +--rw vnf-primitive-group* [member-vnf-index-ref]
           |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
           |  +--rw vnfd-id-ref?            -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
           |  +--rw vnfd-name?              -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/name
           |  +--rw primitive* [index]
           |     +--rw index    uint32
           |     +--rw name?    string
           +--rw user-defined-script?   string

VNFR tree

Navigable version:

http://osm-download.etsi.org/ftp/osm-doc/vnfr.html


Plain text version:

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 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 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 config-file* [source]
          |  |  |  |  +--ro source    string
          |  |  |  |  +--ro dest?     string
          |  |  |  +--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 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 config-file* [source]
          |  |  |  +--ro source    string
          |  |  |  +--ro dest?     string
          |  |  +--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 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

NSR tree

Navigable version:

http://osm-download.etsi.org/ftp/osm-doc/nsr.html


Plain text version:

module: nsr
  augment /rw-project:project:
    +--rw key-pair* [name]
       +--rw name    string
       +--rw key?    string
  augment /rw-project:project:
    +--rw ns-instance-config
       +--rw nsr* [id]
          +--rw schema-version?              string
          +--rw id                           yang:uuid
          +--rw name?                        string
          +--rw short-name?                  string
          +--rw description?                 string
          +--rw admin-status?                enumeration
          +--rw nsd
          |  +--rw id?                            string
          |  +--rw name                           string
          |  +--rw short-name?                    string
          |  +--rw vendor?                        string
          |  +--rw logo?                          string
          |  +--rw description?                   string
          |  +--rw version?                       string
          |  +--rw connection-point* [name]
          |  |  +--rw name                               string
          |  |  +--rw type?                              manotypes:connection-point-type
          |  |  +--rw floating-ip-required?              boolean
          |  |  +--rw (connection)?
          |  |     +--:(vld-ref)
          |  |     |  +--rw vld-id-ref?                  -> ../../vld/id
          |  |     +--:(vnfd-connection-point-ref)
          |  |        +--rw member-vnf-index-ref?        -> ../../constituent-vnfd/member-vnf-index
          |  |        +--rw vnfd-id-ref?                 -> ../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  |        +--rw vnfd-connection-point-ref?   -> /vnfd:vnfd-catalog/vnfd[vnfd:id = current()/../vnfd-id-ref]/connection-point/name
          |  +--rw scaling-group-descriptor* [name]
          |  |  +--rw name                     string
          |  |  +--rw scaling-policy* [name]
          |  |  |  +--rw name                        string
          |  |  |  +--rw scaling-type?               manotypes:scaling-policy-type
          |  |  |  +--rw enabled?                    boolean
          |  |  |  +--rw scale-in-operation-type?    manotypes:scaling-criteria-operation
          |  |  |  +--rw scale-out-operation-type?   manotypes:scaling-criteria-operation
          |  |  |  +--rw threshold-time              uint32
          |  |  |  +--rw cooldown-time               uint32
          |  |  |  +--rw scaling-criteria* [name]
          |  |  |     +--rw name                              string
          |  |  |     +--rw scale-in-threshold?               uint64
          |  |  |     +--rw scale-in-relational-operation?    manotypes:relational-operation-type
          |  |  |     +--rw scale-out-threshold?              uint64
          |  |  |     +--rw scale-out-relational-operation?   manotypes:relational-operation-type
          |  |  |     +--rw ns-monitoring-param-ref?          -> ../../../../monitoring-param/id
          |  |  +--rw vnfd-member* [member-vnf-index-ref]
          |  |  |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
          |  |  |  +--rw count?                  uint32
          |  |  +--rw min-instance-count?      uint32
          |  |  +--rw max-instance-count?      uint32
          |  |  +--rw scaling-config-action* [trigger]
          |  |     +--rw trigger                          manotypes:scaling-trigger
          |  |     +--rw ns-service-primitive-name-ref?   -> ../../../service-primitive/name
          |  +--rw vnffgd* [id]
          |  |  +--rw id             string
          |  |  +--rw name?          string
          |  |  +--rw short-name?    string
          |  |  +--rw vendor?        string
          |  |  +--rw description?   string
          |  |  +--rw version?       string
          |  |  +--rw rsp* [id]
          |  |  |  +--rw id                           string
          |  |  |  +--rw name?                        string
          |  |  |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref]
          |  |  |     +--rw member-vnf-index-ref         -> ../../../../constituent-vnfd/member-vnf-index
          |  |  |     +--rw order?                       uint8
          |  |  |     +--rw vnfd-id-ref?                 -> ../../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  |  |     +--rw vnfd-connection-point-ref?   string
          |  |  +--rw classifier* [id]
          |  |     +--rw id                           string
          |  |     +--rw name?                        string
          |  |     +--rw rsp-id-ref?                  -> ../../rsp/id
          |  |     +--rw member-vnf-index-ref?        -> ../../../constituent-vnfd/member-vnf-index
          |  |     +--rw vnfd-id-ref?                 -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |  |     +--rw vnfd-connection-point-ref?   string
          |  |     +--rw match-attributes* [id]
          |  |        +--rw id                        string
          |  |        +--rw ip-proto?                 uint8
          |  |        +--rw source-ip-address?        inet:ip-address
          |  |        +--rw destination-ip-address?   inet:ip-address
          |  |        +--rw source-port?              inet:port-number
          |  |        +--rw destination-port?         inet:port-number
          |  +--rw ip-profiles* [name]
          |  |  +--rw name                 string
          |  |  +--rw description?         string
          |  |  +--rw ip-profile-params
          |  |     +--rw ip-version?           inet:ip-version
          |  |     +--rw subnet-address?       inet:ip-prefix
          |  |     +--rw gateway-address?      inet:ip-address
          |  |     +--rw security-group?       string
          |  |     +--rw dns-server* [address]
          |  |     |  +--rw address    inet:ip-address
          |  |     +--rw dhcp-params
          |  |     |  +--rw enabled?         boolean
          |  |     |  +--rw start-address?   inet:ip-address
          |  |     |  +--rw count?           uint32
          |  |     +--rw subnet-prefix-pool?   string
          |  +--rw initial-service-primitive* [seq]
          |  |  +--rw seq                    uint64
          |  |  +--rw name                   string
          |  |  +--rw user-defined-script?   string
          |  |  +--rw parameter* [name]
          |  |     +--rw name     string
          |  |     +--rw value?   string
          |  +--rw terminate-service-primitive* [seq]
          |  |  +--rw seq                    uint64
          |  |  +--rw name                   string
          |  |  +--rw user-defined-script?   string
          |  |  +--rw parameter* [name]
          |  |     +--rw name     string
          |  |     +--rw value?   string
          |  +--rw input-parameter-xpath* [xpath]
          |  |  +--rw xpath            string
          |  |  +--rw label?           string
          |  |  +--rw default-value?   string
          |  +--rw parameter-pool* [name]
          |  |  +--rw name     string
          |  |  +--rw range
          |  |     +--rw start-value    uint32
          |  |     +--rw end-value      uint32
          |  +--rw key-pair* [name]
          |  |  +--rw name    string
          |  |  +--rw key?    string
          |  +--rw user* [name]
          |  |  +--rw name         string
          |  |  +--rw user-info?   string
          |  |  +--rw key-pair* [name]
          |  |     +--rw name    string
          |  |     +--rw key?    string
          |  +--rw vld* [id]
          |  |  +--rw id                           string
          |  |  +--rw name?                        string
          |  |  +--rw short-name?                  string
          |  |  +--rw vendor?                      string
          |  |  +--rw description?                 string
          |  |  +--rw version?                     string
          |  |  +--rw type?                        manotypes:virtual-link-type
          |  |  +--rw root-bandwidth?              uint64
          |  |  +--rw leaf-bandwidth?              uint64
          |  |  +--rw provider-network
          |  |  |  +--rw physical-network?   string
          |  |  |  +--rw segmentation_id?    uint32
          |  |  +--rw mgmt-network?                boolean
          |  |  +--rw (init-params)?
          |  |  |  +--:(vim-network-ref)
          |  |  |  |  +--rw vim-network-name?      string
          |  |  |  +--:(vim-network-profile)
          |  |  |     +--rw ip-profile-ref?        -> ../../ip-profiles/name
          |  |  +--rw vnfd-connection-point-ref* [member-vnf-index-ref vnfd-connection-point-ref]
          |  |     +--rw member-vnf-index-ref         -> ../../../constituent-vnfd/member-vnf-index
          |  |     +--rw vnfd-id-ref?                 string
          |  |     +--rw vnfd-connection-point-ref    -> ../../../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/connection-point/name
          |  +--rw constituent-vnfd* [member-vnf-index]
          |  |  +--rw member-vnf-index    string
          |  |  +--rw vnfd-id-ref?        -> /rw-project:project[rw-project:name = current()/../../../../../name]/project-vnfd:vnfd-catalog/vnfd/id
          |  |  +--rw start-by-default?   boolean
          |  +--rw placement-groups* [name]
          |  |  +--rw name           string
          |  |  +--rw requirement?   string
          |  |  +--rw strategy?      enumeration
          |  |  +--rw member-vnfd* [member-vnf-index-ref]
          |  |     +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
          |  |     +--rw vnfd-id-ref?            -> ../../../../../../project-vnfd:vnfd-catalog/vnfd/id
          |  +--rw vnf-dependency* [vnf-source-ref]
          |  |  +--rw vnf-source-ref        -> ../../../../../project-vnfd:vnfd-catalog/vnfd/id
          |  |  +--rw vnf-depends-on-ref?   -> ../../../../../project-vnfd:vnfd-catalog/vnfd/id
          |  +--rw monitoring-param* [id]
          |  |  +--rw id                       string
          |  |  +--rw name?                    string
          |  |  +--rw value-type?              param-value-type
          |  |  +--rw numeric-constraints
          |  |  |  +--rw min-value?   uint64
          |  |  |  +--rw max-value?   uint64
          |  |  +--rw text-constraints
          |  |  |  +--rw min-length?   uint8
          |  |  |  +--rw max-length?   uint8
          |  |  +--rw value-integer?           int64
          |  |  +--rw value-decimal?           decimal64
          |  |  +--rw value-string?            string
          |  |  +--rw description?             string
          |  |  +--rw group-tag?               string
          |  |  +--rw widget-type?             manotypes:widget-type
          |  |  +--rw units?                   string
          |  |  +--rw aggregation-type?        aggregation-type
          |  |  +--rw vnfd-monitoring-param* [member-vnf-index-ref vnfd-monitoring-param-ref]
          |  |     +--rw vnfd-id-ref?                 string
          |  |     +--rw vnfd-monitoring-param-ref    -> ../../../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/monitoring-param/id
          |  |     +--rw member-vnf-index-ref         -> ../../../constituent-vnfd/member-vnf-index
          |  +--rw service-primitive* [name]
          |     +--rw name                   string
          |     +--rw parameter* [name]
          |     |  +--rw name              string
          |     |  +--rw data-type?        manotypes:parameter-data-type
          |     |  +--rw mandatory?        boolean
          |     |  +--rw default-value?    string
          |     |  +--rw parameter-pool?   string
          |     |  +--rw read-only?        boolean
          |     |  +--rw hidden?           boolean
          |     +--rw parameter-group* [name]
          |     |  +--rw name         string
          |     |  +--rw parameter* [name]
          |     |  |  +--rw name              string
          |     |  |  +--rw data-type?        manotypes:parameter-data-type
          |     |  |  +--rw mandatory?        boolean
          |     |  |  +--rw default-value?    string
          |     |  |  +--rw parameter-pool?   string
          |     |  |  +--rw read-only?        boolean
          |     |  |  +--rw hidden?           boolean
          |     |  +--rw mandatory?   boolean
          |     +--rw vnf-primitive-group* [member-vnf-index-ref]
          |     |  +--rw member-vnf-index-ref    -> ../../../constituent-vnfd/member-vnf-index
          |     |  +--rw vnfd-id-ref?            -> ../../../constituent-vnfd[member-vnf-index = current()/../member-vnf-index-ref]/vnfd-id-ref
          |     |  +--rw vnfd-name?              -> ../../../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/name
          |     |  +--rw primitive* [index]
          |     |     +--rw index    uint32
          |     |     +--rw name?    string
          |     +--rw user-defined-script?   string
          +--rw input-parameter* [xpath]
          |  +--rw xpath    string
          |  +--rw value?   string
          +--rw scaling-group* [scaling-group-name-ref]
          |  +--rw scaling-group-name-ref    string
          |  +--rw instance* [id]
          |     +--rw id    uint16
          +--rw nsd-placement-group-maps* [placement-group-ref]
          |  +--rw placement-group-ref         string
          |  +--rw cloud-type?                 manotypes:cloud-account-type
          |  +--rw (cloud-provider)?
          |     +--:(openstack)
          |     |  +--rw availability-zone
          |     |  |  +--rw name?   string
          |     |  +--rw server-group
          |     |  |  +--rw name?   string
          |     |  +--rw host-aggregate* [metadata-key]
          |     |     +--rw metadata-key      string
          |     |     +--rw metadata-value?   string
          |     +--:(aws)
          |     |  +--rw aws-construct?        empty
          |     +--:(openmano)
          |     |  +--rw openmano-construct?   empty
          |     +--:(vsphere)
          |     |  +--rw vsphere-construct?    empty
          |     +--:(mock)
          |     |  +--rw mock-construct?       empty
          |     +--:(cloudsim)
          |        +--rw cloudsim-construct?   empty
          +--rw vnfd-placement-group-maps* [placement-group-ref vnfd-id-ref]
          |  +--rw vnfd-id-ref                 yang:uuid
          |  +--rw placement-group-ref         -> ../../../../project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/placement-groups/name
          |  +--rw cloud-type?                 manotypes:cloud-account-type
          |  +--rw (cloud-provider)?
          |     +--:(openstack)
          |     |  +--rw availability-zone
          |     |  |  +--rw name?   string
          |     |  +--rw server-group
          |     |  |  +--rw name?   string
          |     |  +--rw host-aggregate* [metadata-key]
          |     |     +--rw metadata-key      string
          |     |     +--rw metadata-value?   string
          |     +--:(aws)
          |     |  +--rw aws-construct?        empty
          |     +--:(openmano)
          |     |  +--rw openmano-construct?   empty
          |     +--:(vsphere)
          |     |  +--rw vsphere-construct?    empty
          |     +--:(mock)
          |     |  +--rw mock-construct?       empty
          |     +--:(cloudsim)
          |        +--rw cloudsim-construct?   empty
          +--rw ssh-authorized-key* [key-pair-ref]
          |  +--rw key-pair-ref    -> ../../../../key-pair/name
          +--rw user* [name]
             +--rw name                  string
             +--rw user-info?            string
             +--rw ssh-authorized-key* [key-pair-ref]
                +--rw key-pair-ref    -> ../../../../../key-pair/name
  augment /rw-project:project:
    +--ro ns-instance-opdata
       +--ro nsr* [ns-instance-config-ref]
          +--ro ns-instance-config-ref         -> ../../../ns-instance-config/nsr/id
          +--ro name-ref?                      -> ../../../ns-instance-config/nsr[id=current()/../ns-instance-config-ref]/name
          +--ro nsd-ref?                       -> ../../../ns-instance-config/nsr[id=current()/../ns-instance-config-ref]/nsd/id
          +--ro nsd-name-ref?                  -> ../../../ns-instance-config/nsr[id=current()/../ns-instance-config-ref]/nsd/name
          +--ro create-time?                   uint32
          +--ro uptime?                        uint32
          +--ro connection-point* [name]
          |  +--ro name    string
          |  +--ro type?   manotypes:connection-point-type
          +--ro vlr* [vlr-ref]
          |  +--ro vlr-ref                      -> ../../../../vlr:vlr-catalog/vlr/id
          |  +--ro vnfr-connection-point-ref* [vnfr-id]
          |     +--ro vnfr-id             -> ../../../../../vnfr:vnfr-catalog/vnfr/id
          |     +--ro connection-point?   -> ../../../../../vnfr:vnfr-catalog/vnfr[vnfr:id = current()/../vnfr-id]/connection-point/name
          +--ro constituent-vnfr-ref* [vnfr-id]
          |  +--ro vnfr-id    string
          +--ro scaling-group-record* [scaling-group-name-ref]
          |  +--ro scaling-group-name-ref    -> ../../../../ns-instance-config/nsr[id=current()/../../ns-instance-config-ref]/nsd/scaling-group-descriptor/name
          |  +--ro instance* [instance-id]
          |     +--ro instance-id      uint16
          |     +--ro is-default?      boolean
          |     +--ro op-status?       enumeration
          |     +--ro config-status?   config-states
          |     +--ro error-msg?       string
          |     +--ro create-time?     uint32
          |     +--ro vnfrs*           -> ../../../constituent-vnfr-ref/vnfr-id
          +--ro vnffgr* [id]
          |  +--ro id                    yang:uuid
          |  +--ro vnffgd-id-ref?        -> ../../../../ns-instance-config/nsr[id=current()/../../ns-instance-config-ref]/nsd/vnffgd/id
          |  +--ro vnffgd-name-ref?      -> ../../../../ns-instance-config/nsr[id=current()/../../ns-instance-config-ref]/nsd/vnffgd[id=current()/../vnffgd-id-ref]/name
          |  +--ro sdn-account?          string
          |  +--ro cloud-account?        string
          |  +--ro operational-status?   vnffgr-operational-status
          |  +--ro rsp* [id]
          |  |  +--ro id                           yang:uuid
          |  |  +--ro name?                        string
          |  |  +--ro rsp-id?                      yang:uuid
          |  |  +--ro vnffgd-rsp-id-ref?           -> ../../../../../ns-instance-config/nsr[id=current()/../../../ns-instance-config-ref]/nsd/vnffgd[id=current()/../../vnffgd-id-ref]/rsp/id
          |  |  +--ro vnffgd-rsp-name-ref?         -> ../../../../../ns-instance-config/nsr[id=current()/../../../ns-instance-config-ref]/nsd/vnffgd[id=current()/../../vnffgd-id-ref]/rsp[id=current()/../vnffgd-rsp-id-ref]/name
          |  |  +--ro classifier-name?             string
          |  |  +--ro path-id?                     uint32
          |  |  +--ro vnfr-connection-point-ref* [hop-number]
          |  |     +--ro hop-number                    uint8
          |  |     +--ro service-function-type?        string
          |  |     +--ro member-vnf-index-ref?         string
          |  |     +--ro vnfd-id-ref?                  string
          |  |     +--ro vnfr-id-ref?                  -> ../../../../../../vnfr:vnfr-catalog/vnfr/id
          |  |     +--ro vnfr-name-ref?                -> ../../../../../../vnfr:vnfr-catalog/vnfr/name
          |  |     +--ro vnfr-connection-point-ref?    -> ../../../../../../vnfr:vnfr-catalog/vnfr[vnfr:id = current()/../vnfr-id-ref]/connection-point/name
          |  |     +--ro service-index?                uint8
          |  |     +--ro connection-point-params
          |  |     |  +--ro mgmt-address?   inet:ip-address
          |  |     |  +--ro name?           string
          |  |     |  +--ro port-id?        string
          |  |     |  +--ro vm-id?          string
          |  |     |  +--ro address?        inet:ip-address
          |  |     |  +--ro port?           inet:port-number
          |  |     +--ro service-function-forwarder
          |  |        +--ro name?         string
          |  |        +--ro ip-address?   inet:ip-address
          |  |        +--ro port?         inet:port-number
          |  +--ro classifier* [id]
          |     +--ro id                           yang:uuid
          |     +--ro name?                        string
          |     +--ro classifier-id*               yang:uuid
          |     +--ro rsp-id-ref?                  -> ../../rsp/id
          |     +--ro rsp-name?                    string
          |     +--ro vnfr-id-ref?                 -> ../../../../../vnfr:vnfr-catalog/vnfr/id
          |     +--ro vnfr-name-ref?               -> ../../../../../vnfr:vnfr-catalog/vnfr/name
          |     +--ro vnfr-connection-point-ref?   -> ../../../../../vnfr:vnfr-catalog/vnfr[vnfr:id = current()/../vnfr-id-ref]/connection-point/name
          |     +--ro port-id?                     string
          |     +--ro vm-id?                       string
          |     +--ro ip-address?                  string
          |     +--ro sff-name?                    string
          +--ro operational-status?            ns-operational-status
          +--ro config-status?                 config-states
          +--ro service-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 parameter-group* [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 mandatory?   boolean
          |  +--ro vnf-primitive-group* [member-vnf-index-ref]
          |  |  +--ro member-vnf-index-ref    string
          |  |  +--ro vnfd-id-ref?            string
          |  |  +--ro vnfd-name?              string
          |  |  +--ro primitive* [index]
          |  |     +--ro index    uint32
          |  |     +--ro name?    string
          |  +--ro user-defined-script?   string
          +--ro initial-service-primitive* [seq]
          |  +--ro seq                    uint64
          |  +--ro name                   string
          |  +--ro user-defined-script?   string
          |  +--ro parameter* [name]
          |     +--ro name     string
          |     +--ro value?   string
          +--ro terminate-service-primitive* [seq]
          |  +--ro seq                    uint64
          |  +--ro name                   string
          |  +--ro user-defined-script?   string
          |  +--ro parameter* [name]
          |     +--ro name     string
          |     +--ro value?   string
          +--ro monitoring-param* [id]
          |  +--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 description?           string
          |  +--ro group-tag?             string
          |  +--ro widget-type?           manotypes:widget-type
          |  +--ro units?                 string
          |  +--ro aggregation-type?      aggregation-type
          |  +--ro id                     string
          |  +--ro name?                  string
          |  +--ro nsd-mon-param-ref?     -> ../../../../project-nsd:nsd-catalog/nsd[project-nsd:id = current()/../../nsd-ref]/monitoring-param/id
          |  +--ro vnfr-mon-param-ref* [vnfr-id-ref vnfr-mon-param-ref]
          |     +--ro vnfr-id-ref           yang:uuid
          |     +--ro vnfr-mon-param-ref    -> ../../../../../vnfr:vnfr-catalog/vnfr[vnfr:id = current()/../vnfr-id-ref]/monitoring-param/id
          +--ro config-agent-job* [job-id]
             +--ro job-id                uint64
             +--ro job-name?             string
             +--ro job-status?           enumeration
             +--ro triggered-by?         trigger-type
             +--ro create-time?          uint32
             +--ro job-status-details?   string
             +--ro parameter* [name]
             |  +--ro name     string
             |  +--ro value?   string
             +--ro parameter-group* [name]
             |  +--ro name         string
             |  +--ro parameter* [name]
             |     +--ro name     string
             |     +--ro value?   string
             +--ro vnfr* [id]
                +--ro id                yang:uuid
                +--ro vnf-job-status?   enumeration
                +--ro primitive* [name]
                   +--ro name                       string
                   +--ro parameter* [name]
                   |  +--ro name     string
                   |  +--ro value?   string
                   +--ro execution-id?              string
                   +--ro execution-status?          enumeration
                   +--ro execution-error-details?   string

  rpcs:
    +---x get-ns-service-primitive-values
    |  +---w input
    |  |  +---w name            string
    |  |  +---w project-name?   -> /rw-project:project/name
    |  |  +---w nsr_id_ref      -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  +--ro output
    |     +--ro ns-parameter* [name]
    |     |  +--ro name     string
    |     |  +--ro value?   string
    |     +--ro ns-parameter-group* [name]
    |     |  +--ro name         string
    |     |  +--ro parameter* [name]
    |     |     +--ro name     string
    |     |     +--ro value?   string
    |     +--ro vnf-primitive-group* [member-vnf-index-ref]
    |        +--ro member-vnf-index-ref    string
    |        +--ro vnfd-id-ref?            string
    |        +--ro primitive* [index]
    |           +--ro index        uint32
    |           +--ro name?        string
    |           +--ro parameter* [name]
    |              +--ro name     string
    |              +--ro value?   string
    +---x exec-ns-service-primitive
    |  +---w input
    |  |  +---w name?                  string
    |  |  +---w project-name?          -> /rw-project:project/name
    |  |  +---w nsr_id_ref             -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  |  +---w triggered-by?          trigger-type
    |  |  +---w parameter* [name]
    |  |  |  +---w name     string
    |  |  |  +---w value?   string
    |  |  +---w parameter-group* [name]
    |  |  |  +---w name         string
    |  |  |  +---w parameter* [name]
    |  |  |     +---w name     string
    |  |  |     +---w value?   string
    |  |  +---w vnf-list* [member_vnf_index_ref]
    |  |  |  +---w member_vnf_index_ref    uint64
    |  |  |  +---w vnfr-id-ref?            yang:uuid
    |  |  |  +---w vnf-primitive* [index]
    |  |  |     +---w index        uint32
    |  |  |     +---w name?        string
    |  |  |     +---w parameter* [name]
    |  |  |        +---w name     string
    |  |  |        +---w value?   string
    |  |  +---w user-defined-script?   string
    |  +--ro output
    |     +--ro job-id?               uint64
    |     +--ro name?                 string
    |     +--ro project-name?         -> /rw-project:project/name
    |     +--ro nsr_id_ref            -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |     +--ro triggered-by?         trigger-type
    |     +--ro create-time?          uint32
    |     +--ro job-status-details?   string
    |     +--ro parameter* [name]
    |     |  +--ro name     string
    |     |  +--ro value?   string
    |     +--ro parameter-group* [name]
    |     |  +--ro name         string
    |     |  +--ro parameter* [name]
    |     |     +--ro name     string
    |     |     +--ro value?   string
    |     +--ro vnf-out-list* [member_vnf_index_ref]
    |        +--ro member_vnf_index_ref    uint64
    |        +--ro vnfr-id-ref?            yang:uuid
    |        +--ro vnf-out-primitive* [index]
    |           +--ro index                      uint32
    |           +--ro name?                      string
    |           +--ro parameter* [name]
    |           |  +--ro name     string
    |           |  +--ro value?   string
    |           +--ro execution-id?              string
    |           +--ro execution-status?          string
    |           +--ro execution-error-details?   string
    +---x exec-scale-in
    |  +---w input
    |  |  +---w project-name?             -> /rw-project:project/name
    |  |  +---w nsr_id_ref                -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  |  +---w scaling-group-name-ref    -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr[nsr:id=current()/../nsr_id_ref]/nsd/scaling-group-descriptor/name
    |  |  +---w instance-id               -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr[nsr:id=current()/../nsr_id_ref]/scaling-group[nsr:scaling-group-name-ref=current()/../scaling-group-name-ref]/instance/id
    |  +--ro output
    |     +--ro instance-id?   uint64
    +---x exec-scale-out
    |  +---w input
    |  |  +---w project-name?             -> /rw-project:project/name
    |  |  +---w nsr_id_ref                -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  |  +---w scaling-group-name-ref    -> /rw-project:project[rw-project:name=current()/../nsr:project-name]/ns-instance-config/nsr[nsr:id=current()/../nsr_id_ref]/nsd/scaling-group-descriptor/name
    |  |  +---w instance-id?              uint64
    |  +--ro output
    |     +--ro instance-id?   uint64
    +---x start-network-service
       +---w input
       |  +---w name                         string
       |  +---w project-name?                -> /rw-project:project/name
       |  +---w nsd_id_ref?                  -> /rw-project:project[rw-project:name=current()/../project-name]/project-nsd:nsd-catalog/nsd/id
       |  +---w input-parameter* [xpath]
       |  |  +---w xpath    string
       |  |  +---w value?   string
       |  +---w scaling-group* [scaling-group-name-ref]
       |  |  +---w scaling-group-name-ref    string
       |  |  +---w instance* [id]
       |  |     +---w id    uint16
       |  +---w nsd-placement-group-maps* [placement-group-ref]
       |  |  +---w placement-group-ref         string
       |  |  +---w cloud-type?                 manotypes:cloud-account-type
       |  |  +---w (cloud-provider)?
       |  |     +--:(openstack)
       |  |     |  +---w availability-zone
       |  |     |  |  +---w name?   string
       |  |     |  +---w server-group
       |  |     |  |  +---w name?   string
       |  |     |  +---w host-aggregate* [metadata-key]
       |  |     |     +---w metadata-key      string
       |  |     |     +---w metadata-value?   string
       |  |     +--:(aws)
       |  |     |  +---w aws-construct?        empty
       |  |     +--:(openmano)
       |  |     |  +---w openmano-construct?   empty
       |  |     +--:(vsphere)
       |  |     |  +---w vsphere-construct?    empty
       |  |     +--:(mock)
       |  |     |  +---w mock-construct?       empty
       |  |     +--:(cloudsim)
       |  |        +---w cloudsim-construct?   empty
       |  +---w vnfd-placement-group-maps* [placement-group-ref vnfd-id-ref]
       |     +---w vnfd-id-ref                 yang:uuid
       |     +---w placement-group-ref         -> /rw-project:project[rw-project:name=current()/../../project-name]/project-vnfd:vnfd-catalog/vnfd[project-vnfd:id = current()/../vnfd-id-ref]/placement-groups/name
       |     +---w cloud-type?                 manotypes:cloud-account-type
       |     +---w (cloud-provider)?
       |     |  +--:(openstack)
       |     |  |  +---w availability-zone
       |     |  |  |  +---w name?   string
       |     |  |  +---w server-group
       |     |  |  |  +---w name?   string
       |     |  |  +---w host-aggregate* [metadata-key]
       |     |  |     +---w metadata-key      string
       |     |  |     +---w metadata-value?   string
       |     |  +--:(aws)
       |     |  |  +---w aws-construct?        empty
       |     |  +--:(openmano)
       |     |  |  +---w openmano-construct?   empty
       |     |  +--:(vsphere)
       |     |  |  +---w vsphere-construct?    empty
       |     |  +--:(mock)
       |     |  |  +---w mock-construct?       empty
       |     |  +--:(cloudsim)
       |     |     +---w cloudsim-construct?   empty
       |     +---w ssh-authorized-key* [key-pair-ref]
       |     |  +---w key-pair-ref    -> /rw-project:project[rw-project:name=current()/../../../project-name]/key-pair/name
       |     +---w user* [name]
       |        +---w name                  string
       |        +---w user-info?            string
       |        +---w ssh-authorized-key* [key-pair-ref]
       |           +---w key-pair-ref    -> /rw-project:project[rw-project:name=current()/../../../../project-name]/key-pair/name
       +--ro output
          +--ro nsr-id?   yang:uuid

Release TWO Descriptor Documentation (OLD)

The document below contains a detailed description of the OSM Release TWO Models. Although a bit outdated, it can still be used as a reference to understand some of the fields in the VNFD and NSD.

Media:OSM R2 Information Model.pdf