X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=sdnc-a1-controller%2Fnorthbound%2Fvnfapi%2Fmodel%2Fsrc%2Fmain%2Fyang%2Fvnfsubmodule.yang;fp=sdnc-a1-controller%2Fnorthbound%2Fvnfapi%2Fmodel%2Fsrc%2Fmain%2Fyang%2Fvnfsubmodule.yang;h=7899d52fa69ff55691462e99c89cf6775d6192a5;hb=b6fe5a1bbad372357f6b441e1657dd8bbe48dc1a;hp=0000000000000000000000000000000000000000;hpb=4e0c72d8a2570e256911eab7cc34f770a1aa327a;p=nonrtric.git diff --git a/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang b/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang new file mode 100755 index 00000000..7899d52f --- /dev/null +++ b/sdnc-a1-controller/northbound/vnfapi/model/src/main/yang/vnfsubmodule.yang @@ -0,0 +1,357 @@ +submodule vnfsubmodule { + + belongs-to VNF-API { prefix "vnfapi"; } + + // Last updated on 8-17-2016 + /********************************************/ + /* vnf-instance */ + /********************************************/ + grouping vnf-instance-request-information { + container vnf-instance-request-information { + leaf request-version { + type string; + } + uses vnf-instance-topology-identifier; + uses region-identifier; + list vnf-networks { + key network-role; + uses vnfapi:vnf-network; + description "List of vnf networks to override preload"; + } + } + } + + grouping region-identifier { + leaf tenant { + type string; + } + leaf aic-cloud-region { + type string; + description "The AIC cloud region which maps to contrail versions"; + } + } + + + /***********************************************************/ + /* PRELOAD DATA - vnf-instance */ + /***********************************************************/ + + container preload-vnf-instances { + uses preload-vnf-instance-model-information; + } + grouping preload-vnf-instance-model-information { + list vnf-instance-preload-list { + key "vnf-instance-name vnf-model-id"; + leaf vnf-instance-name { + type string; + description "vnf-instance-name, aka generic-vnf-name"; + } + leaf vnf-model-id { + type string; + description "vnf-model-id, aka generic-vnf-type"; + } + uses vnf-instance-preload-data; + } + } + + grouping vnf-instance-preload-data { + container vnf-instance-preload-data { + uses vnf-instance-topology-information; + uses vnfapi:oper-status; + } + } + + grouping vnf-instance-topology-information { + container vnf-instance-topology-information { + uses vnf-instance-identifiers; + uses vnfapi:service-information; + uses vnfapi:vnf-assignments; + uses vnfapi:vnf-parameters; + } + } + + // This is used by MSO request for assign,rollback,activate,delete, etc + grouping vnf-instance-topology-identifier { + leaf vnf-instance-name { + type string; + } + leaf vnf-model-id { + type string; + } + leaf vnf-instance-id { + type string; + } + } + + // container used in preload identifiers + grouping vnf-instance-identifiers { + container vnf-instance-identifiers { + uses vnf-instance-topology-identifier; + } + } + + /***********************************************************/ + /* SERVICE_DATA - vnf-instance */ + /***********************************************************/ + container vnf-instances { + uses vnf-instance-model-infrastructure; + } + grouping vnf-instance-model-infrastructure { + list vnf-instance-list { + key vnf-instance-id; + leaf vnf-instance-id { + type string; + mandatory true; + description "generic-vnf-id"; + } + uses vnf-instance-service-data; + uses vnfapi:service-status; + } + } + + grouping vnf-instance-service-data { + container vnf-instance-service-data { + uses vnf-instance-configuration-information; + uses vf-module-relationship-list; + uses vnfapi:oper-status; + } + } + + grouping vnf-instance-configuration-information { + uses vnfapi:sdnc-request-header; + uses vnfapi:request-information; + uses vnfapi:service-information; + uses vnf-instance-request-information; + uses vnf-instance-topology; + } + + grouping vf-module-relationship-list { + list vf-module-relationship-list { + key "vf-module-id"; + leaf vf-module-id { + type string; + description "vf-module-id"; + } + } + } + + grouping vnf-instance-topology-response-body { + leaf svc-request-id { + type string; + } + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf ack-final-indicator { + type string; + } + } + + grouping vnf-instance-information { + container vnf-instance-information { + leaf vnf-instance-id { + type string; + description "vnf-instance-id"; + } + } + } + + grouping vnf-instance-topology { + leaf vnf-instance-id { + type string; + description "vnf-instance-id"; + } + uses vnf-instance-topology-information; + } + + + rpc vnf-instance-topology-operation { + input { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses vnf-instance-request-information; + } + output { + uses vnf-instance-topology-response-body; + uses vnf-instance-information; + uses service-information; + } + } + + rpc preload-vnf-instance-topology-operation { + input { + uses sdnc-request-header; + uses request-information; + uses vnf-instance-topology-information; + } + output { + uses vnf-instance-topology-response-body; + } + } + + /********************************************/ + /* vf-module */ + /********************************************/ + grouping vf-module-request-information { + container vf-module-request-information { + uses vnf-instance-topology-identifier; + uses region-identifier; + uses vf-module-topology-identifier; + } + } + + grouping vf-module-identifiers { + container vf-module-identifiers { + uses vf-module-topology-identifier; + } + } + + grouping vf-module-topology-identifier { + leaf vf-module-id { + type string; + description "vf-module id"; + } + leaf vf-module-name { + type string; + description "vf-module-name"; + } + leaf vf-module-model-id { + type string; + description "vf-module-type"; + } + } + + /***********************************************************/ + /* PRELOAD DATA - vfmodule */ + /***********************************************************/ + container preload-vf-modules { + uses preload-vf-module-model-information; + } + + grouping preload-vf-module-model-information { + list vf-module-preload-list { + key "vf-module-name vf-module-model-id"; + leaf vf-module-name { + type string; + description "vf-module-name"; + } + leaf vf-module-model-id { + type string; + description "vf-module-type"; + } + uses vf-module-preload-data; + } + } + + grouping vf-module-preload-data { + container vf-module-preload-data { + uses vf-module-topology-information; + uses vnfapi:oper-status; + } + } + + grouping vf-module-topology-information { + container vf-module-topology-information { + uses vf-module-identifiers; + uses vnfapi:vnf-assignments; + uses vnfapi:vnf-parameters; + } + } + + + /***********************************************************/ + /* SERVICE_DATA - vfmodule */ + /***********************************************************/ + container vf-modules { + uses vf-module-model-infrastructure; + } + grouping vf-module-model-infrastructure { + list vf-module-list { + key vf-module-id; + leaf vf-module-id { + type string; + mandatory true; + description "vf-module-id"; + } + uses vf-module-service-data; + uses vnfapi:service-status; + } + } + + grouping vf-module-service-data { + container vf-module-service-data { + uses vf-module-configuration-information; + uses vnfapi:oper-status; + } + } + + grouping vf-module-configuration-information { + uses vnfapi:sdnc-request-header; + uses vnfapi:request-information; + uses vnfapi:service-information; + uses vf-module-request-information; + uses vf-module-topology; + } + + grouping vf-module-topology-response-body { + leaf svc-request-id { + type string; + } + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf ack-final-indicator { + type string; + } + } + + grouping vf-module-information { + container vf-module-information { + leaf vf-module-id { + type string; + description "vf-module-id"; + } + } + } + + grouping vf-module-topology { + leaf vf-module-id { + type string; + description "vf-module-id"; + } + uses vf-module-topology-information; + } + + + rpc vf-module-topology-operation { + input { + uses sdnc-request-header; + uses request-information; + uses service-information; + uses vf-module-request-information; + } + output { + uses vf-module-topology-response-body; + uses vf-module-information; + uses service-information; + } + } + + rpc preload-vf-module-topology-operation { + input { + uses sdnc-request-header; + uses request-information; + uses vf-module-topology-information; + } + output { + uses vf-module-topology-response-body; + } + } +}