--- /dev/null
+submodule vnfsubmodule {\r
+\r
+ belongs-to VNF-API { prefix "vnfapi"; }\r
+\r
+ // Last updated on 8-17-2016\r
+ /********************************************/\r
+ /* vnf-instance */\r
+ /********************************************/\r
+ grouping vnf-instance-request-information {\r
+ container vnf-instance-request-information {\r
+ leaf request-version {\r
+ type string;\r
+ }\r
+ uses vnf-instance-topology-identifier;\r
+ uses region-identifier;\r
+ list vnf-networks {\r
+ key network-role;\r
+ uses vnfapi:vnf-network;\r
+ description "List of vnf networks to override preload";\r
+ }\r
+ }\r
+ }\r
+\r
+ grouping region-identifier {\r
+ leaf tenant {\r
+ type string;\r
+ }\r
+ leaf aic-cloud-region {\r
+ type string;\r
+ description "The AIC cloud region which maps to contrail versions";\r
+ }\r
+ }\r
+\r
+\r
+ /***********************************************************/\r
+ /* PRELOAD DATA - vnf-instance */\r
+ /***********************************************************/\r
+\r
+ container preload-vnf-instances {\r
+ uses preload-vnf-instance-model-information;\r
+ }\r
+ grouping preload-vnf-instance-model-information {\r
+ list vnf-instance-preload-list {\r
+ key "vnf-instance-name vnf-model-id";\r
+ leaf vnf-instance-name {\r
+ type string;\r
+ description "vnf-instance-name, aka generic-vnf-name";\r
+ }\r
+ leaf vnf-model-id {\r
+ type string;\r
+ description "vnf-model-id, aka generic-vnf-type";\r
+ }\r
+ uses vnf-instance-preload-data;\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-preload-data {\r
+ container vnf-instance-preload-data {\r
+ uses vnf-instance-topology-information;\r
+ uses vnfapi:oper-status;\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-topology-information {\r
+ container vnf-instance-topology-information {\r
+ uses vnf-instance-identifiers;\r
+ uses vnfapi:service-information;\r
+ uses vnfapi:vnf-assignments;\r
+ uses vnfapi:vnf-parameters;\r
+ }\r
+ }\r
+\r
+ // This is used by MSO request for assign,rollback,activate,delete, etc\r
+ grouping vnf-instance-topology-identifier {\r
+ leaf vnf-instance-name {\r
+ type string;\r
+ }\r
+ leaf vnf-model-id {\r
+ type string;\r
+ }\r
+ leaf vnf-instance-id {\r
+ type string;\r
+ }\r
+ }\r
+\r
+ // container used in preload identifiers\r
+ grouping vnf-instance-identifiers {\r
+ container vnf-instance-identifiers {\r
+ uses vnf-instance-topology-identifier;\r
+ }\r
+ }\r
+\r
+ /***********************************************************/\r
+ /* SERVICE_DATA - vnf-instance */\r
+ /***********************************************************/\r
+ container vnf-instances {\r
+ uses vnf-instance-model-infrastructure;\r
+ }\r
+ grouping vnf-instance-model-infrastructure {\r
+ list vnf-instance-list {\r
+ key vnf-instance-id;\r
+ leaf vnf-instance-id {\r
+ type string;\r
+ mandatory true;\r
+ description "generic-vnf-id";\r
+ }\r
+ uses vnf-instance-service-data;\r
+ uses vnfapi:service-status;\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-service-data {\r
+ container vnf-instance-service-data {\r
+ uses vnf-instance-configuration-information;\r
+ uses vf-module-relationship-list;\r
+ uses vnfapi:oper-status;\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-configuration-information {\r
+ uses vnfapi:sdnc-request-header;\r
+ uses vnfapi:request-information;\r
+ uses vnfapi:service-information;\r
+ uses vnf-instance-request-information;\r
+ uses vnf-instance-topology;\r
+ }\r
+\r
+ grouping vf-module-relationship-list {\r
+ list vf-module-relationship-list {\r
+ key "vf-module-id";\r
+ leaf vf-module-id {\r
+ type string;\r
+ description "vf-module-id";\r
+ }\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-topology-response-body {\r
+ leaf svc-request-id {\r
+ type string;\r
+ }\r
+ leaf response-code {\r
+ type string;\r
+ }\r
+ leaf response-message {\r
+ type string;\r
+ }\r
+ leaf ack-final-indicator {\r
+ type string;\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-information {\r
+ container vnf-instance-information {\r
+ leaf vnf-instance-id {\r
+ type string;\r
+ description "vnf-instance-id";\r
+ }\r
+ }\r
+ }\r
+\r
+ grouping vnf-instance-topology {\r
+ leaf vnf-instance-id {\r
+ type string;\r
+ description "vnf-instance-id";\r
+ }\r
+ uses vnf-instance-topology-information;\r
+ }\r
+\r
+\r
+ rpc vnf-instance-topology-operation {\r
+ input {\r
+ uses sdnc-request-header;\r
+ uses request-information;\r
+ uses service-information;\r
+ uses vnf-instance-request-information;\r
+ }\r
+ output {\r
+ uses vnf-instance-topology-response-body;\r
+ uses vnf-instance-information;\r
+ uses service-information;\r
+ }\r
+ }\r
+\r
+ rpc preload-vnf-instance-topology-operation {\r
+ input {\r
+ uses sdnc-request-header;\r
+ uses request-information;\r
+ uses vnf-instance-topology-information;\r
+ }\r
+ output {\r
+ uses vnf-instance-topology-response-body;\r
+ }\r
+ }\r
+\r
+ /********************************************/\r
+ /* vf-module */\r
+ /********************************************/\r
+ grouping vf-module-request-information {\r
+ container vf-module-request-information {\r
+ uses vnf-instance-topology-identifier;\r
+ uses region-identifier;\r
+ uses vf-module-topology-identifier;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-identifiers {\r
+ container vf-module-identifiers {\r
+ uses vf-module-topology-identifier;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-topology-identifier {\r
+ leaf vf-module-id {\r
+ type string;\r
+ description "vf-module id";\r
+ }\r
+ leaf vf-module-name {\r
+ type string;\r
+ description "vf-module-name";\r
+ }\r
+ leaf vf-module-model-id {\r
+ type string;\r
+ description "vf-module-type";\r
+ }\r
+ }\r
+\r
+ /***********************************************************/\r
+ /* PRELOAD DATA - vfmodule */\r
+ /***********************************************************/\r
+ container preload-vf-modules {\r
+ uses preload-vf-module-model-information;\r
+ }\r
+\r
+ grouping preload-vf-module-model-information {\r
+ list vf-module-preload-list {\r
+ key "vf-module-name vf-module-model-id";\r
+ leaf vf-module-name {\r
+ type string;\r
+ description "vf-module-name";\r
+ }\r
+ leaf vf-module-model-id {\r
+ type string;\r
+ description "vf-module-type";\r
+ }\r
+ uses vf-module-preload-data;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-preload-data {\r
+ container vf-module-preload-data {\r
+ uses vf-module-topology-information;\r
+ uses vnfapi:oper-status;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-topology-information {\r
+ container vf-module-topology-information {\r
+ uses vf-module-identifiers;\r
+ uses vnfapi:vnf-assignments;\r
+ uses vnfapi:vnf-parameters;\r
+ }\r
+ }\r
+\r
+\r
+ /***********************************************************/\r
+ /* SERVICE_DATA - vfmodule */\r
+ /***********************************************************/\r
+ container vf-modules {\r
+ uses vf-module-model-infrastructure;\r
+ }\r
+ grouping vf-module-model-infrastructure {\r
+ list vf-module-list {\r
+ key vf-module-id;\r
+ leaf vf-module-id {\r
+ type string;\r
+ mandatory true;\r
+ description "vf-module-id";\r
+ }\r
+ uses vf-module-service-data;\r
+ uses vnfapi:service-status;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-service-data {\r
+ container vf-module-service-data {\r
+ uses vf-module-configuration-information;\r
+ uses vnfapi:oper-status;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-configuration-information {\r
+ uses vnfapi:sdnc-request-header;\r
+ uses vnfapi:request-information;\r
+ uses vnfapi:service-information;\r
+ uses vf-module-request-information;\r
+ uses vf-module-topology;\r
+ }\r
+\r
+ grouping vf-module-topology-response-body {\r
+ leaf svc-request-id {\r
+ type string;\r
+ }\r
+ leaf response-code {\r
+ type string;\r
+ }\r
+ leaf response-message {\r
+ type string;\r
+ }\r
+ leaf ack-final-indicator {\r
+ type string;\r
+ }\r
+ }\r
+\r
+ grouping vf-module-information {\r
+ container vf-module-information {\r
+ leaf vf-module-id {\r
+ type string;\r
+ description "vf-module-id";\r
+ }\r
+ }\r
+ }\r
+\r
+ grouping vf-module-topology {\r
+ leaf vf-module-id {\r
+ type string;\r
+ description "vf-module-id";\r
+ }\r
+ uses vf-module-topology-information;\r
+ }\r
+\r
+\r
+ rpc vf-module-topology-operation {\r
+ input {\r
+ uses sdnc-request-header;\r
+ uses request-information;\r
+ uses service-information;\r
+ uses vf-module-request-information;\r
+ }\r
+ output {\r
+ uses vf-module-topology-response-body;\r
+ uses vf-module-information;\r
+ uses service-information;\r
+ }\r
+ }\r
+\r
+ rpc preload-vf-module-topology-operation {\r
+ input {\r
+ uses sdnc-request-header;\r
+ uses request-information;\r
+ uses vf-module-topology-information;\r
+ }\r
+ output {\r
+ uses vf-module-topology-response-body;\r
+ }\r
+ }\r
+}\r