
module: nsr
  augment /osm-project:project:
    +--rw key-pair* [name]
       +--rw name    string
       +--rw key?    string
  augment /osm-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 floating-ip-required?              boolean
          |  |  +--rw type?                              manotypes:connection-point-type
          |  |  +--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-config-primitive-name-ref?   -> ../../../ns-configuration/config-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-ingress-connection-point-ref?   string
          |  |  |     +--rw vnfd-egress-connection-point-ref?    string
          |  |  +--rw classifier* [id]
          |  |     +--rw id                           string
          |  |     +--rw name?                        string
          |  |     +--rw rsp-id-ref?                  -> ../../rsp/id
          |  |     +--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 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 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 ns-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 data-type?   manotypes:parameter-data-type
          |  |  |        |  +--rw value?       string
          |  |  |        +--rw user-defined-script?   string
          |  |  +--rw terminate-config-primitive* [seq]
          |  |  |  +--rw seq                    uint64
          |  |  |  +--rw name?                  string
          |  |  |  +--rw parameter* [name]
          |  |  |  |  +--rw name         string
          |  |  |  |  +--rw data-type?   manotypes:parameter-data-type
          |  |  |  |  +--rw value?       string
          |  |  |  +--rw user-defined-script?   string
          |  |  +--rw metrics* [name]
          |  |     +--rw name    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?        -> /osm-project:project[osm-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 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 /osm-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-ingress-connection-point-ref?   -> ../../../../../../vnfr:vnfr-catalog/vnfr[vnfr:id = current()/../vnfr-id-ref]/connection-point/name
          |  |     +--ro vnfr-egress-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 ns-configuration
          |  +--ro (config-method)?
          |  |  +--:(script)
          |  |  |  +--ro script
          |  |  |     +--ro script-type?   enumeration
          |  |  +--:(juju)
          |  |     +--ro juju
          |  |        +--ro charm?               string
          |  |        +--ro proxy?               boolean
          |  |        +--ro vca-relationships
          |  |           +--ro relation* [requires provides]
          |  |              +--ro requires    string
          |  |              +--ro provides    string
          |  +--ro config-primitive* [name]
          |  |  +--ro name                   string
          |  |  +--ro parameter* [name]
          |  |  |  +--ro name              string
          |  |  |  +--ro data-type?        manotypes:parameter-data-type
          |  |  |  +--ro mandatory?        boolean
          |  |  |  +--ro default-value?    string
          |  |  |  +--ro parameter-pool?   string
          |  |  |  +--ro read-only?        boolean
          |  |  |  +--ro hidden?           boolean
          |  |  +--ro user-defined-script?   string
          |  +--ro initial-config-primitive* [seq]
          |  |  +--ro seq                          uint64
          |  |  +--ro (primitive-type)?
          |  |     +--:(primitive-definition)
          |  |        +--ro name?                  string
          |  |        +--ro parameter* [name]
          |  |        |  +--ro name         string
          |  |        |  +--ro data-type?   manotypes:parameter-data-type
          |  |        |  +--ro value?       string
          |  |        +--ro user-defined-script?   string
          |  +--ro terminate-config-primitive* [seq]
          |  |  +--ro seq                    uint64
          |  |  +--ro name?                  string
          |  |  +--ro parameter* [name]
          |  |  |  +--ro name         string
          |  |  |  +--ro data-type?   manotypes:parameter-data-type
          |  |  |  +--ro value?       string
          |  |  +--ro user-defined-script?   string
          |  +--ro metrics* [name]
          |     +--ro name    string
          +--ro config-status?            config-states
          +--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 data-type?   manotypes:parameter-data-type
             |  +--ro value?       string
             +--ro parameter-group* [name]
             |  +--ro name         string
             |  +--ro parameter* [name]
             |     +--ro name         string
             |     +--ro data-type?   manotypes:parameter-data-type
             |     +--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 data-type?   manotypes:parameter-data-type
                   |  +--ro value?       string
                   +--ro execution-id?              string
                   +--ro execution-status?          enumeration
                   +--ro execution-error-details?   string

  rpcs:
    +---x get-ns-config-primitive-values
    |  +---w input
    |  |  +---w name            string
    |  |  +---w project-name?   -> /osm-project:project/name
    |  |  +---w nsr_id_ref      -> /osm-project:project[osm-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-config-primitive
    |  +---w input
    |  |  +---w name?                  string
    |  |  +---w project-name?          -> /osm-project:project/name
    |  |  +---w nsr_id_ref             -> /osm-project:project[osm-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  |  +---w triggered-by?          trigger-type
    |  |  +---w parameter* [name]
    |  |  |  +---w name         string
    |  |  |  +---w data-type?   manotypes:parameter-data-type
    |  |  |  +---w value?       string
    |  |  +---w parameter-group* [name]
    |  |  |  +---w name         string
    |  |  |  +---w parameter* [name]
    |  |  |     +---w name         string
    |  |  |     +---w data-type?   manotypes:parameter-data-type
    |  |  |     +---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 data-type?   manotypes:parameter-data-type
    |  |  |        +---w value?       string
    |  |  +---w user-defined-script?   string
    |  +--ro output
    |     +--ro job-id?               uint64
    |     +--ro name?                 string
    |     +--ro project-name?         -> /osm-project:project/name
    |     +--ro nsr_id_ref            -> /osm-project:project[osm-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 data-type?   manotypes:parameter-data-type
    |     |  +--ro value?       string
    |     +--ro parameter-group* [name]
    |     |  +--ro name         string
    |     |  +--ro parameter* [name]
    |     |     +--ro name         string
    |     |     +--ro data-type?   manotypes:parameter-data-type
    |     |     +--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 data-type?   manotypes:parameter-data-type
    |           |  +--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?             -> /osm-project:project/name
    |  |  +---w nsr_id_ref                -> /osm-project:project[osm-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  |  +---w scaling-group-name-ref    -> /osm-project:project[osm-project:name=current()/../nsr:project-name]/ns-instance-config/nsr[nsr:id=current()/../nsr_id_ref]/nsd/scaling-group-descriptor/name
    |  |  +---w instance-id               -> /osm-project:project[osm-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?             -> /osm-project:project/name
    |  |  +---w nsr_id_ref                -> /osm-project:project[osm-project:name=current()/../nsr:project-name]/ns-instance-config/nsr/id
    |  |  +---w scaling-group-name-ref    -> /osm-project:project[osm-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?                -> /osm-project:project/name
       |  +---w nsd_id_ref?                  -> /osm-project:project[osm-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         -> /osm-project:project[osm-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    -> /osm-project:project[osm-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    -> /osm-project:project[osm-project:name=current()/../../../../project-name]/key-pair/name
       +--ro output
          +--ro nsr-id?   yang:uuid
